tide-commander 1.61.0 → 1.62.0
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/dist/assets/{BossLogsModal-3Yl1x6no.js → BossLogsModal-Cc26KWtF.js} +1 -1
- package/dist/assets/{BossSpawnModal-CtdUSVOe.js → BossSpawnModal-79zixDGu.js} +1 -1
- package/dist/assets/{ControlsModal-Do75CTjK.js → ControlsModal-sIxaSPTd.js} +1 -1
- package/dist/assets/{DockerLogsModal-BUNEvAKq.js → DockerLogsModal-RAIqQDHy.js} +1 -1
- package/dist/assets/{EmbeddedEditor-kZoAvzXy.js → EmbeddedEditor-SYtH65mY.js} +1 -1
- package/dist/assets/{GmailOAuthSetup-Cx86RH8z.js → GmailOAuthSetup-DK2GlEv1.js} +1 -1
- package/dist/assets/{GoogleOAuthSetup-a4Uka8Dj.js → GoogleOAuthSetup-CprVeTSW.js} +1 -1
- package/dist/assets/{IframeModal-COU7VIXR.js → IframeModal-pzXWPx2i.js} +1 -1
- package/dist/assets/{IntegrationsPanel-BxoRYAOT.js → IntegrationsPanel-BzPNGPs-.js} +2 -2
- package/dist/assets/{LogViewerModal-B6gpzoR_.js → LogViewerModal-oqzbJ5iy.js} +1 -1
- package/dist/assets/{MonitoringModal-D8gY_Y_E.js → MonitoringModal-DadiFtmu.js} +1 -1
- package/dist/assets/{PM2LogsModal-Bh_OSEfy.js → PM2LogsModal-C4hQRREX.js} +1 -1
- package/dist/assets/{RestoreArchivedAreaModal--x_2h_PC.js → RestoreArchivedAreaModal-fHOJ9ZwM.js} +1 -1
- package/dist/assets/{Scene2DCanvas-D6JaWQir.js → Scene2DCanvas-BeHXBqTf.js} +1 -1
- package/dist/assets/{SceneManager-D0G3RRXw.js → SceneManager-B6E_cAYg.js} +1 -1
- package/dist/assets/{SkillsPanel-CMpEehte.js → SkillsPanel-B3-ni6t4.js} +1 -1
- package/dist/assets/{SpawnModal-B93jS-vZ.js → SpawnModal-00Lv0ZQy.js} +1 -1
- package/dist/assets/{SubordinateAssignmentModal-D6ljPU9_.js → SubordinateAssignmentModal-DVgwAkbS.js} +1 -1
- package/dist/assets/{TriggerManagerPanel-B10Fkz8b.js → TriggerManagerPanel-GUPU3sup.js} +1 -1
- package/dist/assets/{WorkflowEditorPanel-Dq6DsTap.js → WorkflowEditorPanel-CP26YA9V.js} +1 -1
- package/dist/assets/{index-DOFVfDi8.js → index-B9SzB9ov.js} +1 -1
- package/dist/assets/{index-CL0Zct3v.js → index-BS2yVyno.js} +2 -2
- package/dist/assets/{index-DqrbW5Zz.js → index-C7PPAB37.js} +1 -1
- package/dist/assets/index-D8tCoR93.js +51 -0
- package/dist/assets/{index-DifcRV30.js → index-DKziSiqq.js} +1 -1
- package/dist/assets/{index-C-IICy0l.js → index-DLkUpBdu.js} +1 -1
- package/dist/assets/{index-DiR8ltu-.js → index-DwJ7OcGh.js} +1 -1
- package/dist/assets/{index-B9PsO-nV.js → index-alq8vlxv.js} +1 -1
- package/dist/assets/{main-C0P7G341.js → main-DxFgIntP.js} +79 -79
- package/dist/assets/main-a5zo94fK.css +1 -0
- package/dist/assets/prism-asciidoc-D4osZMJ_.js +1 -0
- package/dist/assets/prism-awk-DiEVnfT5.js +1 -0
- package/dist/assets/prism-batch-CpZc0oiP.js +1 -0
- package/dist/assets/prism-cmake-2k54r3W4.js +1 -0
- package/dist/assets/prism-cobol-CImV5aEJ.js +1 -0
- package/dist/assets/prism-d-D6VTrqzz.js +1 -0
- package/dist/assets/prism-dart-MjriiaMt.js +1 -0
- package/dist/assets/prism-elm-CMrT16V5.js +1 -0
- package/dist/assets/prism-fortran-BsL8VIqV.js +1 -0
- package/dist/assets/prism-fsharp-rcW17Fsa.js +1 -0
- package/dist/assets/prism-hcl-C92OCP0l.js +1 -0
- package/dist/assets/prism-java-CK6tws4L.js +1 -0
- package/dist/assets/prism-julia-C2uswDes.js +1 -0
- package/dist/assets/prism-latex-Ct-fIE8d.js +1 -0
- package/dist/assets/prism-less-B2VBxBo8.js +1 -0
- package/dist/assets/prism-markup-templating-Ct1xsyfA.js +1 -0
- package/dist/assets/prism-nasm-D2DqwrUR.js +1 -0
- package/dist/assets/prism-nix-CMuMbGbY.js +1 -0
- package/dist/assets/prism-objectivec-B5ZTBh2_.js +1 -0
- package/dist/assets/prism-ocaml-DUzM3pbH.js +1 -0
- package/dist/assets/prism-pascal-DLd6CmKt.js +1 -0
- package/dist/assets/prism-php-Dt9698bA.js +1 -0
- package/dist/assets/prism-properties-BuDLw1wS.js +1 -0
- package/dist/assets/prism-protobuf-DiQ_z8B5.js +1 -0
- package/dist/assets/prism-rescript-BrV2LXur.js +1 -0
- package/dist/assets/prism-rest-Cv9ZKW_h.js +1 -0
- package/dist/assets/prism-sass-COF7ESLM.js +1 -0
- package/dist/assets/prism-solidity-ByIPMHdY.js +1 -0
- package/dist/assets/prism-stylus-Eax_o2yj.js +1 -0
- package/dist/assets/prism-tcl-kQv6vxnu.js +1 -0
- package/dist/assets/prism-visual-basic-BiTqmF9b.js +1 -0
- package/dist/assets/prism-wasm-B8bdMNge.js +1 -0
- package/dist/assets/prism-zig-CN7ohWT3.js +1 -0
- package/dist/assets/{web-EXuokvBQ.js → web-BGvcteqx.js} +1 -1
- package/dist/assets/{web-CCSQWj8_.js → web-DBp9A4mr.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/locales/en/terminal.json +5 -1
- package/dist/src/packages/server/routes/agents.js +20 -2
- package/package.json +1 -1
- package/dist/assets/index-BjEqS8Jp.js +0 -49
- package/dist/assets/main-Bl1gp3Xq.css +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/EmbeddedEditor-SYtH65mY.js","assets/main-DxFgIntP.js","assets/vendor-react--Eh9ivFN.js","assets/vendor-three-Chj50gSY.js","assets/main-a5zo94fK.css","assets/EmbeddedEditor-Dx2pJa2-.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as P,a5 as pe,l as $e,am as Sl,aT as Am,S as Wo,aU as Nm,s as Rr,u as Ae,j as f,I as te,aV as xs,f as Im,aW as Lm,aX as qx,aY as Dm,aZ as Mm,a_ as Ux,a$ as Vx,b0 as bl,b1 as Wx,b2 as jx,b3 as Sh,b4 as Cx,b5 as Bm,b6 as go,b7 as Po,b8 as jo,b9 as fa,ba as da,bb as dd,bc as Ex,bd as Gx,be as Ax,bf as $d,bg as pd,n as Nx}from"./main-DxFgIntP.js";function Ix(t){const[e,i]=P.useState(null),[n,O]=P.useState(!1),r=P.useCallback(async()=>{if(t){O(!0);try{const a=await pe($e(`/api/files/git-status?path=${encodeURIComponent(t)}`)),o=await a.json();a.ok?i(o):i({isGitRepo:!1,files:[]})}catch(a){console.error("[FileExplorer] Failed to load git status:",a),i({isGitRepo:!1,files:[]})}finally{O(!1)}}},[t]);return{gitStatus:e,loading:n,loadGitStatus:r}}async function Lx(t){try{const e=await pe($e(`/api/files/git-original?path=${encodeURIComponent(t)}`)),i=await e.json();return e.ok&&!i.isNew?{content:i.content,isNew:!1}:{content:null,isNew:!0}}catch(e){return console.error("[FileExplorer] Failed to load original file:",e),{content:null,isNew:!0}}}const Dx=new Set([".txt",".md",".markdown",".json",".yaml",".yml",".xml",".html",".htm",".css",".scss",".sass",".less",".js",".jsx",".ts",".tsx",".mjs",".cjs",".py",".rb",".c",".cpp",".h",".hpp",".cs",".go",".rs",".swift",".kt",".scala",".clj",".ex",".exs",".erl",".hs",".ml",".fs",".sql",".sh",".bash",".zsh",".fish",".ps1",".bat",".cmd",".toml",".ini",".cfg",".conf",".env",".gitignore",".dockerignore",".editorconfig",".prettierrc",".eslintrc",".babelrc",".log",".csv",".tsv",".svg",""]),Mx=new Set([".png",".jpg",".jpeg",".gif",".webp",".bmp",".ico",".svg"]),Bx=new Set([".pdf"]),Fx=new Set([".xlsx",".xls",".docx",".doc",".pptx",".ppt",".zip",".tar",".gz",".rar",".7z",".exe",".dmg",".app",".deb",".rpm",".apk",".aab",".ipa",".msi",".mp3",".mp4",".wav",".avi",".mov",".mkv",".flac",".ogg",".webm",".ttf",".otf",".woff",".woff2",".eot",".sqlite",".db",".so",".dll",".dylib",".a",".o",".obj",".bin",".dat",".iso",".img",".jar",".war",".ear",".class"]);function Hx(t){const e=t.toLowerCase();return Mx.has(e)?"image":Bx.has(e)?"pdf":Fx.has(e)?"binary":(Dx.has(e),"text")}function Kx(){const[t,e]=P.useState(null),[i,n]=P.useState(!1),[O,r]=P.useState(null),a=P.useCallback(async s=>{var l,c;n(!0),r(null);try{const u=s.substring(s.lastIndexOf(".")).toLowerCase(),h=Hx(u),d=s.substring(s.lastIndexOf("/")+1);if(h==="image"){const g=await pe($e(`/api/files/binary?path=${encodeURIComponent(s)}`));if(!g.ok){const X=await g.json().catch(()=>({error:"Failed to load image"}));r(X.error||"Failed to load image"),e(null);return}const m=await g.blob(),S=URL.createObjectURL(m);e({path:s,filename:d,extension:u,content:"",size:m.size,modified:new Date().toISOString(),fileType:"image",dataUrl:S});return}if(h==="pdf"){const g=await pe($e(`/api/files/info?path=${encodeURIComponent(s)}`)),m=await g.json();if(!g.ok){r(m.error||"Failed to load PDF info"),e(null);return}e({path:s,filename:d,extension:u,content:"",size:m.size,modified:m.modified,fileType:"pdf",dataUrl:$e(`/api/files/binary?path=${encodeURIComponent(s)}&token=${encodeURIComponent(Sl())}`)});return}if(h==="binary"){const g=await pe($e(`/api/files/info?path=${encodeURIComponent(s)}`)),m=await g.json();if(!g.ok){r(m.error||"Failed to load file info"),e(null);return}e({path:s,filename:d,extension:u,content:"",size:m.size,modified:m.modified,fileType:"binary",dataUrl:$e(`/api/files/binary?path=${encodeURIComponent(s)}&download=true&token=${encodeURIComponent(Sl())}`)});return}const p=await pe($e(`/api/files/read?path=${encodeURIComponent(s)}`)),Q=await p.json();if(!p.ok){if((l=Q.error)!=null&&l.includes("too large")||(c=Q.error)!=null&&c.includes("binary")){const g=await pe($e(`/api/files/info?path=${encodeURIComponent(s)}`)),m=await g.json();if(g.ok){e({path:s,filename:d,extension:u,content:"",size:m.size,modified:m.modified,fileType:"binary",dataUrl:$e(`/api/files/binary?path=${encodeURIComponent(s)}&download=true&token=${encodeURIComponent(Sl())}`)});return}}r(Q.error||"Failed to load file"),e(null);return}e({...Q,fileType:"text"})}catch(u){const h=u instanceof Error?u.message:"Failed to load file";r(h),e(null)}finally{n(!1)}},[]),o=P.useCallback(()=>{e(s=>(s!=null&&s.dataUrl&&s.dataUrl.startsWith("blob:")&&URL.revokeObjectURL(s.dataUrl),null)),r(null)},[]);return{file:t,loading:i,error:O,loadFile:a,clearFile:o,setFile:e}}const Xl="file-explorer-state",Jx=10080*60*1e3;function e1(t,e){return e?`${Xl}-folder-${e}`:t?`${Xl}-area-${t}`:`${Xl}-default`}async function t1(t){try{const e=await pe($e(`/api/files/exists?path=${encodeURIComponent(t)}`));return e.ok?(await e.json()).exists===!0:!1}catch{return!1}}function i1({areaId:t,folderPath:e,isOpen:i}){const n=e1(t,e),O=P.useRef(!1);P.useEffect(()=>{O.current=!1},[t,e]);const r=P.useCallback(async()=>{if(O.current)return null;O.current=!0;try{const o=localStorage.getItem(n);if(!o)return null;const s=JSON.parse(o);if(Date.now()-s.timestamp>Jx)return localStorage.removeItem(n),null;const c=(await Promise.all(s.tabs.map(async h=>({tab:h,exists:await t1(h.path)})))).filter(({exists:h})=>h).map(({tab:h})=>h);let u=s.activeTabPath;return u&&!c.some(h=>h.path===u)&&(u=c.length>0?c[0].path:null),{tabs:c,activeTabPath:u,viewMode:s.viewMode||"files",selectedFolderIndex:s.selectedFolderIndex||0,expandedPaths:new Set(s.expandedPaths||[])}}catch(o){return console.error("[FileExplorerStorage] Failed to load state:",o),null}},[n]),a=P.useCallback(o=>{if(i)try{const s={tabs:o.tabs,activeTabPath:o.activeTabPath,viewMode:o.viewMode,selectedFolderIndex:o.selectedFolderIndex,expandedPaths:Array.from(o.expandedPaths),timestamp:Date.now()};localStorage.setItem(n,JSON.stringify(s))}catch(s){console.error("[FileExplorerStorage] Failed to save state:",s)}},[n,i]);return{loadStoredState:r,saveState:a}}const Qd=280,md=150,gd=1200;function n1(){const[t,e]=P.useState(()=>{const l=Am(Wo.TREE_PANEL_WIDTH,Qd);return l>=md&&l<=gd?l:Qd}),i=P.useRef(!1),[n,O]=P.useState(!1),r=P.useRef(0),a=P.useRef(0),o=P.useRef(t);o.current=t;const s=P.useCallback(l=>{l.preventDefault(),i.current=!0,O(!0),r.current=l.clientX,a.current=t,document.body.style.cursor="ew-resize",document.body.style.userSelect="none"},[t]);return P.useEffect(()=>{const l=u=>{if(!i.current)return;const h=u.clientX-r.current,d=Math.min(gd,Math.max(md,a.current+h));e(d)},c=()=>{i.current&&(i.current=!1,O(!1),document.body.style.cursor="",document.body.style.userSelect="",Nm(Wo.TREE_PANEL_WIDTH,o.current))};return document.addEventListener("mousemove",l),document.addEventListener("mouseup",c),()=>{document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",c)}},[]),{treePanelWidth:t,handleResizeStart:s,isResizing:n}}const O1=100,r1=.65,a1=36;function o1(){const[t,e]=P.useState(()=>Am(Wo.MOBILE_TREE_PANEL_HEIGHT,0)),i=P.useRef(t);i.current=t;const n=P.useRef(0),O=P.useRef(0),r=()=>Math.floor((window.innerHeight-a1)*r1),a=u=>Math.min(r(),Math.max(O1,u)),o=P.useCallback(u=>{e(u);const h=document.querySelector(".file-explorer-main");h&&h.style.setProperty("--fe-mobile-tree-height",`${u}px`)},[]),s=P.useCallback(()=>{document.body.style.cursor="",document.body.style.userSelect="",Nm(Wo.MOBILE_TREE_PANEL_HEIGHT,i.current),Rr.setTerminalResizing(!1)},[]),l=P.useCallback(u=>{u.preventDefault();const h=document.querySelector(".file-explorer-tree-panel"),d=i.current>0?i.current:(h==null?void 0:h.getBoundingClientRect().height)??240;n.current=u.clientY,O.current=d,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",Rr.setTerminalResizing(!0);const p=g=>{const m=g.clientY-n.current;o(a(O.current+m))},Q=()=>{document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",Q),s()};document.addEventListener("mousemove",p),document.addEventListener("mouseup",Q)},[o,s]),c=P.useCallback(u=>{if(u.touches.length!==1)return;const h=document.querySelector(".file-explorer-tree-panel"),d=i.current>0?i.current:(h==null?void 0:h.getBoundingClientRect().height)??240;n.current=u.touches[0].clientY,O.current=d,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",Rr.setTerminalResizing(!0);const p=g=>{if(g.touches.length!==1)return;g.preventDefault();const m=g.touches[0].clientY-n.current;o(a(O.current+m))},Q=()=>{document.removeEventListener("touchmove",p),document.removeEventListener("touchend",Q),document.removeEventListener("touchcancel",Q),s()};document.addEventListener("touchmove",p,{passive:!1}),document.addEventListener("touchend",Q),document.addEventListener("touchcancel",Q)},[o,s]);return{mobileTreeHeight:t,handleResizeMouseDown:l,handleResizeTouchStart:c}}function bh(){const[t,e]=P.useState([]),[i,n]=P.useState(!1),[O,r]=P.useState(null),[a,o]=P.useState(null),s=P.useCallback(async g=>{n(!0),r(null);try{const m=await pe($e(`/api/files/git-branches?path=${encodeURIComponent(g)}`)),S=await m.json();m.ok?e(S.branches||[]):(r(S.error||"Failed to load branches"),e([]))}catch(m){console.error("[GitBranches] Failed to load branches:",m),r("Failed to load branches"),e([])}finally{n(!1)}},[]),l=P.useCallback(async(g,m)=>{o("checkout"),r(null);try{const S=await pe($e("/api/files/git-checkout"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:g,branch:m})}),X=await S.json();return S.ok||r(X.error||"Checkout failed"),X}catch(S){console.error("[GitBranches] Checkout failed:",S);const X={success:!1,error:"Checkout failed"};return r(X.error),X}finally{o(null)}},[]),c=P.useCallback(async(g,m,S)=>{o("create"),r(null);try{const X=await pe($e("/api/files/git-branch-create"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:g,name:m,startPoint:S})}),z=await X.json();return X.ok||r(z.error||"Failed to create branch"),z}catch(X){console.error("[GitBranches] Create branch failed:",X);const z={success:!1,error:"Failed to create branch"};return r(z.error),z}finally{o(null)}},[]),u=P.useCallback(async g=>{o("pull"),r(null);try{const m=await pe($e("/api/files/git-pull"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:g})}),S=await m.json();return!m.ok&&!S.conflicts&&r(S.error||"Pull failed"),S}catch(m){console.error("[GitBranches] Pull failed:",m);const S={success:!1,error:"Pull failed"};return r(S.error),S}finally{o(null)}},[]),h=P.useCallback(async g=>{o("push"),r(null);try{const m=await pe($e("/api/files/git-push"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:g})}),S=await m.json();return m.ok||r(S.error||"Push failed"),S}catch(m){console.error("[GitBranches] Push failed:",m);const S={success:!1,error:"Push failed"};return r(S.error),S}finally{o(null)}},[]),d=P.useCallback(async(g,m)=>{o("merge"),r(null);try{const S=await pe($e("/api/files/git-merge"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:g,branch:m})}),X=await S.json();return!S.ok&&!X.conflicts&&r(X.error||"Merge failed"),X}catch(S){console.error("[GitBranches] Merge failed:",S);const X={success:!1,error:"Merge failed"};return r(X.error),X}finally{o(null)}},[]),p=P.useCallback(async g=>{o("merge-abort"),r(null);try{const m=await pe($e("/api/files/git-merge-abort"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:g})}),S=await m.json();return m.ok||r(S.error||"Merge abort failed"),S}catch(m){console.error("[GitBranches] Merge abort failed:",m);const S={success:!1,error:"Merge abort failed"};return r(S.error),S}finally{o(null)}},[]),Q=P.useCallback(async g=>{o("merge-continue"),r(null);try{const m=await pe($e("/api/files/git-merge-continue"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:g})}),S=await m.json();return m.ok||r(S.error||"Merge continue failed"),S}catch(m){console.error("[GitBranches] Merge continue failed:",m);const S={success:!1,error:"Merge continue failed"};return r(S.error),S}finally{o(null)}},[]);return{branches:t,loading:i,error:O,operationInProgress:a,loadBranches:s,checkoutBranch:l,createBranch:c,pullFromRemote:u,pushToRemote:h,mergeBranch:d,mergeAbort:p,mergeContinue:Q}}const s1=50,l1=400,Pd={branch:"",author:"",since:"",until:"",searchPath:"",search:""};function c1(){const[t,e]=P.useState([]),[i,n]=P.useState(!1),[O,r]=P.useState(!1),[a,o]=P.useState(null),[s,l]=P.useState(!1),[c,u]=P.useState(0),[h,d]=P.useState({...Pd}),[p,Q]=P.useState(null),[g,m]=P.useState([]),[S,X]=P.useState(!1),[z,R]=P.useState([]),[G,j]=P.useState(!1),C=P.useRef(null),D=P.useRef(""),V=P.useCallback((x,E,q)=>{const W=q||h,M=new URLSearchParams;return M.set("path",x),M.set("limit",String(s1)),M.set("offset",String(E)),W.branch&&M.set("branch",W.branch),W.author&&M.set("author",W.author),W.since&&M.set("since",W.since),W.until&&M.set("until",W.until),W.searchPath&&M.set("searchPath",W.searchPath),W.search&&M.set("search",W.search),M.toString()},[h]),v=P.useCallback(async x=>{D.current=x,n(!0),o(null),Q(null),m([]);try{const E=V(x,0),q=await pe($e(`/api/files/git-log?${E}`)),W=await q.json();q.ok?(e(W.commits||[]),u(W.total||0),l(W.hasMore||!1)):(o(W.error||"Failed to load git history"),e([]))}catch(E){console.error("[useGitHistory] loadHistory error:",E),o("Failed to load git history"),e([])}finally{n(!1)}},[V]),_=P.useCallback(async x=>{if(!(O||!s)){r(!0);try{const E=V(x,t.length),q=await pe($e(`/api/files/git-log?${E}`)),W=await q.json();q.ok&&(e(M=>[...M,...W.commits||[]]),u(W.total||0),l(W.hasMore||!1))}catch(E){console.error("[useGitHistory] loadMore error:",E)}finally{r(!1)}}},[V,t.length,s,O]),w=P.useCallback(async x=>{if(Q(x),!x){m([]);return}X(!0);try{const E=D.current,q=new URLSearchParams({path:E,hash:x.hash}),W=await pe($e(`/api/files/git-commit-files?${q}`)),M=await W.json();W.ok?m(M.files||[]):m([])}catch(E){console.error("[useGitHistory] selectCommit files error:",E),m([])}finally{X(!1)}},[]),b=P.useCallback((x,E)=>{d(q=>({...q,[x]:E}))},[]),k=P.useCallback(()=>{d({...Pd})},[]);P.useEffect(()=>{const x=D.current;if(x)return C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{v(x)},l1),()=>{C.current&&clearTimeout(C.current)}},[h]);const Y=P.useCallback(async x=>{j(!0);try{const E=new URLSearchParams({path:x}),q=await pe($e(`/api/files/git-authors?${E}`)),W=await q.json();q.ok&&R(W.authors||[])}catch(E){console.error("[useGitHistory] loadAuthors error:",E)}finally{j(!1)}},[]);return{commits:t,loading:i,loadingMore:O,error:a,hasMore:s,total:c,filters:h,setFilter:b,resetFilters:k,selectedCommit:p,selectCommit:w,commitFiles:g,commitFilesLoading:S,loadHistory:v,loadMore:_,authors:z,authorsLoading:G,loadAuthors:Y}}function u1(t){if(!t.current)return null;const e=[".file-viewer-code-with-lines",".file-viewer-markdown-wrapper",".file-viewer-code-wrapper",".file-viewer-diagram-wrapper",".file-viewer-image-wrapper",".file-viewer-pdf-wrapper"];for(const i of e){const n=t.current.querySelector(i);if(n&&Sd(n))return n}return Sd(t.current)?t.current:null}function Sd(t){const e=["auto","scroll"].includes(getComputedStyle(t).overflowY),i=t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth;return e&&i}function Fm(t){if(!t)return 19.5;const e=parseFloat(getComputedStyle(t).lineHeight);return isNaN(e)?19.5:e}function yl(t,e=!0){const i=e?t.scrollHeight:0;t.scrollTo({top:i,behavior:"smooth"})}function h1(t){const{scrollTop:e,scrollHeight:i,clientHeight:n}=t;return i<=n?100:Math.round(e/(i-n)*100)}function f1(t,e){const i=Fm(t),n=t.scrollTop,O=Math.floor(n/i)+1,r=e.split(`
|
|
3
|
+
`).length;return Math.min(O,r)}function d1(t,e,i=!1){if(!e)return[];i||t.toLowerCase();const n=i?e:e.toLowerCase(),O=[];let r=0;const a=t.split(`
|
|
4
|
+
`);let o=0;for(let s=0;s<a.length;s++){const l=a[s],c=i?l:l.toLowerCase();let u=0,h=c.indexOf(n);for(;h!==-1;){const d=o+h;O.push({index:r++,line:s+1,column:h,length:n.length,charIndex:d}),u=h+n.length,h=c.indexOf(n,u)}o+=l.length+1}return O}function CO(t){return/[\w]/.test(t)}function Nn(t){return/\s/.test(t)}function $1(t,e,i){let n=e-1,O=i;const r=t.length,a=t[n]||"";if(O<a.length){const l=CO(a[O]);if(!Nn(a[O]))for(;O<a.length&&!Nn(a[O])&&CO(a[O])===l;)O++}for(;n<r;){const l=t[n]||"";for(;O<l.length&&Nn(l[O]);)O++;if(O<l.length)return{line:n+1,col:O};n++,O=0}const o=r,s=Math.max(0,(t[r-1]||"").length-1);return{line:o,col:s}}function p1(t,e,i){let n=e-1,O=i+1;const r=t.length;for(;n<r;){const s=t[n]||"";for(;O<s.length&&Nn(s[O]);)O++;if(O<s.length)break;n++,O=0}if(n>=r)return{line:r,col:Math.max(0,(t[r-1]||"").length-1)};const a=t[n]||"",o=CO(a[O]);for(;O+1<a.length&&!Nn(a[O+1])&&CO(a[O+1])===o;)O++;return{line:n+1,col:O}}function Q1(t,e,i){let n=e-1,O=i-1;for(;n>=0;){const o=t[n]||"";for(;O>=0&&Nn(o[O]);)O--;if(O>=0)break;n--,n>=0&&(O=(t[n]||"").length-1)}if(n<0)return{line:1,col:0};const r=t[n]||"",a=CO(r[O]);for(;O>0&&!Nn(r[O-1])&&CO(r[O-1])===a;)O--;return{line:n+1,col:O}}function m1(t,e,i,n){if(n==="none")return"";const{anchorLine:O,anchorCol:r,headLine:a,headCol:o}=i;if(n==="line"){const d=Math.min(O,a),p=Math.max(O,a);return e.slice(d-1,p).join(`
|
|
5
|
+
`)}let s,l,c,u;if(O<a||O===a&&r<=o?(s=O,l=r,c=a,u=o):(s=a,l=o,c=O,u=r),s===c)return(e[s-1]||"").substring(l,u+1);const h=[];h.push((e[s-1]||"").substring(l));for(let d=s;d<c-1;d++)h.push(e[d]||"");return h.push((e[c-1]||"").substring(0,u+1)),h.join(`
|
|
6
|
+
`)}function Hm(t){const{containerRef:e,isEnabled:i=!0,content:n="",onClose:O,onSearchOpen:r}=t,a=P.useRef({percentage:0,line:1,column:1}),o=P.useRef(null),s=P.useRef(19.5),l=P.useMemo(()=>n.split(`
|
|
7
|
+
`),[n]),c=l.length,[u,h]=P.useState(1),[d,p]=P.useState(0),[Q,g]=P.useState(!1),[m,S]=P.useState("none"),[X,z]=P.useState(null),[R,G]=P.useState(!1),[j,C]=P.useState(""),[D,V]=P.useState(0),[v,_]=P.useState(!1),w=P.useMemo(()=>d1(n,j,!1),[n,j]),b=P.useCallback(()=>{const T=o.current;if(!T)return;const se=h1(T),qe=f1(T,n),le=Math.max(1,Math.round(T.scrollLeft/7.8)+1);a.current={percentage:se,line:qe,column:le}},[n]),k=P.useCallback(()=>{G(!0),C(""),V(0),r==null||r()},[r]),Y=P.useCallback(()=>{G(!1),C(""),V(0)},[]),x=P.useCallback(()=>{_(T=>!T)},[]),E=P.useCallback(T=>{const se=o.current;if(!se)return;const qe=se.querySelector(".file-viewer-pre"),De=qe&&parseFloat(getComputedStyle(qe).lineHeight)||s.current,le=qe&&parseFloat(getComputedStyle(qe).paddingTop)||0,Qe=(qe?qe.offsetTop:0)+le+(T-1)*De,ve=De*3;se.scrollTo({top:Math.max(0,Qe-ve),behavior:"smooth"})},[]);P.useEffect(()=>{!R||w.length===0||V(0)},[w,R]),P.useEffect(()=>{if(!R||w.length===0)return;const T=w[D];T&&(h(T.line),p(T.column),E(T.line))},[R,w,D,E]);const q=P.useCallback(()=>{w.length!==0&&V(T=>(T+1)%w.length)},[w]),W=P.useCallback(()=>{w.length!==0&&V(T=>(T-1+w.length)%w.length)},[w]),M=P.useCallback(T=>{const se=o.current;if(!se)return;const qe=se.querySelector(".file-viewer-pre");if(!qe)return;const De=parseFloat(getComputedStyle(qe).lineHeight),le=isNaN(De)?s.current:De,I=parseFloat(getComputedStyle(qe).paddingTop)||0,ve=qe.offsetTop+I+(T-1)*le,zt=ve+le,dt=se.scrollTop,ue=dt+se.clientHeight;ve<dt?se.scrollTo({top:Math.max(0,ve),behavior:"auto"}):zt>ue&&se.scrollTo({top:zt-se.clientHeight,behavior:"auto"})},[]),ae=P.useCallback((T,se)=>{h(T),p(se),M(T),m!=="none"&&z(qe=>qe?{...qe,headLine:T,headCol:se}:null)},[m,M]),ze=P.useCallback(()=>{if(m==="none"||!X)return;const T=m1(n,l,X,m);T&&navigator.clipboard.writeText(T).catch(()=>{const se=document.createElement("textarea");se.value=T,se.style.position="fixed",se.style.left="-9999px",document.body.appendChild(se),se.select(),document.execCommand("copy"),document.body.removeChild(se)}),S("none"),z(null)},[m,X,n,l]),Te=P.useCallback(T=>{const se=T.target;if((se.tagName==="INPUT"||se.tagName==="TEXTAREA")&&T.key!=="Escape")return;const De=o.current;if(!De)return;let le=!1;const I=s.current,Qe=Math.max(1,Math.floor(De.clientHeight/I)),ve=Math.max(1,Math.floor(Qe/2)),zt=(ue,Ue)=>{const $t=Math.max(0,(l[ue-1]||"").length-1);return Math.min(Ue,Math.max(0,$t))},dt=(ue,Ue)=>{const $t=zt(ue,Ue);ae(ue,$t)};if(T.key==="v"&&!T.shiftKey&&!T.ctrlKey&&!R)T.preventDefault(),T.stopPropagation(),m==="char"?(S("none"),z(null)):(S("char"),z({anchorLine:u,anchorCol:d,headLine:u,headCol:d})),le=!0;else if(T.key==="V"&&T.shiftKey&&!T.ctrlKey&&!R)T.preventDefault(),T.stopPropagation(),m==="line"?(S("none"),z(null)):(S("line"),z({anchorLine:u,anchorCol:0,headLine:u,headCol:0})),le=!0;else if(T.key==="y"&&!T.ctrlKey&&m!=="none")T.preventDefault(),T.stopPropagation(),ze(),le=!0;else if(T.key==="j"||T.key==="ArrowDown"){T.preventDefault(),T.stopPropagation();const ue=Math.min(u+1,c);dt(ue,d),le=!0}else if(T.key==="k"||T.key==="ArrowUp"){T.preventDefault(),T.stopPropagation();const ue=Math.max(u-1,1);dt(ue,d),le=!0}else if(T.key==="d"&&T.ctrlKey||T.key==="d"&&m==="none"&&!R){T.preventDefault(),T.stopPropagation();const ue=Math.min(u+ve,c);dt(ue,d),le=!0}else if(T.key==="u"&&T.ctrlKey||T.key==="u"&&m==="none"&&!R){T.preventDefault(),T.stopPropagation();const ue=Math.max(u-ve,1);dt(ue,d),le=!0}else if((T.ctrlKey||T.metaKey)&&T.key==="f")T.preventDefault(),T.stopPropagation(),k(),le=!0;else if(T.key==="f"&&!T.ctrlKey&&!T.metaKey&&m==="none"&&!R){T.preventDefault(),T.stopPropagation();const ue=Math.min(u+Qe,c);dt(ue,d),le=!0}else if(T.key===" "||T.key==="PageDown"){T.preventDefault(),T.stopPropagation();const ue=Math.min(u+Qe,c);dt(ue,d),le=!0}else if(T.key==="b"&&!Q&&m==="none"&&!R||T.key==="PageUp"){T.preventDefault(),T.stopPropagation();const ue=Math.max(u-Qe,1);dt(ue,d),le=!0}else if(T.key==="g"&&!T.shiftKey&&m==="none"&&!R)T.preventDefault(),T.stopPropagation(),ae(1,0),yl(De,!1),le=!0;else if(T.key==="Home")T.preventDefault(),T.stopPropagation(),ae(1,0),yl(De,!1),le=!0;else if(T.key==="G"&&T.shiftKey||T.key==="End")T.preventDefault(),T.stopPropagation(),ae(c,0),yl(De,!0),le=!0;else if(T.key==="h"||T.key==="ArrowLeft")T.preventDefault(),T.stopPropagation(),ae(u,Math.max(0,d-1)),le=!0;else if(T.key==="l"||T.key==="ArrowRight"){T.preventDefault(),T.stopPropagation();const ue=(l[u-1]||"").length;ae(u,Math.min(d+1,Math.max(0,ue-1))),le=!0}else if(T.key==="w"&&!T.ctrlKey&&!R){T.preventDefault(),T.stopPropagation();const ue=$1(l,u,d);ae(ue.line,ue.col),le=!0}else if(T.key==="e"&&!T.ctrlKey&&!R){T.preventDefault(),T.stopPropagation();const ue=p1(l,u,d);ae(ue.line,ue.col),le=!0}else if(T.key==="b"&&!R){T.preventDefault(),T.stopPropagation();const ue=Q1(l,u,d);ae(ue.line,ue.col),le=!0}else if(T.key==="0")T.preventDefault(),T.stopPropagation(),ae(u,0),le=!0;else if(T.key==="$")T.preventDefault(),T.stopPropagation(),ae(u,Math.max(0,(l[u-1]||"").length-1)),le=!0;else if(T.key==="^"){T.preventDefault(),T.stopPropagation();const Ue=(l[u-1]||"").search(/\S/);ae(u,Ue>=0?Ue:0),le=!0}else T.key==="/"?(T.preventDefault(),T.stopPropagation(),k(),le=!0):T.key==="n"&&!R?(T.preventDefault(),T.stopPropagation(),q(),le=!0):T.key==="N"&&T.shiftKey&&!R?(T.preventDefault(),T.stopPropagation(),W(),le=!0):T.key==="?"&&m==="none"?(T.preventDefault(),T.stopPropagation(),x(),le=!0):T.key==="q"&&m==="none"?(T.preventDefault(),T.stopPropagation(),O==null||O(),le=!0):T.key==="Escape"&&(m!=="none"?(T.preventDefault(),T.stopPropagation(),S("none"),z(null),le=!0):R?(T.preventDefault(),T.stopPropagation(),Y(),le=!0):Q&&(T.preventDefault(),T.stopPropagation(),g(!1),le=!0));le&&(T.key!=="Escape"&&!Q&&g(!0),requestAnimationFrame(b))},[O,b,c,l,u,d,M,R,Y,m,Q,ae,ze,k,q,W,x]);return P.useEffect(()=>{if(!i)return;const T=u1(e);if(o.current=T,!T){console.warn("[useLessNavigation] Could not find scrollable container");return}s.current=Fm(T);const se=()=>{b()};return window.addEventListener("keydown",Te,{capture:!0}),T.addEventListener("scroll",se,{passive:!0}),b(),()=>{window.removeEventListener("keydown",Te,{capture:!0}),T.removeEventListener("scroll",se)}},[i,Te,b]),{scrollPercentage:a.current.percentage,currentLine:a.current.line,currentColumn:a.current.column,totalLines:c,cursorLine:u,cursorCol:d,cursorModeActive:Q,visualMode:m,selection:X,searchActive:R,searchQuery:j,searchMatches:w,currentMatchIndex:D,startSearch:k,setSearchQuery:C,nextMatch:q,prevMatch:W,clearSearch:Y,helpActive:v,toggleHelp:x}}const Xh=({query:t,onQueryChange:e,matchCount:i,currentIndex:n,onNext:O,onPrev:r,onClose:a})=>{const{t:o}=Ae(["terminal"]),s=P.useRef(null);P.useEffect(()=>{var u;(u=s.current)==null||u.focus()},[]);const l=P.useCallback(u=>{u.stopPropagation(),u.key==="Enter"||u.key==="ArrowDown"?(u.preventDefault(),O()):u.key==="ArrowUp"&&(u.preventDefault(),r())},[O,r]),c=i===0&&t?o("terminal:fileExplorer.noMatches"):i>0?`${n+1}/${i}`:"";return f.jsxs("div",{className:"file-viewer-search-bar",children:[f.jsxs("div",{className:"file-viewer-search-input-wrapper",children:[f.jsx("span",{className:"file-viewer-search-prefix",children:"/"}),f.jsx("input",{ref:s,type:"text",className:"file-viewer-search-input",placeholder:o("terminal:fileExplorer.searchInFile"),value:t,onChange:u=>e(u.target.value),onKeyDown:l,autoComplete:"off",spellCheck:"false"})]}),t&&f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"file-viewer-search-counter",children:c}),f.jsxs("div",{className:"file-viewer-search-nav",children:[f.jsx("button",{className:"file-viewer-search-btn file-viewer-search-prev",onClick:r,disabled:i===0,title:o("terminal:fileExplorer.previousMatch"),"aria-label":o("terminal:fileExplorer.previousMatch"),children:f.jsx(te,{name:"caret-up",size:10})}),f.jsx("button",{className:"file-viewer-search-btn file-viewer-search-next",onClick:O,disabled:i===0,title:o("terminal:fileExplorer.nextMatch"),"aria-label":o("terminal:fileExplorer.nextMatch"),children:f.jsx(te,{name:"caret-down",size:10})})]})]}),f.jsx("button",{className:"file-viewer-search-close",onClick:a,title:o("terminal:fileExplorer.closeSearch"),"aria-label":o("terminal:fileExplorer.closeSearch"),children:f.jsx(te,{name:"close",size:12})})]})};Xh.displayName="SearchBar";const g1=[{keys:["j","↓"],description:"Move cursor down one line",category:"Navigation"},{keys:["k","↑"],description:"Move cursor up one line",category:"Navigation"},{keys:["h","←"],description:"Move cursor left",category:"Navigation"},{keys:["l","→"],description:"Move cursor right",category:"Navigation"},{keys:["0"],description:"Jump to start of line",category:"Navigation"},{keys:["$"],description:"Jump to end of line",category:"Navigation"},{keys:["^"],description:"First non-whitespace char",category:"Navigation"},{keys:["d","Ctrl+D"],description:"Half page down",category:"Navigation"},{keys:["u","Ctrl+U"],description:"Half page up",category:"Navigation"},{keys:["f","Space"],description:"Full page down",category:"Navigation"},{keys:["b","Page Up"],description:"Full page up",category:"Navigation"},{keys:["g","Home"],description:"Jump to top of file",category:"Navigation"},{keys:["G","End"],description:"Jump to bottom of file",category:"Navigation"},{keys:["w"],description:"Next word start",category:"Word Motion"},{keys:["e"],description:"Next word end",category:"Word Motion"},{keys:["b"],description:"Previous word start",category:"Word Motion"},{keys:["v"],description:"Character visual mode",category:"Visual Mode"},{keys:["V"],description:"Line visual mode",category:"Visual Mode"},{keys:["y"],description:"Yank (copy) selection",category:"Visual Mode"},{keys:["Escape"],description:"Exit visual mode",category:"Visual Mode"},{keys:["/"],description:"Open search bar",category:"Search"},{keys:["n"],description:"Next match",category:"Search"},{keys:["N"],description:"Previous match",category:"Search"},{keys:["?"],description:"Toggle this help overlay",category:"Help"},{keys:["Escape"],description:"Exit cursor mode (or visual/search)",category:"Help"},{keys:["Alt+E"],description:"Close file viewer",category:"Help"},{keys:["q"],description:"Close file viewer",category:"Help"}],yh=({onClose:t})=>{const{t:e}=Ae(["terminal"]),i=P.useCallback(r=>{r.target===r.currentTarget&&t()},[t]),n=P.useCallback(r=>{(r.key==="Escape"||r.key==="?")&&(r.preventDefault(),r.stopPropagation(),t())},[t]),O=g1.reduce((r,a)=>(r[a.category]||(r[a.category]=[]),r[a.category].push(a),r),{});return f.jsx("div",{className:"keybindings-help-overlay",onClick:i,onKeyDown:n,tabIndex:0,role:"dialog","aria-label":e("terminal:fileExplorer.keybindingsHelp"),children:f.jsxs("div",{className:"keybindings-help-content",children:[f.jsx("button",{className:"keybindings-help-close",onClick:t,"aria-label":e("terminal:fileExplorer.closeHelp"),title:e("terminal:fileExplorer.pressEscapeToClose"),children:f.jsx(te,{name:"close",size:14})}),f.jsx("h2",{className:"keybindings-help-title",children:e("terminal:fileExplorer.keybindingsHelp")}),f.jsx("p",{className:"keybindings-help-subtitle",children:e("terminal:fileExplorer.keybindingsSubtitle")}),f.jsx("div",{className:"keybindings-help-categories",children:Object.entries(O).map(([r,a])=>f.jsxs("div",{className:"keybindings-help-category",children:[f.jsx("h3",{className:"keybindings-help-category-title",children:r}),f.jsx("div",{className:"keybindings-help-list",children:a.map((o,s)=>f.jsxs("div",{className:"keybindings-help-item",children:[f.jsx("div",{className:"keybindings-help-keys",children:o.keys.map((l,c)=>f.jsx("kbd",{className:"keybindings-help-key",children:l},c))}),f.jsx("div",{className:"keybindings-help-description",children:o.description})]},s))})]},r))}),f.jsx("p",{className:"keybindings-help-footer",children:e("terminal:fileExplorer.keybindingsFooter")})]})})};yh.displayName="KeybindingsHelp";let Ac=[],Km=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,i=0;e<t.length;e++)(e%2?Km:Ac).push(i=i+t[e])})();function P1(t){if(t<768)return!1;for(let e=0,i=Ac.length;;){let n=e+i>>1;if(t<Ac[n])i=n;else if(t>=Km[n])e=n+1;else return!0;if(e==i)return!1}}function bd(t){return t>=127462&&t<=127487}const Xd=8205;function S1(t,e,i=!0,n=!0){return(i?Jm:b1)(t,e,n)}function Jm(t,e,i){if(e==t.length)return e;e&&eg(t.charCodeAt(e))&&tg(t.charCodeAt(e-1))&&e--;let n=xl(t,e);for(e+=yd(n);e<t.length;){let O=xl(t,e);if(n==Xd||O==Xd||i&&P1(O))e+=yd(O),n=O;else if(bd(O)){let r=0,a=e-2;for(;a>=0&&bd(xl(t,a));)r++,a-=2;if(r%2==0)break;e+=2}else break}return e}function b1(t,e,i){for(;e>0;){let n=Jm(t,e-2,i);if(n<e)return n;e--}return 0}function xl(t,e){let i=t.charCodeAt(e);if(!tg(i)||e+1==t.length)return i;let n=t.charCodeAt(e+1);return eg(n)?(i-55296<<10)+(n-56320)+65536:i}function eg(t){return t>=56320&&t<57344}function tg(t){return t>=55296&&t<56320}function yd(t){return t<65536?1:2}class ye{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,i,n){[e,i]=EO(this,e,i);let O=[];return this.decompose(0,e,O,2),n.length&&n.decompose(0,n.length,O,3),this.decompose(i,this.length,O,1),bi.from(O,this.length-(i-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,i=this.length){[e,i]=EO(this,e,i);let n=[];return this.decompose(e,i,n,0),bi.from(n,i-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let i=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),O=new Yr(this),r=new Yr(e);for(let a=i,o=i;;){if(O.next(a),r.next(a),a=0,O.lineBreak!=r.lineBreak||O.done!=r.done||O.value!=r.value)return!1;if(o+=O.value.length,O.done||o>=n)return!0}}iter(e=1){return new Yr(this,e)}iterRange(e,i=this.length){return new ig(this,e,i)}iterLines(e,i){let n;if(e==null)n=this.iter();else{i==null&&(i=this.lines+1);let O=this.line(e).from;n=this.iterRange(O,Math.max(O,i==this.lines+1?this.length:i<=1?0:this.line(i-1).to))}return new ng(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?ye.empty:e.length<=32?new Le(e):bi.from(Le.split(e,[]))}}class Le extends ye{constructor(e,i=X1(e)){super(),this.text=e,this.length=i}get lines(){return this.text.length}get children(){return null}lineInner(e,i,n,O){for(let r=0;;r++){let a=this.text[r],o=O+a.length;if((i?n:o)>=e)return new y1(O,o,n,a);O=o+1,n++}}decompose(e,i,n,O){let r=e<=0&&i>=this.length?this:new Le(xd(this.text,e,i),Math.min(i,this.length)-Math.max(0,e));if(O&1){let a=n.pop(),o=So(r.text,a.text.slice(),0,r.length);if(o.length<=32)n.push(new Le(o,a.length+r.length));else{let s=o.length>>1;n.push(new Le(o.slice(0,s)),new Le(o.slice(s)))}}else n.push(r)}replace(e,i,n){if(!(n instanceof Le))return super.replace(e,i,n);[e,i]=EO(this,e,i);let O=So(this.text,So(n.text,xd(this.text,0,e)),i),r=this.length+n.length-(i-e);return O.length<=32?new Le(O,r):bi.from(Le.split(O,[]),r)}sliceString(e,i=this.length,n=`
|
|
8
|
+
`){[e,i]=EO(this,e,i);let O="";for(let r=0,a=0;r<=i&&a<this.text.length;a++){let o=this.text[a],s=r+o.length;r>e&&a&&(O+=n),e<s&&i>r&&(O+=o.slice(Math.max(0,e-r),i-r)),r=s+1}return O}flatten(e){for(let i of this.text)e.push(i)}scanIdentical(){return 0}static split(e,i){let n=[],O=-1;for(let r of e)n.push(r),O+=r.length+1,n.length==32&&(i.push(new Le(n,O)),n=[],O=-1);return O>-1&&i.push(new Le(n,O)),i}}class bi extends ye{constructor(e,i){super(),this.children=e,this.length=i,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,i,n,O){for(let r=0;;r++){let a=this.children[r],o=O+a.length,s=n+a.lines-1;if((i?s:o)>=e)return a.lineInner(e,i,n,O);O=o+1,n=s+1}}decompose(e,i,n,O){for(let r=0,a=0;a<=i&&r<this.children.length;r++){let o=this.children[r],s=a+o.length;if(e<=s&&i>=a){let l=O&((a<=e?1:0)|(s>=i?2:0));a>=e&&s<=i&&!l?n.push(o):o.decompose(e-a,i-a,n,l)}a=s+1}}replace(e,i,n){if([e,i]=EO(this,e,i),n.lines<this.lines)for(let O=0,r=0;O<this.children.length;O++){let a=this.children[O],o=r+a.length;if(e>=r&&i<=o){let s=a.replace(e-r,i-r,n),l=this.lines-a.lines+s.lines;if(s.lines<l>>4&&s.lines>l>>6){let c=this.children.slice();return c[O]=s,new bi(c,this.length-(i-e)+n.length)}return super.replace(r,o,s)}r=o+1}return super.replace(e,i,n)}sliceString(e,i=this.length,n=`
|
|
9
|
+
`){[e,i]=EO(this,e,i);let O="";for(let r=0,a=0;r<this.children.length&&a<=i;r++){let o=this.children[r],s=a+o.length;a>e&&r&&(O+=n),e<s&&i>a&&(O+=o.sliceString(e-a,i-a,n)),a=s+1}return O}flatten(e){for(let i of this.children)i.flatten(e)}scanIdentical(e,i){if(!(e instanceof bi))return 0;let n=0,[O,r,a,o]=i>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;O+=i,r+=i){if(O==a||r==o)return n;let s=this.children[O],l=e.children[r];if(s!=l)return n+s.scanIdentical(l,i);n+=s.length+1}}static from(e,i=e.reduce((n,O)=>n+O.length+1,-1)){let n=0;for(let d of e)n+=d.lines;if(n<32){let d=[];for(let p of e)p.flatten(d);return new Le(d,i)}let O=Math.max(32,n>>5),r=O<<1,a=O>>1,o=[],s=0,l=-1,c=[];function u(d){let p;if(d.lines>r&&d instanceof bi)for(let Q of d.children)u(Q);else d.lines>a&&(s>a||!s)?(h(),o.push(d)):d instanceof Le&&s&&(p=c[c.length-1])instanceof Le&&d.lines+p.lines<=32?(s+=d.lines,l+=d.length+1,c[c.length-1]=new Le(p.text.concat(d.text),p.length+1+d.length)):(s+d.lines>O&&h(),s+=d.lines,l+=d.length+1,c.push(d))}function h(){s!=0&&(o.push(c.length==1?c[0]:bi.from(c,l)),l=-1,s=c.length=0)}for(let d of e)u(d);return h(),o.length==1?o[0]:new bi(o,i)}}ye.empty=new Le([""],0);function X1(t){let e=-1;for(let i of t)e+=i.length+1;return e}function So(t,e,i=0,n=1e9){for(let O=0,r=0,a=!0;r<t.length&&O<=n;r++){let o=t[r],s=O+o.length;s>=i&&(s>n&&(o=o.slice(0,n-O)),O<i&&(o=o.slice(i-O)),a?(e[e.length-1]+=o,a=!1):e.push(o)),O=s+1}return e}function xd(t,e,i){return So(t,[""],e,i)}class Yr{constructor(e,i=1){this.dir=i,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[i>0?1:(e instanceof Le?e.text.length:e.children.length)<<1]}nextInner(e,i){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,O=this.nodes[n],r=this.offsets[n],a=r>>1,o=O instanceof Le?O.text.length:O.children.length;if(a==(i>0?o:0)){if(n==0)return this.done=!0,this.value="",this;i>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(i>0?0:1)){if(this.offsets[n]+=i,e==0)return this.lineBreak=!0,this.value=`
|
|
10
|
+
`,this;e--}else if(O instanceof Le){let s=O.text[a+(i<0?-1:0)];if(this.offsets[n]+=i,s.length>Math.max(0,e))return this.value=e==0?s:i>0?s.slice(e):s.slice(0,s.length-e),this;e-=s.length}else{let s=O.children[a+(i<0?-1:0)];e>s.length?(e-=s.length,this.offsets[n]+=i):(i<0&&this.offsets[n]--,this.nodes.push(s),this.offsets.push(i>0?1:(s instanceof Le?s.text.length:s.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class ig{constructor(e,i,n){this.value="",this.done=!1,this.cursor=new Yr(e,i>n?-1:1),this.pos=i>n?e.length:0,this.from=Math.min(i,n),this.to=Math.max(i,n)}nextInner(e,i){if(i<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,i<0?this.pos-this.to:this.from-this.pos);let n=i<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:O}=this.cursor.next(e);return this.pos+=(O.length+e)*i,this.value=O.length<=n?O:i<0?O.slice(O.length-n):O.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class ng{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:i,lineBreak:n,value:O}=this.inner.next(e);return i&&this.afterBreak?(this.value="",this.afterBreak=!1):i?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=O,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(ye.prototype[Symbol.iterator]=function(){return this.iter()},Yr.prototype[Symbol.iterator]=ig.prototype[Symbol.iterator]=ng.prototype[Symbol.iterator]=function(){return this});let y1=class{constructor(e,i,n,O){this.from=e,this.to=i,this.number=n,this.text=O}get length(){return this.to-this.from}};function EO(t,e,i){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,i))]}function nt(t,e,i=!0,n=!0){return S1(t,e,i,n)}function x1(t){return t>=56320&&t<57344}function w1(t){return t>=55296&&t<56320}function rO(t,e){let i=t.charCodeAt(e);if(!w1(i)||e+1==t.length)return i;let n=t.charCodeAt(e+1);return x1(n)?(i-55296<<10)+(n-56320)+65536:i}function Og(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function $a(t){return t<65536?1:2}const Nc=/\r\n?|\n/;var ut=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(ut||(ut={}));class vi{constructor(e){this.sections=e}get length(){let e=0;for(let i=0;i<this.sections.length;i+=2)e+=this.sections[i];return e}get newLength(){let e=0;for(let i=0;i<this.sections.length;i+=2){let n=this.sections[i+1];e+=n<0?this.sections[i]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let i=0,n=0,O=0;i<this.sections.length;){let r=this.sections[i++],a=this.sections[i++];a<0?(e(n,O,r),O+=r):O+=a,n+=r}}iterChangedRanges(e,i=!1){Ic(this,e,i)}get invertedDesc(){let e=[];for(let i=0;i<this.sections.length;){let n=this.sections[i++],O=this.sections[i++];O<0?e.push(n,O):e.push(O,n)}return new vi(e)}composeDesc(e){return this.empty?e:e.empty?this:rg(this,e)}mapDesc(e,i=!1){return e.empty?this:Lc(this,e,i)}mapPos(e,i=-1,n=ut.Simple){let O=0,r=0;for(let a=0;a<this.sections.length;){let o=this.sections[a++],s=this.sections[a++],l=O+o;if(s<0){if(l>e)return r+(e-O);r+=o}else{if(n!=ut.Simple&&l>=e&&(n==ut.TrackDel&&O<e&&l>e||n==ut.TrackBefore&&O<e||n==ut.TrackAfter&&l>e))return null;if(l>e||l==e&&i<0&&!o)return e==O||i<0?r:r+s;r+=s}O=l}if(e>O)throw new RangeError(`Position ${e} is out of range for changeset of length ${O}`);return r}touchesRange(e,i=e){for(let n=0,O=0;n<this.sections.length&&O<=i;){let r=this.sections[n++],a=this.sections[n++],o=O+r;if(a>=0&&O<=i&&o>=e)return O<e&&o>i?"cover":!0;O=o}return!1}toString(){let e="";for(let i=0;i<this.sections.length;){let n=this.sections[i++],O=this.sections[i++];e+=(e?" ":"")+n+(O>=0?":"+O:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(i=>typeof i!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new vi(e)}static create(e){return new vi(e)}}class Je extends vi{constructor(e,i){super(e),this.inserted=i}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Ic(this,(i,n,O,r,a)=>e=e.replace(O,O+(n-i),a),!1),e}mapDesc(e,i=!1){return Lc(this,e,i,!0)}invert(e){let i=this.sections.slice(),n=[];for(let O=0,r=0;O<i.length;O+=2){let a=i[O],o=i[O+1];if(o>=0){i[O]=o,i[O+1]=a;let s=O>>1;for(;n.length<s;)n.push(ye.empty);n.push(a?e.slice(r,r+a):ye.empty)}r+=a}return new Je(i,n)}compose(e){return this.empty?e:e.empty?this:rg(this,e,!0)}map(e,i=!1){return e.empty?this:Lc(this,e,i,!0)}iterChanges(e,i=!1){Ic(this,e,i)}get desc(){return vi.create(this.sections)}filter(e){let i=[],n=[],O=[],r=new Nr(this);e:for(let a=0,o=0;;){let s=a==e.length?1e9:e[a++];for(;o<s||o==s&&r.len==0;){if(r.done)break e;let c=Math.min(r.len,s-o);lt(O,c,-1);let u=r.ins==-1?-1:r.off==0?r.ins:0;lt(i,c,u),u>0&&ln(n,i,r.text),r.forward(c),o+=c}let l=e[a++];for(;o<l;){if(r.done)break e;let c=Math.min(r.len,l-o);lt(i,c,-1),lt(O,c,r.ins==-1?-1:r.off==0?r.ins:0),r.forward(c),o+=c}}return{changes:new Je(i,n),filtered:vi.create(O)}}toJSON(){let e=[];for(let i=0;i<this.sections.length;i+=2){let n=this.sections[i],O=this.sections[i+1];O<0?e.push(n):O==0?e.push([n]):e.push([n].concat(this.inserted[i>>1].toJSON()))}return e}static of(e,i,n){let O=[],r=[],a=0,o=null;function s(c=!1){if(!c&&!O.length)return;a<i&<(O,i-a,-1);let u=new Je(O,r);o=o?o.compose(u.map(o)):u,O=[],r=[],a=0}function l(c){if(Array.isArray(c))for(let u of c)l(u);else if(c instanceof Je){if(c.length!=i)throw new RangeError(`Mismatched change set length (got ${c.length}, expected ${i})`);s(),o=o?o.compose(c.map(o)):c}else{let{from:u,to:h=u,insert:d}=c;if(u>h||u<0||h>i)throw new RangeError(`Invalid change range ${u} to ${h} (in doc of length ${i})`);let p=d?typeof d=="string"?ye.of(d.split(n||Nc)):d:ye.empty,Q=p.length;if(u==h&&Q==0)return;u<a&&s(),u>a&<(O,u-a,-1),lt(O,h-u,Q),ln(r,O,p),a=h}}return l(e),s(!o),o}static empty(e){return new Je(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let i=[],n=[];for(let O=0;O<e.length;O++){let r=e[O];if(typeof r=="number")i.push(r,-1);else{if(!Array.isArray(r)||typeof r[0]!="number"||r.some((a,o)=>o&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(r.length==1)i.push(r[0],0);else{for(;n.length<O;)n.push(ye.empty);n[O]=ye.of(r.slice(1)),i.push(r[0],n[O].length)}}}return new Je(i,n)}static createSet(e,i){return new Je(e,i)}}function lt(t,e,i,n=!1){if(e==0&&i<=0)return;let O=t.length-2;O>=0&&i<=0&&i==t[O+1]?t[O]+=e:O>=0&&e==0&&t[O]==0?t[O+1]+=i:n?(t[O]+=e,t[O+1]+=i):t.push(e,i)}function ln(t,e,i){if(i.length==0)return;let n=e.length-2>>1;if(n<t.length)t[t.length-1]=t[t.length-1].append(i);else{for(;t.length<n;)t.push(ye.empty);t.push(i)}}function Ic(t,e,i){let n=t.inserted;for(let O=0,r=0,a=0;a<t.sections.length;){let o=t.sections[a++],s=t.sections[a++];if(s<0)O+=o,r+=o;else{let l=O,c=r,u=ye.empty;for(;l+=o,c+=s,s&&n&&(u=u.append(n[a-2>>1])),!(i||a==t.sections.length||t.sections[a+1]<0);)o=t.sections[a++],s=t.sections[a++];e(O,l,r,c,u),O=l,r=c}}}function Lc(t,e,i,n=!1){let O=[],r=n?[]:null,a=new Nr(t),o=new Nr(e);for(let s=-1;;){if(a.done&&o.len||o.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&o.ins==-1){let l=Math.min(a.len,o.len);lt(O,l,-1),a.forward(l),o.forward(l)}else if(o.ins>=0&&(a.ins<0||s==a.i||a.off==0&&(o.len<a.len||o.len==a.len&&!i))){let l=o.len;for(lt(O,o.ins,-1);l;){let c=Math.min(a.len,l);a.ins>=0&&s<a.i&&a.len<=c&&(lt(O,0,a.ins),r&&ln(r,O,a.text),s=a.i),a.forward(c),l-=c}o.next()}else if(a.ins>=0){let l=0,c=a.len;for(;c;)if(o.ins==-1){let u=Math.min(c,o.len);l+=u,c-=u,o.forward(u)}else if(o.ins==0&&o.len<c)c-=o.len,o.next();else break;lt(O,l,s<a.i?a.ins:0),r&&s<a.i&&ln(r,O,a.text),s=a.i,a.forward(a.len-c)}else{if(a.done&&o.done)return r?Je.createSet(O,r):vi.create(O);throw new Error("Mismatched change set lengths")}}}function rg(t,e,i=!1){let n=[],O=i?[]:null,r=new Nr(t),a=new Nr(e);for(let o=!1;;){if(r.done&&a.done)return O?Je.createSet(n,O):vi.create(n);if(r.ins==0)lt(n,r.len,0,o),r.next();else if(a.len==0&&!a.done)lt(n,0,a.ins,o),O&&ln(O,n,a.text),a.next();else{if(r.done||a.done)throw new Error("Mismatched change set lengths");{let s=Math.min(r.len2,a.len),l=n.length;if(r.ins==-1){let c=a.ins==-1?-1:a.off?0:a.ins;lt(n,s,c,o),O&&c&&ln(O,n,a.text)}else a.ins==-1?(lt(n,r.off?0:r.len,s,o),O&&ln(O,n,r.textBit(s))):(lt(n,r.off?0:r.len,a.off?0:a.ins,o),O&&!a.off&&ln(O,n,a.text));o=(r.ins>s||a.ins>=0&&a.len>s)&&(o||n.length>l),r.forward2(s),a.forward(s)}}}}class Nr{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,i=this.i-2>>1;return i>=e.length?ye.empty:e[i]}textBit(e){let{inserted:i}=this.set,n=this.i-2>>1;return n>=i.length&&!e?ye.empty:i[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Cn{constructor(e,i,n){this.from=e,this.to=i,this.flags=n}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,i=-1){let n,O;return this.empty?n=O=e.mapPos(this.from,i):(n=e.mapPos(this.from,1),O=e.mapPos(this.to,-1)),n==this.from&&O==this.to?this:new Cn(n,O,this.flags)}extend(e,i=e,n=0){if(e<=this.anchor&&i>=this.anchor)return U.range(e,i,void 0,void 0,n);let O=Math.abs(e-this.anchor)>Math.abs(i-this.anchor)?e:i;return U.range(this.anchor,O,void 0,void 0,n)}eq(e,i=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!i||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return U.range(e.anchor,e.head)}static create(e,i,n){return new Cn(e,i,n)}}class U{constructor(e,i){this.ranges=e,this.mainIndex=i}map(e,i=-1){return e.empty?this:U.create(this.ranges.map(n=>n.map(e,i)),this.mainIndex)}eq(e,i=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],i))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new U([this.main],0)}addRange(e,i=!0){return U.create([e].concat(this.ranges),i?0:this.mainIndex+1)}replaceRange(e,i=this.mainIndex){let n=this.ranges.slice();return n[i]=e,U.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new U(e.ranges.map(i=>Cn.fromJSON(i)),e.main)}static single(e,i=e){return new U([U.range(e,i)],0)}static create(e,i=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,O=0;O<e.length;O++){let r=e[O];if(r.empty?r.from<=n:r.from<n)return U.normalized(e.slice(),i);n=r.to}return new U(e,i)}static cursor(e,i=0,n,O){return Cn.create(e,e,(i==0?0:i<0?8:16)|(n==null?7:Math.min(6,n))|(O??16777215)<<6)}static range(e,i,n,O,r){let a=(n??16777215)<<6|(O==null?7:Math.min(6,O));return!r&&e!=i&&(r=i<e?1:-1),i<e?Cn.create(i,e,48|a):Cn.create(e,i,(r?r<0?8:16:0)|a)}static normalized(e,i=0){let n=e[i];e.sort((O,r)=>O.from-r.from),i=e.indexOf(n);for(let O=1;O<e.length;O++){let r=e[O],a=e[O-1];if(r.empty?r.from<=a.to:r.from<a.to){let o=a.from,s=Math.max(r.to,a.to);O<=i&&i--,e.splice(--O,2,r.anchor>r.head?U.range(s,o):U.range(o,s))}}return new U(e,i)}}function ag(t,e){for(let i of t.ranges)if(i.to>e)throw new RangeError("Selection points outside of document")}let xh=0;class K{constructor(e,i,n,O,r){this.combine=e,this.compareInput=i,this.compare=n,this.isStatic=O,this.id=xh++,this.default=e([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(e={}){return new K(e.combine||(i=>i),e.compareInput||((i,n)=>i===n),e.compare||(e.combine?(i,n)=>i===n:wh),!!e.static,e.enables)}of(e){return new bo([],this,0,e)}compute(e,i){if(this.isStatic)throw new Error("Can't compute a static facet");return new bo(e,this,1,i)}computeN(e,i){if(this.isStatic)throw new Error("Can't compute a static facet");return new bo(e,this,2,i)}from(e,i){return i||(i=n=>n),this.compute([e],n=>i(n.field(e)))}}function wh(t,e){return t==e||t.length==e.length&&t.every((i,n)=>i===e[n])}class bo{constructor(e,i,n,O){this.dependencies=e,this.facet=i,this.type=n,this.value=O,this.id=xh++}dynamicSlot(e){var i;let n=this.value,O=this.facet.compareInput,r=this.id,a=e[r]>>1,o=this.type==2,s=!1,l=!1,c=[];for(let u of this.dependencies)u=="doc"?s=!0:u=="selection"?l=!0:(((i=e[u.id])!==null&&i!==void 0?i:1)&1)==0&&c.push(e[u.id]);return{create(u){return u.values[a]=n(u),1},update(u,h){if(s&&h.docChanged||l&&(h.docChanged||h.selection)||Dc(u,c)){let d=n(u);if(o?!wd(d,u.values[a],O):!O(d,u.values[a]))return u.values[a]=d,1}return 0},reconfigure:(u,h)=>{let d,p=h.config.address[r];if(p!=null){let Q=Eo(h,p);if(this.dependencies.every(g=>g instanceof K?h.facet(g)===u.facet(g):g instanceof At?h.field(g,!1)==u.field(g,!1):!0)||(o?wd(d=n(u),Q,O):O(d=n(u),Q)))return u.values[a]=Q,0}else d=n(u);return u.values[a]=d,1}}}}function wd(t,e,i){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!i(t[n],e[n]))return!1;return!0}function Dc(t,e){let i=!1;for(let n of e)Zr(t,n)&1&&(i=!0);return i}function k1(t,e,i){let n=i.map(s=>t[s.id]),O=i.map(s=>s.type),r=n.filter(s=>!(s&1)),a=t[e.id]>>1;function o(s){let l=[];for(let c=0;c<n.length;c++){let u=Eo(s,n[c]);if(O[c]==2)for(let h of u)l.push(h);else l.push(u)}return e.combine(l)}return{create(s){for(let l of n)Zr(s,l);return s.values[a]=o(s),1},update(s,l){if(!Dc(s,r))return 0;let c=o(s);return e.compare(c,s.values[a])?0:(s.values[a]=c,1)},reconfigure(s,l){let c=Dc(s,n),u=l.config.facets[e.id],h=l.facet(e);if(u&&!c&&wh(i,u))return s.values[a]=h,0;let d=o(s);return e.compare(d,h)?(s.values[a]=h,0):(s.values[a]=d,1)}}}const ja=K.define({static:!0});class At{constructor(e,i,n,O,r){this.id=e,this.createF=i,this.updateF=n,this.compareF=O,this.spec=r,this.provides=void 0}static define(e){let i=new At(xh++,e.create,e.update,e.compare||((n,O)=>n===O),e);return e.provide&&(i.provides=e.provide(i)),i}create(e){let i=e.facet(ja).find(n=>n.field==this);return((i==null?void 0:i.create)||this.createF)(e)}slot(e){let i=e[this.id]>>1;return{create:n=>(n.values[i]=this.create(n),1),update:(n,O)=>{let r=n.values[i],a=this.updateF(r,O);return this.compareF(r,a)?0:(n.values[i]=a,1)},reconfigure:(n,O)=>{let r=n.facet(ja),a=O.facet(ja),o;return(o=r.find(s=>s.field==this))&&o!=a.find(s=>s.field==this)?(n.values[i]=o.create(n),1):O.config.address[this.id]!=null?(n.values[i]=O.field(this),0):(n.values[i]=this.create(n),1)}}}init(e){return[this,ja.of({field:this,create:e})]}get extension(){return this}}const Un={lowest:4,low:3,default:2,high:1,highest:0};function hr(t){return e=>new og(e,t)}const aO={highest:hr(Un.highest),high:hr(Un.high),default:hr(Un.default),low:hr(Un.low),lowest:hr(Un.lowest)};class og{constructor(e,i){this.inner=e,this.prec=i}}class ws{of(e){return new Mc(this,e)}reconfigure(e){return ws.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Mc{constructor(e,i){this.compartment=e,this.inner=i}}class Co{constructor(e,i,n,O,r,a){for(this.base=e,this.compartments=i,this.dynamicSlots=n,this.address=O,this.staticValues=r,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let i=this.address[e.id];return i==null?e.default:this.staticValues[i>>1]}static resolve(e,i,n){let O=[],r=Object.create(null),a=new Map;for(let h of T1(e,i,a))h instanceof At?O.push(h):(r[h.facet.id]||(r[h.facet.id]=[])).push(h);let o=Object.create(null),s=[],l=[];for(let h of O)o[h.id]=l.length<<1,l.push(d=>h.slot(d));let c=n==null?void 0:n.config.facets;for(let h in r){let d=r[h],p=d[0].facet,Q=c&&c[h]||[];if(d.every(g=>g.type==0))if(o[p.id]=s.length<<1|1,wh(Q,d))s.push(n.facet(p));else{let g=p.combine(d.map(m=>m.value));s.push(n&&p.compare(g,n.facet(p))?n.facet(p):g)}else{for(let g of d)g.type==0?(o[g.id]=s.length<<1|1,s.push(g.value)):(o[g.id]=l.length<<1,l.push(m=>g.dynamicSlot(m)));o[p.id]=l.length<<1,l.push(g=>k1(g,p,d))}}let u=l.map(h=>h(o));return new Co(e,a,u,o,s,r)}}function T1(t,e,i){let n=[[],[],[],[],[]],O=new Map;function r(a,o){let s=O.get(a);if(s!=null){if(s<=o)return;let l=n[s].indexOf(a);l>-1&&n[s].splice(l,1),a instanceof Mc&&i.delete(a.compartment)}if(O.set(a,o),Array.isArray(a))for(let l of a)r(l,o);else if(a instanceof Mc){if(i.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let l=e.get(a.compartment)||a.inner;i.set(a.compartment,l),r(l,o)}else if(a instanceof og)r(a.inner,a.prec);else if(a instanceof At)n[o].push(a),a.provides&&r(a.provides,o);else if(a instanceof bo)n[o].push(a),a.facet.extensions&&r(a.facet.extensions,Un.default);else{let l=a.extension;if(!l)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(l,o)}}return r(t,Un.default),n.reduce((a,o)=>a.concat(o))}function Zr(t,e){if(e&1)return 2;let i=e>>1,n=t.status[i];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;t.status[i]=4;let O=t.computeSlot(t,t.config.dynamicSlots[i]);return t.status[i]=2|O}function Eo(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}const sg=K.define(),Bc=K.define({combine:t=>t.some(e=>e),static:!0}),lg=K.define({combine:t=>t.length?t[0]:void 0,static:!0}),cg=K.define(),ug=K.define(),hg=K.define(),fg=K.define({combine:t=>t.length?t[0]:!1});class Ji{constructor(e,i){this.type=e,this.value=i}static define(){return new v1}}class v1{of(e){return new Ji(this,e)}}class _1{constructor(e){this.map=e}of(e){return new xe(this,e)}}class xe{constructor(e,i){this.type=e,this.value=i}map(e){let i=this.type.map(this.value,e);return i===void 0?void 0:i==this.value?this:new xe(this.type,i)}is(e){return this.type==e}static define(e={}){return new _1(e.map||(i=>i))}static mapEffects(e,i){if(!e.length)return e;let n=[];for(let O of e){let r=O.map(i);r&&n.push(r)}return n}}xe.reconfigure=xe.define();xe.appendConfig=xe.define();class Be{constructor(e,i,n,O,r,a){this.startState=e,this.changes=i,this.selection=n,this.effects=O,this.annotations=r,this.scrollIntoView=a,this._doc=null,this._state=null,n&&ag(n,i.newLength),r.some(o=>o.type==Be.time)||(this.annotations=r.concat(Be.time.of(Date.now())))}static create(e,i,n,O,r,a){return new Be(e,i,n,O,r,a)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let i of this.annotations)if(i.type==e)return i.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let i=this.annotation(Be.userEvent);return!!(i&&(i==e||i.length>e.length&&i.slice(0,e.length)==e&&i[e.length]=="."))}}Be.time=Ji.define();Be.userEvent=Ji.define();Be.addToHistory=Ji.define();Be.remote=Ji.define();function R1(t,e){let i=[];for(let n=0,O=0;;){let r,a;if(n<t.length&&(O==e.length||e[O]>=t[n]))r=t[n++],a=t[n++];else if(O<e.length)r=e[O++],a=e[O++];else return i;!i.length||i[i.length-1]<r?i.push(r,a):i[i.length-1]<a&&(i[i.length-1]=a)}}function dg(t,e,i){var n;let O,r,a;return i?(O=e.changes,r=Je.empty(e.changes.length),a=t.changes.compose(e.changes)):(O=e.changes.map(t.changes),r=t.changes.mapDesc(e.changes,!0),a=t.changes.compose(O)),{changes:a,selection:e.selection?e.selection.map(r):(n=t.selection)===null||n===void 0?void 0:n.map(O),effects:xe.mapEffects(t.effects,O).concat(xe.mapEffects(e.effects,r)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function Fc(t,e,i){let n=e.selection,O=ZO(e.annotations);return e.userEvent&&(O=O.concat(Be.userEvent.of(e.userEvent))),{changes:e.changes instanceof Je?e.changes:Je.of(e.changes||[],i,t.facet(lg)),selection:n&&(n instanceof U?n:U.single(n.anchor,n.head)),effects:ZO(e.effects),annotations:O,scrollIntoView:!!e.scrollIntoView}}function $g(t,e,i){let n=Fc(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(i=!1);for(let r=1;r<e.length;r++){e[r].filter===!1&&(i=!1);let a=!!e[r].sequential;n=dg(n,Fc(t,e[r],a?n.changes.newLength:t.doc.length),a)}let O=Be.create(t,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return Z1(i?Y1(O):O)}function Y1(t){let e=t.startState,i=!0;for(let O of e.facet(cg)){let r=O(t);if(r===!1){i=!1;break}Array.isArray(r)&&(i=i===!0?r:R1(i,r))}if(i!==!0){let O,r;if(i===!1)r=t.changes.invertedDesc,O=Je.empty(e.doc.length);else{let a=t.changes.filter(i);O=a.changes,r=a.filtered.mapDesc(a.changes).invertedDesc}t=Be.create(e,O,t.selection&&t.selection.map(r),xe.mapEffects(t.effects,r),t.annotations,t.scrollIntoView)}let n=e.facet(ug);for(let O=n.length-1;O>=0;O--){let r=n[O](t);r instanceof Be?t=r:Array.isArray(r)&&r.length==1&&r[0]instanceof Be?t=r[0]:t=$g(e,ZO(r),!1)}return t}function Z1(t){let e=t.startState,i=e.facet(hg),n=t;for(let O=i.length-1;O>=0;O--){let r=i[O](t);r&&Object.keys(r).length&&(n=dg(n,Fc(e,r,t.changes.newLength),!0))}return n==t?t:Be.create(e,t.changes,t.selection,n.effects,n.annotations,n.scrollIntoView)}const z1=[];function ZO(t){return t==null?z1:Array.isArray(t)?t:[t]}var Ce=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(Ce||(Ce={}));const q1=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Hc;try{Hc=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function U1(t){if(Hc)return Hc.test(t);for(let e=0;e<t.length;e++){let i=t[e];if(/\w/.test(i)||i>""&&(i.toUpperCase()!=i.toLowerCase()||q1.test(i)))return!0}return!1}function V1(t){return e=>{if(!/\S/.test(e))return Ce.Space;if(U1(e))return Ce.Word;for(let i=0;i<t.length;i++)if(e.indexOf(t[i])>-1)return Ce.Word;return Ce.Other}}class Xe{constructor(e,i,n,O,r,a){this.config=e,this.doc=i,this.selection=n,this.values=O,this.status=e.statusTemplate.slice(),this.computeSlot=r,a&&(a._state=this);for(let o=0;o<this.config.dynamicSlots.length;o++)Zr(this,o<<1);this.computeSlot=null}field(e,i=!0){let n=this.config.address[e.id];if(n==null){if(i)throw new RangeError("Field is not present in this state");return}return Zr(this,n),Eo(this,n)}update(...e){return $g(this,e,!0)}applyTransaction(e){let i=this.config,{base:n,compartments:O}=i;for(let o of e.effects)o.is(ws.reconfigure)?(i&&(O=new Map,i.compartments.forEach((s,l)=>O.set(l,s)),i=null),O.set(o.value.compartment,o.value.extension)):o.is(xe.reconfigure)?(i=null,n=o.value):o.is(xe.appendConfig)&&(i=null,n=ZO(n).concat(o.value));let r;i?r=e.startState.values.slice():(i=Co.resolve(n,O,this),r=new Xe(i,this.doc,this.selection,i.dynamicSlots.map(()=>null),(s,l)=>l.reconfigure(s,this),null).values);let a=e.startState.facet(Bc)?e.newSelection:e.newSelection.asSingle();new Xe(i,e.newDoc,a,r,(o,s)=>s.update(o,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:e},range:U.cursor(i.from+e.length)}))}changeByRange(e){let i=this.selection,n=e(i.ranges[0]),O=this.changes(n.changes),r=[n.range],a=ZO(n.effects);for(let o=1;o<i.ranges.length;o++){let s=e(i.ranges[o]),l=this.changes(s.changes),c=l.map(O);for(let h=0;h<o;h++)r[h]=r[h].map(c);let u=O.mapDesc(l,!0);r.push(s.range.map(u)),O=O.compose(c),a=xe.mapEffects(a,c).concat(xe.mapEffects(ZO(s.effects),u))}return{changes:O,selection:U.create(r,i.mainIndex),effects:a}}changes(e=[]){return e instanceof Je?e:Je.of(e,this.doc.length,this.facet(Xe.lineSeparator))}toText(e){return ye.of(e.split(this.facet(Xe.lineSeparator)||Nc))}sliceDoc(e=0,i=this.doc.length){return this.doc.sliceString(e,i,this.lineBreak)}facet(e){let i=this.config.address[e.id];return i==null?e.default:(Zr(this,i),Eo(this,i))}toJSON(e){let i={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let O=e[n];O instanceof At&&this.config.address[O.id]!=null&&(i[n]=O.spec.toJSON(this.field(e[n]),this))}return i}static fromJSON(e,i={},n){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let O=[];if(n){for(let r in n)if(Object.prototype.hasOwnProperty.call(e,r)){let a=n[r],o=e[r];O.push(a.init(s=>a.spec.fromJSON(o,s)))}}return Xe.create({doc:e.doc,selection:U.fromJSON(e.selection),extensions:i.extensions?O.concat([i.extensions]):O})}static create(e={}){let i=Co.resolve(e.extensions||[],new Map),n=e.doc instanceof ye?e.doc:ye.of((e.doc||"").split(i.staticFacet(Xe.lineSeparator)||Nc)),O=e.selection?e.selection instanceof U?e.selection:U.single(e.selection.anchor,e.selection.head):U.single(0);return ag(O,n.length),i.staticFacet(Bc)||(O=O.asSingle()),new Xe(i,n,O,i.dynamicSlots.map(()=>null),(r,a)=>a.create(r),null)}get tabSize(){return this.facet(Xe.tabSize)}get lineBreak(){return this.facet(Xe.lineSeparator)||`
|
|
11
|
+
`}get readOnly(){return this.facet(fg)}phrase(e,...i){for(let n of this.facet(Xe.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return i.length&&(e=e.replace(/\$(\$|\d*)/g,(n,O)=>{if(O=="$")return"$";let r=+(O||1);return!r||r>i.length?n:i[r-1]})),e}languageDataAt(e,i,n=-1){let O=[];for(let r of this.facet(sg))for(let a of r(this,i,n))Object.prototype.hasOwnProperty.call(a,e)&&O.push(a[e]);return O}charCategorizer(e){let i=this.languageDataAt("wordChars",e);return V1(i.length?i[0]:"")}wordAt(e){let{text:i,from:n,length:O}=this.doc.lineAt(e),r=this.charCategorizer(e),a=e-n,o=e-n;for(;a>0;){let s=nt(i,a,!1);if(r(i.slice(s,a))!=Ce.Word)break;a=s}for(;o<O;){let s=nt(i,o);if(r(i.slice(o,s))!=Ce.Word)break;o=s}return a==o?null:U.range(a+n,o+n)}}Xe.allowMultipleSelections=Bc;Xe.tabSize=K.define({combine:t=>t.length?t[0]:4});Xe.lineSeparator=lg;Xe.readOnly=fg;Xe.phrases=K.define({compare(t,e){let i=Object.keys(t),n=Object.keys(e);return i.length==n.length&&i.every(O=>t[O]==e[O])}});Xe.languageData=sg;Xe.changeFilter=cg;Xe.transactionFilter=ug;Xe.transactionExtender=hg;ws.reconfigure=xe.define();function oO(t,e,i={}){let n={};for(let O of t)for(let r of Object.keys(O)){let a=O[r],o=n[r];if(o===void 0)n[r]=a;else if(!(o===a||a===void 0))if(Object.hasOwnProperty.call(i,r))n[r]=i[r](o,a);else throw new Error("Config merge conflict for field "+r)}for(let O in e)n[O]===void 0&&(n[O]=e[O]);return n}class dn{eq(e){return this==e}range(e,i=e){return Kc.create(e,i,this)}}dn.prototype.startSide=dn.prototype.endSide=0;dn.prototype.point=!1;dn.prototype.mapMode=ut.TrackDel;function kh(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}let Kc=class pg{constructor(e,i,n){this.from=e,this.to=i,this.value=n}static create(e,i,n){return new pg(e,i,n)}};function Jc(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class Th{constructor(e,i,n,O){this.from=e,this.to=i,this.value=n,this.maxPoint=O}get length(){return this.to[this.to.length-1]}findIndex(e,i,n,O=0){let r=n?this.to:this.from;for(let a=O,o=r.length;;){if(a==o)return a;let s=a+o>>1,l=r[s]-e||(n?this.value[s].endSide:this.value[s].startSide)-i;if(s==a)return l>=0?a:o;l>=0?o=s:a=s+1}}between(e,i,n,O){for(let r=this.findIndex(i,-1e9,!0),a=this.findIndex(n,1e9,!1,r);r<a;r++)if(O(this.from[r]+e,this.to[r]+e,this.value[r])===!1)return!1}map(e,i){let n=[],O=[],r=[],a=-1,o=-1;for(let s=0;s<this.value.length;s++){let l=this.value[s],c=this.from[s]+e,u=this.to[s]+e,h,d;if(c==u){let p=i.mapPos(c,l.startSide,l.mapMode);if(p==null||(h=d=p,l.startSide!=l.endSide&&(d=i.mapPos(c,l.endSide),d<h)))continue}else if(h=i.mapPos(c,l.startSide),d=i.mapPos(u,l.endSide),h>d||h==d&&l.startSide>0&&l.endSide<=0)continue;(d-h||l.endSide-l.startSide)<0||(a<0&&(a=h),l.point&&(o=Math.max(o,d-h)),n.push(l),O.push(h-a),r.push(d-a))}return{mapped:n.length?new Th(O,r,n,o):null,pos:a}}}class Pe{constructor(e,i,n,O){this.chunkPos=e,this.chunk=i,this.nextLayer=n,this.maxPoint=O}static create(e,i,n,O){return new Pe(e,i,n,O)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let i of this.chunk)e+=i.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:i=[],sort:n=!1,filterFrom:O=0,filterTo:r=this.length}=e,a=e.filter;if(i.length==0&&!a)return this;if(n&&(i=i.slice().sort(Jc)),this.isEmpty)return i.length?Pe.of(i):this;let o=new Qg(this,null,-1).goto(0),s=0,l=[],c=new Mn;for(;o.value||s<i.length;)if(s<i.length&&(o.from-i[s].from||o.startSide-i[s].value.startSide)>=0){let u=i[s++];c.addInner(u.from,u.to,u.value)||l.push(u)}else o.rangeIndex==1&&o.chunkIndex<this.chunk.length&&(s==i.length||this.chunkEnd(o.chunkIndex)<i[s].from)&&(!a||O>this.chunkEnd(o.chunkIndex)||r<this.chunkPos[o.chunkIndex])&&c.addChunk(this.chunkPos[o.chunkIndex],this.chunk[o.chunkIndex])?o.nextChunk():((!a||O>o.to||r<o.from||a(o.from,o.to,o.value))&&(c.addInner(o.from,o.to,o.value)||l.push(Kc.create(o.from,o.to,o.value))),o.next());return c.finishInner(this.nextLayer.isEmpty&&!l.length?Pe.empty:this.nextLayer.update({add:l,filter:a,filterFrom:O,filterTo:r}))}map(e){if(e.empty||this.isEmpty)return this;let i=[],n=[],O=-1;for(let a=0;a<this.chunk.length;a++){let o=this.chunkPos[a],s=this.chunk[a],l=e.touchesRange(o,o+s.length);if(l===!1)O=Math.max(O,s.maxPoint),i.push(s),n.push(e.mapPos(o));else if(l===!0){let{mapped:c,pos:u}=s.map(o,e);c&&(O=Math.max(O,c.maxPoint),i.push(c),n.push(u))}}let r=this.nextLayer.map(e);return i.length==0?r:new Pe(n,i,r||Pe.empty,O)}between(e,i,n){if(!this.isEmpty){for(let O=0;O<this.chunk.length;O++){let r=this.chunkPos[O],a=this.chunk[O];if(i>=r&&e<=r+a.length&&a.between(r,e-r,i-r,n)===!1)return}this.nextLayer.between(e,i,n)}}iter(e=0){return Ir.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,i=0){return Ir.from(e).goto(i)}static compare(e,i,n,O,r=-1){let a=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=r),o=i.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=r),s=kd(a,o,n),l=new fr(a,s,r),c=new fr(o,s,r);n.iterGaps((u,h,d)=>Td(l,u,c,h,d,O)),n.empty&&n.length==0&&Td(l,0,c,0,0,O)}static eq(e,i,n=0,O){O==null&&(O=999999999);let r=e.filter(c=>!c.isEmpty&&i.indexOf(c)<0),a=i.filter(c=>!c.isEmpty&&e.indexOf(c)<0);if(r.length!=a.length)return!1;if(!r.length)return!0;let o=kd(r,a),s=new fr(r,o,0).goto(n),l=new fr(a,o,0).goto(n);for(;;){if(s.to!=l.to||!eu(s.active,l.active)||s.point&&(!l.point||!kh(s.point,l.point)))return!1;if(s.to>O)return!0;s.next(),l.next()}}static spans(e,i,n,O,r=-1){let a=new fr(e,null,r).goto(i),o=i,s=a.openStart;for(;;){let l=Math.min(a.to,n);if(a.point){let c=a.activeForPoint(a.to),u=a.pointFrom<i?c.length+1:a.point.startSide<0?c.length:Math.min(c.length,s);O.point(o,l,a.point,c,u,a.pointRank),s=Math.min(a.openEnd(l),c.length)}else l>o&&(O.span(o,l,a.active,s),s=a.openEnd(l));if(a.to>n)return s+(a.point&&a.to>n?1:0);o=a.to,a.next()}}static of(e,i=!1){let n=new Mn;for(let O of e instanceof Kc?[e]:i?W1(e):e)n.add(O.from,O.to,O.value);return n.finish()}static join(e){if(!e.length)return Pe.empty;let i=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let O=e[n];O!=Pe.empty;O=O.nextLayer)i=new Pe(O.chunkPos,O.chunk,i,Math.max(O.maxPoint,i.maxPoint));return i}}Pe.empty=new Pe([],[],null,-1);function W1(t){if(t.length>1)for(let e=t[0],i=1;i<t.length;i++){let n=t[i];if(Jc(e,n)>0)return t.slice().sort(Jc);e=n}return t}Pe.empty.nextLayer=Pe.empty;class Mn{finishChunk(e){this.chunks.push(new Th(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,i,n){this.addInner(e,i,n)||(this.nextLayer||(this.nextLayer=new Mn)).add(e,i,n)}addInner(e,i,n){let O=e-this.lastTo||n.startSide-this.last.endSide;if(O<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return O<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(i-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=i,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,i-e)),!0)}addChunk(e,i){if((e-this.lastTo||i.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,i.maxPoint),this.chunks.push(i),this.chunkPos.push(e);let n=i.value.length-1;return this.last=i.value[n],this.lastFrom=i.from[n]+e,this.lastTo=i.to[n]+e,!0}finish(){return this.finishInner(Pe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let i=Pe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,i}}function kd(t,e,i){let n=new Map;for(let r of t)for(let a=0;a<r.chunk.length;a++)r.chunk[a].maxPoint<=0&&n.set(r.chunk[a],r.chunkPos[a]);let O=new Set;for(let r of e)for(let a=0;a<r.chunk.length;a++){let o=n.get(r.chunk[a]);o!=null&&(i?i.mapPos(o):o)==r.chunkPos[a]&&!(i!=null&&i.touchesRange(o,o+r.chunk[a].length))&&O.add(r.chunk[a])}return O}class Qg{constructor(e,i,n,O=0){this.layer=e,this.skip=i,this.minPoint=n,this.rank=O}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,i=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,i,!1),this}gotoInner(e,i,n){for(;this.chunkIndex<this.layer.chunk.length;){let O=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(O)||this.layer.chunkEnd(this.chunkIndex)<e||O.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let O=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],i,!0);(!n||this.rangeIndex<O)&&this.setRangeIndex(O)}this.next()}forward(e,i){(this.to-e||this.endSide-i)<0&&this.gotoInner(e,i,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],i=this.layer.chunk[this.chunkIndex],n=e+i.from[this.rangeIndex];if(this.from=n,this.to=e+i.to[this.rangeIndex],this.value=i.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class Ir{constructor(e){this.heap=e}static from(e,i=null,n=-1){let O=[];for(let r=0;r<e.length;r++)for(let a=e[r];!a.isEmpty;a=a.nextLayer)a.maxPoint>=n&&O.push(new Qg(a,i,n,r));return O.length==1?O[0]:new Ir(O)}get startSide(){return this.value?this.value.startSide:0}goto(e,i=-1e9){for(let n of this.heap)n.goto(e,i);for(let n=this.heap.length>>1;n>=0;n--)wl(this.heap,n);return this.next(),this}forward(e,i){for(let n of this.heap)n.forward(e,i);for(let n=this.heap.length>>1;n>=0;n--)wl(this.heap,n);(this.to-e||this.value.endSide-i)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),wl(this.heap,0)}}}function wl(t,e){for(let i=t[e];;){let n=(e<<1)+1;if(n>=t.length)break;let O=t[n];if(n+1<t.length&&O.compare(t[n+1])>=0&&(O=t[n+1],n++),i.compare(O)<0)break;t[n]=i,t[e]=O,e=n}}class fr{constructor(e,i,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ir.from(e,i,n)}goto(e,i=-1e9){return this.cursor.goto(e,i),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=i,this.openStart=-1,this.next(),this}forward(e,i){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-i)<0;)this.removeActive(this.minActive);this.cursor.forward(e,i)}removeActive(e){Ca(this.active,e),Ca(this.activeTo,e),Ca(this.activeRank,e),this.minActive=vd(this.active,this.activeTo)}addActive(e){let i=0,{value:n,to:O,rank:r}=this.cursor;for(;i<this.activeRank.length&&(r-this.activeRank[i]||O-this.activeTo[i])>0;)i++;Ea(this.active,i,n),Ea(this.activeTo,i,O),Ea(this.activeRank,i,r),e&&Ea(e,i,this.cursor.from),this.minActive=vd(this.active,this.activeTo)}next(){let e=this.to,i=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let O=this.minActive;if(O>-1&&(this.activeTo[O]-this.cursor.from||this.active[O].endSide-this.cursor.startSide)<0){if(this.activeTo[O]>e){this.to=this.activeTo[O],this.endSide=this.active[O].endSide;break}this.removeActive(O),n&&Ca(n,O)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let r=this.cursor.value;if(!r.point)this.addActive(n),this.cursor.next();else if(i&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=r,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=r.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(n){this.openStart=0;for(let O=n.length-1;O>=0&&n[O]<e;O--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let i=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&i.push(this.active[n]);return i.reverse()}openEnd(e){let i=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)i++;return i}}function Td(t,e,i,n,O,r){t.goto(e),i.goto(n);let a=n+O,o=n,s=n-e,l=!!r.boundChange;for(let c=!1;;){let u=t.to+s-i.to,h=u||t.endSide-i.endSide,d=h<0?t.to+s:i.to,p=Math.min(d,a);if(t.point||i.point?(t.point&&i.point&&kh(t.point,i.point)&&eu(t.activeForPoint(t.to),i.activeForPoint(i.to))||r.comparePoint(o,p,t.point,i.point),c=!1):(c&&r.boundChange(o),p>o&&!eu(t.active,i.active)&&r.compareRange(o,p,t.active,i.active),l&&p<a&&(u||t.openEnd(d)!=i.openEnd(d))&&(c=!0)),d>a)break;o=d,h<=0&&t.next(),h>=0&&i.next()}}function eu(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!=e[i]&&!kh(t[i],e[i]))return!1;return!0}function Ca(t,e){for(let i=e,n=t.length-1;i<n;i++)t[i]=t[i+1];t.pop()}function Ea(t,e,i){for(let n=t.length-1;n>=e;n--)t[n+1]=t[n];t[e]=i}function vd(t,e){let i=-1,n=1e9;for(let O=0;O<e.length;O++)(e[O]-n||t[O].endSide-t[i].endSide)<0&&(i=O,n=e[O]);return i}function Yi(t,e,i=t.length){let n=0;for(let O=0;O<i&&O<t.length;)t.charCodeAt(O)==9?(n+=e-n%e,O++):(n++,O=nt(t,O));return n}function tu(t,e,i,n){for(let O=0,r=0;;){if(r>=e)return O;if(O==t.length)break;r+=t.charCodeAt(O)==9?i-r%i:1,O=nt(t,O)}return n===!0?-1:t.length}const iu="ͼ",_d=typeof Symbol>"u"?"__"+iu:Symbol.for(iu),nu=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Rd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class $n{constructor(e,i){this.rules=[];let{finish:n}=i||{};function O(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function r(a,o,s,l){let c=[],u=/^@(\w+)\b/.exec(a[0]),h=u&&u[1]=="keyframes";if(u&&o==null)return s.push(a[0]+";");for(let d in o){let p=o[d];if(/&/.test(d))r(d.split(/,\s*/).map(Q=>a.map(g=>Q.replace(/&/,g))).reduce((Q,g)=>Q.concat(g)),p,s);else if(p&&typeof p=="object"){if(!u)throw new RangeError("The value of a property ("+d+") should be a primitive value.");r(O(d),p,c,h)}else p!=null&&c.push(d.replace(/_.*/,"").replace(/[A-Z]/g,Q=>"-"+Q.toLowerCase())+": "+p+";")}(c.length||h)&&s.push((n&&!u&&!l?a.map(n):a).join(", ")+" {"+c.join(" ")+"}")}for(let a in e)r(O(a),e[a],this.rules)}getRules(){return this.rules.join(`
|
|
12
|
+
`)}static newName(){let e=Rd[_d]||1;return Rd[_d]=e+1,iu+e.toString(36)}static mount(e,i,n){let O=e[nu],r=n&&n.nonce;O?r&&O.setNonce(r):O=new j1(e,r),O.mount(Array.isArray(i)?i:[i],e)}}let Yd=new Map;class j1{constructor(e,i){let n=e.ownerDocument||e,O=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&O.CSSStyleSheet){let r=Yd.get(n);if(r)return e[nu]=r;this.sheet=new O.CSSStyleSheet,Yd.set(n,this)}else this.styleTag=n.createElement("style"),i&&this.styleTag.setAttribute("nonce",i);this.modules=[],e[nu]=this}mount(e,i){let n=this.sheet,O=0,r=0;for(let a=0;a<e.length;a++){let o=e[a],s=this.modules.indexOf(o);if(s<r&&s>-1&&(this.modules.splice(s,1),r--,s=-1),s==-1){if(this.modules.splice(r++,0,o),n)for(let l=0;l<o.rules.length;l++)n.insertRule(o.rules[l],O++)}else{for(;r<s;)O+=this.modules[r++].rules.length;O+=o.rules.length,r++}}if(n)i.adoptedStyleSheets.indexOf(this.sheet)<0&&(i.adoptedStyleSheets=[this.sheet,...i.adoptedStyleSheets]);else{let a="";for(let s=0;s<this.modules.length;s++)a+=this.modules[s].getRules()+`
|
|
13
|
+
`;this.styleTag.textContent=a;let o=i.head||i;this.styleTag.parentNode!=o&&o.insertBefore(this.styleTag,o.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var pn={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Lr={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},C1=typeof navigator<"u"&&/Mac/.test(navigator.platform),E1=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var at=0;at<10;at++)pn[48+at]=pn[96+at]=String(at);for(var at=1;at<=24;at++)pn[at+111]="F"+at;for(var at=65;at<=90;at++)pn[at]=String.fromCharCode(at+32),Lr[at]=String.fromCharCode(at);for(var kl in pn)Lr.hasOwnProperty(kl)||(Lr[kl]=pn[kl]);function G1(t){var e=C1&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||E1&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",i=!e&&t.key||(t.shiftKey?Lr:pn)[t.keyCode]||t.key||"Unidentified";return i=="Esc"&&(i="Escape"),i=="Del"&&(i="Delete"),i=="Left"&&(i="ArrowLeft"),i=="Up"&&(i="ArrowUp"),i=="Right"&&(i="ArrowRight"),i=="Down"&&(i="ArrowDown"),i}function it(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,i=arguments[1];if(i&&typeof i=="object"&&i.nodeType==null&&!Array.isArray(i)){for(var n in i)if(Object.prototype.hasOwnProperty.call(i,n)){var O=i[n];typeof O=="string"?t.setAttribute(n,O):O!=null&&(t[n]=O)}e++}for(;e<arguments.length;e++)mg(t,arguments[e]);return t}function mg(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var i=0;i<e.length;i++)mg(t,e[i]);else throw new RangeError("Unsupported child node: "+e)}let Qt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Ou=typeof document<"u"?document:{documentElement:{style:{}}};const ru=/Edge\/(\d+)/.exec(Qt.userAgent),gg=/MSIE \d/.test(Qt.userAgent),au=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Qt.userAgent),ks=!!(gg||au||ru),Zd=!ks&&/gecko\/(\d+)/i.test(Qt.userAgent),Tl=!ks&&/Chrome\/(\d+)/.exec(Qt.userAgent),A1="webkitFontSmoothing"in Ou.documentElement.style,ou=!ks&&/Apple Computer/.test(Qt.vendor),zd=ou&&(/Mobile\/\w+/.test(Qt.userAgent)||Qt.maxTouchPoints>2);var F={mac:zd||/Mac/.test(Qt.platform),windows:/Win/.test(Qt.platform),linux:/Linux|X11/.test(Qt.platform),ie:ks,ie_version:gg?Ou.documentMode||6:au?+au[1]:ru?+ru[1]:0,gecko:Zd,gecko_version:Zd?+(/Firefox\/(\d+)/.exec(Qt.userAgent)||[0,0])[1]:0,chrome:!!Tl,chrome_version:Tl?+Tl[1]:0,ios:zd,android:/Android\b/.test(Qt.userAgent),webkit_version:A1?+(/\bAppleWebKit\/(\d+)/.exec(Qt.userAgent)||[0,0])[1]:0,safari:ou,safari_version:ou?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Qt.userAgent)||[0,0])[1]:0,tabSize:Ou.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function vh(t,e){for(let i in t)i=="class"&&e.class?e.class+=" "+t.class:i=="style"&&e.style?e.style+=";"+t.style:e[i]=t[i];return e}const Go=Object.create(null);function _h(t,e,i){if(t==e)return!0;t||(t=Go),e||(e=Go);let n=Object.keys(t),O=Object.keys(e);if(n.length-0!=O.length-0)return!1;for(let r of n)if(r!=i&&(O.indexOf(r)==-1||t[r]!==e[r]))return!1;return!0}function N1(t,e){for(let i=t.attributes.length-1;i>=0;i--){let n=t.attributes[i].name;e[n]==null&&t.removeAttribute(n)}for(let i in e){let n=e[i];i=="style"?t.style.cssText=n:t.getAttribute(i)!=n&&t.setAttribute(i,n)}}function qd(t,e,i){let n=!1;if(e)for(let O in e)i&&O in i||(n=!0,O=="style"?t.style.cssText="":t.removeAttribute(O));if(i)for(let O in i)e&&e[O]==i[O]||(n=!0,O=="style"?t.style.cssText=i[O]:t.setAttribute(O,i[O]));return n}function I1(t){let e=Object.create(null);for(let i=0;i<t.attributes.length;i++){let n=t.attributes[i];e[n.name]=n.value}return e}class sO{eq(e){return!1}updateDOM(e,i,n){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,i,n){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var ot=(function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t})(ot||(ot={}));class he extends dn{constructor(e,i,n,O){super(),this.startSide=e,this.endSide=i,this.widget=n,this.spec=O}get heightRelevant(){return!1}static mark(e){return new pa(e)}static widget(e){let i=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return i+=n&&!e.inlineOrder?i>0?3e8:-4e8:i>0?1e8:-1e8,new Bn(e,i,i,n,e.widget||null,!1)}static replace(e){let i=!!e.block,n,O;if(e.isBlockGap)n=-5e8,O=4e8;else{let{start:r,end:a}=Pg(e,i);n=(r?i?-3e8:-1:5e8)-1,O=(a?i?2e8:1:-6e8)+1}return new Bn(e,n,O,i,e.widget||null,!0)}static line(e){return new Qa(e)}static set(e,i=!1){return Pe.of(e,i)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}he.none=Pe.empty;class pa extends he{constructor(e){let{start:i,end:n}=Pg(e);super(i?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?vh(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Go}eq(e){return this==e||e instanceof pa&&this.tagName==e.tagName&&_h(this.attrs,e.attrs)}range(e,i=e){if(e>=i)throw new RangeError("Mark decorations may not be empty");return super.range(e,i)}}pa.prototype.point=!1;class Qa extends he{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Qa&&this.spec.class==e.spec.class&&_h(this.spec.attributes,e.spec.attributes)}range(e,i=e){if(i!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,i)}}Qa.prototype.mapMode=ut.TrackBefore;Qa.prototype.point=!0;class Bn extends he{constructor(e,i,n,O,r,a){super(i,n,r,e),this.block=O,this.isReplace=a,this.mapMode=O?i<=0?ut.TrackBefore:ut.TrackAfter:ut.TrackDel}get type(){return this.startSide!=this.endSide?ot.WidgetRange:this.startSide<=0?ot.WidgetBefore:ot.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Bn&&L1(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,i=e){if(this.isReplace&&(e>i||e==i&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&i!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,i)}}Bn.prototype.point=!0;function Pg(t,e=!1){let{inclusiveStart:i,inclusiveEnd:n}=t;return i==null&&(i=t.inclusive),n==null&&(n=t.inclusive),{start:i??e,end:n??e}}function L1(t,e){return t==e||!!(t&&e&&t.compare(e))}function zO(t,e,i,n=0){let O=i.length-1;O>=0&&i[O]+n>=t?i[O]=Math.max(i[O],e):i.push(t,e)}class Dr extends dn{constructor(e,i){super(),this.tagName=e,this.attributes=i}eq(e){return e==this||e instanceof Dr&&this.tagName==e.tagName&&_h(this.attributes,e.attributes)}static create(e){return new Dr(e.tagName,e.attributes||Go)}static set(e,i=!1){return Pe.of(e,i)}}Dr.prototype.startSide=Dr.prototype.endSide=-1;function Mr(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function su(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function zr(t,e){if(!e.anchorNode)return!1;try{return su(t,e.anchorNode)}catch{return!1}}function Xo(t){return t.nodeType==3?Br(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function qr(t,e,i,n){return i?Ud(t,e,i,n,-1)||Ud(t,e,i,n,1):!1}function Qn(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function Ao(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function Ud(t,e,i,n,O){for(;;){if(t==i&&e==n)return!0;if(e==(O<0?0:Mi(t))){if(t.nodeName=="DIV")return!1;let r=t.parentNode;if(!r||r.nodeType!=1)return!1;e=Qn(t)+(O<0?0:1),t=r}else if(t.nodeType==1){if(t=t.childNodes[e+(O<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=O<0?Mi(t):0}else return!1}}function Mi(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function No(t,e){let i=e?t.left:t.right;return{left:i,right:i,top:t.top,bottom:t.bottom}}function D1(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function Sg(t,e){let i=e.width/t.offsetWidth,n=e.height/t.offsetHeight;return(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.width-t.offsetWidth)<1)&&(i=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-t.offsetHeight)<1)&&(n=1),{scaleX:i,scaleY:n}}function M1(t,e,i,n,O,r,a,o){let s=t.ownerDocument,l=s.defaultView||window;for(let c=t,u=!1;c&&!u;)if(c.nodeType==1){let h,d=c==s.body,p=1,Q=1;if(d)h=D1(l);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(u=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let S=c.getBoundingClientRect();({scaleX:p,scaleY:Q}=Sg(c,S)),h={left:S.left,right:S.left+c.clientWidth*p,top:S.top,bottom:S.top+c.clientHeight*Q}}let g=0,m=0;if(O=="nearest")e.top<h.top?(m=e.top-(h.top+a),i>0&&e.bottom>h.bottom+m&&(m=e.bottom-h.bottom+a)):e.bottom>h.bottom&&(m=e.bottom-h.bottom+a,i<0&&e.top-m<h.top&&(m=e.top-(h.top+a)));else{let S=e.bottom-e.top,X=h.bottom-h.top;m=(O=="center"&&S<=X?e.top+S/2-X/2:O=="start"||O=="center"&&i<0?e.top-a:e.bottom-X+a)-h.top}if(n=="nearest"?e.left<h.left?(g=e.left-(h.left+r),i>0&&e.right>h.right+g&&(g=e.right-h.right+r)):e.right>h.right&&(g=e.right-h.right+r,i<0&&e.left<h.left+g&&(g=e.left-(h.left+r))):g=(n=="center"?e.left+(e.right-e.left)/2-(h.right-h.left)/2:n=="start"==o?e.left-r:e.right-(h.right-h.left)+r)-h.left,g||m)if(d)l.scrollBy(g,m);else{let S=0,X=0;if(m){let z=c.scrollTop;c.scrollTop+=m/Q,X=(c.scrollTop-z)*Q}if(g){let z=c.scrollLeft;c.scrollLeft+=g/p,S=(c.scrollLeft-z)*p}e={left:e.left-S,top:e.top-X,right:e.right-S,bottom:e.bottom-X},S&&Math.abs(S-g)<1&&(n="nearest"),X&&Math.abs(X-m)<1&&(O="nearest")}if(d)break;(e.top<h.top||e.bottom>h.bottom||e.left<h.left||e.right>h.right)&&(e={left:Math.max(e.left,h.left),right:Math.min(e.right,h.right),top:Math.max(e.top,h.top),bottom:Math.min(e.bottom,h.bottom)}),c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function bg(t,e=!0){let i=t.ownerDocument,n=null,O=null;for(let r=t.parentNode;r&&!(r==i.body||(!e||n)&&O);)if(r.nodeType==1)!O&&r.scrollHeight>r.clientHeight&&(O=r),e&&!n&&r.scrollWidth>r.clientWidth&&(n=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:n,y:O}}class B1{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:i,focusNode:n}=e;this.set(i,Math.min(e.anchorOffset,i?Mi(i):0),n,Math.min(e.focusOffset,n?Mi(n):0))}set(e,i,n,O){this.anchorNode=e,this.anchorOffset=i,this.focusNode=n,this.focusOffset=O}}let zn=null;F.safari&&F.safari_version>=26&&(zn=!1);function Xg(t){if(t.setActive)return t.setActive();if(zn)return t.focus(zn);let e=[];for(let i=t;i&&(e.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(t.focus(zn==null?{get preventScroll(){return zn={preventScroll:!0},!0}}:void 0),!zn){zn=!1;for(let i=0;i<e.length;){let n=e[i++],O=e[i++],r=e[i++];n.scrollTop!=O&&(n.scrollTop=O),n.scrollLeft!=r&&(n.scrollLeft=r)}}}let Vd;function Br(t,e,i=e){let n=Vd||(Vd=document.createRange());return n.setEnd(t,i),n.setStart(t,e),n}function qO(t,e,i,n){let O={key:e,code:e,keyCode:i,which:i,cancelable:!0};n&&({altKey:O.altKey,ctrlKey:O.ctrlKey,shiftKey:O.shiftKey,metaKey:O.metaKey}=n);let r=new KeyboardEvent("keydown",O);r.synthetic=!0,t.dispatchEvent(r);let a=new KeyboardEvent("keyup",O);return a.synthetic=!0,t.dispatchEvent(a),r.defaultPrevented||a.defaultPrevented}function F1(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function H1(t,e){let i=e.focusNode,n=e.focusOffset;if(!i||e.anchorNode!=i||e.anchorOffset!=n)return!1;for(n=Math.min(n,Mi(i));;)if(n){if(i.nodeType!=1)return!1;let O=i.childNodes[n-1];O.contentEditable=="false"?n--:(i=O,n=Mi(i))}else{if(i==t)return!0;n=Qn(i),i=i.parentNode}}function yg(t){return t instanceof Window?t.pageYOffset>Math.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function xg(t,e){for(let i=t,n=e;;){if(i.nodeType==3&&n>0)return{node:i,offset:n};if(i.nodeType==1&&n>0){if(i.contentEditable=="false")return null;i=i.childNodes[n-1],n=Mi(i)}else if(i.parentNode&&!Ao(i))n=Qn(i),i=i.parentNode;else return null}}function wg(t,e){for(let i=t,n=e;;){if(i.nodeType==3&&n<i.nodeValue.length)return{node:i,offset:n};if(i.nodeType==1&&n<i.childNodes.length){if(i.contentEditable=="false")return null;i=i.childNodes[n],n=0}else if(i.parentNode&&!Ao(i))n=Qn(i)+1,i=i.parentNode;else return null}}class li{constructor(e,i,n=!0){this.node=e,this.offset=i,this.precise=n}static before(e,i){return new li(e.parentNode,Qn(e),i)}static after(e,i){return new li(e.parentNode,Qn(e)+1,i)}}var Ee=(function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t})(Ee||(Ee={}));const Fn=Ee.LTR,Rh=Ee.RTL;function kg(t){let e=[];for(let i=0;i<t.length;i++)e.push(1<<+t[i]);return e}const K1=kg("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),J1=kg("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),lu=Object.create(null),$i=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),i=t.charCodeAt(1);lu[e]=i,lu[i]=-e}function Tg(t){return t<=247?K1[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?J1[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}const ew=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class yi{get dir(){return this.level%2?Rh:Fn}constructor(e,i,n){this.from=e,this.to=i,this.level=n}side(e,i){return this.dir==i==e?this.to:this.from}forward(e,i){return e==(this.dir==i)}static find(e,i,n,O){let r=-1;for(let a=0;a<e.length;a++){let o=e[a];if(o.from<=i&&o.to>=i){if(o.level==n)return a;(r<0||(O!=0?O<0?o.from<i:o.to>i:e[r].level>o.level))&&(r=a)}}if(r<0)throw new RangeError("Index out of range");return r}}function vg(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++){let n=t[i],O=e[i];if(n.from!=O.from||n.to!=O.to||n.direction!=O.direction||!vg(n.inner,O.inner))return!1}return!0}const Ve=[];function tw(t,e,i,n,O){for(let r=0;r<=n.length;r++){let a=r?n[r-1].to:e,o=r<n.length?n[r].from:i,s=r?256:O;for(let l=a,c=s,u=s;l<o;l++){let h=Tg(t.charCodeAt(l));h==512?h=c:h==8&&u==4&&(h=16),Ve[l]=h==4?2:h,h&7&&(u=h),c=h}for(let l=a,c=s,u=s;l<o;l++){let h=Ve[l];if(h==128)l<o-1&&c==Ve[l+1]&&c&24?h=Ve[l]=c:Ve[l]=256;else if(h==64){let d=l+1;for(;d<o&&Ve[d]==64;)d++;let p=l&&c==8||d<i&&Ve[d]==8?u==1?1:8:256;for(let Q=l;Q<d;Q++)Ve[Q]=p;l=d-1}else h==8&&u==1&&(Ve[l]=1);c=h,h&7&&(u=h)}}}function iw(t,e,i,n,O){let r=O==1?2:1;for(let a=0,o=0,s=0;a<=n.length;a++){let l=a?n[a-1].to:e,c=a<n.length?n[a].from:i;for(let u=l,h,d,p;u<c;u++)if(d=lu[h=t.charCodeAt(u)])if(d<0){for(let Q=o-3;Q>=0;Q-=3)if($i[Q+1]==-d){let g=$i[Q+2],m=g&2?O:g&4?g&1?r:O:0;m&&(Ve[u]=Ve[$i[Q]]=m),o=Q;break}}else{if($i.length==189)break;$i[o++]=u,$i[o++]=h,$i[o++]=s}else if((p=Ve[u])==2||p==1){let Q=p==O;s=Q?0:1;for(let g=o-3;g>=0;g-=3){let m=$i[g+2];if(m&2)break;if(Q)$i[g+2]|=2;else{if(m&4)break;$i[g+2]|=4}}}}}function nw(t,e,i,n){for(let O=0,r=n;O<=i.length;O++){let a=O?i[O-1].to:t,o=O<i.length?i[O].from:e;for(let s=a;s<o;){let l=Ve[s];if(l==256){let c=s+1;for(;;)if(c==o){if(O==i.length)break;c=i[O++].to,o=O<i.length?i[O].from:e}else if(Ve[c]==256)c++;else break;let u=r==1,h=(c<e?Ve[c]:n)==1,d=u==h?u?1:2:n;for(let p=c,Q=O,g=Q?i[Q-1].to:t;p>s;)p==g&&(p=i[--Q].from,g=Q?i[Q-1].to:t),Ve[--p]=d;s=c}else r=l,s++}}}function cu(t,e,i,n,O,r,a){let o=n%2?2:1;if(n%2==O%2)for(let s=e,l=0;s<i;){let c=!0,u=!1;if(l==r.length||s<r[l].from){let Q=Ve[s];Q!=o&&(c=!1,u=Q==16)}let h=!c&&o==1?[]:null,d=c?n:n+1,p=s;e:for(;;)if(l<r.length&&p==r[l].from){if(u)break e;let Q=r[l];if(!c)for(let g=Q.to,m=l+1;;){if(g==i)break e;if(m<r.length&&r[m].from==g)g=r[m++].to;else{if(Ve[g]==o)break e;break}}if(l++,h)h.push(Q);else{Q.from>s&&a.push(new yi(s,Q.from,d));let g=Q.direction==Fn!=!(d%2);uu(t,g?n+1:n,O,Q.inner,Q.from,Q.to,a),s=Q.to}p=Q.to}else{if(p==i||(c?Ve[p]!=o:Ve[p]==o))break;p++}h?cu(t,s,p,n+1,O,h,a):s<p&&a.push(new yi(s,p,d)),s=p}else for(let s=i,l=r.length;s>e;){let c=!0,u=!1;if(!l||s>r[l-1].to){let Q=Ve[s-1];Q!=o&&(c=!1,u=Q==16)}let h=!c&&o==1?[]:null,d=c?n:n+1,p=s;e:for(;;)if(l&&p==r[l-1].to){if(u)break e;let Q=r[--l];if(!c)for(let g=Q.from,m=l;;){if(g==e)break e;if(m&&r[m-1].to==g)g=r[--m].from;else{if(Ve[g-1]==o)break e;break}}if(h)h.push(Q);else{Q.to<s&&a.push(new yi(Q.to,s,d));let g=Q.direction==Fn!=!(d%2);uu(t,g?n+1:n,O,Q.inner,Q.from,Q.to,a),s=Q.from}p=Q.from}else{if(p==e||(c?Ve[p-1]!=o:Ve[p-1]==o))break;p--}h?cu(t,p,s,n+1,O,h,a):p<s&&a.push(new yi(p,s,d)),s=p}}function uu(t,e,i,n,O,r,a){let o=e%2?2:1;tw(t,O,r,n,o),iw(t,O,r,n,o),nw(O,r,n,o),cu(t,O,r,e,i,n,a)}function Ow(t,e,i){if(!t)return[new yi(0,0,e==Rh?1:0)];if(e==Fn&&!i.length&&!ew.test(t))return _g(t.length);if(i.length)for(;t.length>Ve.length;)Ve[Ve.length]=256;let n=[],O=e==Fn?0:1;return uu(t,O,O,i,0,t.length,n),n}function _g(t){return[new yi(0,t,0)]}let Rg="";function rw(t,e,i,n,O){var r;let a=n.head-t.from,o=yi.find(e,a,(r=n.bidiLevel)!==null&&r!==void 0?r:-1,n.assoc),s=e[o],l=s.side(O,i);if(a==l){let h=o+=O?1:-1;if(h<0||h>=e.length)return null;s=e[o=h],a=s.side(!O,i),l=s.side(O,i)}let c=nt(t.text,a,s.forward(O,i));(c<s.from||c>s.to)&&(c=l),Rg=t.text.slice(Math.min(a,c),Math.max(a,c));let u=o==(O?e.length-1:0)?null:e[o+(O?1:-1)];return u&&c==l&&u.level+(O?0:1)<s.level?U.cursor(u.side(!O,i)+t.from,u.forward(O,i)?1:-1,u.level):U.cursor(c+t.from,s.forward(O,i)?-1:1,s.level)}function aw(t,e,i){for(let n=e;n<i;n++){let O=Tg(t.charCodeAt(n));if(O==1)return Fn;if(O==2||O==4)return Rh}return Fn}const Yg=K.define(),Zg=K.define(),zg=K.define(),qg=K.define(),hu=K.define(),Ug=K.define(),Vg=K.define(),Yh=K.define(),Zh=K.define(),Wg=K.define({combine:t=>t.some(e=>e)}),jg=K.define({combine:t=>t.some(e=>e)}),Cg=K.define();class UO{constructor(e,i="nearest",n="nearest",O=5,r=5,a=!1){this.range=e,this.y=i,this.x=n,this.yMargin=O,this.xMargin=r,this.isSnapshot=a}map(e){return e.empty?this:new UO(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new UO(U.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Ga=xe.define({map:(t,e)=>t.map(e)}),Eg=xe.define();function xi(t,e,i){let n=t.facet(qg);n.length?n[0](e):window.onerror&&window.onerror(String(e),i,void 0,void 0,e)||(i?console.error(i+":",e):console.error(e))}const Ni=K.define({combine:t=>t.length?t[0]:!0});let ow=0;const RO=K.define({combine(t){return t.filter((e,i)=>{for(let n=0;n<i;n++)if(t[n].plugin==e.plugin)return!1;return!0})}});class gt{constructor(e,i,n,O,r){this.id=e,this.create=i,this.domEventHandlers=n,this.domEventObservers=O,this.baseExtensions=r(this),this.extension=this.baseExtensions.concat(RO.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(RO.of({plugin:this,arg:e}))}static define(e,i){const{eventHandlers:n,eventObservers:O,provide:r,decorations:a}=i||{};return new gt(ow++,e,n,O,o=>{let s=[];return a&&s.push(Ts.of(l=>{let c=l.plugin(o);return c?a(c):he.none})),r&&s.push(r(o)),s})}static fromClass(e,i){return gt.define((n,O)=>new e(n,O),i)}}class vl{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let i=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(i)}catch(n){if(xi(i.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(i){xi(e.state,i,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var i;if(!((i=this.value)===null||i===void 0)&&i.destroy)try{this.value.destroy()}catch(n){xi(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Gg=K.define(),zh=K.define(),Ts=K.define(),Ag=K.define(),qh=K.define(),ma=K.define(),Ng=K.define();function Wd(t,e){let i=t.state.facet(Ng);if(!i.length)return i;let n=i.map(r=>r instanceof Function?r(t):r),O=[];return Pe.spans(n,e.from,e.to,{point(){},span(r,a,o,s){let l=r-e.from,c=a-e.from,u=O;for(let h=o.length-1;h>=0;h--,s--){let d=o[h].spec.bidiIsolate,p;if(d==null&&(d=aw(e.text,l,c)),s>0&&u.length&&(p=u[u.length-1]).to==l&&p.direction==d)p.to=c,u=p.inner;else{let Q={from:l,to:c,direction:d,inner:[]};u.push(Q),u=Q.inner}}}}),O}const Ig=K.define();function Lg(t){let e=0,i=0,n=0,O=0;for(let r of t.state.facet(Ig)){let a=r(t);a&&(a.left!=null&&(e=Math.max(e,a.left)),a.right!=null&&(i=Math.max(i,a.right)),a.top!=null&&(n=Math.max(n,a.top)),a.bottom!=null&&(O=Math.max(O,a.bottom)))}return{left:e,right:i,top:n,bottom:O}}const wr=K.define();class Ht{constructor(e,i,n,O){this.fromA=e,this.toA=i,this.fromB=n,this.toB=O}join(e){return new Ht(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let i=e.length,n=this;for(;i>0;i--){let O=e[i-1];if(!(O.fromA>n.toA)){if(O.toA<n.fromA)break;n=n.join(O),e.splice(i-1,1)}}return e.splice(i,0,n),e}static extendWithRanges(e,i){if(i.length==0)return e;let n=[];for(let O=0,r=0,a=0;;){let o=O<e.length?e[O].fromB:1e9,s=r<i.length?i[r]:1e9,l=Math.min(o,s);if(l==1e9)break;let c=l+a,u=l,h=c;for(;;)if(r<i.length&&i[r]<=u){let d=i[r+1];r+=2,u=Math.max(u,d);for(let p=O;p<e.length&&e[p].fromB<=u;p++)a=e[p].toA-e[p].toB;h=Math.max(h,d+a)}else if(O<e.length&&e[O].fromB<=u){let d=e[O++];u=Math.max(u,d.toB),h=Math.max(h,d.toA),a=d.toA-d.toB}else break;n.push(new Ht(c,h,l,u))}return n}}class Io{constructor(e,i,n){this.view=e,this.state=i,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=Je.empty(this.startState.doc.length);for(let r of n)this.changes=this.changes.compose(r.changes);let O=[];this.changes.iterChangedRanges((r,a,o,s)=>O.push(new Ht(r,a,o,s))),this.changedRanges=O}static create(e,i,n){return new Io(e,i,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const sw=[];class Ne{constructor(e,i,n=0){this.dom=e,this.length=i,this.flags=n,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return sw}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let i=this.domAttrs;i&&N1(this.dom,i)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,i=this.posAtStart){let n=i;for(let O of this.children){if(O==e)return n;n+=O.length+O.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,i){return null}domPosFor(e,i){let n=Qn(this.dom),O=this.length?e>0:i>0;return new li(this.parent.dom,n+(O?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof _s)return e;return null}static get(e){return e.cmTile}}class vs extends Ne{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let i=this.dom,n=null,O,r=(e==null?void 0:e.node)==i?e:null,a=0;for(let o of this.children){if(o.sync(e),a+=o.length+o.breakAfter,O=n?n.nextSibling:i.firstChild,r&&O!=o.dom&&(r.written=!0),o.dom.parentNode==i)for(;O&&O!=o.dom;)O=jd(O);else i.insertBefore(o.dom,O);n=o.dom}for(O=n?n.nextSibling:i.firstChild,r&&O&&(r.written=!0);O;)O=jd(O);this.length=a}}function jd(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class _s extends vs{constructor(e,i){super(i),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let i=Ne.get(e);if(i&&this.owns(i))return i;e=e.parentNode}}blockTiles(e){for(let i=[],n=this,O=0,r=0;;)if(O==n.children.length){if(!i.length)return;n=n.parent,n.breakAfter&&r++,O=i.pop()}else{let a=n.children[O++];if(a instanceof Ii)i.push(O),n=a,O=0;else{let o=r+a.length,s=e(a,r);if(s!==void 0)return s;r=o+a.breakAfter}}}resolveBlock(e,i){let n,O=-1,r,a=-1;if(this.blockTiles((o,s)=>{let l=s+o.length;if(e>=s&&e<=l){if(o.isWidget()&&i>=-1&&i<=1){if(o.flags&32)return!0;o.flags&16&&(n=void 0)}(s<e||e==l&&(i<-1?o.length:o.covers(1)))&&(!n||!o.isWidget()&&n.isWidget())&&(n=o,O=e-s),(l>e||e==s&&(i>1?o.length:o.covers(-1)))&&(!r||!o.isWidget()&&r.isWidget())&&(r=o,a=e-s)}}),!n&&!r)throw new Error("No tile at position "+e);return n&&i<0||!r?{tile:n,offset:O}:{tile:r,offset:a}}}class Ii extends vs{constructor(e,i){super(e),this.wrapper=i}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,i){let n=new Ii(i||document.createElement(e.tagName),e);return i||(n.flags|=4),n}}class GO extends vs{constructor(e,i){super(e),this.attrs=i}isLine(){return!0}static start(e,i,n){let O=new GO(i||document.createElement("div"),e);return(!i||!n)&&(O.flags|=4),O}get domAttrs(){return this.attrs}resolveInline(e,i,n){let O=null,r=-1,a=null,o=-1;function s(c,u){for(let h=0,d=0;h<c.children.length&&d<=u;h++){let p=c.children[h],Q=d+p.length;Q>=u&&(p.isComposite()?s(p,u-d):(!a||a.isHidden&&(i>0||n&&cw(a,p)))&&(Q>u||p.flags&32)?(a=p,o=u-d):(d<u||p.flags&16&&!p.isHidden)&&(O=p,r=u-d)),d=Q}}s(this,e);let l=(i<0?O:a)||O||a;return l?{tile:l,offset:l==O?r:o}:null}coordsIn(e,i){let n=this.resolveInline(e,i,!0);return n?n.tile.coordsIn(Math.max(0,n.offset),i):lw(this)}domIn(e,i){let n=this.resolveInline(e,i);if(n){let{tile:O,offset:r}=n;if(this.dom.contains(O.dom))return O.isText()?new li(O.dom,Math.min(O.dom.nodeValue.length,r)):O.domPosFor(r,O.flags&16?1:O.flags&32?-1:i);let a=n.tile.parent,o=!1;for(let s of a.children){if(o)return new li(s.dom,0);s==n.tile&&(o=!0)}}return new li(this.dom,0)}}function lw(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let i=Xo(e);return i[i.length-1]||null}function cw(t,e){let i=t.coordsIn(0,1),n=e.coordsIn(0,1);return i&&n&&n.top<i.bottom}class _t extends vs{constructor(e,i){super(e),this.mark=i}get domAttrs(){return this.mark.attrs}static of(e,i){let n=new _t(i||document.createElement(e.tagName),e);return i||(n.flags|=4),n}}class En extends Ne{constructor(e,i){super(e,i.length),this.text=i}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,i){let n=this.dom.nodeValue.length;e>n&&(e=n);let O=e,r=e,a=0;e==0&&i<0||e==n&&i>=0?F.chrome||F.gecko||(e?(O--,a=1):r<n&&(r++,a=-1)):i<0?O--:r<n&&r++;let o=Br(this.dom,O,r).getClientRects();if(!o.length)return null;let s=o[(a?a<0:i>=0)?0:o.length-1];return F.safari&&!a&&s.width==0&&(s=Array.prototype.find.call(o,l=>l.width)||s),a?No(s,a<0):s||null}static of(e,i){let n=new En(i||document.createTextNode(e),e);return i||(n.flags|=2),n}}class Hn extends Ne{constructor(e,i,n,O){super(e,i,O),this.widget=n}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,i){return this.coordsInWidget(e,i,!1)}coordsInWidget(e,i,n){let O=this.widget.coordsAt(this.dom,e,i);if(O)return O;if(n)return No(this.dom.getBoundingClientRect(),this.length?e==0:i<=0);{let r=this.dom.getClientRects(),a=null;if(!r.length)return null;let o=this.flags&16?!0:this.flags&32?!1:e>0;for(let s=o?r.length-1:0;a=r[s],!(e>0?s==0:s==r.length-1||a.top<a.bottom);s+=o?-1:1);return No(a,!o)}}get overrideDOMText(){if(!this.length)return ye.empty;let{root:e}=this;if(!e)return ye.empty;let i=this.posAtStart;return e.view.state.doc.slice(i,i+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,i,n,O,r){return r||(r=e.toDOM(i),e.editable||(r.contentEditable="false")),new Hn(r,n,e,O)}}class Lo extends Ne{constructor(e){let i=document.createElement("img");i.className="cm-widgetBuffer",i.setAttribute("aria-hidden","true"),super(i,0,e)}get isHidden(){return!0}get overrideDOMText(){return ye.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class uw{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,i,n){let{tile:O,index:r,beforeBreak:a,parents:o}=this;for(;e||i>0;)if(O.isComposite())if(a){if(!e)break;n&&n.break(),e--,a=!1}else if(r==O.children.length){if(!e&&!o.length)break;n&&n.leave(O),a=!!O.breakAfter,{tile:O,index:r}=o.pop(),r++}else{let s=O.children[r],l=s.breakAfter;(i>0?s.length<=e:s.length<e)&&(!n||n.skip(s,0,s.length)!==!1||!s.isComposite)?(a=!!l,r++,e-=s.length):(o.push({tile:O,index:r}),O=s,r=0,n&&s.isComposite()&&n.enter(s))}else if(r==O.length)a=!!O.breakAfter,{tile:O,index:r}=o.pop(),r++;else if(e){let s=Math.min(e,O.length-r);n&&n.skip(O,r,r+s),e-=s,r+=s}else break;return this.tile=O,this.index=r,this.beforeBreak=a,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class hw{constructor(e,i,n,O){this.from=e,this.to=i,this.wrapper=n,this.rank=O}}class fw{constructor(e,i,n){this.cache=e,this.root=i,this.blockWrappers=n,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,i,n,O){var r;this.flushBuffer();let a=this.ensureMarks(i,n),o=a.lastChild;if(o&&o.isText()&&!(o.flags&8)&&o.length+e.length<512){this.cache.reused.set(o,2);let s=a.children[a.children.length-1]=new En(o.dom,o.text+e);s.parent=a}else a.append(O||En.of(e,(r=this.cache.find(En))===null||r===void 0?void 0:r.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,i){let n=this.curLine;n.dom!=i.line.dom&&(n.setDOM(this.cache.reused.has(i.line)?_l(i.line.dom):i.line.dom),this.cache.reused.set(i.line,2));let O=n;for(let o=i.marks.length-1;o>=0;o--){let s=i.marks[o],l=O.lastChild;if(l instanceof _t&&l.mark.eq(s.mark))l.dom!=s.dom&&l.setDOM(_l(s.dom)),O=l;else{if(this.cache.reused.get(s)){let u=Ne.get(s.dom);u&&u.setDOM(_l(s.dom))}let c=_t.of(s.mark,s.dom);O.append(c),O=c}this.cache.reused.set(s,2)}let r=Ne.get(e.text);r&&this.cache.reused.set(r,2);let a=new En(e.text,e.text.nodeValue);a.flags|=8,O.append(a)}addInlineWidget(e,i,n){let O=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);O||this.flushBuffer();let r=this.ensureMarks(i,n);!O&&!(e.flags&16)&&r.append(this.getBuffer(1)),r.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,i,n){this.flushBuffer(),this.ensureMarks(i,n).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let i=this.afterWidget||this.lastBlock;i.length+=e,this.pos+=e}addLineStart(e,i){var n;e||(e=Dg);let O=GO.start(e,i||((n=this.cache.find(GO))===null||n===void 0?void 0:n.dom),!!i);this.getBlockPos().append(this.lastBlock=this.curLine=O)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,i){var n;let O=this.curLine;for(let r=e.length-1;r>=0;r--){let a=e[r],o;if(i>0&&(o=O.lastChild)&&o instanceof _t&&o.mark.eq(a))O=o,i--;else{let s=_t.of(a,(n=this.cache.find(_t,l=>l.mark.eq(a)))===null||n===void 0?void 0:n.dom);O.append(s),O=s,i=0}}return O}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Cd(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(F.ios&&Cd(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(Rl,0,32)||new Hn(Rl.toDOM(),0,Rl,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let i=new hw(e.from,e.to,e.value,e.rank),n=this.wrappers.length;for(;n>0&&(this.wrappers[n-1].rank-i.rank||this.wrappers[n-1].to-i.to)<0;)n--;this.wrappers.splice(n,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let i=this.root;for(let n of this.wrappers){let O=i.lastChild;if(n.from<this.pos&&O instanceof Ii&&O.wrapper.eq(n.wrapper))i=O;else{let r=Ii.of(n.wrapper,(e=this.cache.find(Ii,a=>a.wrapper.eq(n.wrapper)))===null||e===void 0?void 0:e.dom);i.append(r),i=r}}return i}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let i=2|(e<0?16:32),n=this.cache.find(Lo,void 0,1);return n&&(n.flags=i),n||new Lo(i)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class dw{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:O,lineBreak:r,done:a}=this.cursor.next(this.skipCount);if(this.skipCount=0,a)throw new Error("Ran out of text content when drawing inline views");this.text=O;let o=this.textOff=Math.min(e,O.length);return r?null:O.slice(0,o)}let i=Math.min(this.text.length,this.textOff+e),n=this.text.slice(this.textOff,i);return this.textOff=i,n}}const Do=[Hn,GO,En,_t,Lo,Ii,_s];for(let t=0;t<Do.length;t++)Do[t].bucket=t;class $w{constructor(e){this.view=e,this.buckets=Do.map(()=>[]),this.index=Do.map(()=>0),this.reused=new Map}add(e){let i=e.constructor.bucket,n=this.buckets[i];n.length<6?n.push(e):n[this.index[i]=(this.index[i]+1)%6]=e}find(e,i,n=2){let O=e.bucket,r=this.buckets[O],a=this.index[O];for(let o=r.length-1;o>=0;o--){let s=(o+a)%r.length,l=r[s];if((!i||i(l))&&!this.reused.has(l))return r.splice(s,1),s<a&&this.index[O]--,this.reused.set(l,n),l}return null}findWidget(e,i,n){let O=this.buckets[0];if(O.length)for(let r=0,a=0;;r++){if(r==O.length){if(a)return null;a=1,r=0}let o=O[r];if(!this.reused.has(o)&&(a==0?o.widget.compare(e):o.widget.constructor==e.constructor&&e.updateDOM(o.dom,this.view,o.widget)))return O.splice(r,1),r<this.index[0]&&this.index[0]--,o.widget==e&&o.length==i&&(o.flags&497)==n?(this.reused.set(o,1),o):(this.reused.set(o,2),new Hn(o.dom,i,e,o.flags&-498|n))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,i=2){if(!this.reused.has(e))return this.reused.set(e,i),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}}class pw{constructor(e,i,n,O,r){this.view=e,this.decorations=O,this.disallowBlockEffectsFor=r,this.openWidget=!1,this.openMarks=0,this.cache=new $w(e),this.text=new dw(e.state.doc),this.builder=new fw(this.cache,new _s(e,e.contentDOM),Pe.iter(n)),this.cache.reused.set(i,2),this.old=new uw(i),this.reuseWalker={skip:(a,o,s)=>{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(e,i){let n=i&&this.getCompositionContext(i.text);for(let O=0,r=0,a=0;;){let o=a<e.length?e[a++]:null,s=o?o.fromA:this.old.root.length;if(s>O){let l=s-O;this.preserve(l,!a,!o),O=s,r+=l}if(!o)break;i&&o.fromA<=i.range.fromA&&o.toA>=i.range.toA?(this.forward(o.fromA,i.range.fromA,i.range.fromA<i.range.toA?1:-1),this.emit(r,i.range.fromB),this.cache.clear(),this.builder.addComposition(i,n),this.text.skip(i.range.toB-i.range.fromB),this.forward(i.range.fromA,o.toA),this.emit(i.range.toB,o.toB)):(this.forward(o.fromA,o.toA),this.emit(r,o.toB)),r=o.toB,O=o.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,i,n){let O=gw(this.old),r=this.openMarks;this.old.advance(e,n?1:-1,{skip:(a,o,s)=>{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(s-o);else{let l=s>0||o<a.length?Hn.of(a.widget,this.view,s-o,a.flags&496,this.cache.maybeReuse(a)):this.cache.reuse(a);l.flags&256?(l.flags&=-2,this.builder.addBlockWidget(l)):(this.builder.ensureLine(null),this.builder.addInlineWidget(l,O,r),r=O.length)}else if(a.isText())this.builder.ensureLine(null),!o&&s==a.length&&!this.cache.reused.has(a)?this.builder.addText(a.text,O,r,this.cache.reuse(a)):(this.cache.add(a),this.builder.addText(a.text.slice(o,s),O,r)),r=O.length;else if(a.isLine())a.flags&=-2,this.cache.reused.set(a,1),this.builder.addLine(a);else if(a instanceof Lo)this.cache.add(a);else if(a instanceof _t)this.builder.ensureLine(null),this.builder.addMark(a,O,r),this.cache.reused.set(a,1),r=O.length;else return!1;this.openWidget=!1},enter:a=>{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof _t&&O.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?O.length&&(O.length=r=0):a instanceof _t&&(O.shift(),r=Math.min(r,O.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,i){let n=null,O=this.builder,r=0,a=Pe.spans(this.decorations,e,i,{point:(o,s,l,c,u,h)=>{if(l instanceof Bn){if(this.disallowBlockEffectsFor[h]){if(l.block)throw new RangeError("Block decorations may not be specified via plugins");if(s>this.view.state.doc.lineAt(o).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(r=c.length,u>c.length)O.continueWidget(s-o);else{let d=l.widget||(l.block?AO.block:AO.inline),p=Qw(l),Q=this.cache.findWidget(d,s-o,p)||Hn.of(d,this.view,s-o,p);l.block?(l.startSide>0&&O.addLineStartIfNotCovered(n),O.addBlockWidget(Q)):(O.ensureLine(n),O.addInlineWidget(Q,c,u))}n=null}else n=mw(n,l);s>o&&this.text.skip(s-o)},span:(o,s,l,c)=>{for(let u=o;u<s;){let h=this.text.next(Math.min(512,s-u));h==null?(O.addLineStartIfNotCovered(n),O.addBreak(),u++):(O.ensureLine(n),O.addText(h,l,u==o?c:l.length),u+=h.length),n=null}}});O.addLineStartIfNotCovered(n),this.openWidget=a>r,this.openMarks=a}forward(e,i,n=1){i-e<=10?this.old.advance(i-e,n,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(i-e-10,-1),this.old.advance(5,n,this.reuseWalker))}getCompositionContext(e){let i=[],n=null;for(let O=e.parentNode;;O=O.parentNode){let r=Ne.get(O);if(O==this.view.contentDOM)break;r instanceof _t?i.push(r):r!=null&&r.isLine()?n=r:r instanceof Ii||(O.nodeName=="DIV"&&!n&&O!=this.view.contentDOM?n=new GO(O,Dg):n||i.push(_t.of(new pa({tagName:O.nodeName.toLowerCase(),attributes:I1(O)}),O)))}return{line:n,marks:i}}}function Cd(t,e){let i=n=>{for(let O of n.children)if((e?O.isText():O.length)||i(O))return!0;return!1};return i(t)}function Qw(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}const Dg={class:"cm-line"};function mw(t,e){let i=e.spec.attributes,n=e.spec.class;return!i&&!n||(t||(t={class:"cm-line"}),i&&vh(i,t),n&&(t.class+=" "+n)),t}function gw(t){let e=[];for(let i=t.parents.length;i>1;i--){let n=i==t.parents.length?t.tile:t.parents[i].tile;n instanceof _t&&e.push(n.mark)}return e}function _l(t){let e=Ne.get(t);return e&&e.setDOM(t.cloneNode()),t}class AO extends sO{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}AO.inline=new AO("span");AO.block=new AO("div");const Rl=new class extends sO{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class Ed{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=he.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new _s(e,e.contentDOM),this.updateInner([new Ht(0,0,0,e.state.doc.length)],null)}update(e){var i;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:c,toA:u})=>u<this.minWidthFrom||c>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let O=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((i=this.domChanged)===null||i===void 0)&&i.newSel?O=this.domChanged.newSel.head:!Tw(e.changes,this.hasComposition)&&!e.selectionSet&&(O=e.state.selection.main.head));let r=O>-1?Sw(this.view,e.changes,O):null;if(this.domChanged=null,this.hasComposition){let{from:c,to:u}=this.hasComposition;n=new Ht(c,u,e.changes.mapPos(c,-1),e.changes.mapPos(u,1)).addToSet(n.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(F.ie||F.chrome)&&!r&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,o=this.blockWrappers;this.updateDeco();let s=yw(a,this.decorations,e.changes);s.length&&(n=Ht.extendWithRanges(n,s));let l=ww(o,this.blockWrappers,e.changes);return l.length&&(n=Ht.extendWithRanges(n,l)),r&&!n.some(c=>c.fromA<=r.range.fromA&&c.toA>=r.range.toA)&&(n=r.range.addToSet(n.slice())),this.tile.flags&2&&n.length==0?!1:(this.updateInner(n,r),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,i){this.view.viewState.mustMeasureContent=!0;let{observer:n}=this.view;n.ignore(()=>{if(i||e.length){let a=this.tile,o=new pw(this.view,a,this.blockWrappers,this.decorations,this.dynamicDecorationMap);i&&Ne.get(i.text)&&o.cache.reused.set(Ne.get(i.text),2),this.tile=o.run(e,i),fu(a,o.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let r=F.chrome||F.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(r),r&&(r.written||n.selectionRange.focusNode!=r.node||!this.tile.dom.contains(r.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let O=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let r of this.tile.children)r.isWidget()&&r.widget instanceof Yl&&O.push(r.dom);n.updateGaps(O)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let i of e.transactions)for(let n of i.effects)n.is(Eg)&&(this.editContextFormatting=n.value)}updateSelection(e=!1,i=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:n}=this.tile,O=this.view.root.activeElement,r=O==n,a=!r&&!(this.view.state.facet(Ni)||n.tabIndex>-1)&&zr(n,this.view.observer.selectionRange)&&!(O&&n.contains(O));if(!(r||i||a))return;let o=this.forceSelection;this.forceSelection=!1;let s=this.view.state.selection.main,l,c;if(s.empty?c=l=this.inlineDOMNearPos(s.anchor,s.assoc||1):(c=this.inlineDOMNearPos(s.head,s.head==s.from?1:-1),l=this.inlineDOMNearPos(s.anchor,s.anchor==s.from?1:-1)),F.gecko&&s.empty&&!this.hasComposition&&Pw(l)){let h=document.createTextNode("");this.view.observer.ignore(()=>l.node.insertBefore(h,l.node.childNodes[l.offset]||null)),l=c=new li(h,0),o=!0}let u=this.view.observer.selectionRange;(o||!u.focusNode||(!qr(l.node,l.offset,u.anchorNode,u.anchorOffset)||!qr(c.node,c.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,s))&&(this.view.observer.ignore(()=>{F.android&&F.chrome&&n.contains(u.focusNode)&&kw(u.focusNode,n)&&(n.blur(),n.focus({preventScroll:!0}));let h=Mr(this.view.root);if(h)if(s.empty){if(F.gecko){let d=bw(l.node,l.offset);if(d&&d!=3){let p=(d==1?xg:wg)(l.node,l.offset);p&&(l=new li(p.node,p.offset))}}h.collapse(l.node,l.offset),s.bidiLevel!=null&&h.caretBidiLevel!==void 0&&(h.caretBidiLevel=s.bidiLevel)}else if(h.extend){h.collapse(l.node,l.offset);try{h.extend(c.node,c.offset)}catch{}}else{let d=document.createRange();s.anchor>s.head&&([l,c]=[c,l]),d.setEnd(c.node,c.offset),d.setStart(l.node,l.offset),h.removeAllRanges(),h.addRange(d)}a&&this.view.root.activeElement==n&&(n.blur(),O&&O.focus())}),this.view.observer.setSelectionRange(l,c)),this.impreciseAnchor=l.precise?null:new li(u.anchorNode,u.anchorOffset),this.impreciseHead=c.precise?null:new li(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,i){return this.hasComposition&&i.empty&&qr(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==i.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,i=e.state.selection.main,n=Mr(e.root),{anchorNode:O,anchorOffset:r}=e.observer.selectionRange;if(!n||!i.empty||!i.assoc||!n.modify)return;let a=this.lineAt(i.head,i.assoc);if(!a)return;let o=a.posAtStart;if(i.head==o||i.head==o+a.length)return;let s=this.coordsAt(i.head,-1),l=this.coordsAt(i.head,1);if(!s||!l||s.bottom>l.top)return;let c=this.domAtPos(i.head+i.assoc,i.assoc);n.collapse(c.node,c.offset),n.modify("move",i.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=i.from&&n.collapse(O,r)}posFromDOM(e,i){let n=this.tile.nearest(e);if(!n)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let O=n.posAtStart;if(n.isComposite()){let r;if(e==n.dom)r=n.dom.childNodes[i];else{let a=Mi(e)==0?0:i==0?-1:1;for(;;){let o=e.parentNode;if(o==n.dom)break;a==0&&o.firstChild!=o.lastChild&&(e==o.firstChild?a=-1:a=1),e=o}a<0?r=e:r=e.nextSibling}if(r==n.dom.firstChild)return O;for(;r&&!Ne.get(r);)r=r.nextSibling;if(!r)return O+n.length;for(let a=0,o=O;;a++){let s=n.children[a];if(s.dom==r)return o;o+=s.length+s.breakAfter}}else return n.isText()?e==n.dom?O+i:O+(i?n.length:0):O}domAtPos(e,i){let{tile:n,offset:O}=this.tile.resolveBlock(e,i);return n.isWidget()?n.domPosFor(e,i):n.domIn(O,i)}inlineDOMNearPos(e,i){let n,O=-1,r=!1,a,o=-1,s=!1;return this.tile.blockTiles((l,c)=>{if(l.isWidget()){if(l.flags&32&&c>=e)return!0;l.flags&16&&(r=!0)}else{let u=c+l.length;if(c<=e&&(n=l,O=e-c,r=u<e),u>=e&&!a&&(a=l,o=e-c,s=c>e),c>e&&a)return!0}}),!n&&!a?this.domAtPos(e,i):(r&&a?n=null:s&&n&&(a=null),n&&i<0||!a?n.domIn(O,i):a.domIn(o,i))}coordsAt(e,i){let{tile:n,offset:O}=this.tile.resolveBlock(e,i);return n.isWidget()?n.widget instanceof Yl?null:n.coordsInWidget(O,i,!0):n.coordsIn(O,i)}lineAt(e,i){let{tile:n}=this.tile.resolveBlock(e,i);return n.isLine()?n:null}coordsForChar(e){let{tile:i,offset:n}=this.tile.resolveBlock(e,1);if(!i.isLine())return null;function O(r,a){if(r.isComposite())for(let o of r.children){if(o.length>=a){let s=O(o,a);if(s)return s}if(a-=o.length,a<0)break}else if(r.isText()&&a<r.length){let o=nt(r.text,a);if(o==a)return null;let s=Br(r.dom,a,o).getClientRects();for(let l=0;l<s.length;l++){let c=s[l];if(l==s.length-1||c.top<c.bottom&&c.left<c.right)return c}}return null}return O(i,n)}measureVisibleLineHeights(e){let i=[],{from:n,to:O}=e,r=this.view.contentDOM.clientWidth,a=r>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,s=this.view.textDirection==Ee.LTR,l=0,c=(u,h,d)=>{for(let p=0;p<u.children.length&&!(h>O);p++){let Q=u.children[p],g=h+Q.length,m=Q.dom.getBoundingClientRect(),{height:S}=m;if(d&&!p&&(l+=m.top-d.top),Q instanceof Ii)g>n&&c(Q,h,m);else if(h>=n&&(l>0&&i.push(-l),i.push(S+l),l=0,a)){let X=Q.dom.lastChild,z=X?Xo(X):[];if(z.length){let R=z[z.length-1],G=s?R.right-m.left:m.right-R.left;G>o&&(o=G,this.minWidth=r,this.minWidthFrom=h,this.minWidthTo=g)}}d&&p==u.children.length-1&&(l+=d.bottom-m.bottom),h=g+Q.breakAfter}};return c(this.tile,0,null),i}textDirectionAt(e){let{tile:i}=this.tile.resolveBlock(e,1);return getComputedStyle(i.dom).direction=="rtl"?Ee.RTL:Ee.LTR}measureTextSize(){let e=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let o=0,s;for(let l of a.children){if(!l.isText()||/[^ -~]/.test(l.text))return;let c=Xo(l.dom);if(c.length!=1)return;o+=c[0].width,s=c[0].height}if(o)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:o/a.length,textHeight:s}}});if(e)return e;let i=document.createElement("div"),n,O,r;return i.className="cm-line",i.style.width="99999px",i.style.position="absolute",i.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(i);let a=Xo(i.firstChild)[0];n=i.getBoundingClientRect().height,O=a&&a.width?a.width/27:7,r=a&&a.height?a.height:n,i.remove()}),{lineHeight:n,charWidth:O,textHeight:r}}computeBlockGapDeco(){let e=[],i=this.view.viewState;for(let n=0,O=0;;O++){let r=O==i.viewports.length?null:i.viewports[O],a=r?r.from-1:this.view.state.doc.length;if(a>n){let o=(i.lineBlockAt(a).bottom-i.lineBlockAt(n).top)/this.view.scaleY;e.push(he.replace({widget:new Yl(o),block:!0,inclusive:!0,isBlockGap:!0}).range(n,a))}if(!r)break;n=r.to+1}return he.set(e)}updateDeco(){let e=1,i=this.view.state.facet(Ts).map(r=>(this.dynamicDecorationMap[e++]=typeof r=="function")?r(this.view):r),n=!1,O=this.view.state.facet(qh).map((r,a)=>{let o=typeof r=="function";return o&&(n=!0),o?r(this.view):r});for(O.length&&(this.dynamicDecorationMap[e++]=n,i.push(Pe.join(O))),this.decorations=[this.editContextFormatting,...i,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(Ag).map(r=>typeof r=="function"?r(this.view):r)}scrollIntoView(e){var i;if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Cg))try{if(c(this.view,e.range,e))return!0}catch(u){xi(this.view.state,u,"scroll handler")}let{range:n}=e,O=this.coordsAt(n.head,(i=n.assoc)!==null&&i!==void 0?i:n.empty?0:n.head>n.anchor?-1:1),r;if(!O)return;!n.empty&&(r=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(O={left:Math.min(O.left,r.left),top:Math.min(O.top,r.top),right:Math.max(O.right,r.right),bottom:Math.max(O.bottom,r.bottom)});let a=Lg(this.view),o={left:O.left-a.left,top:O.top-a.top,right:O.right+a.right,bottom:O.bottom+a.bottom},{offsetWidth:s,offsetHeight:l}=this.view.scrollDOM;if(M1(this.view.scrollDOM,o,n.head<n.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,s),-s),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==Ee.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(O.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||O.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let c=this.view.docView.lineAt(n.head,1);c&&c.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let i=n=>n.isWidget()||n.children.some(i);return i(this.tile.resolveBlock(e,1).tile)}destroy(){fu(this.tile)}}function fu(t,e){let i=e==null?void 0:e.get(t);if(i!=1){i==null&&t.destroy();for(let n of t.children)fu(n,e)}}function Pw(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function Mg(t,e){let i=t.observer.selectionRange;if(!i.focusNode)return null;let n=xg(i.focusNode,i.focusOffset),O=wg(i.focusNode,i.focusOffset),r=n||O;if(O&&n&&O.node!=n.node){let o=Ne.get(O.node);if(!o||o.isText()&&o.text!=O.node.nodeValue)r=O;else if(t.docView.lastCompositionAfterCursor){let s=Ne.get(n.node);!s||s.isText()&&s.text!=n.node.nodeValue||(r=O)}}if(t.docView.lastCompositionAfterCursor=r!=n,!r)return null;let a=e-r.offset;return{from:a,to:a+r.node.nodeValue.length,node:r.node}}function Sw(t,e,i){let n=Mg(t,i);if(!n)return null;let{node:O,from:r,to:a}=n,o=O.nodeValue;if(/[\n\r]/.test(o)||t.state.doc.sliceString(n.from,n.to)!=o)return null;let s=e.invertedDesc;return{range:new Ht(s.mapPos(r),s.mapPos(a),r,a),text:O}}function bw(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}let Xw=class{constructor(){this.changes=[]}compareRange(e,i){zO(e,i,this.changes)}comparePoint(e,i){zO(e,i,this.changes)}boundChange(e){zO(e,e,this.changes)}};function yw(t,e,i){let n=new Xw;return Pe.compare(t,e,i,n),n.changes}class xw{constructor(){this.changes=[]}compareRange(e,i){zO(e,i,this.changes)}comparePoint(){}boundChange(e){zO(e,e,this.changes)}}function ww(t,e,i){let n=new xw;return Pe.compare(t,e,i,n),n.changes}function kw(t,e){for(let i=t;i&&i!=e;i=i.assignedSlot||i.parentNode)if(i.nodeType==1&&i.contentEditable=="false")return!0;return!1}function Tw(t,e){let i=!1;return e&&t.iterChangedRanges((n,O)=>{n<e.to&&O>e.from&&(i=!0)}),i}class Yl extends sO{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function vw(t,e,i=1){let n=t.charCategorizer(e),O=t.doc.lineAt(e),r=e-O.from;if(O.length==0)return U.cursor(e);r==0?i=1:r==O.length&&(i=-1);let a=r,o=r;i<0?a=nt(O.text,r,!1):o=nt(O.text,r);let s=n(O.text.slice(a,o));for(;a>0;){let l=nt(O.text,a,!1);if(n(O.text.slice(l,a))!=s)break;a=l}for(;o<O.length;){let l=nt(O.text,o);if(n(O.text.slice(o,l))!=s)break;o=l}return U.range(a+O.from,o+O.from)}function _w(t,e,i,n,O){let r=Math.round((n-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&i.height>t.defaultLineHeight*1.5){let o=t.viewState.heightOracle.textHeight,s=Math.floor((O-i.top-(t.defaultLineHeight-o)*.5)/o);r+=s*t.viewState.heightOracle.lineLength}let a=t.state.sliceDoc(i.from,i.to);return i.from+tu(a,r,t.state.tabSize)}function du(t,e,i){let n=t.lineBlockAt(e);if(Array.isArray(n.type)){let O;for(let r of n.type){if(r.from>e)break;if(!(r.to<e)){if(r.from<e&&r.to>e)return r;(!O||r.type==ot.Text&&(O.type!=r.type||(i<0?r.from<e:r.to>e)))&&(O=r)}}return O||n}return n}function Rw(t,e,i,n){let O=du(t,e.head,e.assoc||-1),r=!n||O.type!=ot.Text||!(t.lineWrapping||O.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>O.from?e.head-1:e.head);if(r){let a=t.dom.getBoundingClientRect(),o=t.textDirectionAt(O.from),s=t.posAtCoords({x:i==(o==Ee.LTR)?a.right-1:a.left+1,y:(r.top+r.bottom)/2});if(s!=null)return U.cursor(s,i?-1:1)}return U.cursor(i?O.to:O.from,i?-1:1)}function Gd(t,e,i,n){let O=t.state.doc.lineAt(e.head),r=t.bidiSpans(O),a=t.textDirectionAt(O.from);for(let o=e,s=null;;){let l=rw(O,r,a,o,i),c=Rg;if(!l){if(O.number==(i?t.state.doc.lines:1))return o;c=`
|
|
14
|
+
`,O=t.state.doc.line(O.number+(i?1:-1)),r=t.bidiSpans(O),l=t.visualLineSide(O,!i)}if(s){if(!s(c))return o}else{if(!n)return l;s=n(c)}o=l}}function Yw(t,e,i){let n=t.state.charCategorizer(e),O=n(i);return r=>{let a=n(r);return O==Ce.Space&&(O=a),O==a}}function Zw(t,e,i,n){let O=e.head,r=i?1:-1;if(O==(i?t.state.doc.length:0))return U.cursor(O,e.assoc);let a=e.goalColumn,o,s=t.contentDOM.getBoundingClientRect(),l=t.coordsAtPos(O,e.assoc||((e.empty?i:e.head==e.from)?1:-1)),c=t.documentTop;if(l)a==null&&(a=l.left-s.left),o=r<0?l.top:l.bottom;else{let p=t.viewState.lineBlockAt(O);a==null&&(a=Math.min(s.right-s.left,t.defaultCharacterWidth*(O-p.from))),o=(r<0?p.top:p.bottom)+c}let u=s.left+a,h=t.viewState.heightOracle.textHeight>>1,d=n??h;for(let p=0;;p+=h){let Q=o+(d+p)*r,g=$u(t,{x:u,y:Q},!1,r);if(i?Q>s.bottom:Q<s.top)return U.cursor(g.pos,g.assoc);let m=t.coordsAtPos(g.pos,g.assoc),S=m?(m.top+m.bottom)/2:0;if(!m||(i?S>o:S<o))return U.cursor(g.pos,g.assoc,void 0,a)}}function Ur(t,e,i){for(;;){let n=0;for(let O of t)O.between(e-1,e+1,(r,a,o)=>{if(e>r&&e<a){let s=n||i||(e-r<a-e?-1:1);e=s<0?r:a,n=s}});if(!n)return e}}function Bg(t,e){let i=null;for(let n=0;n<e.ranges.length;n++){let O=e.ranges[n],r=null;if(O.empty){let a=Ur(t,O.from,0);a!=O.from&&(r=U.cursor(a,-1))}else{let a=Ur(t,O.from,-1),o=Ur(t,O.to,1);(a!=O.from||o!=O.to)&&(r=U.range(O.from==O.anchor?a:o,O.from==O.head?a:o))}r&&(i||(i=e.ranges.slice()),i[n]=r)}return i?U.create(i,e.mainIndex):e}function Zl(t,e,i){let n=Ur(t.state.facet(ma).map(O=>O(t)),i.from,e.head>i.from?-1:1);return n==i.from?i:U.cursor(n,n<i.from?1:-1)}class Xi{constructor(e,i){this.pos=e,this.assoc=i}}function $u(t,e,i,n){let O=t.contentDOM.getBoundingClientRect(),r=O.top+t.viewState.paddingTop,{x:a,y:o}=e,s=o-r,l;for(;;){if(s<0)return new Xi(0,1);if(s>t.viewState.docHeight)return new Xi(t.state.doc.length,-1);if(l=t.elementAtHeight(s),n==null)break;if(l.type==ot.Text){if(n<0?l.to<t.viewport.from:l.from>t.viewport.to)break;let h=t.docView.coordsAt(n<0?l.from:l.to,n>0?-1:1);if(h&&(n<0?h.top<=s+r:h.bottom>=s+r))break}let u=t.viewState.heightOracle.textHeight/2;s=n>0?l.bottom+u:l.top-u}if(t.viewport.from>=l.to||t.viewport.to<=l.from){if(i)return null;if(l.type==ot.Text){let u=_w(t,O,l,a,o);return new Xi(u,u==l.from?1:-1)}}if(l.type!=ot.Text)return s<(l.top+l.bottom)/2?new Xi(l.from,1):new Xi(l.to,-1);let c=t.docView.lineAt(l.from,2);return(!c||c.length!=l.length)&&(c=t.docView.lineAt(l.from,-2)),new zw(t,a,o,t.textDirectionAt(l.from)).scanTile(c,l.from)}class zw{constructor(e,i,n,O){this.view=e,this.x=i,this.y=n,this.baseDir=O,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,i){let{line:n,spans:O}=this.bidiSpansAt(e);return O[yi.find(O,e-n.from,-1,i)].level==this.baseDir}dirAt(e,i){let{line:n,spans:O}=this.bidiSpansAt(e);return O[yi.find(O,e-n.from,-1,i)].dir}bidiIn(e,i){let{spans:n,line:O}=this.bidiSpansAt(e);return n.length>1||n.length&&(n[0].level!=this.baseDir||n[0].to+O.from<i)}scan(e,i){let n=0,O=e.length-1,r=new Set,a=this.bidiIn(e[0],e[O]),o,s,l=-1,c=1e9,u;e:for(;n<O;){let d=O-n,p=n+O>>1;t:if(r.has(p)){let g=n+Math.floor(Math.random()*d);for(let m=0;m<d;m++){if(!r.has(g)){p=g;break t}g++,g==O&&(g=n)}break e}r.add(p);let Q=i(p);if(Q)for(let g=0;g<Q.length;g++){let m=Q[g],S=0;if(!(m.width==0&&Q.length>1)){if(m.bottom<this.y)(!o||o.bottom<m.bottom)&&(o=m),S=1;else if(m.top>this.y)(!s||s.top>m.top)&&(s=m),S=-1;else{let X=m.left>this.x?this.x-m.left:m.right<this.x?this.x-m.right:0,z=Math.abs(X);z<c&&(l=p,c=z,u=m),X&&(S=X<0==(this.baseDir==Ee.LTR)?-1:1)}S==-1&&(!a||this.baseDirAt(e[p],1))?O=p:S==1&&(!a||this.baseDirAt(e[p+1],-1))&&(n=p+1)}}}if(!u){let d=o&&(!s||this.y-o.bottom<s.top-this.y)?o:s;return this.y=(d.top+d.bottom)/2,this.scan(e,i)}let h=(a?this.dirAt(e[l],1):this.baseDir)==Ee.LTR;return{i:l,after:this.x>(u.left+u.right)/2==h}}scanText(e,i){let n=[];for(let r=0;r<e.length;r=nt(e.text,r))n.push(i+r);n.push(i+e.length);let O=this.scan(n,r=>{let a=n[r]-i,o=n[r+1]-i;return Br(e.dom,a,o).getClientRects()});return O.after?new Xi(n[O.i+1],-1):new Xi(n[O.i],1)}scanTile(e,i){if(!e.length)return new Xi(i,1);if(e.children.length==1){let o=e.children[0];if(o.isText())return this.scanText(o,i);if(o.isComposite())return this.scanTile(o,i)}let n=[i];for(let o=0,s=i;o<e.children.length;o++)n.push(s+=e.children[o].length);let O=this.scan(n,o=>{let s=e.children[o];return s.flags&48?null:(s.dom.nodeType==1?s.dom:Br(s.dom,0,s.length)).getClientRects()}),r=e.children[O.i],a=n[O.i];return r.isText()?this.scanText(r,a):r.isComposite()?this.scanTile(r,a):O.after?new Xi(n[O.i+1],-1):new Xi(a,1)}}const kO="";class qw{constructor(e,i){this.points=e,this.view=i,this.text="",this.lineSeparator=i.state.facet(Xe.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=kO}readRange(e,i){if(!e)return this;let n=e.parentNode;for(let O=e;;){this.findPointBefore(n,O);let r=this.text.length;this.readNode(O);let a=Ne.get(O),o=O.nextSibling;if(o==i){a!=null&&a.breakAfter&&!o&&n!=this.view.contentDOM&&this.lineBreak();break}let s=Ne.get(o);(a&&s?a.breakAfter:(a?a.breakAfter:Ao(O))||Ao(o)&&(O.nodeName!="BR"||a!=null&&a.isWidget())&&this.text.length>r)&&!Vw(o,i)&&this.lineBreak(),O=o}return this.findPointBefore(n,i),this}readTextNode(e){let i=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,i.length));for(let n=0,O=this.lineSeparator?null:/\r\n?|\n/g;;){let r=-1,a=1,o;if(this.lineSeparator?(r=i.indexOf(this.lineSeparator,n),a=this.lineSeparator.length):(o=O.exec(i))&&(r=o.index,a=o[0].length),this.append(i.slice(n,r<0?i.length:r)),r<0)break;if(this.lineBreak(),a>1)for(let s of this.points)s.node==e&&s.pos>this.text.length&&(s.pos-=a-1);n=r+a}}readNode(e){let i=Ne.get(e),n=i&&i.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let O=n.iter();!O.next().done;)O.lineBreak?this.lineBreak():this.append(O.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,i){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==i&&(n.pos=this.text.length)}findPointInside(e,i){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(Uw(e,n.node,n.offset)?i:0))}}function Uw(t,e,i){for(;;){if(!e||i<Mi(e))return!1;if(e==t)return!0;i=Qn(e)+1,e=e.parentNode}}function Vw(t,e){let i;for(;!(t==e||!t);t=t.nextSibling){let n=Ne.get(t);if(!(n!=null&&n.isWidget()))return!1;n&&(i||(i=[])).push(n)}if(i)for(let n of i){let O=n.overrideDOMText;if(O!=null&&O.length)return!1}return!0}class Ad{constructor(e,i){this.node=e,this.offset=i,this.pos=-1}}class Ww{constructor(e,i,n,O){this.typeOver=O,this.bounds=null,this.text="",this.domChanged=i>-1;let{impreciseHead:r,impreciseAnchor:a}=e.docView,o=e.state.selection;if(e.state.readOnly&&i>-1)this.newSel=null;else if(i>-1&&(this.bounds=Fg(e.docView.tile,i,n,0))){let s=r||a?[]:Cw(e),l=new qw(s,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=Ew(s,this.bounds.from)}else{let s=e.observer.selectionRange,l=r&&r.node==s.focusNode&&r.offset==s.focusOffset||!su(e.contentDOM,s.focusNode)?o.main.head:e.docView.posFromDOM(s.focusNode,s.focusOffset),c=a&&a.node==s.anchorNode&&a.offset==s.anchorOffset||!su(e.contentDOM,s.anchorNode)?o.main.anchor:e.docView.posFromDOM(s.anchorNode,s.anchorOffset),u=e.viewport;if((F.ios||F.chrome)&&o.main.empty&&l!=c&&(u.from>0||u.to<e.state.doc.length)){let h=Math.min(l,c),d=Math.max(l,c),p=u.from-h,Q=u.to-d;(p==0||p==1||h==0)&&(Q==0||Q==-1||d==e.state.doc.length)&&(l=0,c=e.state.doc.length)}if(e.inputState.composing>-1&&o.ranges.length>1)this.newSel=o.replaceRange(U.range(c,l));else if(e.lineWrapping&&c==l&&!(o.main.empty&&o.main.head==l)&&e.inputState.lastTouchTime>Date.now()-100){let h=e.coordsAtPos(l,-1),d=0;h&&(d=e.inputState.lastTouchY<=h.bottom?-1:1),this.newSel=U.create([U.cursor(l,d)])}else this.newSel=U.single(c,l)}}}function Fg(t,e,i,n){if(t.isComposite()){let O=-1,r=-1,a=-1,o=-1;for(let s=0,l=n,c=n;s<t.children.length;s++){let u=t.children[s],h=l+u.length;if(l<e&&h>i)return Fg(u,e,i,l);if(h>=e&&O==-1&&(O=s,r=l),l>i&&u.dom.parentNode==t.dom){a=s,o=c;break}c=h,l=h+u.breakAfter}return{from:r,to:o<0?n+t.length:o,startDOM:(O?t.children[O-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:a<t.children.length&&a>=0?t.children[a].dom:null}}else return t.isText()?{from:n,to:n+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function Hg(t,e){let i,{newSel:n}=e,{state:O}=t,r=O.selection.main,a=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:s}=e.bounds,l=r.from,c=null;(a===8||F.android&&e.text.length<s-o)&&(l=r.to,c="end");let u=O.doc.sliceString(o,s,kO),h,d;!r.empty&&r.from>=o&&r.to<=s&&(e.typeOver||u!=e.text)&&u.slice(0,r.from-o)==e.text.slice(0,r.from-o)&&u.slice(r.to-o)==e.text.slice(h=e.text.length-(u.length-(r.to-o)))?i={from:r.from,to:r.to,insert:ye.of(e.text.slice(r.from-o,h).split(kO))}:(d=Kg(u,e.text,l-o,c))&&(F.chrome&&a==13&&d.toB==d.from+2&&e.text.slice(d.from,d.toB)==kO+kO&&d.toB--,i={from:o+d.from,to:o+d.toA,insert:ye.of(e.text.slice(d.from,d.toB).split(kO))})}else n&&(!t.hasFocus&&O.facet(Ni)||Mo(n,r))&&(n=null);if(!i&&!n)return!1;if((F.mac||F.android)&&i&&i.from==i.to&&i.from==r.head-1&&/^\. ?$/.test(i.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(n&&i.insert.length==2&&(n=U.single(n.main.anchor-1,n.main.head-1)),i={from:i.from,to:i.to,insert:ye.of([i.insert.toString().replace("."," ")])}):O.doc.lineAt(r.from).to<r.to&&t.docView.lineHasWidget(r.to)&&t.inputState.insertingTextAt>Date.now()-50?i={from:r.from,to:r.to,insert:O.toText(t.inputState.insertingText)}:F.chrome&&i&&i.from==i.to&&i.from==r.head&&i.insert.toString()==`
|
|
15
|
+
`&&t.lineWrapping&&(n&&(n=U.single(n.main.anchor-1,n.main.head-1)),i={from:r.from,to:r.to,insert:ye.of([" "])}),i)return Uh(t,i,n,a);if(n&&!Mo(n,r)){let o=!1,s="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(o=!0),s=t.inputState.lastSelectionOrigin,s=="select.pointer"&&(n=Bg(O.facet(ma).map(l=>l(t)),n))),t.dispatch({selection:n,scrollIntoView:o,userEvent:s}),!0}else return!1}function Uh(t,e,i,n=-1){if(F.ios&&t.inputState.flushIOSKey(e))return!0;let O=t.state.selection.main;if(F.android&&(e.to==O.to&&(e.from==O.from||e.from==O.from-1&&t.state.sliceDoc(e.from,O.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&qO(t.contentDOM,"Enter",13)||(e.from==O.from-1&&e.to==O.to&&e.insert.length==0||n==8&&e.insert.length<e.to-e.from&&e.to>O.head)&&qO(t.contentDOM,"Backspace",8)||e.from==O.from&&e.to==O.to+1&&e.insert.length==0&&qO(t.contentDOM,"Delete",46)))return!0;let r=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let a,o=()=>a||(a=jw(t,e,i));return t.state.facet(Ug).some(s=>s(t,e.from,e.to,r,o))||t.dispatch(o()),!0}function jw(t,e,i){let n,O=t.state,r=O.selection.main,a=-1;if(e.from==e.to&&e.from<r.from||e.from>r.to){let s=e.from<r.from?-1:1,l=s<0?r.from:r.to,c=Ur(O.facet(ma).map(u=>u(t)),l,s);e.from==c&&(a=c)}if(a>-1)n={changes:e,selection:U.cursor(e.from+e.insert.length,-1)};else if(e.from>=r.from&&e.to<=r.to&&e.to-e.from>=(r.to-r.from)/3&&(!i||i.main.empty&&i.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let s=r.from<e.from?O.sliceDoc(r.from,e.from):"",l=r.to>e.to?O.sliceDoc(e.to,r.to):"";n=O.replaceSelection(t.state.toText(s+e.insert.sliceString(0,void 0,t.state.lineBreak)+l))}else{let s=O.changes(e),l=i&&i.main.to<=s.newLength?i.main:void 0;if(O.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=r.to+10&&e.to>=r.to-10){let c=t.state.sliceDoc(e.from,e.to),u,h=i&&Mg(t,i.main.head);if(h){let p=e.insert.length-(e.to-e.from);u={from:h.from,to:h.to-p}}else u=t.state.doc.lineAt(r.head);let d=r.to-e.to;n=O.changeByRange(p=>{if(p.from==r.from&&p.to==r.to)return{changes:s,range:l||p.map(s)};let Q=p.to-d,g=Q-c.length;if(t.state.sliceDoc(g,Q)!=c||Q>=u.from&&g<=u.to)return{range:p};let m=O.changes({from:g,to:Q,insert:e.insert}),S=p.to-r.to;return{changes:m,range:l?U.range(Math.max(0,l.anchor+S),Math.max(0,l.head+S)):p.map(m)}})}else n={changes:s,selection:l&&O.selection.replaceRange(l)}}let o="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,o+=".compose",t.inputState.compositionFirstChange&&(o+=".start",t.inputState.compositionFirstChange=!1)),O.update(n,{userEvent:o,scrollIntoView:!0})}function Kg(t,e,i,n){let O=Math.min(t.length,e.length),r=0;for(;r<O&&t.charCodeAt(r)==e.charCodeAt(r);)r++;if(r==O&&t.length==e.length)return null;let a=t.length,o=e.length;for(;a>0&&o>0&&t.charCodeAt(a-1)==e.charCodeAt(o-1);)a--,o--;if(n=="end"){let s=Math.max(0,r-Math.min(a,o));i-=a+s-r}if(a<r&&t.length<e.length){let s=i<=r&&i>=a?r-i:0;r-=s,o=r+(o-a),a=r}else if(o<r){let s=i<=r&&i>=o?r-i:0;r-=s,a=r+(a-o),o=r}return{from:r,toA:a,toB:o}}function Cw(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:i,anchorOffset:n,focusNode:O,focusOffset:r}=t.observer.selectionRange;return i&&(e.push(new Ad(i,n)),(O!=i||r!=n)&&e.push(new Ad(O,r))),e}function Ew(t,e){if(t.length==0)return null;let i=t[0].pos,n=t.length==2?t[1].pos:i;return i>-1&&n>-1?U.single(i+e,n+e):null}function Mo(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}class Gw{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,F.safari&&e.contentDOM.addEventListener("input",()=>null),F.gecko&&nk(e.contentDOM.ownerDocument)}handleEvent(e){!Fw(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,i){let n=this.handlers[e];if(n){for(let O of n.observers)O(this.view,i);for(let O of n.handlers){if(i.defaultPrevented)break;if(O(this.view,i)){i.preventDefault();break}}}}ensureHandlers(e){let i=Aw(e),n=this.handlers,O=this.view.contentDOM;for(let r in i)if(r!="scroll"){let a=!i[r].handlers.length,o=n[r];o&&a!=!o.handlers.length&&(O.removeEventListener(r,this.handleEvent),o=null),o||O.addEventListener(r,this.handleEvent,{passive:a})}for(let r in n)r!="scroll"&&!i[r]&&O.removeEventListener(r,this.handleEvent);this.handlers=i}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&eP.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),F.android&&F.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let i;return F.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((i=Jg.find(n=>n.keyCode==e.keyCode))&&!e.ctrlKey||Nw.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=i||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let i=this.pendingIOSKey;return!i||i.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,qO(this.view.contentDOM,i.key,i.keyCode,i instanceof KeyboardEvent?i:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:F.safari&&!F.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function Nd(t,e){return(i,n)=>{try{return e.call(t,n,i)}catch(O){xi(i.state,O)}}}function Aw(t){let e=Object.create(null);function i(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of t){let O=n.spec,r=O&&O.plugin.domEventHandlers,a=O&&O.plugin.domEventObservers;if(r)for(let o in r){let s=r[o];s&&i(o).handlers.push(Nd(n.value,s))}if(a)for(let o in a){let s=a[o];s&&i(o).observers.push(Nd(n.value,s))}}for(let n in ci)i(n).handlers.push(ci[n]);for(let n in Yt)i(n).observers.push(Yt[n]);return e}const Jg=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Nw="dthko",eP=[16,17,18,20,91,92,224,225],Aa=6;function Na(t){return Math.max(0,t)*.7+8}function Iw(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class Lw{constructor(e,i,n,O){this.view=e,this.startEvent=i,this.style=n,this.mustSelect=O,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=i,this.scrollParents=bg(e.contentDOM),this.atoms=e.state.facet(ma).map(a=>a(e));let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=i.shiftKey,this.multiple=e.state.facet(Xe.allowMultipleSelections)&&Dw(e,i),this.dragging=Bw(e,i)&&nP(i)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Iw(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let i=0,n=0,O=0,r=0,a=this.view.win.innerWidth,o=this.view.win.innerHeight;this.scrollParents.x&&({left:O,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:r,bottom:o}=this.scrollParents.y.getBoundingClientRect());let s=Lg(this.view);e.clientX-s.left<=O+Aa?i=-Na(O-e.clientX):e.clientX+s.right>=a-Aa&&(i=Na(e.clientX-a)),e.clientY-s.top<=r+Aa?n=-Na(r-e.clientY):e.clientY+s.bottom>=o-Aa&&(n=Na(e.clientY-o)),this.setScrollSpeed(i,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,i){this.scrollSpeed={x:e,y:i},e||i?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:i}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),i&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=i,i=0),(e||i)&&this.view.win.scrollBy(e,i),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:i}=this,n=Bg(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(i.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(i=>i.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Dw(t,e){let i=t.state.facet(Yg);return i.length?i[0](e):F.mac?e.metaKey:e.ctrlKey}function Mw(t,e){let i=t.state.facet(Zg);return i.length?i[0](e):F.mac?!e.altKey:!e.ctrlKey}function Bw(t,e){let{main:i}=t.state.selection;if(i.empty)return!1;let n=Mr(t.root);if(!n||n.rangeCount==0)return!0;let O=n.getRangeAt(0).getClientRects();for(let r=0;r<O.length;r++){let a=O[r];if(a.left<=e.clientX&&a.right>=e.clientX&&a.top<=e.clientY&&a.bottom>=e.clientY)return!0}return!1}function Fw(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let i=e.target,n;i!=t.contentDOM;i=i.parentNode)if(!i||i.nodeType==11||(n=Ne.get(i))&&n.isWidget()&&!n.isHidden&&n.widget.ignoreEvent(e))return!1;return!0}const ci=Object.create(null),Yt=Object.create(null),tP=F.ie&&F.ie_version<15||F.ios&&F.webkit_version<604;function Hw(t){let e=t.dom.parentNode;if(!e)return;let i=e.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(()=>{t.focus(),i.remove(),iP(t,i.value)},50)}function Rs(t,e,i){for(let n of t.facet(e))i=n(i,t);return i}function iP(t,e){e=Rs(t.state,Yh,e);let{state:i}=t,n,O=1,r=i.toText(e),a=r.lines==i.selection.ranges.length;if(pu!=null&&i.selection.ranges.every(s=>s.empty)&&pu==r.toString()){let s=-1;n=i.changeByRange(l=>{let c=i.doc.lineAt(l.from);if(c.from==s)return{range:l};s=c.from;let u=i.toText((a?r.line(O++).text:e)+i.lineBreak);return{changes:{from:c.from,insert:u},range:U.cursor(l.from+u.length)}})}else a?n=i.changeByRange(s=>{let l=r.line(O++);return{changes:{from:s.from,to:s.to,insert:l.text},range:U.cursor(s.from+l.length)}}):n=i.replaceSelection(r);t.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}Yt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Yt.wheel=Yt.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};ci.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Yt.touchstart=(t,e)=>{let i=t.inputState,n=e.targetTouches[0];i.lastTouchTime=Date.now(),n&&(i.lastTouchX=n.clientX,i.lastTouchY=n.clientY),i.setSelectionOrigin("select.pointer")};Yt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};ci.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let i=null;for(let n of t.state.facet(zg))if(i=n(t,e),i)break;if(!i&&e.button==0&&(i=Jw(t,e)),i){let n=!t.hasFocus;t.inputState.startMouseSelection(new Lw(t,e,i,n)),n&&t.observer.ignore(()=>{Xg(t.contentDOM);let r=t.root.activeElement;r&&!r.contains(t.contentDOM)&&r.blur()});let O=t.inputState.mouseSelection;if(O)return O.start(e),O.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function Id(t,e,i,n){if(n==1)return U.cursor(e,i);if(n==2)return vw(t.state,e,i);{let O=t.docView.lineAt(e,i),r=t.state.doc.lineAt(O?O.posAtEnd:e),a=O?O.posAtStart:r.from,o=O?O.posAtEnd:r.to;return o<t.state.doc.length&&o==r.to&&o++,U.range(a,o)}}const Kw=F.ie&&F.ie_version<=11;let Ld=null,Dd=0,Md=0;function nP(t){if(!Kw)return t.detail;let e=Ld,i=Md;return Ld=t,Md=Date.now(),Dd=!e||i>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(Dd+1)%3:1}function Jw(t,e){let i=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),n=nP(e),O=t.state.selection;return{update(r){r.docChanged&&(i.pos=r.changes.mapPos(i.pos),O=O.map(r.changes))},get(r,a,o){let s=t.posAndSideAtCoords({x:r.clientX,y:r.clientY},!1),l,c=Id(t,s.pos,s.assoc,n);if(i.pos!=s.pos&&!a){let u=Id(t,i.pos,i.assoc,n),h=Math.min(u.from,c.from),d=Math.max(u.to,c.to);c=h<c.from?U.range(h,d,c.assoc):U.range(d,h,c.assoc)}return a?O.replaceRange(O.main.extend(c.from,c.to,c.assoc)):o&&n==1&&O.ranges.length>1&&(l=ek(O,s.pos))?l:o?O.addRange(c):U.create([c])}}}function ek(t,e){for(let i=0;i<t.ranges.length;i++){let{from:n,to:O}=t.ranges[i];if(n<=e&&O>=e)return U.create(t.ranges.slice(0,i).concat(t.ranges.slice(i+1)),t.mainIndex==i?0:t.mainIndex-(t.mainIndex>i?1:0))}return null}ci.dragstart=(t,e)=>{let{selection:{main:i}}=t.state;if(e.target.draggable){let O=t.docView.tile.nearest(e.target);if(O&&O.isWidget()){let r=O.posAtStart,a=r+O.length;(r>=i.to||a<=i.from)&&(i=U.range(r,a))}}let{inputState:n}=t;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=i,e.dataTransfer&&(e.dataTransfer.setData("Text",Rs(t.state,Zh,t.state.sliceDoc(i.from,i.to))),e.dataTransfer.effectAllowed="copyMove"),!1};ci.dragend=t=>(t.inputState.draggedContent=null,!1);function Bd(t,e,i,n){if(i=Rs(t.state,Yh,i),!i)return;let O=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:r}=t.inputState,a=n&&r&&Mw(t,e)?{from:r.from,to:r.to}:null,o={from:O,insert:i},s=t.state.changes(a?[a,o]:o);t.focus(),t.dispatch({changes:s,selection:{anchor:s.mapPos(O,-1),head:s.mapPos(O,1)},userEvent:a?"move.drop":"input.drop"}),t.inputState.draggedContent=null}ci.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let i=e.dataTransfer.files;if(i&&i.length){let n=Array(i.length),O=0,r=()=>{++O==i.length&&Bd(t,e,n.filter(a=>a!=null).join(t.state.lineBreak),!1)};for(let a=0;a<i.length;a++){let o=new FileReader;o.onerror=r,o.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(n[a]=o.result),r()},o.readAsText(i[a])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Bd(t,e,n,!0),!0}return!1};ci.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let i=tP?null:e.clipboardData;return i?(iP(t,i.getData("text/plain")||i.getData("text/uri-list")),!0):(Hw(t),!1)};function tk(t,e){let i=t.dom.parentNode;if(!i)return;let n=i.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),t.focus()},50)}function ik(t){let e=[],i=[],n=!1;for(let O of t.selection.ranges)O.empty||(e.push(t.sliceDoc(O.from,O.to)),i.push(O));if(!e.length){let O=-1;for(let{from:r}of t.selection.ranges){let a=t.doc.lineAt(r);a.number>O&&(e.push(a.text),i.push({from:a.from,to:Math.min(t.doc.length,a.to+1)})),O=a.number}n=!0}return{text:Rs(t,Zh,e.join(t.lineBreak)),ranges:i,linewise:n}}let pu=null;ci.copy=ci.cut=(t,e)=>{if(!zr(t.contentDOM,t.observer.selectionRange))return!1;let{text:i,ranges:n,linewise:O}=ik(t.state);if(!i&&!O)return!1;pu=O?i:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let r=tP?null:e.clipboardData;return r?(r.clearData(),r.setData("text/plain",i),!0):(tk(t,i),!1)};const OP=Ji.define();function rP(t,e){let i=[];for(let n of t.facet(Vg)){let O=n(t,e);O&&i.push(O)}return i.length?t.update({effects:i,annotations:OP.of(!0)}):null}function aP(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let i=rP(t.state,e);i?t.dispatch(i):t.update([])}},10)}Yt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),aP(t)};Yt.blur=t=>{t.observer.clearSelectionRange(),aP(t)};Yt.compositionstart=Yt.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Yt.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,F.chrome&&F.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Yt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};ci.beforeinput=(t,e)=>{var i,n;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let r=(i=e.dataTransfer)===null||i===void 0?void 0:i.getData("text/plain"),a=e.getTargetRanges();if(r&&a.length){let o=a[0],s=t.posAtDOM(o.startContainer,o.startOffset),l=t.posAtDOM(o.endContainer,o.endOffset);return Uh(t,{from:s,to:l,insert:t.state.toText(r)},null),!0}}let O;if(F.chrome&&F.android&&(O=Jg.find(r=>r.inputType==e.inputType))&&(t.observer.delayAndroidKey(O.key,O.keyCode),O.key=="Backspace"||O.key=="Delete")){let r=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>r+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return F.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),F.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Yt.compositionend(t,e),20),!1};const Fd=new Set;function nk(t){Fd.has(t)||(Fd.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const Hd=["pre-wrap","normal","pre-line","break-spaces"];let NO=!1;function Kd(){NO=!1}class Ok{constructor(e){this.lineWrapping=e,this.doc=ye.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,i){let n=this.doc.lineAt(i).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((i-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Hd.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let i=!1;for(let n=0;n<e.length;n++){let O=e[n];O<0?n++:this.heightSamples[Math.floor(O*10)]||(i=!0,this.heightSamples[Math.floor(O*10)]=!0)}return i}refresh(e,i,n,O,r,a){let o=Hd.indexOf(e)>-1,s=Math.abs(i-this.lineHeight)>.3||this.lineWrapping!=o||Math.abs(n-this.charWidth)>.1;if(this.lineWrapping=o,this.lineHeight=i,this.charWidth=n,this.textHeight=O,this.lineLength=r,s){this.heightSamples={};for(let l=0;l<a.length;l++){let c=a[l];c<0?l++:this.heightSamples[Math.floor(c*10)]=!0}}return s}}class rk{constructor(e,i){this.from=e,this.heights=i,this.index=0}get more(){return this.index<this.heights.length}}class si{constructor(e,i,n,O,r){this.from=e,this.length=i,this.top=n,this.height=O,this._content=r}get type(){return typeof this._content=="number"?ot.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Bn?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let i=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new si(this.from,this.length+e.length,this.top,this.height+e.height,i)}}var We=(function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t})(We||(We={}));const yo=.001;class mt{constructor(e,i,n=2){this.length=e,this.height=i,this.flags=n}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>yo&&(NO=!0),this.height=e)}replace(e,i,n){return mt.of(n)}decomposeLeft(e,i){i.push(this)}decomposeRight(e,i){i.push(this)}applyChanges(e,i,n,O){let r=this,a=n.doc;for(let o=O.length-1;o>=0;o--){let{fromA:s,toA:l,fromB:c,toB:u}=O[o],h=r.lineAt(s,We.ByPosNoHeight,n.setDoc(i),0,0),d=h.to>=l?h:r.lineAt(l,We.ByPosNoHeight,n,0,0);for(u+=d.to-l,l=d.to;o>0&&h.from<=O[o-1].toA;)s=O[o-1].fromA,c=O[o-1].fromB,o--,s<h.from&&(h=r.lineAt(s,We.ByPosNoHeight,n,0,0));c+=h.from-s,s=h.from;let p=Vh.build(n.setDoc(a),e,c,u);r=Bo(r,r.replace(s,l,p))}return r.updateHeight(n,0)}static empty(){return new jt(0,0,0)}static of(e){if(e.length==1)return e[0];let i=0,n=e.length,O=0,r=0;for(;;)if(i==n)if(O>r*2){let o=e[i-1];o.break?e.splice(--i,1,o.left,null,o.right):e.splice(--i,1,o.left,o.right),n+=1+o.break,O-=o.size}else if(r>O*2){let o=e[n];o.break?e.splice(n,1,o.left,null,o.right):e.splice(n,1,o.left,o.right),n+=2+o.break,r-=o.size}else break;else if(O<r){let o=e[i++];o&&(O+=o.size)}else{let o=e[--n];o&&(r+=o.size)}let a=0;return e[i-1]==null?(a=1,i--):e[i]==null&&(a=1,n++),new ok(mt.of(e.slice(0,i)),a,mt.of(e.slice(n)))}}function Bo(t,e){return t==e?t:(t.constructor!=e.constructor&&(NO=!0),e)}mt.prototype.size=1;const ak=he.replace({});class oP extends mt{constructor(e,i,n){super(e,i),this.deco=n,this.spaceAbove=0}mainBlock(e,i){return new si(i,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,i,n,O){return this.spaceAbove&&e<n+this.spaceAbove?new si(O,0,n,this.spaceAbove,ak):this.mainBlock(n,O)}lineAt(e,i,n,O,r){let a=this.mainBlock(O,r);return this.spaceAbove?this.blockAt(0,n,O,r).join(a):a}forEachLine(e,i,n,O,r,a){e<=r+this.length&&i>=r&&a(this.lineAt(0,We.ByPos,n,O,r))}setMeasuredHeight(e){let i=e.heights[e.index++];i<0?(this.spaceAbove=-i,i=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(i)}updateHeight(e,i=0,n=!1,O){return O&&O.from<=i&&O.more&&this.setMeasuredHeight(O),this.outdated=!1,this}toString(){return`block(${this.length})`}}class jt extends oP{constructor(e,i,n){super(e,i,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=n}mainBlock(e,i){return new si(i,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,i,n){let O=n[0];return n.length==1&&(O instanceof jt||O instanceof rt&&O.flags&4)&&Math.abs(this.length-O.length)<10?(O instanceof rt?O=new jt(O.length,this.height,this.spaceAbove):O.height=this.height,this.outdated||(O.outdated=!1),O):mt.of(n)}updateHeight(e,i=0,n=!1,O){return O&&O.from<=i&&O.more?this.setMeasuredHeight(O):(n||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class rt extends mt{constructor(e){super(e,0)}heightMetrics(e,i){let n=e.doc.lineAt(i).number,O=e.doc.lineAt(i+this.length).number,r=O-n+1,a,o=0;if(e.lineWrapping){let s=Math.min(this.height,e.lineHeight*r);a=s/r,this.length>r+1&&(o=(this.height-s)/(this.length-r-1))}else a=this.height/r;return{firstLine:n,lastLine:O,perLine:a,perChar:o}}blockAt(e,i,n,O){let{firstLine:r,lastLine:a,perLine:o,perChar:s}=this.heightMetrics(i,O);if(i.lineWrapping){let l=O+(e<i.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length)),c=i.doc.lineAt(l),u=o+c.length*s,h=Math.max(n,e-u/2);return new si(c.from,c.length,h,u,0)}else{let l=Math.max(0,Math.min(a-r,Math.floor((e-n)/o))),{from:c,length:u}=i.doc.line(r+l);return new si(c,u,n+o*l,o,0)}}lineAt(e,i,n,O,r){if(i==We.ByHeight)return this.blockAt(e,n,O,r);if(i==We.ByPosNoHeight){let{from:d,to:p}=n.doc.lineAt(e);return new si(d,p-d,0,0,0)}let{firstLine:a,perLine:o,perChar:s}=this.heightMetrics(n,r),l=n.doc.lineAt(e),c=o+l.length*s,u=l.number-a,h=O+o*u+s*(l.from-r-u);return new si(l.from,l.length,Math.max(O,Math.min(h,O+this.height-c)),c,0)}forEachLine(e,i,n,O,r,a){e=Math.max(e,r),i=Math.min(i,r+this.length);let{firstLine:o,perLine:s,perChar:l}=this.heightMetrics(n,r);for(let c=e,u=O;c<=i;){let h=n.doc.lineAt(c);if(c==e){let p=h.number-o;u+=s*p+l*(e-r-p)}let d=s+l*h.length;a(new si(h.from,h.length,u,d,0)),u+=d,c=h.to+1}}replace(e,i,n){let O=this.length-i;if(O>0){let r=n[n.length-1];r instanceof rt?n[n.length-1]=new rt(r.length+O):n.push(null,new rt(O-1))}if(e>0){let r=n[0];r instanceof rt?n[0]=new rt(e+r.length):n.unshift(new rt(e-1),null)}return mt.of(n)}decomposeLeft(e,i){i.push(new rt(e-1),null)}decomposeRight(e,i){i.push(null,new rt(this.length-e-1))}updateHeight(e,i=0,n=!1,O){let r=i+this.length;if(O&&O.from<=i+this.length&&O.more){let a=[],o=Math.max(i,O.from),s=-1;for(O.from>i&&a.push(new rt(O.from-i-1).updateHeight(e,i));o<=r&&O.more;){let c=e.doc.lineAt(o).length;a.length&&a.push(null);let u=O.heights[O.index++],h=0;u<0&&(h=-u,u=O.heights[O.index++]),s==-1?s=u:Math.abs(u-s)>=yo&&(s=-2);let d=new jt(c,u,h);d.outdated=!1,a.push(d),o+=c+1}o<=r&&a.push(null,new rt(r-o).updateHeight(e,o));let l=mt.of(a);return(s<0||Math.abs(l.height-this.height)>=yo||Math.abs(s-this.heightMetrics(e,i).perLine)>=yo)&&(NO=!0),Bo(this,l)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(i,i+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class ok extends mt{constructor(e,i,n){super(e.length+i+n.length,e.height+n.height,i|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,i,n,O){let r=n+this.left.height;return e<r?this.left.blockAt(e,i,n,O):this.right.blockAt(e,i,r,O+this.left.length+this.break)}lineAt(e,i,n,O,r){let a=O+this.left.height,o=r+this.left.length+this.break,s=i==We.ByHeight?e<a:e<o,l=s?this.left.lineAt(e,i,n,O,r):this.right.lineAt(e,i,n,a,o);if(this.break||(s?l.to<o:l.from>o))return l;let c=i==We.ByPosNoHeight?We.ByPosNoHeight:We.ByPos;return s?l.join(this.right.lineAt(o,c,n,a,o)):this.left.lineAt(o,c,n,O,r).join(l)}forEachLine(e,i,n,O,r,a){let o=O+this.left.height,s=r+this.left.length+this.break;if(this.break)e<s&&this.left.forEachLine(e,i,n,O,r,a),i>=s&&this.right.forEachLine(e,i,n,o,s,a);else{let l=this.lineAt(s,We.ByPos,n,O,r);e<l.from&&this.left.forEachLine(e,l.from-1,n,O,r,a),l.to>=e&&l.from<=i&&a(l),i>l.to&&this.right.forEachLine(l.to+1,i,n,o,s,a)}}replace(e,i,n){let O=this.left.length+this.break;if(i<O)return this.balanced(this.left.replace(e,i,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-O,i-O,n));let r=[];e>0&&this.decomposeLeft(e,r);let a=r.length;for(let o of n)r.push(o);if(e>0&&Jd(r,a-1),i<this.length){let o=r.length;this.decomposeRight(i,r),Jd(r,o)}return mt.of(r)}decomposeLeft(e,i){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,i);i.push(this.left),this.break&&(n++,e>=n&&i.push(null)),e>n&&this.right.decomposeLeft(e-n,i)}decomposeRight(e,i){let n=this.left.length,O=n+this.break;if(e>=O)return this.right.decomposeRight(e-O,i);e<n&&this.left.decomposeRight(e,i),this.break&&e<O&&i.push(null),i.push(this.right)}balanced(e,i){return e.size>2*i.size||i.size>2*e.size?mt.of(this.break?[e,null,i]:[e,i]):(this.left=Bo(this.left,e),this.right=Bo(this.right,i),this.setHeight(e.height+i.height),this.outdated=e.outdated||i.outdated,this.size=e.size+i.size,this.length=e.length+this.break+i.length,this)}updateHeight(e,i=0,n=!1,O){let{left:r,right:a}=this,o=i+r.length+this.break,s=null;return O&&O.from<=i+r.length&&O.more?s=r=r.updateHeight(e,i,n,O):r.updateHeight(e,i,n),O&&O.from<=o+a.length&&O.more?s=a=a.updateHeight(e,o,n,O):a.updateHeight(e,o,n),s?this.balanced(r,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Jd(t,e){let i,n;t[e]==null&&(i=t[e-1])instanceof rt&&(n=t[e+1])instanceof rt&&t.splice(e-1,3,new rt(i.length+1+n.length))}const sk=5;class Vh{constructor(e,i){this.pos=e,this.oracle=i,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,i){if(this.lineStart>-1){let n=Math.min(i,this.lineEnd),O=this.nodes[this.nodes.length-1];O instanceof jt?O.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new jt(n-this.pos,-1,0)),this.writtenTo=n,i>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=i}point(e,i,n){if(e<i||n.heightRelevant){let O=n.widget?n.widget.estimatedHeight:0,r=n.widget?n.widget.lineBreaks:0;O<0&&(O=this.oracle.lineHeight);let a=i-e;n.block?this.addBlock(new oP(a,O,n)):(a||r||O>=sk)&&this.addLineDeco(O,r,a)}else i>e&&this.span(e,i);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:i}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=i,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new jt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,i){let n=new rt(i-e);return this.oracle.doc.lineAt(e).to==i&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof jt)return e;let i=new jt(0,-1,0);return this.nodes.push(i),i}addBlock(e){this.enterLine();let i=e.deco;i&&i.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,i&&i.endSide>0&&(this.covering=e)}addLineDeco(e,i,n){let O=this.ensureLine();O.length+=n,O.collapsed+=n,O.widgetHeight=Math.max(O.widgetHeight,e),O.breaks+=i,this.writtenTo=this.pos=this.pos+n}finish(e){let i=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(i instanceof jt)&&!this.isCovered?this.nodes.push(new jt(0,-1,0)):(this.writtenTo<this.pos||i==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let n=e;for(let O of this.nodes)O instanceof jt&&O.updateHeight(this.oracle,n),n+=O?O.length:1;return this.nodes}static build(e,i,n,O){let r=new Vh(n,e);return Pe.spans(i,n,O,r,0),r.finish(n)}}function lk(t,e,i){let n=new ck;return Pe.compare(t,e,i,n,0),n.changes}class ck{constructor(){this.changes=[]}compareRange(){}comparePoint(e,i,n,O){(e<i||n&&n.heightRelevant||O&&O.heightRelevant)&&zO(e,i,this.changes,5)}}function uk(t,e){let i=t.getBoundingClientRect(),n=t.ownerDocument,O=n.defaultView||window,r=Math.max(0,i.left),a=Math.min(O.innerWidth,i.right),o=Math.max(0,i.top),s=Math.min(O.innerHeight,i.bottom);for(let l=t.parentNode;l&&l!=n.body;)if(l.nodeType==1){let c=l,u=window.getComputedStyle(c);if((c.scrollHeight>c.clientHeight||c.scrollWidth>c.clientWidth)&&u.overflow!="visible"){let h=c.getBoundingClientRect();r=Math.max(r,h.left),a=Math.min(a,h.right),o=Math.max(o,h.top),s=Math.min(l==t.parentNode?O.innerHeight:s,h.bottom)}l=u.position=="absolute"||u.position=="fixed"?c.offsetParent:c.parentNode}else if(l.nodeType==11)l=l.host;else break;return{left:r-i.left,right:Math.max(r,a)-i.left,top:o-(i.top+e),bottom:Math.max(o,s)-(i.top+e)}}function hk(t){let e=t.getBoundingClientRect(),i=t.ownerDocument.defaultView||window;return e.left<i.innerWidth&&e.right>0&&e.top<i.innerHeight&&e.bottom>0}function fk(t,e){let i=t.getBoundingClientRect();return{left:0,right:i.right-i.left,top:e,bottom:i.bottom-(i.top+e)}}class zl{constructor(e,i,n,O){this.from=e,this.to=i,this.size=n,this.displaySize=O}static same(e,i){if(e.length!=i.length)return!1;for(let n=0;n<e.length;n++){let O=e[n],r=i[n];if(O.from!=r.from||O.to!=r.to||O.size!=r.size)return!1}return!0}draw(e,i){return he.replace({widget:new dk(this.displaySize*(i?e.scaleY:e.scaleX),i)}).range(this.from,this.to)}}class dk extends sO{constructor(e,i){super(),this.size=e,this.vertical=i}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class e${constructor(e,i){this.view=e,this.state=i,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=t$,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Ee.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let n=i.facet(zh).some(O=>typeof O!="function"&&O.class=="cm-lineWrapping");this.heightOracle=new Ok(n),this.stateDeco=i$(i),this.heightMap=mt.empty().applyChanges(this.stateDeco,ye.empty,this.heightOracle.setDoc(i.doc),[new Ht(0,0,0,i.doc.length)]);for(let O=0;O<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());O++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=he.set(this.lineGaps.map(O=>O.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:i}=this.state.selection;for(let n=0;n<=1;n++){let O=n?i.head:i.anchor;if(!e.some(({from:r,to:a})=>O>=r&&O<=a)){let{from:r,to:a}=this.lineBlockAt(O);e.push(new Ia(r,a))}}return this.viewports=e.sort((n,O)=>n.from-O.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?t$:new Wh(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(kr(e,this.scaler))})}update(e,i=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=i$(this.state);let O=e.changedRanges,r=Ht.extendWithRanges(O,lk(n,this.stateDeco,e?e.changes:Je.empty(this.state.doc.length))),a=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Kd(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),r),(this.heightMap.height!=a||NO)&&(e.flags|=2),o?(this.scrollAnchorPos=e.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let s=r.length?this.mapViewport(this.viewport,e.changes):this.viewport;(i&&(i.range.head<s.from||i.range.head>s.to)||!this.viewportIsAppropriate(s))&&(s=this.getViewport(0,i));let l=s.from!=this.viewport.from||s.to!=this.viewport.to;this.viewport=s,e.flags|=this.updateForViewport(),(l||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),i&&(this.scrollTarget=i),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(jg)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,i=e.contentDOM,n=window.getComputedStyle(i),O=this.heightOracle,r=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?Ee.RTL:Ee.LTR;let a=this.heightOracle.mustRefreshForWrapping(r)||this.mustMeasureContent==="refresh",o=i.getBoundingClientRect(),s=a||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let l=0,c=0;if(o.width&&o.height){let{scaleX:R,scaleY:G}=Sg(i,o);(R>.005&&Math.abs(this.scaleX-R)>.005||G>.005&&Math.abs(this.scaleY-G)>.005)&&(this.scaleX=R,this.scaleY=G,l|=16,a=s=!0)}let u=(parseInt(n.paddingTop)||0)*this.scaleY,h=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=h)&&(this.paddingTop=u,this.paddingBottom=h,l|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(O.lineWrapping&&(s=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=16);let d=bg(this.view.contentDOM,!1).y;d!=this.scrollParent&&(this.scrollParent=d,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=yg(this.scrollParent||e.win);let Q=(this.printing?fk:uk)(i,this.paddingTop),g=Q.top-this.pixelViewport.top,m=Q.bottom-this.pixelViewport.bottom;this.pixelViewport=Q;let S=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(S!=this.inView&&(this.inView=S,S&&(s=!0)),!this.inView&&!this.scrollTarget&&!hk(e.dom))return 0;let X=o.width;if((this.contentDOMWidth!=X||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=e.scrollDOM.clientHeight,l|=16),s){let R=e.docView.measureVisibleLineHeights(this.viewport);if(O.mustRefreshForHeights(R)&&(a=!0),a||O.lineWrapping&&Math.abs(X-this.contentDOMWidth)>O.charWidth){let{lineHeight:G,charWidth:j,textHeight:C}=e.docView.measureTextSize();a=G>0&&O.refresh(r,G,j,C,Math.max(5,X/j),R),a&&(e.docView.minWidth=0,l|=16)}g>0&&m>0?c=Math.max(g,m):g<0&&m<0&&(c=Math.min(g,m)),Kd();for(let G of this.viewports){let j=G.from==this.viewport.from?R:e.docView.measureVisibleLineHeights(G);this.heightMap=(a?mt.empty().applyChanges(this.stateDeco,ye.empty,this.heightOracle,[new Ht(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(O,0,a,new rk(G.from,j))}NO&&(l|=2)}let z=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return z&&(l&2&&(l|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),l|=this.updateForViewport()),(l&2||z)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,i){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),O=this.heightMap,r=this.heightOracle,{visibleTop:a,visibleBottom:o}=this,s=new Ia(O.lineAt(a-n*1e3,We.ByHeight,r,0,0).from,O.lineAt(o+(1-n)*1e3,We.ByHeight,r,0,0).to);if(i){let{head:l}=i.range;if(l<s.from||l>s.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=O.lineAt(l,We.ByPos,r,0,0),h;i.y=="center"?h=(u.top+u.bottom)/2-c/2:i.y=="start"||i.y=="nearest"&&l<s.from?h=u.top:h=u.bottom-c,s=new Ia(O.lineAt(h-1e3/2,We.ByHeight,r,0,0).from,O.lineAt(h+c+1e3/2,We.ByHeight,r,0,0).to)}}return s}mapViewport(e,i){let n=i.mapPos(e.from,-1),O=i.mapPos(e.to,1);return new Ia(this.heightMap.lineAt(n,We.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(O,We.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:i},n=0){if(!this.inView)return!0;let{top:O}=this.heightMap.lineAt(e,We.ByPos,this.heightOracle,0,0),{bottom:r}=this.heightMap.lineAt(i,We.ByPos,this.heightOracle,0,0),{visibleTop:a,visibleBottom:o}=this;return(e==0||O<=a-Math.max(10,Math.min(-n,250)))&&(i==this.state.doc.length||r>=o+Math.max(10,Math.min(n,250)))&&O>a-2*1e3&&r<o+2*1e3}mapLineGaps(e,i){if(!e.length||i.empty)return e;let n=[];for(let O of e)i.touchesRange(O.from,O.to)||n.push(new zl(i.mapPos(O.from),i.mapPos(O.to),O.size,O.displaySize));return n}ensureLineGaps(e,i){let n=this.heightOracle.lineWrapping,O=n?1e4:2e3,r=O>>1,a=O<<1;if(this.defaultTextDirection!=Ee.LTR&&!n)return[];let o=[],s=(c,u,h,d)=>{if(u-c<r)return;let p=this.state.selection.main,Q=[p.from];p.empty||Q.push(p.to);for(let m of Q)if(m>c&&m<u){s(c,m-10,h,d),s(m+10,u,h,d);return}let g=pk(e,m=>m.from>=h.from&&m.to<=h.to&&Math.abs(m.from-c)<r&&Math.abs(m.to-u)<r&&!Q.some(S=>m.from<S&&m.to>S));if(!g){if(u<h.to&&i&&n&&i.visibleRanges.some(X=>X.from<=u&&X.to>=u)){let X=i.moveToLineBoundary(U.cursor(u),!1,!0).head;X>c&&(u=X)}let m=this.gapSize(h,c,u,d),S=n||m<2e6?m:2e6;g=new zl(c,u,m,S)}o.push(g)},l=c=>{if(c.length<a||c.type!=ot.Text)return;let u=$k(c.from,c.to,this.stateDeco);if(u.total<a)return;let h=this.scrollTarget?this.scrollTarget.range.head:null,d,p;if(n){let Q=O/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,m;if(h!=null){let S=Da(u,h),X=((this.visibleBottom-this.visibleTop)/2+Q)/c.height;g=S-X,m=S+X}else g=(this.visibleTop-c.top-Q)/c.height,m=(this.visibleBottom-c.top+Q)/c.height;d=La(u,g),p=La(u,m)}else{let Q=u.total*this.heightOracle.charWidth,g=O*this.heightOracle.charWidth,m=0;if(Q>2e6)for(let G of e)G.from>=c.from&&G.from<c.to&&G.size!=G.displaySize&&G.from*this.heightOracle.charWidth+m<this.pixelViewport.left&&(m=G.size-G.displaySize);let S=this.pixelViewport.left+m,X=this.pixelViewport.right+m,z,R;if(h!=null){let G=Da(u,h),j=((X-S)/2+g)/Q;z=G-j,R=G+j}else z=(S-g)/Q,R=(X+g)/Q;d=La(u,z),p=La(u,R)}d>c.from&&s(c.from,d,c,u),p<c.to&&s(p,c.to,c,u)};for(let c of this.viewportLines)Array.isArray(c.type)?c.type.forEach(l):l(c);return o}gapSize(e,i,n,O){let r=Da(O,n)-Da(O,i);return this.heightOracle.lineWrapping?e.height*r:O.total*this.heightOracle.charWidth*r}updateLineGaps(e){zl.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=he.set(e.map(i=>i.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let i=this.stateDeco;this.lineGaps.length&&(i=i.concat(this.lineGapDeco));let n=[];Pe.spans(i,this.viewport.from,this.viewport.to,{span(r,a){n.push({from:r,to:a})},point(){}},20);let O=0;if(n.length!=this.visibleRanges.length)O=12;else for(let r=0;r<n.length&&!(O&8);r++){let a=this.visibleRanges[r],o=n[r];(a.from!=o.from||a.to!=o.to)&&(O|=4,e&&e.mapPos(a.from,-1)==o.from&&e.mapPos(a.to,1)==o.to||(O|=8))}return this.visibleRanges=n,O}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(i=>i.from<=e&&i.to>=e)||kr(this.heightMap.lineAt(e,We.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(i=>i.top<=e&&i.bottom>=e)||kr(this.heightMap.lineAt(this.scaler.fromDOM(e),We.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let i=this.lineBlockAtHeight(e+8);return i.from>=this.viewport.from||this.viewportLines[0].top-e>200?i:this.viewportLines[0]}elementAtHeight(e){return kr(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Ia{constructor(e,i){this.from=e,this.to=i}}function $k(t,e,i){let n=[],O=t,r=0;return Pe.spans(i,t,e,{span(){},point(a,o){a>O&&(n.push({from:O,to:a}),r+=a-O),O=o}},20),O<e&&(n.push({from:O,to:e}),r+=e-O),{total:r,ranges:n}}function La({total:t,ranges:e},i){if(i<=0)return e[0].from;if(i>=1)return e[e.length-1].to;let n=Math.floor(t*i);for(let O=0;;O++){let{from:r,to:a}=e[O],o=a-r;if(n<=o)return r+n;n-=o}}function Da(t,e){let i=0;for(let{from:n,to:O}of t.ranges){if(e<=O){i+=e-n;break}i+=O-n}return i/t.total}function pk(t,e){for(let i of t)if(e(i))return i}const t$={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function i$(t){let e=t.facet(Ts).filter(n=>typeof n!="function"),i=t.facet(qh).filter(n=>typeof n!="function");return i.length&&e.push(Pe.join(i)),e}class Wh{constructor(e,i,n){let O=0,r=0,a=0;this.viewports=n.map(({from:o,to:s})=>{let l=i.lineAt(o,We.ByPos,e,0,0).top,c=i.lineAt(s,We.ByPos,e,0,0).bottom;return O+=c-l,{from:o,to:s,top:l,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-O)/(i.height-O);for(let o of this.viewports)o.domTop=a+(o.top-r)*this.scale,a=o.domBottom=o.domTop+(o.bottom-o.top),r=o.bottom}toDOM(e){for(let i=0,n=0,O=0;;i++){let r=i<this.viewports.length?this.viewports[i]:null;if(!r||e<r.top)return O+(e-n)*this.scale;if(e<=r.bottom)return r.domTop+(e-r.top);n=r.bottom,O=r.domBottom}}fromDOM(e){for(let i=0,n=0,O=0;;i++){let r=i<this.viewports.length?this.viewports[i]:null;if(!r||e<r.domTop)return n+(e-O)/this.scale;if(e<=r.domBottom)return r.top+(e-r.domTop);n=r.bottom,O=r.domBottom}}eq(e){return e instanceof Wh?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((i,n)=>i.from==e.viewports[n].from&&i.to==e.viewports[n].to):!1}}function kr(t,e){if(e.scale==1)return t;let i=e.toDOM(t.top),n=e.toDOM(t.bottom);return new si(t.from,t.length,i,n-i,Array.isArray(t._content)?t._content.map(O=>kr(O,e)):t._content)}const Ma=K.define({combine:t=>t.join(" ")}),Qu=K.define({combine:t=>t.indexOf(!0)>-1}),mu=$n.newName(),sP=$n.newName(),lP=$n.newName(),cP={"&light":"."+sP,"&dark":"."+lP};function gu(t,e,i){return new $n(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,O=>{if(O=="&")return t;if(!i||!i[O])throw new RangeError(`Unsupported selector: ${O}`);return i[O]}):t+" "+n}})}const Qk=gu("."+mu,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},cP),mk={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},ql=F.ie&&F.ie_version<=11;class gk{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new B1,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(i=>{for(let n of i)this.queue.push(n);(F.ie&&F.ie_version<=11||F.ios&&e.composing)&&i.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&F.android&&e.constructor.EDIT_CONTEXT!==!1&&!(F.chrome&&F.chrome_version<126)&&(this.editContext=new Sk(e),e.state.facet(Ni)&&(e.contentDOM.editContext=this.editContext.editContext)),ql&&(this.onCharData=i=>{this.queue.push({target:i.target,type:"characterData",oldValue:i.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var i;((i=this.view.docView)===null||i===void 0?void 0:i.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(i=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),i.length>0&&i[i.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(i=>{i.length>0&&i[i.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((i,n)=>i!=e[n]))){this.gapIntersection.disconnect();for(let i of e)this.gapIntersection.observe(i);this.gaps=e}}onSelectionChange(e){let i=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,O=this.selectionRange;if(n.state.facet(Ni)?n.root.activeElement!=this.dom:!zr(this.dom,O))return;let r=O.anchorNode&&n.docView.tile.nearest(O.anchorNode);if(r&&r.isWidget()&&r.widget.ignoreEvent(e)){i||(this.selectionChanged=!1);return}(F.ie&&F.ie_version<=11||F.android&&F.chrome)&&!n.state.selection.main.empty&&O.focusNode&&qr(O.focusNode,O.focusOffset,O.anchorNode,O.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,i=Mr(e.root);if(!i)return!1;let n=F.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Pk(this.view,i)||i;if(!n||this.selectionRange.eq(n))return!1;let O=zr(this.dom,n);return O&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&H1(this.dom,n)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(n),O&&(this.selectionChanged=!0),!0)}setSelectionRange(e,i){this.selectionRange.set(e.node,e.offset,i.node,i.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,i=null;for(let n=this.dom;n;)if(n.nodeType==1)!i&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:i||(i=this.scrollTargets.slice(0,e)),i&&i.push(n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;if(e<this.scrollTargets.length&&!i&&(i=this.scrollTargets.slice(0,e)),i){for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);for(let n of this.scrollTargets=i)n.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,mk),ql&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),ql&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,i){var n;if(!this.delayedAndroidKey){let O=()=>{let r=this.delayedAndroidKey;r&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=r.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&r.force&&qO(this.dom,r.key,r.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(O)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:i,force:this.lastChange<Date.now()-50||!!(!((n=this.delayedAndroidKey)===null||n===void 0)&&n.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let i=-1,n=-1,O=!1;for(let r of e){let a=this.readMutation(r);a&&(a.typeOver&&(O=!0),i==-1?{from:i,to:n}=a:(i=Math.min(a.from,i),n=Math.max(a.to,n)))}return{from:i,to:n,typeOver:O}}readChange(){let{from:e,to:i,typeOver:n}=this.processRecords(),O=this.selectionChanged&&zr(this.dom,this.selectionRange);if(e<0&&!O)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let r=new Ww(this.view,e,i,n);return this.view.docView.domChanged={newSel:r.newSel?r.newSel.main:null},r}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let i=this.readChange();if(!i)return this.view.requestMeasure(),!1;let n=this.view.state,O=Hg(this.view,i);return this.view.state==n&&(i.domChanged||i.newSel&&!Mo(this.view.state.selection,i.newSel.main))&&this.view.update([]),O}readMutation(e){let i=this.view.docView.tile.nearest(e.target);if(!i||i.isWidget())return null;if(i.markDirty(e.type=="attributes"),e.type=="childList"){let n=n$(i,e.previousSibling||e.target.previousSibling,-1),O=n$(i,e.nextSibling||e.target.nextSibling,1);return{from:n?i.posAfter(n):i.posAtStart,to:O?i.posBefore(O):i.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:i.posAtStart,to:i.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Ni)!=e.state.facet(Ni)&&(e.view.contentDOM.editContext=e.state.facet(Ni)?this.editContext.editContext:null))}destroy(){var e,i,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(i=this.gapIntersection)===null||i===void 0||i.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let O of this.scrollTargets)O.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function n$(t,e,i){for(;e;){let n=Ne.get(e);if(n&&n.parent==t)return n;let O=e.parentNode;e=O!=t.dom?O:i>0?e.nextSibling:e.previousSibling}return null}function O$(t,e){let i=e.startContainer,n=e.startOffset,O=e.endContainer,r=e.endOffset,a=t.docView.domAtPos(t.state.selection.main.anchor,1);return qr(a.node,a.offset,O,r)&&([i,n,O,r]=[O,r,i,n]),{anchorNode:i,anchorOffset:n,focusNode:O,focusOffset:r}}function Pk(t,e){if(e.getComposedRanges){let O=e.getComposedRanges(t.root)[0];if(O)return O$(t,O)}let i=null;function n(O){O.preventDefault(),O.stopImmediatePropagation(),i=O.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",n,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",n,!0),i?O$(t,i):null}class Sk{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let i=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let O=e.state.selection.main,{anchor:r,head:a}=O,o=this.toEditorPos(n.updateRangeStart),s=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:o,drifted:!1});let l=s-o>n.text.length;o==this.from&&r<this.from?o=r:s==this.to&&r>this.to&&(s=r);let c=Kg(e.state.sliceDoc(o,s),n.text,(l?O.from:O.to)-o,l?"end":null);if(!c){let h=U.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));Mo(h,O)||e.dispatch({selection:h,userEvent:"select"});return}let u={from:c.from+o,to:c.toA+o,insert:ye.of(n.text.slice(c.from,c.toB).split(`
|
|
16
|
+
`))};if((F.mac||F.android)&&u.from==a-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:o,to:s,insert:ye.of([n.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let h=this.to-this.from+(u.to-u.from+u.insert.length);Uh(e,u,U.single(this.toEditorPos(n.selectionStart,h),this.toEditorPos(n.selectionEnd,h)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from<u.to&&!u.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(i.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(i.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let O=[],r=null;for(let a=this.toEditorPos(n.rangeStart),o=this.toEditorPos(n.rangeEnd);a<o;a++){let s=e.coordsForChar(a);r=s&&new DOMRect(s.left,s.top,s.right-s.left,s.bottom-s.top)||r||new DOMRect,O.push(r)}i.updateCharacterBounds(n.rangeStart,O)},this.handlers.textformatupdate=n=>{let O=[];for(let r of n.getTextFormats()){let a=r.underlineStyle,o=r.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(o)){let s=this.toEditorPos(r.rangeStart),l=this.toEditorPos(r.rangeEnd);if(s<l){let c=`text-decoration: underline ${/^[a-z]/.test(a)?a+" ":a=="Dashed"?"dashed ":a=="Squiggle"?"wavy ":""}${/thin/i.test(o)?1:2}px`;O.push(he.mark({attributes:{style:c}}).range(s,l))}}}e.dispatch({effects:Eg.of(he.set(O))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)i.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{this.editContext.updateControlBounds(n.contentDOM.getBoundingClientRect());let O=Mr(n.root);O&&O.rangeCount&&this.editContext.updateSelectionBounds(O.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let i=0,n=!1,O=this.pendingContextChange;return e.changes.iterChanges((r,a,o,s,l)=>{if(n)return;let c=l.length-(a-r);if(O&&a>=O.to)if(O.from==r&&O.to==a&&O.insert.eq(l)){O=this.pendingContextChange=null,i+=c,this.to+=c;return}else O=null,this.revertPending(e.state);if(r+=i,a+=i,a<=this.from)this.from+=c,this.to+=c;else if(r<this.to){if(r<this.from||a>this.to||this.to-this.from+l.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(a),l.toString()),this.to+=c}i+=c}),O&&!n&&this.revertPending(e.state),!n}update(e){let i=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(O=>!O.isUserEvent("input.type")&&O.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||i)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:i}=e.selection.main;this.from=Math.max(0,i-1e4),this.to=Math.min(e.doc.length,i+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let i=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(i.from),this.toContextPos(i.from+i.insert.length),e.doc.sliceString(i.from,i.to))}setSelection(e){let{main:i}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,i.anchor))),O=this.toContextPos(i.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=O)&&this.editContext.updateSelection(n,O)}rangeIsValid(e){let{head:i}=e.selection.main;return!(this.from>0&&i-this.from<500||this.to<e.doc.length&&this.to-i<500||this.to-this.from>1e4*3)}toEditorPos(e,i=this.to-this.from){e=Math.min(e,i);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let i=this.composing;return i&&i.drifted?i.contextBase+(e-i.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class H{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var i;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(O=>O.forEach(r=>n(r,this)))||(O=>this.update(O)),this.dispatch=this.dispatch.bind(this),this._root=e.root||F1(e.parent)||document,this.viewState=new e$(this,e.state||Xe.create(e)),e.scrollTo&&e.scrollTo.is(Ga)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(RO).map(O=>new vl(O));for(let O of this.plugins)O.update(this);this.observer=new gk(this),this.inputState=new Gw(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Ed(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((i=document.fonts)===null||i===void 0)&&i.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let i=e.length==1&&e[0]instanceof Be?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(i,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let i=!1,n=!1,O,r=this.state;for(let h of e){if(h.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");r=h.state}if(this.destroyed){this.viewState.state=r;return}let a=this.hasFocus,o=0,s=null;e.some(h=>h.annotation(OP))?(this.inputState.notifiedFocused=a,o=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,s=rP(r,a),s||(o=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(c=null)):this.observer.clear(),r.facet(Xe.phrases)!=this.state.facet(Xe.phrases))return this.setState(r);O=Io.create(this,r,e),O.flags|=o;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let h of e){if(u&&(u=u.map(h.changes)),h.scrollIntoView){let{main:d}=h.state.selection;u=new UO(d.empty?d:U.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of h.effects)d.is(Ga)&&(u=d.value.clip(this.state))}this.viewState.update(O,u),this.bidiCache=Fo.update(this.bidiCache,O.changes),O.empty||(this.updatePlugins(O),this.inputState.update(O)),i=this.docView.update(O),this.state.facet(wr)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some(h=>h.isUserEvent("select.pointer")))}finally{this.updateState=0}if(O.startState.facet(Ma)!=O.state.facet(Ma)&&(this.viewState.mustMeasureContent=!0),(i||n||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),i&&this.docViewUpdate(),!O.empty)for(let h of this.state.facet(hu))try{h(O)}catch(d){xi(this.state,d,"update listener")}(s||c)&&Promise.resolve().then(()=>{s&&this.state==s.startState&&this.dispatch(s),c&&!Hg(this,c)&&l.force&&qO(this.contentDOM,l.key,l.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let i=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new e$(this,e),this.plugins=e.facet(RO).map(n=>new vl(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Ed(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}i&&this.focus(),this.requestMeasure()}updatePlugins(e){let i=e.startState.facet(RO),n=e.state.facet(RO);if(i!=n){let O=[];for(let r of n){let a=i.indexOf(r);if(a<0)O.push(new vl(r));else{let o=this.plugins[a];o.mustUpdate=e,O.push(o)}}for(let r of this.plugins)r.mustUpdate!=e&&r.destroy(this);this.plugins=O,this.pluginMap.clear()}else for(let O of this.plugins)O.mustUpdate=e;for(let O=0;O<this.plugins.length;O++)this.plugins[O].update(this);i!=n&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let i=e.value;if(i&&i.docViewUpdate)try{i.docViewUpdate(this)}catch(n){xi(this.state,n,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let i=null,n=this.viewState.scrollParent,O=this.viewState.getScrollOffset(),{scrollAnchorPos:r,scrollAnchorHeight:a}=this.viewState;Math.abs(O-this.viewState.scrollOffset)>1&&(a=-1),this.viewState.scrollAnchorHeight=-1;try{for(let o=0;;o++){if(a<0)if(yg(n||this.win))r=-1,a=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(O);r=d.from,a=d.top}this.updateState=1;let s=this.viewState.measure();if(!s&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(o>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];s&4||([this.measureRequests,l]=[l,this.measureRequests]);let c=l.map(d=>{try{return d.read(this)}catch(p){return xi(this.state,p),r$}}),u=Io.create(this,this.state,[]),h=!1;u.flags|=s,i?i.flags|=s:i=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),h=this.docView.update(u),h&&this.docViewUpdate());for(let d=0;d<l.length;d++)if(c[d]!=r$)try{let p=l[d];p.write&&p.write(c[d],this)}catch(p){xi(this.state,p)}if(h&&this.docView.updateSelection(!0),!u.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,a=-1;continue}else{let p=((r<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(r).top)-a)/this.scaleY;if((p>1||p<-1)&&(n==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){O=O+p,n?n.scrollTop+=p:this.win.scrollBy(0,p),a=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(i&&!i.empty)for(let o of this.state.facet(hu))o(i)}get themeClasses(){return mu+" "+(this.state.facet(Qu)?lP:sP)+" "+this.state.facet(Ma)}updateAttrs(){let e=a$(this,Gg,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),i={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Ni)?"true":"false",class:"cm-content",style:`${F.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(i["aria-readonly"]="true"),a$(this,zh,i);let n=this.observer.ignore(()=>{let O=qd(this.contentDOM,this.contentAttrs,i),r=qd(this.dom,this.editorAttrs,e);return O||r});return this.editorAttrs=e,this.contentAttrs=i,n}showAnnouncements(e){let i=!0;for(let n of e)for(let O of n.effects)if(O.is(H.announce)){i&&(this.announceDOM.textContent=""),i=!1;let r=this.announceDOM.appendChild(document.createElement("div"));r.textContent=O.value}}mountStyles(){this.styleModules=this.state.facet(wr);let e=this.state.facet(H.cspNonce);$n.mount(this.root,this.styleModules.concat(Qk).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let i=0;i<this.measureRequests.length;i++)if(this.measureRequests[i].key===e.key){this.measureRequests[i]=e;return}}this.measureRequests.push(e)}}plugin(e){let i=this.pluginMap.get(e);return(i===void 0||i&&i.plugin!=e)&&this.pluginMap.set(e,i=this.plugins.find(n=>n.plugin==e)||null),i&&i.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,i,n){return Zl(this,e,Gd(this,e,i,n))}moveByGroup(e,i){return Zl(this,e,Gd(this,e,i,n=>Yw(this,e.head,n)))}visualLineSide(e,i){let n=this.bidiSpans(e),O=this.textDirectionAt(e.from),r=n[i?n.length-1:0];return U.cursor(r.side(i,O)+e.from,r.forward(!i,O)?1:-1)}moveToLineBoundary(e,i,n=!0){return Rw(this,e,i,n)}moveVertically(e,i,n){return Zl(this,e,Zw(this,e,i,n))}domAtPos(e,i=1){return this.docView.domAtPos(e,i)}posAtDOM(e,i=0){return this.docView.posFromDOM(e,i)}posAtCoords(e,i=!0){this.readMeasured();let n=$u(this,e,i);return n&&n.pos}posAndSideAtCoords(e,i=!0){return this.readMeasured(),$u(this,e,i)}coordsAtPos(e,i=1){this.readMeasured();let n=this.docView.coordsAt(e,i);if(!n||n.left==n.right)return n;let O=this.state.doc.lineAt(e),r=this.bidiSpans(O),a=r[yi.find(r,e-O.from,-1,i)];return No(n,a.dir==Ee.LTR==i>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Wg)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>bk)return _g(e.length);let i=this.textDirectionAt(e.from),n;for(let r of this.bidiCache)if(r.from==e.from&&r.dir==i&&(r.fresh||vg(r.isolates,n=Wd(this,e))))return r.order;n||(n=Wd(this,e));let O=Ow(e.text,i,n);return this.bidiCache.push(new Fo(e.from,e.to,i,n,!0,O)),O}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||F.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Xg(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,i={}){return Ga.of(new UO(typeof e=="number"?U.cursor(e):e,i.y,i.x,i.yMargin,i.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:i}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Ga.of(new UO(U.cursor(n.from),"start","start",n.top-e,i,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return gt.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return gt.define(()=>({}),{eventObservers:e})}static theme(e,i){let n=$n.newName(),O=[Ma.of(n),wr.of(gu(`.${n}`,e))];return i&&i.dark&&O.push(Qu.of(!0)),O}static baseTheme(e){return aO.lowest(wr.of(gu("."+mu,e,cP)))}static findFromDOM(e){var i;let n=e.querySelector(".cm-content"),O=n&&Ne.get(n)||Ne.get(e);return((i=O==null?void 0:O.root)===null||i===void 0?void 0:i.view)||null}}H.styleModule=wr;H.inputHandler=Ug;H.clipboardInputFilter=Yh;H.clipboardOutputFilter=Zh;H.scrollHandler=Cg;H.focusChangeEffect=Vg;H.perLineTextDirection=Wg;H.exceptionSink=qg;H.updateListener=hu;H.editable=Ni;H.mouseSelectionStyle=zg;H.dragMovesSelection=Zg;H.clickAddsSelectionRange=Yg;H.decorations=Ts;H.blockWrappers=Ag;H.outerDecorations=qh;H.atomicRanges=ma;H.bidiIsolatedRanges=Ng;H.scrollMargins=Ig;H.darkTheme=Qu;H.cspNonce=K.define({combine:t=>t.length?t[0]:""});H.contentAttributes=zh;H.editorAttributes=Gg;H.lineWrapping=H.contentAttributes.of({class:"cm-lineWrapping"});H.announce=xe.define();const bk=4096,r$={};class Fo{constructor(e,i,n,O,r,a){this.from=e,this.to=i,this.dir=n,this.isolates=O,this.fresh=r,this.order=a}static update(e,i){if(i.empty&&!e.some(r=>r.fresh))return e;let n=[],O=e.length?e[e.length-1].dir:Ee.LTR;for(let r=Math.max(0,e.length-10);r<e.length;r++){let a=e[r];a.dir==O&&!i.touchesRange(a.from,a.to)&&n.push(new Fo(i.mapPos(a.from,1),i.mapPos(a.to,-1),a.dir,a.isolates,!1,a.order))}return n}}function a$(t,e,i){for(let n=t.state.facet(e),O=n.length-1;O>=0;O--){let r=n[O],a=typeof r=="function"?r(t):r;a&&vh(a,i)}return i}const Xk=F.mac?"mac":F.windows?"win":F.linux?"linux":"key";function yk(t,e){const i=t.split(/-(?!$)/);let n=i[i.length-1];n=="Space"&&(n=" ");let O,r,a,o;for(let s=0;s<i.length-1;++s){const l=i[s];if(/^(cmd|meta|m)$/i.test(l))o=!0;else if(/^a(lt)?$/i.test(l))O=!0;else if(/^(c|ctrl|control)$/i.test(l))r=!0;else if(/^s(hift)?$/i.test(l))a=!0;else if(/^mod$/i.test(l))e=="mac"?o=!0:r=!0;else throw new Error("Unrecognized modifier name: "+l)}return O&&(n="Alt-"+n),r&&(n="Ctrl-"+n),o&&(n="Meta-"+n),a&&(n="Shift-"+n),n}function Ba(t,e,i){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),i!==!1&&e.shiftKey&&(t="Shift-"+t),t}const xk=aO.default(H.domEventHandlers({keydown(t,e){return hP(uP(e.state),t,e,"editor")}})),Ys=K.define({enables:xk}),o$=new WeakMap;function uP(t){let e=t.facet(Ys),i=o$.get(e);return i||o$.set(e,i=Tk(e.reduce((n,O)=>n.concat(O),[]))),i}function wk(t,e,i){return hP(uP(t.state),e,t,i)}let sn=null;const kk=4e3;function Tk(t,e=Xk){let i=Object.create(null),n=Object.create(null),O=(a,o)=>{let s=n[a];if(s==null)n[a]=o;else if(s!=o)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},r=(a,o,s,l,c)=>{var u,h;let d=i[a]||(i[a]=Object.create(null)),p=o.split(/ (?!$)/).map(m=>yk(m,e));for(let m=1;m<p.length;m++){let S=p.slice(0,m).join(" ");O(S,!0),d[S]||(d[S]={preventDefault:!0,stopPropagation:!1,run:[X=>{let z=sn={view:X,prefix:S,scope:a};return setTimeout(()=>{sn==z&&(sn=null)},kk),!0}]})}let Q=p.join(" ");O(Q,!1);let g=d[Q]||(d[Q]={preventDefault:!1,stopPropagation:!1,run:((h=(u=d._any)===null||u===void 0?void 0:u.run)===null||h===void 0?void 0:h.slice())||[]});s&&g.run.push(s),l&&(g.preventDefault=!0),c&&(g.stopPropagation=!0)};for(let a of t){let o=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let l of o){let c=i[l]||(i[l]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=a;for(let h in c)c[h].run.push(d=>u(d,Pu))}let s=a[e]||a.key;if(s)for(let l of o)r(l,s,a.run,a.preventDefault,a.stopPropagation),a.shift&&r(l,"Shift-"+s,a.shift,a.preventDefault,a.stopPropagation)}return i}let Pu=null;function hP(t,e,i,n){Pu=e;let O=G1(e),r=rO(O,0),a=$a(r)==O.length&&O!=" ",o="",s=!1,l=!1,c=!1;sn&&sn.view==i&&sn.scope==n&&(o=sn.prefix+" ",eP.indexOf(e.keyCode)<0&&(l=!0,sn=null));let u=new Set,h=g=>{if(g){for(let m of g.run)if(!u.has(m)&&(u.add(m),m(i)))return g.stopPropagation&&(c=!0),!0;g.preventDefault&&(g.stopPropagation&&(c=!0),l=!0)}return!1},d=t[n],p,Q;return d&&(h(d[o+Ba(O,e,!a)])?s=!0:a&&(e.altKey||e.metaKey||e.ctrlKey)&&!(F.windows&&e.ctrlKey&&e.altKey)&&!(F.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=pn[e.keyCode])&&p!=O?(h(d[o+Ba(p,e,!0)])||e.shiftKey&&(Q=Lr[e.keyCode])!=O&&Q!=p&&h(d[o+Ba(Q,e,!1)]))&&(s=!0):a&&e.shiftKey&&h(d[o+Ba(O,e,!0)])&&(s=!0),!s&&h(d._any)&&(s=!0)),l&&(s=!0),s&&c&&e.stopPropagation(),Pu=null,s}class In{constructor(e,i,n,O,r){this.className=e,this.left=i,this.top=n,this.width=O,this.height=r}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,i){return i.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,i,n){if(n.empty){let O=e.coordsAtPos(n.head,n.assoc||1);if(!O)return[];let r=fP(e);return[new In(i,O.left-r.left,O.top-r.top,null,O.bottom-O.top)]}else return vk(e,i,n)}}function fP(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Ee.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function s$(t,e,i,n){let O=t.coordsAtPos(e,i*2);if(!O)return n;let r=t.dom.getBoundingClientRect(),a=(O.top+O.bottom)/2,o=t.posAtCoords({x:r.left+1,y:a}),s=t.posAtCoords({x:r.right-1,y:a});return o==null||s==null?n:{from:Math.max(n.from,Math.min(o,s)),to:Math.min(n.to,Math.max(o,s))}}function vk(t,e,i){if(i.to<=t.viewport.from||i.from>=t.viewport.to)return[];let n=Math.max(i.from,t.viewport.from),O=Math.min(i.to,t.viewport.to),r=t.textDirection==Ee.LTR,a=t.contentDOM,o=a.getBoundingClientRect(),s=fP(t),l=a.querySelector(".cm-line"),c=l&&window.getComputedStyle(l),u=o.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),h=o.right-(c?parseInt(c.paddingRight):0),d=du(t,n,1),p=du(t,O,-1),Q=d.type==ot.Text?d:null,g=p.type==ot.Text?p:null;if(Q&&(t.lineWrapping||d.widgetLineBreaks)&&(Q=s$(t,n,1,Q)),g&&(t.lineWrapping||p.widgetLineBreaks)&&(g=s$(t,O,-1,g)),Q&&g&&Q.from==g.from&&Q.to==g.to)return S(X(i.from,i.to,Q));{let R=Q?X(i.from,null,Q):z(d,!1),G=g?X(null,i.to,g):z(p,!0),j=[];return(Q||d).to<(g||p).from-(Q&&g?1:0)||d.widgetLineBreaks>1&&R.bottom+t.defaultLineHeight/2<G.top?j.push(m(u,R.bottom,h,G.top)):R.bottom<G.top&&t.elementAtHeight((R.bottom+G.top)/2).type==ot.Text&&(R.bottom=G.top=(R.bottom+G.top)/2),S(R).concat(j).concat(S(G))}function m(R,G,j,C){return new In(e,R-s.left,G-s.top,Math.max(0,j-R),C-G)}function S({top:R,bottom:G,horizontal:j}){let C=[];for(let D=0;D<j.length;D+=2)C.push(m(j[D],R,j[D+1],G));return C}function X(R,G,j){let C=1e9,D=-1e9,V=[];function v(b,k,Y,x,E){let q=t.coordsAtPos(b,b==j.to?-2:2),W=t.coordsAtPos(Y,Y==j.from?2:-2);!q||!W||(C=Math.min(q.top,W.top,C),D=Math.max(q.bottom,W.bottom,D),E==Ee.LTR?V.push(r&&k?u:q.left,r&&x?h:W.right):V.push(!r&&x?u:W.left,!r&&k?h:q.right))}let _=R??j.from,w=G??j.to;for(let b of t.visibleRanges)if(b.to>_&&b.from<w)for(let k=Math.max(b.from,_),Y=Math.min(b.to,w);;){let x=t.state.doc.lineAt(k);for(let E of t.bidiSpans(x)){let q=E.from+x.from,W=E.to+x.from;if(q>=Y)break;W>k&&v(Math.max(q,k),R==null&&q<=_,Math.min(W,Y),G==null&&W>=w,E.dir)}if(k=x.to+1,k>=Y)break}return V.length==0&&v(_,R==null,w,G==null,t.textDirection),{top:C,bottom:D,horizontal:V}}function z(R,G){let j=o.top+(G?R.top:R.bottom);return{top:j,bottom:j,horizontal:[]}}}function _k(t,e){return t.constructor==e.constructor&&t.eq(e)}class Rk{constructor(e,i){this.view=e,this.layer=i,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),i.above&&this.dom.classList.add("cm-layer-above"),i.class&&this.dom.classList.add(i.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),i.mount&&i.mount(this.dom,e)}update(e){e.startState.facet(xo)!=e.state.facet(xo)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let i=0,n=e.facet(xo);for(;i<n.length&&n[i]!=this.layer;)i++;this.dom.style.zIndex=String((this.layer.above?150:-1)-i)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:i}=this.view;(e!=this.scaleX||i!=this.scaleY)&&(this.scaleX=e,this.scaleY=i,this.dom.style.transform=`scale(${1/e}, ${1/i})`)}draw(e){if(e.length!=this.drawn.length||e.some((i,n)=>!_k(i,this.drawn[n]))){let i=this.dom.firstChild,n=0;for(let O of e)O.update&&i&&O.constructor&&this.drawn[n].constructor&&O.update(i,this.drawn[n])?(i=i.nextSibling,n++):this.dom.insertBefore(O.draw(),i);for(;i;){let O=i.nextSibling;i.remove(),i=O}this.drawn=e,F.safari&&F.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const xo=K.define();function dP(t){return[gt.define(e=>new Rk(e,t)),xo.of(t)]}const IO=K.define({combine(t){return oO(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,i)=>Math.min(e,i),drawRangeCursor:(e,i)=>e||i})}});function Yk(t={}){return[IO.of(t),Zk,zk,qk,jg.of(!0)]}function $P(t){return t.startState.facet(IO)!=t.state.facet(IO)}const Zk=dP({above:!0,markers(t){let{state:e}=t,i=e.facet(IO),n=[];for(let O of e.selection.ranges){let r=O==e.selection.main;if(O.empty||i.drawRangeCursor&&!(r&&F.ios&&i.iosSelectionHandles)){let a=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=O.empty?O:U.cursor(O.head,O.assoc);for(let s of In.forRange(t,a,o))n.push(s)}}return n},update(t,e){t.transactions.some(n=>n.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let i=$P(t);return i&&l$(t.state,e),t.docChanged||t.selectionSet||i},mount(t,e){l$(e.state,t)},class:"cm-cursorLayer"});function l$(t,e){e.style.animationDuration=t.facet(IO).cursorBlinkRate+"ms"}const zk=dP({above:!1,markers(t){let e=[],{main:i,ranges:n}=t.state.selection;for(let O of n)if(!O.empty)for(let r of In.forRange(t,"cm-selectionBackground",O))e.push(r);if(F.ios&&!i.empty&&t.state.facet(IO).iosSelectionHandles){for(let O of In.forRange(t,"cm-selectionHandle cm-selectionHandle-start",U.cursor(i.from,1)))e.push(O);for(let O of In.forRange(t,"cm-selectionHandle cm-selectionHandle-end",U.cursor(i.to,1)))e.push(O)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||$P(t)},class:"cm-selectionLayer"}),qk=aO.highest(H.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));function Uk(){return Wk}const Vk=he.line({class:"cm-activeLine"}),Wk=gt.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,i=[];for(let n of t.state.selection.ranges){let O=t.lineBlockAt(n.head);O.from>e&&(i.push(Vk.range(O.from)),e=O.from)}return he.set(i)}},{decorations:t=>t.decorations}),Su=2e3;function jk(t,e,i){let n=Math.min(e.line,i.line),O=Math.max(e.line,i.line),r=[];if(e.off>Su||i.off>Su||e.col<0||i.col<0){let a=Math.min(e.off,i.off),o=Math.max(e.off,i.off);for(let s=n;s<=O;s++){let l=t.doc.line(s);l.length<=o&&r.push(U.range(l.from+a,l.to+o))}}else{let a=Math.min(e.col,i.col),o=Math.max(e.col,i.col);for(let s=n;s<=O;s++){let l=t.doc.line(s),c=tu(l.text,a,t.tabSize,!0);if(c<0)r.push(U.cursor(l.to));else{let u=tu(l.text,o,t.tabSize);r.push(U.range(l.from+c,l.from+u))}}}return r}function Ck(t,e){let i=t.coordsAtPos(t.viewport.from);return i?Math.round(Math.abs((i.left-e)/t.defaultCharacterWidth)):-1}function c$(t,e){let i=t.posAtCoords({x:e.clientX,y:e.clientY},!1),n=t.state.doc.lineAt(i),O=i-n.from,r=O>Su?-1:O==n.length?Ck(t,e.clientX):Yi(n.text,t.state.tabSize,i-n.from);return{line:n.number,col:r,off:O}}function Ek(t,e){let i=c$(t,e),n=t.state.selection;return i?{update(O){if(O.docChanged){let r=O.changes.mapPos(O.startState.doc.line(i.line).from),a=O.state.doc.lineAt(r);i={line:a.number,col:i.col,off:Math.min(i.off,a.length)},n=n.map(O.changes)}},get(O,r,a){let o=c$(t,O);if(!o)return n;let s=jk(t.state,i,o);return s.length?a?U.create(s.concat(n.ranges)):U.create(s):n}}:null}function q8(t){let e=(i=>i.altKey&&i.button==0);return H.mouseSelectionStyle.of((i,n)=>e(n)?Ek(i,n):null)}const u$=K.define({combine(t){let e,i;for(let n of t)e=e||n.topContainer,i=i||n.bottomContainer;return{topContainer:e,bottomContainer:i}}});function pP(t,e){let i=t.plugin(QP),n=i?i.specs.indexOf(e):-1;return n>-1?i.panels[n]:null}const QP=gt.fromClass(class{constructor(t){this.input=t.state.facet(Ho),this.specs=this.input.filter(i=>i),this.panels=this.specs.map(i=>i(t));let e=t.state.facet(u$);this.top=new Fa(t,!0,e.topContainer),this.bottom=new Fa(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(i=>i.top)),this.bottom.sync(this.panels.filter(i=>!i.top));for(let i of this.panels)i.dom.classList.add("cm-panel"),i.mount&&i.mount()}update(t){let e=t.state.facet(u$);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Fa(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Fa(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=t.state.facet(Ho);if(i!=this.input){let n=i.filter(s=>s),O=[],r=[],a=[],o=[];for(let s of n){let l=this.specs.indexOf(s),c;l<0?(c=s(t.view),o.push(c)):(c=this.panels[l],c.update&&c.update(t)),O.push(c),(c.top?r:a).push(c)}this.specs=n,this.panels=O,this.top.sync(r),this.bottom.sync(a);for(let s of o)s.dom.classList.add("cm-panel"),s.mount&&s.mount()}else for(let n of this.panels)n.update&&n.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>H.scrollMargins.of(e=>{let i=e.plugin(t);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}})});class Fa{constructor(e,i,n){this.view=e,this.top=i,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let i of this.panels)i.destroy&&e.indexOf(i)<0&&i.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let i=this.container||this.view.dom;i.insertBefore(this.dom,this.top?i.firstChild:null)}let e=this.dom.firstChild;for(let i of this.panels)if(i.dom.parentNode==this.dom){for(;e!=i.dom;)e=h$(e);e=e.nextSibling}else this.dom.insertBefore(i.dom,e);for(;e;)e=h$(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function h$(t){let e=t.nextSibling;return t.remove(),e}const Ho=K.define({enables:QP});function Gk(t,e){let i,n=new Promise(a=>i=a),O=a=>Ak(a,e,i);t.state.field(Ul,!1)?t.dispatch({effects:mP.of(O)}):t.dispatch({effects:xe.appendConfig.of(Ul.init(()=>[O]))});let r=gP.of(O);return{close:r,result:n.then(a=>((t.win.queueMicrotask||(s=>t.win.setTimeout(s,10)))(()=>{t.state.field(Ul).indexOf(O)>-1&&t.dispatch({effects:r})}),a))}}const Ul=At.define({create(){return[]},update(t,e){for(let i of e.effects)i.is(mP)?t=[i.value].concat(t):i.is(gP)&&(t=t.filter(n=>n!=i.value));return t},provide:t=>Ho.computeN([t],e=>e.field(t))}),mP=xe.define(),gP=xe.define();function Ak(t,e,i){let n=e.content?e.content(t,()=>a(null)):null;if(!n){if(n=it("form"),e.input){let o=it("input",e.input);/^(text|password|number|email|tel|url)$/.test(o.type)&&o.classList.add("cm-textfield"),o.name||(o.name="input"),n.appendChild(it("label",(e.label||"")+": ",o))}else n.appendChild(document.createTextNode(e.label||""));n.appendChild(document.createTextNode(" ")),n.appendChild(it("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let O=n.nodeName=="FORM"?[n]:n.querySelectorAll("form");for(let o=0;o<O.length;o++){let s=O[o];s.addEventListener("keydown",l=>{l.keyCode==27?(l.preventDefault(),a(null)):l.keyCode==13&&(l.preventDefault(),a(s))}),s.addEventListener("submit",l=>{l.preventDefault(),a(s)})}let r=it("div",n,it("button",{onclick:()=>a(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(r.className=e.class),r.classList.add("cm-dialog");function a(o){r.contains(r.ownerDocument.activeElement)&&t.focus(),i(o)}return{dom:r,top:e.top,mount:()=>{if(e.focus){let o;typeof e.focus=="string"?o=n.querySelector(e.focus):o=n.querySelector("input")||n.querySelector("button"),o&&"select"in o?o.select():o&&"focus"in o&&o.focus()}}}}class Bi extends dn{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Bi.prototype.elementClass="";Bi.prototype.toDOM=void 0;Bi.prototype.mapMode=ut.TrackBefore;Bi.prototype.startSide=Bi.prototype.endSide=-1;Bi.prototype.point=!0;const wo=K.define(),Nk=K.define(),Ik={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Pe.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Vr=K.define();function Lk(t){return[PP(),Vr.of({...Ik,...t})]}const f$=K.define({combine:t=>t.some(e=>e)});function PP(t){return[Dk]}const Dk=gt.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Vr).map(e=>new $$(t,e)),this.fixed=!t.state.facet(f$);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,i=t.view.viewport,n=Math.min(e.to,i.to)-Math.max(e.from,i.from);this.syncGutters(n<(i.to-i.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(f$)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let i=Pe.iter(this.view.state.facet(wo),this.view.viewport.from),n=[],O=this.gutters.map(r=>new Mk(r,this.view.viewport,-this.view.documentPadding.top));for(let r of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(r.type)){let a=!0;for(let o of r.type)if(o.type==ot.Text&&a){bu(i,n,o.from);for(let s of O)s.line(this.view,o,n);a=!1}else if(o.widget)for(let s of O)s.widget(this.view,o)}else if(r.type==ot.Text){bu(i,n,r.from);for(let a of O)a.line(this.view,r,n)}else if(r.widget)for(let a of O)a.widget(this.view,r);for(let r of O)r.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Vr),i=t.state.facet(Vr),n=t.docChanged||t.heightChanged||t.viewportChanged||!Pe.eq(t.startState.facet(wo),t.state.facet(wo),t.view.viewport.from,t.view.viewport.to);if(e==i)for(let O of this.gutters)O.update(t)&&(n=!0);else{n=!0;let O=[];for(let r of i){let a=e.indexOf(r);a<0?O.push(new $$(this.view,r)):(this.gutters[a].update(t),O.push(this.gutters[a]))}for(let r of this.gutters)r.dom.remove(),O.indexOf(r)<0&&r.destroy();for(let r of O)r.config.side=="after"?this.getDOMAfter().appendChild(r.dom):this.dom.appendChild(r.dom);this.gutters=O}return n}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>H.scrollMargins.of(e=>{let i=e.plugin(t);if(!i||i.gutters.length==0||!i.fixed)return null;let n=i.dom.offsetWidth*e.scaleX,O=i.domAfter?i.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Ee.LTR?{left:n,right:O}:{right:n,left:O}})});function d$(t){return Array.isArray(t)?t:[t]}function bu(t,e,i){for(;t.value&&t.from<=i;)t.from==i&&e.push(t.value),t.next()}class Mk{constructor(e,i,n){this.gutter=e,this.height=n,this.i=0,this.cursor=Pe.iter(e.markers,i.from)}addElement(e,i,n){let{gutter:O}=this,r=(i.top-this.height)/e.scaleY,a=i.height/e.scaleY;if(this.i==O.elements.length){let o=new SP(e,a,r,n);O.elements.push(o),O.dom.appendChild(o.dom)}else O.elements[this.i].update(e,a,r,n);this.height=i.bottom,this.i++}line(e,i,n){let O=[];bu(this.cursor,O,i.from),n.length&&(O=O.concat(n));let r=this.gutter.config.lineMarker(e,i,O);r&&O.unshift(r);let a=this.gutter;O.length==0&&!a.config.renderEmptyElements||this.addElement(e,i,O)}widget(e,i){let n=this.gutter.config.widgetMarker(e,i.widget,i),O=n?[n]:null;for(let r of e.state.facet(Nk)){let a=r(e,i.widget,i);a&&(O||(O=[])).push(a)}O&&this.addElement(e,i,O)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let i=e.elements.pop();e.dom.removeChild(i.dom),i.destroy()}}}class $${constructor(e,i){this.view=e,this.config=i,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in i.domEventHandlers)this.dom.addEventListener(n,O=>{let r=O.target,a;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let s=r.getBoundingClientRect();a=(s.top+s.bottom)/2}else a=O.clientY;let o=e.lineBlockAtHeight(a-e.documentTop);i.domEventHandlers[n](e,o,O)&&O.preventDefault()});this.markers=d$(i.markers(e)),i.initialSpacer&&(this.spacer=new SP(e,0,0,[i.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let i=this.markers;if(this.markers=d$(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let O=this.config.updateSpacer(this.spacer.markers[0],e);O!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[O])}let n=e.view.viewport;return!Pe.eq(this.markers,i,n.from,n.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class SP{constructor(e,i,n,O){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,i,n,O)}update(e,i,n,O){this.height!=i&&(this.height=i,this.dom.style.height=i+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),Bk(this.markers,O)||this.setMarkers(e,O)}setMarkers(e,i){let n="cm-gutterElement",O=this.dom.firstChild;for(let r=0,a=0;;){let o=a,s=r<i.length?i[r++]:null,l=!1;if(s){let c=s.elementClass;c&&(n+=" "+c);for(let u=a;u<this.markers.length;u++)if(this.markers[u].compare(s)){o=u,l=!0;break}}else o=this.markers.length;for(;a<o;){let c=this.markers[a++];if(c.toDOM){c.destroy(O);let u=O.nextSibling;O.remove(),O=u}}if(!s)break;s.toDOM&&(l?O=O.nextSibling:this.dom.insertBefore(s.toDOM(e),O)),l&&a++}this.dom.className=n,this.markers=i}destroy(){this.setMarkers(null,[])}}function Bk(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(!t[i].compare(e[i]))return!1;return!0}const Fk=K.define(),Hk=K.define(),YO=K.define({combine(t){return oO(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,i){let n=Object.assign({},e);for(let O in i){let r=n[O],a=i[O];n[O]=r?(o,s,l)=>r(o,s,l)||a(o,s,l):a}return n}})}});class Vl extends Bi{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Wl(t,e){return t.state.facet(YO).formatNumber(e,t.state)}const Kk=Vr.compute([YO],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(Fk)},lineMarker(e,i,n){return n.some(O=>O.toDOM)?null:new Vl(Wl(e,e.state.doc.lineAt(i.from).number))},widgetMarker:(e,i,n)=>{for(let O of e.state.facet(Hk)){let r=O(e,i,n);if(r)return r}return null},lineMarkerChange:e=>e.startState.facet(YO)!=e.state.facet(YO),initialSpacer(e){return new Vl(Wl(e,p$(e.state.doc.lines)))},updateSpacer(e,i){let n=Wl(i.view,p$(i.view.state.doc.lines));return n==e.number?e:new Vl(n)},domEventHandlers:t.facet(YO).domEventHandlers,side:"before"}));function Jk(t={}){return[YO.of(t),PP(),Kk]}function p$(t){let e=9;for(;e<t;)e=e*10+9;return e}const eT=new class extends Bi{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},tT=wo.compute(["selection"],t=>{let e=[],i=-1;for(let n of t.selection.ranges){let O=t.doc.lineAt(n.head).from;O>i&&(i=O,e.push(eT.range(O)))}return Pe.of(e)});function iT(){return tT}const bP=1024;let nT=0;class Kt{constructor(e,i){this.from=e,this.to=i}}class ce{constructor(e={}){this.id=nT++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Fe.match(e)),i=>{let n=e(i);return n===void 0?null:[this,n]}}}ce.closedBy=new ce({deserialize:t=>t.split(" ")});ce.openedBy=new ce({deserialize:t=>t.split(" ")});ce.group=new ce({deserialize:t=>t.split(" ")});ce.isolate=new ce({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});ce.contextHash=new ce({perNode:!0});ce.lookAhead=new ce({perNode:!0});ce.mounted=new ce({perNode:!0});class VO{constructor(e,i,n,O=!1){this.tree=e,this.overlay=i,this.parser=n,this.bracketed=O}static get(e){return e&&e.props&&e.props[ce.mounted.id]}}const OT=Object.create(null);class Fe{constructor(e,i,n,O=0){this.name=e,this.props=i,this.id=n,this.flags=O}static define(e){let i=e.props&&e.props.length?Object.create(null):OT,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),O=new Fe(e.name||"",i,e.id,n);if(e.props){for(let r of e.props)if(Array.isArray(r)||(r=r(O)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");i[r[0].id]=r[1]}}return O}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let i=this.prop(ce.group);return i?i.indexOf(e)>-1:!1}return this.id==e}static match(e){let i=Object.create(null);for(let n in e)for(let O of n.split(" "))i[O]=e[n];return n=>{for(let O=n.prop(ce.group),r=-1;r<(O?O.length:0);r++){let a=i[r<0?n.name:O[r]];if(a)return a}}}}Fe.none=new Fe("",Object.create(null),0,8);class tr{constructor(e){this.types=e;for(let i=0;i<e.length;i++)if(e[i].id!=i)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let i=[];for(let n of this.types){let O=null;for(let r of e){let a=r(n);if(a){O||(O=Object.assign({},n.props));let o=a[1],s=a[0];s.combine&&s.id in O&&(o=s.combine(O[s.id],o)),O[s.id]=o}}i.push(O?new Fe(n.name,O,n.id,n.flags):n)}return new tr(i)}}const Ha=new WeakMap,Q$=new WeakMap;var Ye;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(Ye||(Ye={}));class me{constructor(e,i,n,O,r){if(this.type=e,this.children=i,this.positions=n,this.length=O,this.props=null,r&&r.length){this.props=Object.create(null);for(let[a,o]of r)this.props[typeof a=="number"?a:a.id]=o}}toString(){let e=VO.get(this);if(e&&!e.overlay)return e.tree.toString();let i="";for(let n of this.children){let O=n.toString();O&&(i&&(i+=","),i+=O)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(i.length?"("+i+")":""):i}cursor(e=0){return new Ko(this.topNode,e)}cursorAt(e,i=0,n=0){let O=Ha.get(this)||this.topNode,r=new Ko(O);return r.moveTo(e,i),Ha.set(this,r._tree),r}get topNode(){return new ht(this,0,0,null)}resolve(e,i=0){let n=Fr(Ha.get(this)||this.topNode,e,i,!1);return Ha.set(this,n),n}resolveInner(e,i=0){let n=Fr(Q$.get(this)||this.topNode,e,i,!0);return Q$.set(this,n),n}resolveStack(e,i=0){return oT(this,e,i)}iterate(e){let{enter:i,leave:n,from:O=0,to:r=this.length}=e,a=e.mode||0,o=(a&Ye.IncludeAnonymous)>0;for(let s=this.cursor(a|Ye.IncludeAnonymous);;){let l=!1;if(s.from<=r&&s.to>=O&&(!o&&s.type.isAnonymous||i(s)!==!1)){if(s.firstChild())continue;l=!0}for(;l&&n&&(o||!s.type.isAnonymous)&&n(s),!s.nextSibling();){if(!s.parent())return;l=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let i in this.props)e.push([+i,this.props[i]]);return e}balance(e={}){return this.children.length<=8?this:Eh(Fe.none,this.children,this.positions,0,this.children.length,0,this.length,(i,n,O)=>new me(this.type,i,n,O,this.propValues),e.makeTree||((i,n,O)=>new me(Fe.none,i,n,O)))}static build(e){return sT(e)}}me.empty=new me(Fe.none,[],[],0);class jh{constructor(e,i){this.buffer=e,this.index=i}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new jh(this.buffer,this.index)}}class mn{constructor(e,i,n){this.buffer=e,this.length=i,this.set=n}get type(){return Fe.none}toString(){let e=[];for(let i=0;i<this.buffer.length;)e.push(this.childString(i)),i=this.buffer[i+3];return e.join(",")}childString(e){let i=this.buffer[e],n=this.buffer[e+3],O=this.set.types[i],r=O.name;if(/\W/.test(r)&&!O.isError&&(r=JSON.stringify(r)),e+=4,n==e)return r;let a=[];for(;e<n;)a.push(this.childString(e)),e=this.buffer[e+3];return r+"("+a.join(",")+")"}findChild(e,i,n,O,r){let{buffer:a}=this,o=-1;for(let s=e;s!=i&&!(XP(r,O,a[s+1],a[s+2])&&(o=s,n>0));s=a[s+3]);return o}slice(e,i,n){let O=this.buffer,r=new Uint16Array(i-e),a=0;for(let o=e,s=0;o<i;){r[s++]=O[o++],r[s++]=O[o++]-n;let l=r[s++]=O[o++]-n;r[s++]=O[o++]-e,a=Math.max(a,l)}return new mn(r,a,this.set)}}function XP(t,e,i,n){switch(t){case-2:return i<e;case-1:return n>=e&&i<e;case 0:return i<e&&n>e;case 1:return i<=e&&n>e;case 2:return n>e;case 4:return!0}}function Fr(t,e,i,n){for(var O;t.from==t.to||(i<1?t.from>=e:t.from>e)||(i>-1?t.to<=e:t.to<e);){let a=!n&&t instanceof ht&&t.index<0?null:t.parent;if(!a)return t;t=a}let r=n?0:Ye.IgnoreOverlays;if(n)for(let a=t,o=a.parent;o;a=o,o=a.parent)a instanceof ht&&a.index<0&&((O=o.enter(e,i,r))===null||O===void 0?void 0:O.from)!=a.from&&(t=o);for(;;){let a=t.enter(e,i,r);if(!a)return t;t=a}}class yP{cursor(e=0){return new Ko(this,e)}getChild(e,i=null,n=null){let O=m$(this,e,i,n);return O.length?O[0]:null}getChildren(e,i=null,n=null){return m$(this,e,i,n)}resolve(e,i=0){return Fr(this,e,i,!1)}resolveInner(e,i=0){return Fr(this,e,i,!0)}matchContext(e){return Xu(this.parent,e)}enterUnfinishedNodesBefore(e){let i=this.childBefore(e),n=this;for(;i;){let O=i.lastChild;if(!O||O.to!=i.to)break;O.type.isError&&O.from==O.to?(n=i,i=O.prevSibling):i=O}return n}get node(){return this}get next(){return this.parent}}class ht extends yP{constructor(e,i,n,O){super(),this._tree=e,this.from=i,this.index=n,this._parent=O}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,i,n,O,r=0){for(let a=this;;){for(let{children:o,positions:s}=a._tree,l=i>0?o.length:-1;e!=l;e+=i){let c=o[e],u=s[e]+a.from,h;if(!(!(r&Ye.EnterBracketed&&c instanceof me&&(h=VO.get(c))&&!h.overlay&&h.bracketed&&n>=u&&n<=u+c.length)&&!XP(O,n,u,u+c.length))){if(c instanceof mn){if(r&Ye.ExcludeBuffers)continue;let d=c.findChild(0,c.buffer.length,i,n-u,O);if(d>-1)return new wi(new rT(a,c,e,u),null,d)}else if(r&Ye.IncludeAnonymous||!c.type.isAnonymous||Ch(c)){let d;if(!(r&Ye.IgnoreMounts)&&(d=VO.get(c))&&!d.overlay)return new ht(d.tree,u,e,a);let p=new ht(c,u,e,a);return r&Ye.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(i<0?c.children.length-1:0,i,n,O,r)}}}if(r&Ye.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+i:e=i<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,i,n=0){let O;if(!(n&Ye.IgnoreOverlays)&&(O=VO.get(this._tree))&&O.overlay){let r=e-this.from,a=n&Ye.EnterBracketed&&O.bracketed;for(let{from:o,to:s}of O.overlay)if((i>0||a?o<=r:o<r)&&(i<0||a?s>=r:s>r))return new ht(O.tree,O.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,i,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function m$(t,e,i,n){let O=t.cursor(),r=[];if(!O.firstChild())return r;if(i!=null){for(let a=!1;!a;)if(a=O.type.is(i),!O.nextSibling())return r}for(;;){if(n!=null&&O.type.is(n))return r;if(O.type.is(e)&&r.push(O.node),!O.nextSibling())return n==null?r:[]}}function Xu(t,e,i=e.length-1){for(let n=t;i>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[i]&&e[i]!=n.name)return!1;i--}}return!0}class rT{constructor(e,i,n,O){this.parent=e,this.buffer=i,this.index=n,this.start=O}}class wi extends yP{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,i,n){super(),this.context=e,this._parent=i,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,i,n){let{buffer:O}=this.context,r=O.findChild(this.index+4,O.buffer[this.index+3],e,i-this.context.start,n);return r<0?null:new wi(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,i,n=0){if(n&Ye.ExcludeBuffers)return null;let{buffer:O}=this.context,r=O.findChild(this.index+4,O.buffer[this.index+3],i>0?1:-1,e-this.context.start,i);return r<0?null:new wi(this.context,this,r)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,i=e.buffer[this.index+3];return i<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new wi(this.context,this._parent,i):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,i=this._parent?this._parent.index+4:0;return this.index==i?this.externalSibling(-1):new wi(this.context,this._parent,e.findChild(i,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],i=[],{buffer:n}=this.context,O=this.index+4,r=n.buffer[this.index+3];if(r>O){let a=n.buffer[this.index+1];e.push(n.slice(O,r,a)),i.push(0)}return new me(this.type,e,i,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function xP(t){if(!t.length)return null;let e=0,i=t[0];for(let r=1;r<t.length;r++){let a=t[r];(a.from>i.from||a.to<i.to)&&(i=a,e=r)}let n=i instanceof ht&&i.index<0?null:i.parent,O=t.slice();return n?O[e]=n:O.splice(e,1),new aT(O,i)}class aT{constructor(e,i){this.heads=e,this.node=i}get next(){return xP(this.heads)}}function oT(t,e,i){let n=t.resolveInner(e,i),O=null;for(let r=n instanceof ht?n:n.context.parent;r;r=r.parent)if(r.index<0){let a=r.parent;(O||(O=[n])).push(a.resolve(e,i)),r=a}else{let a=VO.get(r.tree);if(a&&a.overlay&&a.overlay[0].from<=e&&a.overlay[a.overlay.length-1].to>=e){let o=new ht(a.tree,a.overlay[0].from+r.from,-1,r);(O||(O=[n])).push(Fr(o,e,i,!1))}}return O?xP(O):n}class Ko{get name(){return this.type.name}constructor(e,i=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=i&~Ye.EnterBracketed,e instanceof ht)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,i){this.index=e;let{start:n,buffer:O}=this.buffer;return this.type=i||O.set.types[O.buffer[e]],this.from=n+O.buffer[e+1],this.to=n+O.buffer[e+2],!0}yield(e){return e?e instanceof ht?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,i,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,i,n,this.mode));let{buffer:O}=this.buffer,r=O.findChild(this.index+4,O.buffer[this.index+3],e,i-this.buffer.start,n);return r<0?!1:(this.stack.push(this.index),this.yieldBuf(r))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,i,n=this.mode){return this.buffer?n&Ye.ExcludeBuffers?!1:this.enterChild(1,e,i):this.yield(this._tree.enter(e,i,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ye.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ye.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:i}=this.buffer,n=this.stack.length-1;if(e<0){let O=n<0?0:this.stack[n]+4;if(this.index!=O)return this.yieldBuf(i.findChild(O,this.index,-1,0,4))}else{let O=i.buffer[this.index+3];if(O<(n<0?i.buffer.length:i.buffer[this.stack[n]+3]))return this.yieldBuf(O)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let i,n,{buffer:O}=this;if(O){if(e>0){if(this.index<O.buffer.buffer.length)return!1}else for(let r=0;r<this.index;r++)if(O.buffer.buffer[r+3]<this.index)return!1;({index:i,parent:n}=O)}else({index:i,_parent:n}=this._tree);for(;n;{index:i,_parent:n}=n)if(i>-1)for(let r=i+e,a=e<0?-1:n._tree.children.length;r!=a;r+=e){let o=n._tree.children[r];if(this.mode&Ye.IncludeAnonymous||o instanceof mn||!o.type.isAnonymous||Ch(o))return!1}return!0}move(e,i){if(i&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,i=0){for(;(this.from==this.to||(i<1?this.from>=e:this.from>e)||(i>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,i););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,i=null,n=0;if(e&&e.context==this.buffer)e:for(let O=this.index,r=this.stack.length;r>=0;){for(let a=e;a;a=a._parent)if(a.index==O){if(O==this.index)return a;i=a,n=r+1;break e}O=this.stack[--r]}for(let O=n;O<this.stack.length;O++)i=new wi(this.buffer,i,this.stack[O]);return this.bufferNode=new wi(this.buffer,i,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,i){for(let n=0;;){let O=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(O=!0)}for(;;){if(O&&i&&i(this),O=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,O=!0}}}matchContext(e){if(!this.buffer)return Xu(this.node.parent,e);let{buffer:i}=this.buffer,{types:n}=i.set;for(let O=e.length-1,r=this.stack.length-1;O>=0;r--){if(r<0)return Xu(this._tree,e,O);let a=n[i.buffer[this.stack[r]]];if(!a.isAnonymous){if(e[O]&&e[O]!=a.name)return!1;O--}}return!0}}function Ch(t){return t.children.some(e=>e instanceof mn||!e.type.isAnonymous||Ch(e))}function sT(t){var e;let{buffer:i,nodeSet:n,maxBufferLength:O=bP,reused:r=[],minRepeatType:a=n.types.length}=t,o=Array.isArray(i)?new jh(i,i.length):i,s=n.types,l=0,c=0;function u(R,G,j,C,D,V){let{id:v,start:_,end:w,size:b}=o,k=c,Y=l;if(b<0)if(o.next(),b==-1){let M=r[v];j.push(M),C.push(_-R);return}else if(b==-3){l=v;return}else if(b==-4){c=v;return}else throw new RangeError(`Unrecognized record size: ${b}`);let x=s[v],E,q,W=_-R;if(w-_<=O&&(q=g(o.pos-G,D))){let M=new Uint16Array(q.size-q.skip),ae=o.pos-q.size,ze=M.length;for(;o.pos>ae;)ze=m(q.start,M,ze);E=new mn(M,w-q.start,n),W=q.start-R}else{let M=o.pos-b;o.next();let ae=[],ze=[],Te=v>=a?v:-1,T=0,se=w;for(;o.pos>M;)Te>=0&&o.id==Te&&o.size>=0?(o.end<=se-O&&(p(ae,ze,_,T,o.end,se,Te,k,Y),T=ae.length,se=o.end),o.next()):V>2500?h(_,M,ae,ze):u(_,M,ae,ze,Te,V+1);if(Te>=0&&T>0&&T<ae.length&&p(ae,ze,_,T,_,se,Te,k,Y),ae.reverse(),ze.reverse(),Te>-1&&T>0){let qe=d(x,Y);E=Eh(x,ae,ze,0,ae.length,0,w-_,qe,qe)}else E=Q(x,ae,ze,w-_,k-w,Y)}j.push(E),C.push(W)}function h(R,G,j,C){let D=[],V=0,v=-1;for(;o.pos>G;){let{id:_,start:w,end:b,size:k}=o;if(k>4)o.next();else{if(v>-1&&w<v)break;v<0&&(v=b-O),D.push(_,w,b),V++,o.next()}}if(V){let _=new Uint16Array(V*4),w=D[D.length-2];for(let b=D.length-3,k=0;b>=0;b-=3)_[k++]=D[b],_[k++]=D[b+1]-w,_[k++]=D[b+2]-w,_[k++]=k;j.push(new mn(_,D[2]-w,n)),C.push(w-R)}}function d(R,G){return(j,C,D)=>{let V=0,v=j.length-1,_,w;if(v>=0&&(_=j[v])instanceof me){if(!v&&_.type==R&&_.length==D)return _;(w=_.prop(ce.lookAhead))&&(V=C[v]+_.length+w)}return Q(R,j,C,D,V,G)}}function p(R,G,j,C,D,V,v,_,w){let b=[],k=[];for(;R.length>C;)b.push(R.pop()),k.push(G.pop()+j-D);R.push(Q(n.types[v],b,k,V-D,_-V,w)),G.push(D-j)}function Q(R,G,j,C,D,V,v){if(V){let _=[ce.contextHash,V];v=v?[_].concat(v):[_]}if(D>25){let _=[ce.lookAhead,D];v=v?[_].concat(v):[_]}return new me(R,G,j,C,v)}function g(R,G){let j=o.fork(),C=0,D=0,V=0,v=j.end-O,_={size:0,start:0,skip:0};e:for(let w=j.pos-R;j.pos>w;){let b=j.size;if(j.id==G&&b>=0){_.size=C,_.start=D,_.skip=V,V+=4,C+=4,j.next();continue}let k=j.pos-b;if(b<0||k<w||j.start<v)break;let Y=j.id>=a?4:0,x=j.start;for(j.next();j.pos>k;){if(j.size<0)if(j.size==-3||j.size==-4)Y+=4;else break e;else j.id>=a&&(Y+=4);j.next()}D=x,C+=b,V+=Y}return(G<0||C==R)&&(_.size=C,_.start=D,_.skip=V),_.size>4?_:void 0}function m(R,G,j){let{id:C,start:D,end:V,size:v}=o;if(o.next(),v>=0&&C<a){let _=j;if(v>4){let w=o.pos-(v-4);for(;o.pos>w;)j=m(R,G,j)}G[--j]=_,G[--j]=V-R,G[--j]=D-R,G[--j]=C}else v==-3?l=C:v==-4&&(c=C);return j}let S=[],X=[];for(;o.pos>0;)u(t.start||0,t.bufferStart||0,S,X,-1,0);let z=(e=t.length)!==null&&e!==void 0?e:S.length?X[0]+S[0].length:0;return new me(s[t.topID],S.reverse(),X.reverse(),z)}const g$=new WeakMap;function ko(t,e){if(!t.isAnonymous||e instanceof mn||e.type!=t)return 1;let i=g$.get(e);if(i==null){i=1;for(let n of e.children){if(n.type!=t||!(n instanceof me)){i=1;break}i+=ko(t,n)}g$.set(e,i)}return i}function Eh(t,e,i,n,O,r,a,o,s){let l=0;for(let p=n;p<O;p++)l+=ko(t,e[p]);let c=Math.ceil(l*1.5/8),u=[],h=[];function d(p,Q,g,m,S){for(let X=g;X<m;){let z=X,R=Q[X],G=ko(t,p[X]);for(X++;X<m;X++){let j=ko(t,p[X]);if(G+j>=c)break;G+=j}if(X==z+1){if(G>c){let j=p[z];d(j.children,j.positions,0,j.children.length,Q[z]+S);continue}u.push(p[z])}else{let j=Q[X-1]+p[X-1].length-R;u.push(Eh(t,p,Q,z,X,R,j,null,s))}h.push(R+S-r)}}return d(e,i,n,O,0),(o||s)(u,h,a)}class Gh{constructor(){this.map=new WeakMap}setBuffer(e,i,n){let O=this.map.get(e);O||this.map.set(e,O=new Map),O.set(i,n)}getBuffer(e,i){let n=this.map.get(e);return n&&n.get(i)}set(e,i){e instanceof wi?this.setBuffer(e.context.buffer,e.index,i):e instanceof ht&&this.map.set(e.tree,i)}get(e){return e instanceof wi?this.getBuffer(e.context.buffer,e.index):e instanceof ht?this.map.get(e.tree):void 0}cursorSet(e,i){e.buffer?this.setBuffer(e.buffer.buffer,e.index,i):this.map.set(e.tree,i)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Li{constructor(e,i,n,O,r=!1,a=!1){this.from=e,this.to=i,this.tree=n,this.offset=O,this.open=(r?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,i=[],n=!1){let O=[new Li(0,e.length,e,0,!1,n)];for(let r of i)r.to>e.length&&O.push(r);return O}static applyChanges(e,i,n=128){if(!i.length)return e;let O=[],r=1,a=e.length?e[0]:null;for(let o=0,s=0,l=0;;o++){let c=o<i.length?i[o]:null,u=c?c.fromA:1e9;if(u-s>=n)for(;a&&a.from<u;){let h=a;if(s>=h.from||u<=h.to||l){let d=Math.max(h.from,s)-l,p=Math.min(h.to,u)-l;h=d>=p?null:new Li(d,p,h.tree,h.offset+l,o>0,!!c)}if(h&&O.push(h),a.to>u)break;a=r<e.length?e[r++]:null}if(!c)break;s=c.toA,l=c.toA-c.toB}return O}}class Zs{startParse(e,i,n){return typeof e=="string"&&(e=new lT(e)),n=n?n.length?n.map(O=>new Kt(O.from,O.to)):[new Kt(0,0)]:[new Kt(0,e.length)],this.createParse(e,i||[],n)}parse(e,i,n){let O=this.startParse(e,i,n);for(;;){let r=O.advance();if(r)return r}}}class lT{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,i){return this.string.slice(e,i)}}function Ah(t){return(e,i,n,O)=>new uT(e,t,i,n,O)}class P${constructor(e,i,n,O,r,a){this.parser=e,this.parse=i,this.overlay=n,this.bracketed=O,this.target=r,this.from=a}}function S$(t){if(!t.length||t.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(t))}class cT{constructor(e,i,n,O,r,a,o,s){this.parser=e,this.predicate=i,this.mounts=n,this.index=O,this.start=r,this.bracketed=a,this.target=o,this.prev=s,this.depth=0,this.ranges=[]}}const yu=new ce({perNode:!0});class uT{constructor(e,i,n,O,r){this.nest=i,this.input=n,this.fragments=O,this.ranges=r,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let O of this.inner)O.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new me(n.type,n.children,n.positions,n.length,n.propValues.concat([[yu,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],i=e.parse.advance();if(i){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[ce.mounted.id]=new VO(i,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let i=this.innerDone;i<this.inner.length;i++)this.inner[i].from<e&&(e=Math.min(e,this.inner[i].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let i=this.innerDone;i<this.inner.length;i++)this.inner[i].parse.stopAt(e)}startInner(){let e=new dT(this.fragments),i=null,n=null,O=new Ko(new ht(this.baseTree,this.ranges[0].from,0,null),Ye.IncludeAnonymous|Ye.IgnoreMounts);e:for(let r,a;;){let o=!0,s;if(this.stoppedAt!=null&&O.from>=this.stoppedAt)o=!1;else if(e.hasNode(O)){if(i){let l=i.mounts.find(c=>c.frag.from<=O.from&&c.frag.to>=O.to&&c.mount.overlay);if(l)for(let c of l.mount.overlay){let u=c.from+l.pos,h=c.to+l.pos;u>=O.from&&h<=O.to&&!i.ranges.some(d=>d.from<h&&d.to>u)&&i.ranges.push({from:u,to:h})}}o=!1}else if(n&&(a=hT(n.ranges,O.from,O.to)))o=a!=2;else if(!O.type.isAnonymous&&(r=this.nest(O,this.input))&&(O.from<O.to||!r.overlay)){O.tree||(fT(O),i&&i.depth++,n&&n.depth++);let l=e.findMounts(O.from,r.parser);if(typeof r.overlay=="function")i=new cT(r.parser,r.overlay,l,this.inner.length,O.from,!!r.bracketed,O.tree,i);else{let c=y$(this.ranges,r.overlay||(O.from<O.to?[new Kt(O.from,O.to)]:[]));c.length&&S$(c),(c.length||!r.overlay)&&this.inner.push(new P$(r.parser,c.length?r.parser.startParse(this.input,x$(l,c),c):r.parser.startParse(""),r.overlay?r.overlay.map(u=>new Kt(u.from-O.from,u.to-O.from)):null,!!r.bracketed,O.tree,c.length?c[0].from:O.from)),r.overlay?c.length&&(n={ranges:c,depth:0,prev:n}):o=!1}}else if(i&&(s=i.predicate(O))&&(s===!0&&(s=new Kt(O.from,O.to)),s.from<s.to)){let l=i.ranges.length-1;l>=0&&i.ranges[l].to==s.from?i.ranges[l]={from:i.ranges[l].from,to:s.to}:i.ranges.push(s)}if(o&&O.firstChild())i&&i.depth++,n&&n.depth++;else for(;!O.nextSibling();){if(!O.parent())break e;if(i&&!--i.depth){let l=y$(this.ranges,i.ranges);l.length&&(S$(l),this.inner.splice(i.index,0,new P$(i.parser,i.parser.startParse(this.input,x$(i.mounts,l),l),i.ranges.map(c=>new Kt(c.from-i.start,c.to-i.start)),i.bracketed,i.target,l[0].from))),i=i.prev}n&&!--n.depth&&(n=n.prev)}}}}function hT(t,e,i){for(let n of t){if(n.from>=i)break;if(n.to>e)return n.from<=e&&n.to>=i?2:1}return 0}function b$(t,e,i,n,O,r){if(e<i){let a=t.buffer[e+1];n.push(t.slice(e,i,a)),O.push(a-r)}}function fT(t){let{node:e}=t,i=[],n=e.context.buffer;do i.push(t.index),t.parent();while(!t.tree);let O=t.tree,r=O.children.indexOf(n),a=O.children[r],o=a.buffer,s=[r];function l(c,u,h,d,p,Q){let g=i[Q],m=[],S=[];b$(a,c,g,m,S,d);let X=o[g+1],z=o[g+2];s.push(m.length);let R=Q?l(g+4,o[g+3],a.set.types[o[g]],X,z-X,Q-1):e.toTree();return m.push(R),S.push(X-d),b$(a,o[g+3],u,m,S,d),new me(h,m,S,p)}O.children[r]=l(0,o.length,Fe.none,0,a.length,i.length-1);for(let c of s){let u=t.tree.children[c],h=t.tree.positions[c];t.yield(new ht(u,h+t.from,c,t._tree))}}class X${constructor(e,i){this.offset=i,this.done=!1,this.cursor=e.cursor(Ye.IncludeAnonymous|Ye.IgnoreMounts)}moveTo(e){let{cursor:i}=this,n=e-this.offset;for(;!this.done&&i.from<n;)i.to>=e&&i.enter(n,1,Ye.IgnoreOverlays|Ye.ExcludeBuffers)||i.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let i=this.cursor.tree;;){if(i==e.tree)return!0;if(i.children.length&&i.positions[0]==0&&i.children[0]instanceof me)i=i.children[0];else break}return!1}}let dT=class{constructor(e){var i;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(i=n.tree.prop(yu))!==null&&i!==void 0?i:n.to,this.inner=new X$(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let i=this.curFrag=this.fragments[this.fragI];this.curTo=(e=i.tree.prop(yu))!==null&&e!==void 0?e:i.to,this.inner=new X$(i.tree,-i.offset)}}findMounts(e,i){var n;let O=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let r=this.inner.cursor.node;r;r=r.parent){let a=(n=r.tree)===null||n===void 0?void 0:n.prop(ce.mounted);if(a&&a.parser==i)for(let o=this.fragI;o<this.fragments.length;o++){let s=this.fragments[o];if(s.from>=r.to)break;s.tree==this.curFrag.tree&&O.push({frag:s,pos:r.from-s.offset,mount:a})}}}return O}};function y$(t,e){let i=null,n=e;for(let O=1,r=0;O<t.length;O++){let a=t[O-1].to,o=t[O].from;for(;r<n.length;r++){let s=n[r];if(s.from>=o)break;s.to<=a||(i||(n=i=e.slice()),s.from<a?(i[r]=new Kt(s.from,a),s.to>o&&i.splice(r+1,0,new Kt(o,s.to))):s.to>o?i[r--]=new Kt(o,s.to):i.splice(r--,1))}}return n}function $T(t,e,i,n){let O=0,r=0,a=!1,o=!1,s=-1e9,l=[];for(;;){let c=O==t.length?1e9:a?t[O].to:t[O].from,u=r==e.length?1e9:o?e[r].to:e[r].from;if(a!=o){let h=Math.max(s,i),d=Math.min(c,u,n);h<d&&l.push(new Kt(h,d))}if(s=Math.min(c,u),s==1e9)break;c==s&&(a?(a=!1,O++):a=!0),u==s&&(o?(o=!1,r++):o=!0)}return l}function x$(t,e){let i=[];for(let{pos:n,mount:O,frag:r}of t){let a=n+(O.overlay?O.overlay[0].from:0),o=a+O.tree.length,s=Math.max(r.from,a),l=Math.min(r.to,o);if(O.overlay){let c=O.overlay.map(h=>new Kt(h.from+n,h.to+n)),u=$T(e,c,s,l);for(let h=0,d=s;;h++){let p=h==u.length,Q=p?l:u[h].from;if(Q>d&&i.push(new Li(d,Q,O.tree,-a,r.from>=d||r.openStart,r.to<=Q||r.openEnd)),p)break;d=u[h].to}}else i.push(new Li(s,l,O.tree,-a,r.from>=a||r.openStart,r.to<=o||r.openEnd))}return i}let pT=0,Si=class xu{constructor(e,i,n,O){this.name=e,this.set=i,this.base=n,this.modified=O,this.id=pT++}toString(){let{name:e}=this;for(let i of this.modified)i.name&&(e=`${i.name}(${e})`);return e}static define(e,i){let n=typeof e=="string"?e:"?";if(e instanceof xu&&(i=e),i!=null&&i.base)throw new Error("Can not derive from a modified tag");let O=new xu(n,[],null,[]);if(O.set.push(O),i)for(let r of i.set)O.set.push(r);return O}static defineModifier(e){let i=new Jo(e);return n=>n.modified.indexOf(i)>-1?n:Jo.get(n.base||n,n.modified.concat(i).sort((O,r)=>O.id-r.id))}},QT=0;class Jo{constructor(e){this.name=e,this.instances=[],this.id=QT++}static get(e,i){if(!i.length)return e;let n=i[0].instances.find(o=>o.base==e&&mT(i,o.modified));if(n)return n;let O=[],r=new Si(e.name,O,e,i);for(let o of i)o.instances.push(r);let a=gT(i);for(let o of e.set)if(!o.modified.length)for(let s of a)O.push(Jo.get(o,s));return r}}function mT(t,e){return t.length==e.length&&t.every((i,n)=>i==e[n])}function gT(t){let e=[[]];for(let i=0;i<t.length;i++)for(let n=0,O=e.length;n<O;n++)e.push(e[n].concat(t[i]));return e.sort((i,n)=>n.length-i.length)}function bt(t){let e=Object.create(null);for(let i in t){let n=t[i];Array.isArray(n)||(n=[n]);for(let O of i.split(" "))if(O){let r=[],a=2,o=O;for(let u=0;;){if(o=="..."&&u>0&&u+3==O.length){a=1;break}let h=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!h)throw new RangeError("Invalid path: "+O);if(r.push(h[0]=="*"?"":h[0][0]=='"'?JSON.parse(h[0]):h[0]),u+=h[0].length,u==O.length)break;let d=O[u++];if(u==O.length&&d=="!"){a=0;break}if(d!="/")throw new RangeError("Invalid path: "+O);o=O.slice(u)}let s=r.length-1,l=r[s];if(!l)throw new RangeError("Invalid path: "+O);let c=new Hr(n,a,s>0?r.slice(0,s):null);e[l]=c.sort(e[l])}}return wP.add(e)}const wP=new ce({combine(t,e){let i,n,O;for(;t||e;){if(!t||e&&t.depth>=e.depth?(O=e,e=e.next):(O=t,t=t.next),i&&i.mode==O.mode&&!O.context&&!i.context)continue;let r=new Hr(O.tags,O.mode,O.context);i?i.next=r:n=r,i=r}return n}});let Hr=class{constructor(e,i,n,O){this.tags=e,this.mode=i,this.context=n,this.next=O}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Hr.empty=new Hr([],2,null);function kP(t,e){let i=Object.create(null);for(let r of t)if(!Array.isArray(r.tag))i[r.tag.id]=r.class;else for(let a of r.tag)i[a.id]=r.class;let{scope:n,all:O=null}=e||{};return{style:r=>{let a=O;for(let o of r)for(let s of o.set){let l=i[s.id];if(l){a=a?a+" "+l:l;break}}return a},scope:n}}function PT(t,e){let i=null;for(let n of t){let O=n.style(e);O&&(i=i?i+" "+O:O)}return i}function ST(t,e,i,n=0,O=t.length){let r=new bT(n,Array.isArray(e)?e:[e],i);r.highlightRange(t.cursor(),n,O,"",r.highlighters),r.flush(O)}class bT{constructor(e,i,n){this.at=e,this.highlighters=i,this.span=n,this.class=""}startSpan(e,i){i!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=i)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,i,n,O,r){let{type:a,from:o,to:s}=e;if(o>=n||s<=i)return;a.isTop&&(r=this.highlighters.filter(d=>!d.scope||d.scope(a)));let l=O,c=XT(e)||Hr.empty,u=PT(r,c.tags);if(u&&(l&&(l+=" "),l+=u,c.mode==1&&(O+=(O?" ":"")+u)),this.startSpan(Math.max(i,o),l),c.opaque)return;let h=e.tree&&e.tree.prop(ce.mounted);if(h&&h.overlay){let d=e.node.enter(h.overlay[0].from+o,1),p=this.highlighters.filter(g=>!g.scope||g.scope(h.tree.type)),Q=e.firstChild();for(let g=0,m=o;;g++){let S=g<h.overlay.length?h.overlay[g]:null,X=S?S.from+o:s,z=Math.max(i,m),R=Math.min(n,X);if(z<R&&Q)for(;e.from<R&&(this.highlightRange(e,z,R,O,r),this.startSpan(Math.min(R,e.to),l),!(e.to>=X||!e.nextSibling())););if(!S||X>n)break;m=S.to+o,m>i&&(this.highlightRange(d.cursor(),Math.max(i,S.from+o),Math.min(n,m),"",p),this.startSpan(Math.min(n,m),l))}Q&&e.parent()}else if(e.firstChild()){h&&(O="");do if(!(e.to<=i)){if(e.from>=n)break;this.highlightRange(e,i,n,O,r),this.startSpan(Math.min(n,e.to),l)}while(e.nextSibling());e.parent()}}}function XT(t){let e=t.type.prop(wP);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}const B=Si.define,Ka=B(),an=B(),w$=B(an),k$=B(an),on=B(),Ja=B(on),jl=B(on),gi=B(),_n=B(gi),pi=B(),Qi=B(),wu=B(),dr=B(wu),eo=B(),$={comment:Ka,lineComment:B(Ka),blockComment:B(Ka),docComment:B(Ka),name:an,variableName:B(an),typeName:w$,tagName:B(w$),propertyName:k$,attributeName:B(k$),className:B(an),labelName:B(an),namespace:B(an),macroName:B(an),literal:on,string:Ja,docString:B(Ja),character:B(Ja),attributeValue:B(Ja),number:jl,integer:B(jl),float:B(jl),bool:B(on),regexp:B(on),escape:B(on),color:B(on),url:B(on),keyword:pi,self:B(pi),null:B(pi),atom:B(pi),unit:B(pi),modifier:B(pi),operatorKeyword:B(pi),controlKeyword:B(pi),definitionKeyword:B(pi),moduleKeyword:B(pi),operator:Qi,derefOperator:B(Qi),arithmeticOperator:B(Qi),logicOperator:B(Qi),bitwiseOperator:B(Qi),compareOperator:B(Qi),updateOperator:B(Qi),definitionOperator:B(Qi),typeOperator:B(Qi),controlOperator:B(Qi),punctuation:wu,separator:B(wu),bracket:dr,angleBracket:B(dr),squareBracket:B(dr),paren:B(dr),brace:B(dr),content:gi,heading:_n,heading1:B(_n),heading2:B(_n),heading3:B(_n),heading4:B(_n),heading5:B(_n),heading6:B(_n),contentSeparator:B(gi),list:B(gi),quote:B(gi),emphasis:B(gi),strong:B(gi),link:B(gi),monospace:B(gi),strikethrough:B(gi),inserted:B(),deleted:B(),changed:B(),invalid:B(),meta:eo,documentMeta:B(eo),annotation:B(eo),processingInstruction:B(eo),definition:Si.defineModifier("definition"),constant:Si.defineModifier("constant"),function:Si.defineModifier("function"),standard:Si.defineModifier("standard"),local:Si.defineModifier("local"),special:Si.defineModifier("special")};for(let t in $){let e=$[t];e instanceof Si&&(e.name=t)}kP([{tag:$.link,class:"tok-link"},{tag:$.heading,class:"tok-heading"},{tag:$.emphasis,class:"tok-emphasis"},{tag:$.strong,class:"tok-strong"},{tag:$.keyword,class:"tok-keyword"},{tag:$.atom,class:"tok-atom"},{tag:$.bool,class:"tok-bool"},{tag:$.url,class:"tok-url"},{tag:$.labelName,class:"tok-labelName"},{tag:$.inserted,class:"tok-inserted"},{tag:$.deleted,class:"tok-deleted"},{tag:$.literal,class:"tok-literal"},{tag:$.string,class:"tok-string"},{tag:$.number,class:"tok-number"},{tag:[$.regexp,$.escape,$.special($.string)],class:"tok-string2"},{tag:$.variableName,class:"tok-variableName"},{tag:$.local($.variableName),class:"tok-variableName tok-local"},{tag:$.definition($.variableName),class:"tok-variableName tok-definition"},{tag:$.special($.variableName),class:"tok-variableName2"},{tag:$.definition($.propertyName),class:"tok-propertyName tok-definition"},{tag:$.typeName,class:"tok-typeName"},{tag:$.namespace,class:"tok-namespace"},{tag:$.className,class:"tok-className"},{tag:$.macroName,class:"tok-macroName"},{tag:$.propertyName,class:"tok-propertyName"},{tag:$.operator,class:"tok-operator"},{tag:$.comment,class:"tok-comment"},{tag:$.meta,class:"tok-meta"},{tag:$.invalid,class:"tok-invalid"},{tag:$.punctuation,class:"tok-punctuation"}]);var Cl;const cn=new ce;function zs(t){return K.define({combine:t?e=>e.concat(t):void 0})}const Nh=new ce;class Et{constructor(e,i,n=[],O=""){this.data=e,this.name=O,Xe.prototype.hasOwnProperty("tree")||Object.defineProperty(Xe.prototype,"tree",{get(){return Ze(this)}}),this.parser=i,this.extension=[gn.of(this),Xe.languageData.of((r,a,o)=>{let s=T$(r,a,o),l=s.type.prop(cn);if(!l)return[];let c=r.facet(l),u=s.type.prop(Nh);if(u){let h=s.resolve(a-s.from,o);for(let d of u)if(d.test(h,r)){let p=r.facet(d.facet);return d.type=="replace"?p:p.concat(c)}}return c})].concat(n)}isActiveAt(e,i,n=-1){return T$(e,i,n).type.prop(cn)==this.data}findRegions(e){let i=e.facet(gn);if((i==null?void 0:i.data)==this.data)return[{from:0,to:e.doc.length}];if(!i||!i.allowsNesting)return[];let n=[],O=(r,a)=>{if(r.prop(cn)==this.data){n.push({from:a,to:a+r.length});return}let o=r.prop(ce.mounted);if(o){if(o.tree.prop(cn)==this.data){if(o.overlay)for(let s of o.overlay)n.push({from:s.from+a,to:s.to+a});else n.push({from:a,to:a+r.length});return}else if(o.overlay){let s=n.length;if(O(o.tree,o.overlay[0].from+a),n.length>s)return}}for(let s=0;s<r.children.length;s++){let l=r.children[s];l instanceof me&&O(l,r.positions[s]+a)}};return O(Ze(e),0),n}get allowsNesting(){return!0}}Et.setState=xe.define();function T$(t,e,i){let n=t.facet(gn),O=Ze(t).topNode;if(!n||n.allowsNesting)for(let r=O;r;r=r.enter(e,i,Ye.ExcludeBuffers|Ye.EnterBracketed))r.type.isTop&&(O=r);return O}class Pt extends Et{constructor(e,i,n){super(e,i,[],n),this.parser=i}static define(e){let i=zs(e.languageData);return new Pt(i,e.parser.configure({props:[cn.add(n=>n.isTop?i:void 0)]}),e.name)}configure(e,i){return new Pt(this.data,this.parser.configure(e),i||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Ze(t){let e=t.field(Et.state,!1);return e?e.tree:me.empty}class yT{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,i){let n=this.cursorPos-this.string.length;return e<n||i>=this.cursorPos?this.doc.sliceString(e,i):this.string.slice(e-n,i-n)}}let $r=null;class Kn{constructor(e,i,n=[],O,r,a,o,s){this.parser=e,this.state=i,this.fragments=n,this.tree=O,this.treeLen=r,this.viewport=a,this.skipped=o,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}static create(e,i,n){return new Kn(e,i,[],me.empty,0,n,[],null)}startParse(){return this.parser.startParse(new yT(this.state.doc),this.fragments)}work(e,i){return i!=null&&i>=this.state.doc.length&&(i=void 0),this.tree!=me.empty&&this.isDone(i??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let O=Date.now()+e;e=()=>Date.now()>O}for(this.parse||(this.parse=this.startParse()),i!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>i)&&i<this.state.doc.length&&this.parse.stopAt(i);;){let O=this.parse.advance();if(O)if(this.fragments=this.withoutTempSkipped(Li.addTree(O,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(n=this.parse.stoppedAt)!==null&&n!==void 0?n:this.state.doc.length,this.tree=O,this.parse=null,this.treeLen<(i??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,i;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(i=this.parse.advance()););}),this.treeLen=e,this.tree=i,this.fragments=this.withoutTempSkipped(Li.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let i=$r;$r=this;try{return e()}finally{$r=i}}withoutTempSkipped(e){for(let i;i=this.tempSkipped.pop();)e=v$(e,i.from,i.to);return e}changes(e,i){let{fragments:n,tree:O,treeLen:r,viewport:a,skipped:o}=this;if(this.takeTree(),!e.empty){let s=[];if(e.iterChangedRanges((l,c,u,h)=>s.push({fromA:l,toA:c,fromB:u,toB:h})),n=Li.applyChanges(n,s),O=me.empty,r=0,a={from:e.mapPos(a.from,-1),to:e.mapPos(a.to,1)},this.skipped.length){o=[];for(let l of this.skipped){let c=e.mapPos(l.from,1),u=e.mapPos(l.to,-1);c<u&&o.push({from:c,to:u})}}}return new Kn(this.parser,i,n,O,r,a,o,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let i=this.skipped.length;for(let n=0;n<this.skipped.length;n++){let{from:O,to:r}=this.skipped[n];O<e.to&&r>e.from&&(this.fragments=v$(this.fragments,O,r),this.skipped.splice(n--,1))}return this.skipped.length>=i?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,i){this.skipped.push({from:e,to:i})}static getSkippingParser(e){return new class extends Zs{createParse(i,n,O){let r=O[0].from,a=O[O.length-1].to;return{parsedPos:r,advance(){let s=$r;if(s){for(let l of O)s.tempSkipped.push(l);e&&(s.scheduleOn=s.scheduleOn?Promise.all([s.scheduleOn,e]):e)}return this.parsedPos=a,new me(Fe.none,[],[],a-r)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let i=this.fragments;return this.treeLen>=e&&i.length&&i[0].from==0&&i[0].to>=e}static get(){return $r}}function v$(t,e,i){return Li.applyChanges(t,[{fromA:e,toA:i,fromB:e,toB:i}])}class LO{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let i=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),i.viewport.to);return i.work(20,n)||i.takeTree(),new LO(i)}static init(e){let i=Math.min(3e3,e.doc.length),n=Kn.create(e.facet(gn).parser,e,{from:0,to:i});return n.work(20,i)||n.takeTree(),new LO(n)}}Et.state=At.define({create:LO.init,update(t,e){for(let i of e.effects)if(i.is(Et.setState))return i.value;return e.startState.facet(gn)!=e.state.facet(gn)?LO.init(e.state):t.apply(e)}});let TP=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(TP=t=>{let e=-1,i=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(i):cancelIdleCallback(e)});const El=typeof navigator<"u"&&(!((Cl=navigator.scheduling)===null||Cl===void 0)&&Cl.isInputPending)?()=>navigator.scheduling.isInputPending():null,xT=gt.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let i=this.view.state.field(Et.state).context;(i.updateViewport(e.view.viewport)||this.view.viewport.to>i.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(i)}scheduleWork(){if(this.working)return;let{state:e}=this.view,i=e.field(Et.state);(i.tree!=i.context.tree||!i.context.isDone(e.doc.length))&&(this.working=TP(this.work))}work(e){this.working=null;let i=Date.now();if(this.chunkEnd<i&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=i+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:O}}=this.view,r=n.field(Et.state);if(r.tree==r.context.tree&&r.context.isDone(O+1e5))return;let a=Date.now()+Math.min(this.chunkBudget,100,e&&!El?Math.max(25,e.timeRemaining()-5):1e9),o=r.context.treeLen<O&&n.doc.length>O+1e3,s=r.context.work(()=>El&&El()||Date.now()>a,O+(o?0:1e5));this.chunkBudget-=Date.now()-i,(s||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:Et.setState.of(new LO(r.context))})),this.chunkBudget>0&&!(s&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(i=>xi(this.view.state,i)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),gn=K.define({combine(t){return t.length?t[0]:null},enables:t=>[Et.state,xT,H.contentAttributes.compute([t],e=>{let i=e.facet(t);return i&&i.name?{"data-language":i.name}:{}})]});class Zt{constructor(e,i=[]){this.language=e,this.support=i,this.extension=[e,i]}}class es{constructor(e,i,n,O,r,a=void 0){this.name=e,this.alias=i,this.extensions=n,this.filename=O,this.loadFunc=r,this.support=a,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:i,support:n}=e;if(!i){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");i=()=>Promise.resolve(n)}return new es(e.name,(e.alias||[]).concat(e.name).map(O=>O.toLowerCase()),e.extensions||[],e.filename,i,n)}static matchFilename(e,i){for(let O of e)if(O.filename&&O.filename.test(i))return O;let n=/\.([^.]+)$/.exec(i);if(n){for(let O of e)if(O.extensions.indexOf(n[1])>-1)return O}return null}static matchLanguageName(e,i,n=!0){i=i.toLowerCase();for(let O of e)if(O.alias.some(r=>r==i))return O;if(n)for(let O of e)for(let r of O.alias){let a=i.indexOf(r);if(a>-1&&(r.length>2||!/\w/.test(i[a-1])&&!/\w/.test(i[a+r.length])))return O}return null}}const wT=K.define(),ga=K.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(i=>i!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function Jn(t){let e=t.facet(ga);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function Kr(t,e){let i="",n=t.tabSize,O=t.facet(ga)[0];if(O==" "){for(;e>=n;)i+=" ",e-=n;O=" "}for(let r=0;r<e;r++)i+=O;return i}function Ih(t,e){t instanceof Xe&&(t=new qs(t));for(let n of t.state.facet(wT)){let O=n(t,e);if(O!==void 0)return O}let i=Ze(t.state);return i.length>=e?kT(t,i,e):null}class qs{constructor(e,i={}){this.state=e,this.options=i,this.unit=Jn(e)}lineAt(e,i=1){let n=this.state.doc.lineAt(e),{simulateBreak:O,simulateDoubleBreak:r}=this.options;return O!=null&&O>=n.from&&O<=n.to?r&&O==e?{text:"",from:e}:(i<0?O<e:O<=e)?{text:n.text.slice(O-n.from),from:O}:{text:n.text.slice(0,O-n.from),from:n.from}:n}textAfterPos(e,i=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:O}=this.lineAt(e,i);return n.slice(e-O,Math.min(n.length,e+100-O))}column(e,i=1){let{text:n,from:O}=this.lineAt(e,i),r=this.countColumn(n,e-O),a=this.options.overrideIndentation?this.options.overrideIndentation(O):-1;return a>-1&&(r+=a-this.countColumn(n,n.search(/\S|$/))),r}countColumn(e,i=e.length){return Yi(e,this.state.tabSize,i)}lineIndent(e,i=1){let{text:n,from:O}=this.lineAt(e,i),r=this.options.overrideIndentation;if(r){let a=r(O);if(a>-1)return a}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Xt=new ce;function kT(t,e,i){let n=e.resolveStack(i),O=e.resolveInner(i,-1).resolve(i,0).enterUnfinishedNodesBefore(i);if(O!=n.node){let r=[];for(let a=O;a&&!(a.from<n.node.from||a.to>n.node.to||a.from==n.node.from&&a.type==n.node.type);a=a.parent)r.push(a);for(let a=r.length-1;a>=0;a--)n={node:r[a],next:n}}return vP(n,t,i)}function vP(t,e,i){for(let n=t;n;n=n.next){let O=vT(n.node);if(O)return O(Lh.create(e,i,n))}return 0}function TT(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function vT(t){let e=t.type.prop(Xt);if(e)return e;let i=t.firstChild,n;if(i&&(n=i.type.prop(ce.closedBy))){let O=t.lastChild,r=O&&n.indexOf(O.name)>-1;return a=>_P(a,!0,1,void 0,r&&!TT(a)?O.from:void 0)}return t.parent==null?_T:null}function _T(){return 0}class Lh extends qs{constructor(e,i,n){super(e.state,e.options),this.base=e,this.pos=i,this.context=n}get node(){return this.context.node}static create(e,i,n){return new Lh(e,i,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let i=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(i.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(RT(n,e))break;i=this.state.doc.lineAt(n.from)}return this.lineIndent(i.from)}continue(){return vP(this.context.next,this.base,this.pos)}}function RT(t,e){for(let i=e;i;i=i.parent)if(t==i)return!0;return!1}function YT(t){let e=t.node,i=e.childAfter(e.from),n=e.lastChild;if(!i)return null;let O=t.options.simulateBreak,r=t.state.doc.lineAt(i.from),a=O==null||O<=r.from?r.to:Math.min(r.to,O);for(let o=i.to;;){let s=e.childAfter(o);if(!s||s==n)return null;if(!s.type.isSkipped){if(s.from>=a)return null;let l=/^ */.exec(r.text.slice(i.to-r.from))[0].length;return{from:i.from,to:i.to+l}}o=s.to}}function Di({closing:t,align:e=!0,units:i=1}){return n=>_P(n,e,i,t)}function _P(t,e,i,n,O){let r=t.textAfter,a=r.match(/^\s*/)[0].length,o=n&&r.slice(a,a+n.length)==n||O==t.pos+a,s=e?YT(t):null;return s?o?t.column(s.from):t.column(s.to):t.baseIndent+(o?0:t.unit*i)}const Dh=t=>t.baseIndent;function Ot({except:t,units:e=1}={}){return i=>{let n=t&&t.test(i.textAfter);return i.baseIndent+(n?0:e*i.unit)}}const ZT=200;function j8(){return Xe.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let i=t.newDoc,{head:n}=t.newSelection.main,O=i.lineAt(n);if(n>O.from+ZT)return t;let r=i.sliceString(O.from,n);if(!e.some(l=>l.test(r)))return t;let{state:a}=t,o=-1,s=[];for(let{head:l}of a.selection.ranges){let c=a.doc.lineAt(l);if(c.from==o)continue;o=c.from;let u=Ih(a,c.from);if(u==null)continue;let h=/^\s*/.exec(c.text)[0],d=Kr(a,u);h!=d&&s.push({from:c.from,to:c.from+h.length,insert:d})}return s.length?[t,{changes:s,sequential:!0}]:t})}const RP=K.define(),yt=new ce;function en(t){let e=t.firstChild,i=t.lastChild;return e&&e.to<i.from?{from:e.to,to:i.type.isError?t.to:i.from}:null}function zT(t,e,i){let n=Ze(t);if(n.length<i)return null;let O=n.resolveStack(i,1),r=null;for(let a=O;a;a=a.next){let o=a.node;if(o.to<=i||o.from>i)continue;if(r&&o.from<e)break;let s=o.type.prop(yt);if(s&&(o.to<n.length-50||n.length==t.doc.length||!qT(o))){let l=s(o,t);l&&l.from<=i&&l.from>=e&&l.to>i&&(r=l)}}return r}function qT(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function ts(t,e,i){for(let n of t.facet(RP)){let O=n(t,e,i);if(O)return O}return zT(t,e,i)}function YP(t,e){let i=e.mapPos(t.from,1),n=e.mapPos(t.to,-1);return i>=n?void 0:{from:i,to:n}}const Us=xe.define({map:YP}),Pa=xe.define({map:YP});function ZP(t){let e=[];for(let{head:i}of t.state.selection.ranges)e.some(n=>n.from<=i&&n.to>=i)||e.push(t.lineBlockAt(i));return e}const eO=At.define({create(){return he.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((i,n)=>t=_$(t,i,n)),t=t.map(e.changes);for(let i of e.effects)if(i.is(Us)&&!UT(t,i.value.from,i.value.to)){let{preparePlaceholder:n}=e.state.facet(UP),O=n?he.replace({widget:new AT(n(e.state,i.value))}):R$;t=t.update({add:[O.range(i.value.from,i.value.to)]})}else i.is(Pa)&&(t=t.update({filter:(n,O)=>i.value.from!=n||i.value.to!=O,filterFrom:i.value.from,filterTo:i.value.to}));return e.selection&&(t=_$(t,e.selection.main.head)),t},provide:t=>H.decorations.from(t),toJSON(t,e){let i=[];return t.between(0,e.doc.length,(n,O)=>{i.push(n,O)}),i},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let i=0;i<t.length;){let n=t[i++],O=t[i++];if(typeof n!="number"||typeof O!="number")throw new RangeError("Invalid JSON for fold state");e.push(R$.range(n,O))}return he.set(e,!0)}});function _$(t,e,i=e){let n=!1;return t.between(e,i,(O,r)=>{O<i&&r>e&&(n=!0)}),n?t.update({filterFrom:e,filterTo:i,filter:(O,r)=>O>=i||r<=e}):t}function is(t,e,i){var n;let O=null;return(n=t.field(eO,!1))===null||n===void 0||n.between(e,i,(r,a)=>{(!O||O.from>r)&&(O={from:r,to:a})}),O}function UT(t,e,i){let n=!1;return t.between(e,e,(O,r)=>{O==e&&r==i&&(n=!0)}),n}function zP(t,e){return t.field(eO,!1)?e:e.concat(xe.appendConfig.of(VP()))}const VT=t=>{for(let e of ZP(t)){let i=ts(t.state,e.from,e.to);if(i)return t.dispatch({effects:zP(t.state,[Us.of(i),qP(t,i)])}),!0}return!1},WT=t=>{if(!t.state.field(eO,!1))return!1;let e=[];for(let i of ZP(t)){let n=is(t.state,i.from,i.to);n&&e.push(Pa.of(n),qP(t,n,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function qP(t,e,i=!0){let n=t.state.doc.lineAt(e.from).number,O=t.state.doc.lineAt(e.to).number;return H.announce.of(`${t.state.phrase(i?"Folded lines":"Unfolded lines")} ${n} ${t.state.phrase("to")} ${O}.`)}const jT=t=>{let{state:e}=t,i=[];for(let n=0;n<e.doc.length;){let O=t.lineBlockAt(n),r=ts(e,O.from,O.to);r&&i.push(Us.of(r)),n=(r?t.lineBlockAt(r.to):O).to+1}return i.length&&t.dispatch({effects:zP(t.state,i)}),!!i.length},CT=t=>{let e=t.state.field(eO,!1);if(!e||!e.size)return!1;let i=[];return e.between(0,t.state.doc.length,(n,O)=>{i.push(Pa.of({from:n,to:O}))}),t.dispatch({effects:i}),!0},ET=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:VT},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:WT},{key:"Ctrl-Alt-[",run:jT},{key:"Ctrl-Alt-]",run:CT}],GT={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},UP=K.define({combine(t){return oO(t,GT)}});function VP(t){return[eO,LT]}function WP(t,e){let{state:i}=t,n=i.facet(UP),O=a=>{let o=t.lineBlockAt(t.posAtDOM(a.target)),s=is(t.state,o.from,o.to);s&&t.dispatch({effects:Pa.of(s)}),a.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(t,O,e);let r=document.createElement("span");return r.textContent=n.placeholderText,r.setAttribute("aria-label",i.phrase("folded code")),r.title=i.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=O,r}const R$=he.replace({widget:new class extends sO{toDOM(t){return WP(t,null)}}});class AT extends sO{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return WP(e,this.value)}}const NT={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Gl extends Bi{constructor(e,i){super(),this.config=e,this.open=i}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let i=document.createElement("span");return i.textContent=this.open?this.config.openText:this.config.closedText,i.title=e.state.phrase(this.open?"Fold line":"Unfold line"),i}}function IT(t={}){let e={...NT,...t},i=new Gl(e,!0),n=new Gl(e,!1),O=gt.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(gn)!=a.state.facet(gn)||a.startState.field(eO,!1)!=a.state.field(eO,!1)||Ze(a.startState)!=Ze(a.state)||e.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let o=new Mn;for(let s of a.viewportLineBlocks){let l=is(a.state,s.from,s.to)?n:ts(a.state,s.from,s.to)?i:null;l&&o.add(s.from,s.from,l)}return o.finish()}}),{domEventHandlers:r}=e;return[O,Lk({class:"cm-foldGutter",markers(a){var o;return((o=a.plugin(O))===null||o===void 0?void 0:o.markers)||Pe.empty},initialSpacer(){return new Gl(e,!1)},domEventHandlers:{...r,click:(a,o,s)=>{if(r.click&&r.click(a,o,s))return!0;let l=is(a.state,o.from,o.to);if(l)return a.dispatch({effects:Pa.of(l)}),!0;let c=ts(a.state,o.from,o.to);return c?(a.dispatch({effects:Us.of(c)}),!0):!1}}}),VP()]}const LT=H.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Sa{constructor(e,i){this.specs=e;let n;function O(o){let s=$n.newName();return(n||(n=Object.create(null)))["."+s]=o,s}const r=typeof i.all=="string"?i.all:i.all?O(i.all):void 0,a=i.scope;this.scope=a instanceof Et?o=>o.prop(cn)==a.data:a?o=>o==a:void 0,this.style=kP(e.map(o=>({tag:o.tag,class:o.class||O(Object.assign({},o,{tag:null}))})),{all:r}).style,this.module=n?new $n(n):null,this.themeType=i.themeType}static define(e,i){return new Sa(e,i||{})}}const ku=K.define(),jP=K.define({combine(t){return t.length?[t[0]]:null}});function Al(t){let e=t.facet(ku);return e.length?e:t.facet(jP)}function CP(t,e){let i=[MT],n;return t instanceof Sa&&(t.module&&i.push(H.styleModule.of(t.module)),n=t.themeType),e!=null&&e.fallback?i.push(jP.of(t)):n?i.push(ku.computeN([H.darkTheme],O=>O.facet(H.darkTheme)==(n=="dark")?[t]:[])):i.push(ku.of(t)),i}class DT{constructor(e){this.markCache=Object.create(null),this.tree=Ze(e.state),this.decorations=this.buildDeco(e,Al(e.state)),this.decoratedTo=e.viewport.to}update(e){let i=Ze(e.state),n=Al(e.state),O=n!=Al(e.startState),{viewport:r}=e.view,a=e.changes.mapPos(this.decoratedTo,1);i.length<r.to&&!O&&i.type==this.tree.type&&a>=r.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=a):(i!=this.tree||e.viewportChanged||O)&&(this.tree=i,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=r.to)}buildDeco(e,i){if(!i||!this.tree.length)return he.none;let n=new Mn;for(let{from:O,to:r}of e.visibleRanges)ST(this.tree,i,(a,o,s)=>{n.add(a,o,this.markCache[s]||(this.markCache[s]=he.mark({class:s})))},O,r);return n.finish()}}const MT=aO.high(gt.fromClass(DT,{decorations:t=>t.decorations})),BT=Sa.define([{tag:$.meta,color:"#404740"},{tag:$.link,textDecoration:"underline"},{tag:$.heading,textDecoration:"underline",fontWeight:"bold"},{tag:$.emphasis,fontStyle:"italic"},{tag:$.strong,fontWeight:"bold"},{tag:$.strikethrough,textDecoration:"line-through"},{tag:$.keyword,color:"#708"},{tag:[$.atom,$.bool,$.url,$.contentSeparator,$.labelName],color:"#219"},{tag:[$.literal,$.inserted],color:"#164"},{tag:[$.string,$.deleted],color:"#a11"},{tag:[$.regexp,$.escape,$.special($.string)],color:"#e40"},{tag:$.definition($.variableName),color:"#00f"},{tag:$.local($.variableName),color:"#30a"},{tag:[$.typeName,$.namespace],color:"#085"},{tag:$.className,color:"#167"},{tag:[$.special($.variableName),$.macroName],color:"#256"},{tag:$.definition($.propertyName),color:"#00c"},{tag:$.comment,color:"#940"},{tag:$.invalid,color:"#f00"}]),FT=H.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),EP=1e4,GP="()[]{}",AP=K.define({combine(t){return oO(t,{afterCursor:!0,brackets:GP,maxScanDistance:EP,renderMatch:JT})}}),HT=he.mark({class:"cm-matchingBracket"}),KT=he.mark({class:"cm-nonmatchingBracket"});function JT(t){let e=[],i=t.matched?HT:KT;return e.push(i.range(t.start.from,t.start.to)),t.end&&e.push(i.range(t.end.from,t.end.to)),e}function Y$(t){let e=[],i=t.facet(AP);for(let n of t.selection.ranges){if(!n.empty)continue;let O=ki(t,n.head,-1,i)||n.head>0&&ki(t,n.head-1,1,i)||i.afterCursor&&(ki(t,n.head,1,i)||n.head<t.doc.length&&ki(t,n.head+1,-1,i));O&&(e=e.concat(i.renderMatch(O,t)))}return he.set(e,!0)}const ev=gt.fromClass(class{constructor(t){this.paused=!1,this.decorations=Y$(t.state)}update(t){(t.docChanged||t.selectionSet||this.paused)&&(t.view.composing?(this.decorations=this.decorations.map(t.changes),this.paused=!0):(this.decorations=Y$(t.state),this.paused=!1))}},{decorations:t=>t.decorations}),tv=[ev,FT];function iv(t={}){return[AP.of(t),tv]}const Mh=new ce;function Tu(t,e,i){let n=t.prop(e<0?ce.openedBy:ce.closedBy);if(n)return n;if(t.name.length==1){let O=i.indexOf(t.name);if(O>-1&&O%2==(e<0?1:0))return[i[O+e]]}return null}function vu(t){let e=t.type.prop(Mh);return e?e(t.node):t}function ki(t,e,i,n={}){let O=n.maxScanDistance||EP,r=n.brackets||GP,a=Ze(t),o=a.resolveInner(e,i);for(let s=o;s;s=s.parent){let l=Tu(s.type,i,r);if(l&&s.from<s.to){let c=vu(s);if(c&&(i>0?e>=c.from&&e<c.to:e>c.from&&e<=c.to))return nv(t,e,i,s,c,l,r)}}return Ov(t,e,i,a,o.type,O,r)}function nv(t,e,i,n,O,r,a){let o=n.parent,s={from:O.from,to:O.to},l=0,c=o==null?void 0:o.cursor();if(c&&(i<0?c.childBefore(n.from):c.childAfter(n.to)))do if(i<0?c.to<=n.from:c.from>=n.to){if(l==0&&r.indexOf(c.type.name)>-1&&c.from<c.to){let u=vu(c);return{start:s,end:u?{from:u.from,to:u.to}:void 0,matched:!0}}else if(Tu(c.type,i,a))l++;else if(Tu(c.type,-i,a)){if(l==0){let u=vu(c);return{start:s,end:u&&u.from<u.to?{from:u.from,to:u.to}:void 0,matched:!1}}l--}}while(i<0?c.prevSibling():c.nextSibling());return{start:s,matched:!1}}function Ov(t,e,i,n,O,r,a){if(i<0?!e:e==t.doc.length)return null;let o=i<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),s=a.indexOf(o);if(s<0||s%2==0!=i>0)return null;let l={from:i<0?e-1:e,to:i>0?e+1:e},c=t.doc.iterRange(e,i>0?t.doc.length:0),u=0;for(let h=0;!c.next().done&&h<=r;){let d=c.value;i<0&&(h+=d.length);let p=e+h*i;for(let Q=i>0?0:d.length-1,g=i>0?d.length:-1;Q!=g;Q+=i){let m=a.indexOf(d[Q]);if(!(m<0||n.resolveInner(p+Q,1).type!=O))if(m%2==0==i>0)u++;else{if(u==1)return{start:l,end:{from:p+Q,to:p+Q+1},matched:m>>1==s>>1};u--}}i>0&&(h+=d.length)}return c.done?{start:l,matched:!1}:null}function Z$(t,e,i,n=0,O=0){e==null&&(e=t.search(/[^\s\u00a0]/),e==-1&&(e=t.length));let r=O;for(let a=n;a<e;a++)t.charCodeAt(a)==9?r+=i-r%i:r++;return r}class NP{constructor(e,i,n,O){this.string=e,this.tabSize=i,this.indentUnit=n,this.overrideIndent=O,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}eat(e){let i=this.string.charAt(this.pos),n;if(typeof e=="string"?n=i==e:n=i&&(e instanceof RegExp?e.test(i):e(i)),n)return++this.pos,i}eatWhile(e){let i=this.pos;for(;this.eat(e););return this.pos>i}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let i=this.string.indexOf(e,this.pos);if(i>-1)return this.pos=i,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=Z$(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return(e=this.overrideIndent)!==null&&e!==void 0?e:Z$(this.string,null,this.tabSize)}match(e,i,n){if(typeof e=="string"){let O=a=>n?a.toLowerCase():a,r=this.string.substr(this.pos,e.length);return O(r)==O(e)?(i!==!1&&(this.pos+=e.length),!0):null}else{let O=this.string.slice(this.pos).match(e);return O&&O.index>0?null:(O&&i!==!1&&(this.pos+=O[0].length),O)}}current(){return this.string.slice(this.start,this.pos)}}function rv(t){return{name:t.name||"",token:t.token,blankLine:t.blankLine||(()=>{}),startState:t.startState||(()=>!0),copyState:t.copyState||av,indent:t.indent||(()=>null),languageData:t.languageData||{},tokenTable:t.tokenTable||Fh,mergeTokens:t.mergeTokens!==!1}}function av(t){if(typeof t!="object")return t;let e={};for(let i in t){let n=t[i];e[i]=n instanceof Array?n.slice():n}return e}const z$=new WeakMap;class fe extends Et{constructor(e){let i=zs(e.languageData),n=rv(e),O,r=new class extends Zs{createParse(a,o,s){return new sv(O,a,o,s)}};super(i,r,[],e.name),this.topNode=uv(i,this),O=this,this.streamParser=n,this.stateAfter=new ce({perNode:!0}),this.tokenTable=e.tokenTable?new MP(n.tokenTable):cv}static define(e){return new fe(e)}getIndent(e){let i,{overrideIndentation:n}=e.options;n&&(i=z$.get(e.state),i!=null&&i<e.pos-1e4&&(i=void 0));let O=Bh(this,e.node.tree,e.node.from,e.node.from,i??e.pos),r,a;if(O?(a=O.state,r=O.pos+1):(a=this.streamParser.startState(e.unit),r=e.node.from),e.pos-r>1e4)return null;for(;r<e.pos;){let s=e.state.doc.lineAt(r),l=Math.min(e.pos,s.to);if(s.length){let c=n?n(s.from):-1,u=new NP(s.text,e.state.tabSize,e.unit,c<0?void 0:c);for(;u.pos<l-s.from;)LP(this.streamParser.token,u,a)}else this.streamParser.blankLine(a,e.unit);if(l==e.pos)break;r=s.to+1}let o=e.lineAt(e.pos);return n&&i==null&&z$.set(e.state,o.from),this.streamParser.indent(a,/^\s*(.*)/.exec(o.text)[1],e)}get allowsNesting(){return!1}}function Bh(t,e,i,n,O){let r=i>=n&&i+e.length<=O&&e.prop(t.stateAfter);if(r)return{state:t.streamParser.copyState(r),pos:i+e.length};for(let a=e.children.length-1;a>=0;a--){let o=e.children[a],s=i+e.positions[a],l=o instanceof me&&s<O&&Bh(t,o,s,n,O);if(l)return l}return null}function IP(t,e,i,n,O){if(O&&i<=0&&n>=e.length)return e;!O&&i==0&&e.type==t.topNode&&(O=!0);for(let r=e.children.length-1;r>=0;r--){let a=e.positions[r],o=e.children[r],s;if(a<n&&o instanceof me){if(!(s=IP(t,o,i-a,n-a,O)))break;return O?new me(e.type,e.children.slice(0,r).concat(s),e.positions.slice(0,r+1),a+s.length):s}}return null}function ov(t,e,i,n,O){for(let r of e){let a=r.from+(r.openStart?25:0),o=r.to-(r.openEnd?25:0),s=a<=i&&o>i&&Bh(t,r.tree,0-r.offset,i,o),l;if(s&&s.pos<=n&&(l=IP(t,r.tree,i+r.offset,s.pos+r.offset,!1)))return{state:s.state,tree:l}}return{state:t.streamParser.startState(O?Jn(O):4),tree:me.empty}}let sv=class{constructor(e,i,n,O){this.lang=e,this.input=i,this.fragments=n,this.ranges=O,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=O[O.length-1].to;let r=Kn.get(),a=O[0].from,{state:o,tree:s}=ov(e,n,a,this.to,r==null?void 0:r.state);this.state=o,this.parsedPos=this.chunkStart=a+s.length;for(let l=0;l<s.children.length;l++)this.chunks.push(s.children[l]),this.chunkPos.push(s.positions[l]);r&&this.parsedPos<r.viewport.from-1e5&&O.some(l=>l.from<=r.viewport.from&&l.to>=r.viewport.from)&&(this.state=this.lang.streamParser.startState(Jn(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=Kn.get(),i=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(i,this.chunkStart+512);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos<n;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=i?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,i),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let i=this.input.chunk(e);if(this.input.lineChunks)i==`
|
|
17
|
+
`&&(i="");else{let n=i.indexOf(`
|
|
18
|
+
`);n>-1&&(i=i.slice(0,n))}return e+i.length<=this.to?i:i.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,i=this.lineAfter(e),n=e+i.length;for(let O=this.rangeIndex;;){let r=this.ranges[O].to;if(r>=n||(i=i.slice(0,r-(n-i.length)),O++,O==this.ranges.length))break;let a=this.ranges[O].from,o=this.lineAfter(a);i+=o,n=a+o.length}return{line:i,end:n}}skipGapsTo(e,i,n){for(;;){let O=this.ranges[this.rangeIndex].to,r=e+i;if(n>0?O>r:O>=r)break;let a=this.ranges[++this.rangeIndex].from;i+=a-O}return i}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,i,n,O){let r=4;if(this.ranges.length>1){O=this.skipGapsTo(i,O,1),i+=O;let o=this.chunk.length;O=this.skipGapsTo(n,O,-1),n+=O,r+=this.chunk.length-o}let a=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&r==4&&a>=0&&this.chunk[a]==e&&this.chunk[a+2]==i?this.chunk[a+2]=n:this.chunk.push(e,i,n,r),O}parseLine(e){let{line:i,end:n}=this.nextLine(),O=0,{streamParser:r}=this.lang,a=new NP(i,e?e.state.tabSize:4,e?Jn(e.state):2);if(a.eol())r.blankLine(this.state,a.indentUnit);else for(;!a.eol();){let o=LP(r.token,a,this.state);if(o&&(O=this.emitToken(this.lang.tokenTable.resolve(o),this.parsedPos+a.start,this.parsedPos+a.pos,O)),a.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=me.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:lv,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new me(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new me(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function LP(t,e,i){e.start=e.pos;for(let n=0;n<10;n++){let O=t(e,i);if(e.pos>e.start)return O}throw new Error("Stream parser failed to advance stream.")}const Fh=Object.create(null),Jr=[Fe.none],lv=new tr(Jr),q$=[],U$=Object.create(null),DP=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])DP[t]=BP(Fh,e);class MP{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),DP)}resolve(e){return e?this.table[e]||(this.table[e]=BP(this.extra,e)):0}}const cv=new MP(Fh);function Nl(t,e){q$.indexOf(t)>-1||(q$.push(t),console.warn(e))}function BP(t,e){let i=[];for(let o of e.split(" ")){let s=[];for(let l of o.split(".")){let c=t[l]||$[l];c?typeof c=="function"?s.length?s=s.map(c):Nl(l,`Modifier ${l} used at start of tag`):s.length?Nl(l,`Tag ${l} used as modifier`):s=Array.isArray(c)?c:[c]:Nl(l,`Unknown highlighting tag ${l}`)}for(let l of s)i.push(l)}if(!i.length)return 0;let n=e.replace(/ /g,"_"),O=n+" "+i.map(o=>o.id),r=U$[O];if(r)return r.id;let a=U$[O]=Fe.define({id:Jr.length,name:n,props:[bt({[n]:i})]});return Jr.push(a),a.id}function uv(t,e){let i=Fe.define({id:Jr.length,name:"Document",props:[cn.add(()=>t),Xt.add(()=>n=>e.getIndent(n))],top:!0});return Jr.push(i),i}Ee.RTL,Ee.LTR;const hv=t=>{let{state:e}=t,i=e.doc.lineAt(e.selection.main.from),n=Kh(t.state,i.from);return n.line?fv(t):n.block?$v(t):!1};function Hh(t,e){return({state:i,dispatch:n})=>{if(i.readOnly)return!1;let O=t(e,i);return O?(n(i.update(O)),!0):!1}}const fv=Hh(mv,0),dv=Hh(FP,0),$v=Hh((t,e)=>FP(t,e,Qv(e)),0);function Kh(t,e){let i=t.languageDataAt("commentTokens",e,1);return i.length?i[0]:{}}const pr=50;function pv(t,{open:e,close:i},n,O){let r=t.sliceDoc(n-pr,n),a=t.sliceDoc(O,O+pr),o=/\s*$/.exec(r)[0].length,s=/^\s*/.exec(a)[0].length,l=r.length-o;if(r.slice(l-e.length,l)==e&&a.slice(s,s+i.length)==i)return{open:{pos:n-o,margin:o&&1},close:{pos:O+s,margin:s&&1}};let c,u;O-n<=2*pr?c=u=t.sliceDoc(n,O):(c=t.sliceDoc(n,n+pr),u=t.sliceDoc(O-pr,O));let h=/^\s*/.exec(c)[0].length,d=/\s*$/.exec(u)[0].length,p=u.length-d-i.length;return c.slice(h,h+e.length)==e&&u.slice(p,p+i.length)==i?{open:{pos:n+h+e.length,margin:/\s/.test(c.charAt(h+e.length))?1:0},close:{pos:O-d-i.length,margin:/\s/.test(u.charAt(p-1))?1:0}}:null}function Qv(t){let e=[];for(let i of t.selection.ranges){let n=t.doc.lineAt(i.from),O=i.to<=n.to?n:t.doc.lineAt(i.to);O.from>n.from&&O.from==i.to&&(O=i.to==n.to+1?n:t.doc.lineAt(i.to-1));let r=e.length-1;r>=0&&e[r].to>n.from?e[r].to=O.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:O.to})}return e}function FP(t,e,i=e.selection.ranges){let n=i.map(r=>Kh(e,r.from).block);if(!n.every(r=>r))return null;let O=i.map((r,a)=>pv(e,n[a],r.from,r.to));if(t!=2&&!O.every(r=>r))return{changes:e.changes(i.map((r,a)=>O[a]?[]:[{from:r.from,insert:n[a].open+" "},{from:r.to,insert:" "+n[a].close}]))};if(t!=1&&O.some(r=>r)){let r=[];for(let a=0,o;a<O.length;a++)if(o=O[a]){let s=n[a],{open:l,close:c}=o;r.push({from:l.pos-s.open.length,to:l.pos+l.margin},{from:c.pos-c.margin,to:c.pos+s.close.length})}return{changes:r}}return null}function mv(t,e,i=e.selection.ranges){let n=[],O=-1;e:for(let{from:r,to:a}of i){let o=n.length,s=1e9,l;for(let c=r;c<=a;){let u=e.doc.lineAt(c);if(l==null&&(l=Kh(e,u.from).line,!l))continue e;if(u.from>O&&(r==a||a>u.from)){O=u.from;let h=/^\s*/.exec(u.text)[0].length,d=h==u.length,p=u.text.slice(h,h+l.length)==l?h:-1;h<u.text.length&&h<s&&(s=h),n.push({line:u,comment:p,token:l,indent:h,empty:d,single:!1})}c=u.to+1}if(s<1e9)for(let c=o;c<n.length;c++)n[c].indent<n[c].line.text.length&&(n[c].indent=s);n.length==o+1&&(n[o].single=!0)}if(t!=2&&n.some(r=>r.comment<0&&(!r.empty||r.single))){let r=[];for(let{line:o,token:s,indent:l,empty:c,single:u}of n)(u||!c)&&r.push({from:o.from+l,insert:s+" "});let a=e.changes(r);return{changes:a,selection:e.selection.map(a,1)}}else if(t!=1&&n.some(r=>r.comment>=0)){let r=[];for(let{line:a,comment:o,token:s}of n)if(o>=0){let l=a.from+o,c=l+s.length;a.text[c-a.from]==" "&&c++,r.push({from:l,to:c})}return{changes:r}}return null}const _u=Ji.define(),gv=Ji.define(),Pv=K.define(),HP=K.define({combine(t){return oO(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,i)=>i},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,i)=>(n,O)=>e(n,O)||i(n,O)})}}),KP=At.define({create(){return Ti.empty},update(t,e){let i=e.state.facet(HP),n=e.annotation(_u);if(n){let s=Rt.fromTransaction(e,n.selection),l=n.side,c=l==0?t.undone:t.done;return s?c=ns(c,c.length,i.minDepth,s):c=tS(c,e.startState.selection),new Ti(l==0?n.rest:c,l==0?c:n.rest)}let O=e.annotation(gv);if((O=="full"||O=="before")&&(t=t.isolate()),e.annotation(Be.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let r=Rt.fromTransaction(e),a=e.annotation(Be.time),o=e.annotation(Be.userEvent);return r?t=t.addChanges(r,a,o,i,e):e.selection&&(t=t.addSelection(e.startState.selection,a,o,i.newGroupDelay)),(O=="full"||O=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Ti(t.done.map(Rt.fromJSON),t.undone.map(Rt.fromJSON))}});function E8(t={}){return[KP,HP.of(t),H.domEventHandlers({beforeinput(e,i){let n=e.inputType=="historyUndo"?JP:e.inputType=="historyRedo"?Ru:null;return n?(e.preventDefault(),n(i)):!1}})]}function Vs(t,e){return function({state:i,dispatch:n}){if(!e&&i.readOnly)return!1;let O=i.field(KP,!1);if(!O)return!1;let r=O.pop(t,i,e);return r?(n(r),!0):!1}}const JP=Vs(0,!1),Ru=Vs(1,!1),Sv=Vs(0,!0),bv=Vs(1,!0);class Rt{constructor(e,i,n,O,r){this.changes=e,this.effects=i,this.mapped=n,this.startSelection=O,this.selectionsAfter=r}setSelAfter(e){return new Rt(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,i,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(i=this.mapped)===null||i===void 0?void 0:i.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(O=>O.toJSON())}}static fromJSON(e){return new Rt(e.changes&&Je.fromJSON(e.changes),[],e.mapped&&vi.fromJSON(e.mapped),e.startSelection&&U.fromJSON(e.startSelection),e.selectionsAfter.map(U.fromJSON))}static fromTransaction(e,i){let n=Jt;for(let O of e.startState.facet(Pv)){let r=O(e);r.length&&(n=n.concat(r))}return!n.length&&e.changes.empty?null:new Rt(e.changes.invert(e.startState.doc),n,void 0,i||e.startState.selection,Jt)}static selection(e){return new Rt(void 0,Jt,void 0,void 0,e)}}function ns(t,e,i,n){let O=e+1>i+20?e-i-1:0,r=t.slice(O,e);return r.push(n),r}function Xv(t,e){let i=[],n=!1;return t.iterChangedRanges((O,r)=>i.push(O,r)),e.iterChangedRanges((O,r,a,o)=>{for(let s=0;s<i.length;){let l=i[s++],c=i[s++];o>=l&&a<=c&&(n=!0)}}),n}function yv(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((i,n)=>i.empty!=e.ranges[n].empty).length===0}function eS(t,e){return t.length?e.length?t.concat(e):t:e}const Jt=[],xv=200;function tS(t,e){if(t.length){let i=t[t.length-1],n=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-xv));return n.length&&n[n.length-1].eq(e)?t:(n.push(e),ns(t,t.length-1,1e9,i.setSelAfter(n)))}else return[Rt.selection([e])]}function wv(t){let e=t[t.length-1],i=t.slice();return i[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),i}function Il(t,e){if(!t.length)return t;let i=t.length,n=Jt;for(;i;){let O=kv(t[i-1],e,n);if(O.changes&&!O.changes.empty||O.effects.length){let r=t.slice(0,i);return r[i-1]=O,r}else e=O.mapped,i--,n=O.selectionsAfter}return n.length?[Rt.selection(n)]:Jt}function kv(t,e,i){let n=eS(t.selectionsAfter.length?t.selectionsAfter.map(o=>o.map(e)):Jt,i);if(!t.changes)return Rt.selection(n);let O=t.changes.map(e),r=e.mapDesc(t.changes,!0),a=t.mapped?t.mapped.composeDesc(r):r;return new Rt(O,xe.mapEffects(t.effects,e),a,t.startSelection.map(r),n)}const Tv=/^(input\.type|delete)($|\.)/;class Ti{constructor(e,i,n=0,O=void 0){this.done=e,this.undone=i,this.prevTime=n,this.prevUserEvent=O}isolate(){return this.prevTime?new Ti(this.done,this.undone):this}addChanges(e,i,n,O,r){let a=this.done,o=a[a.length-1];return o&&o.changes&&!o.changes.empty&&e.changes&&(!n||Tv.test(n))&&(!o.selectionsAfter.length&&i-this.prevTime<O.newGroupDelay&&O.joinToEvent(r,Xv(o.changes,e.changes))||n=="input.type.compose")?a=ns(a,a.length-1,O.minDepth,new Rt(e.changes.compose(o.changes),eS(xe.mapEffects(e.effects,o.changes),o.effects),o.mapped,o.startSelection,Jt)):a=ns(a,a.length,O.minDepth,e),new Ti(a,Jt,i,n)}addSelection(e,i,n,O){let r=this.done.length?this.done[this.done.length-1].selectionsAfter:Jt;return r.length>0&&i-this.prevTime<O&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&yv(r[r.length-1],e)?this:new Ti(tS(this.done,e),this.undone,i,n)}addMapping(e){return new Ti(Il(this.done,e),Il(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,i,n){let O=e==0?this.done:this.undone;if(O.length==0)return null;let r=O[O.length-1],a=r.selectionsAfter[0]||(r.startSelection?r.startSelection.map(r.changes.invertedDesc,1):i.selection);if(n&&r.selectionsAfter.length)return i.update({selection:r.selectionsAfter[r.selectionsAfter.length-1],annotations:_u.of({side:e,rest:wv(O),selection:a}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(r.changes){let o=O.length==1?Jt:O.slice(0,O.length-1);return r.mapped&&(o=Il(o,r.mapped)),i.update({changes:r.changes,selection:r.startSelection,effects:r.effects,annotations:_u.of({side:e,rest:o,selection:a}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Ti.empty=new Ti(Jt,Jt);const G8=[{key:"Mod-z",run:JP,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Ru,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Ru,preventDefault:!0},{key:"Mod-u",run:Sv,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:bv,preventDefault:!0}];function ir(t,e){return U.create(t.ranges.map(e),t.mainIndex)}function ui(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function hi({state:t,dispatch:e},i){let n=ir(t.selection,i);return n.eq(t.selection,!0)?!1:(e(ui(t,n)),!0)}function Ws(t,e){return U.cursor(e?t.to:t.from)}function iS(t,e){return hi(t,i=>i.empty?t.moveByChar(i,e):Ws(i,e))}function ft(t){return t.textDirectionAt(t.state.selection.main.head)==Ee.LTR}const nS=t=>iS(t,!ft(t)),OS=t=>iS(t,ft(t));function rS(t,e){return hi(t,i=>i.empty?t.moveByGroup(i,e):Ws(i,e))}const vv=t=>rS(t,!ft(t)),_v=t=>rS(t,ft(t));function Rv(t,e,i){if(e.type.prop(i))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function js(t,e,i){let n=Ze(t).resolveInner(e.head),O=i?ce.closedBy:ce.openedBy;for(let s=e.head;;){let l=i?n.childAfter(s):n.childBefore(s);if(!l)break;Rv(t,l,O)?n=l:s=i?l.to:l.from}let r=n.type.prop(O),a,o;return r&&(a=i?ki(t,n.from,1):ki(t,n.to,-1))&&a.matched?o=i?a.end.to:a.end.from:o=i?n.to:n.from,U.cursor(o,i?-1:1)}const Yv=t=>hi(t,e=>js(t.state,e,!ft(t))),Zv=t=>hi(t,e=>js(t.state,e,ft(t)));function aS(t,e){return hi(t,i=>{if(!i.empty)return Ws(i,e);let n=t.moveVertically(i,e);return n.head!=i.head?n:t.moveToLineBoundary(i,e)})}const oS=t=>aS(t,!1),sS=t=>aS(t,!0);function lS(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,i=0,n=0,O;if(e){for(let r of t.state.facet(H.scrollMargins)){let a=r(t);a!=null&&a.top&&(i=Math.max(a==null?void 0:a.top,i)),a!=null&&a.bottom&&(n=Math.max(a==null?void 0:a.bottom,n))}O=t.scrollDOM.clientHeight-i-n}else O=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:i,marginBottom:n,selfScroll:e,height:Math.max(t.defaultLineHeight,O-5)}}function cS(t,e){let i=lS(t),{state:n}=t,O=ir(n.selection,a=>a.empty?t.moveVertically(a,e,i.height):Ws(a,e));if(O.eq(n.selection))return!1;let r;if(i.selfScroll){let a=t.coordsAtPos(n.selection.main.head),o=t.scrollDOM.getBoundingClientRect(),s=o.top+i.marginTop,l=o.bottom-i.marginBottom;a&&a.top>s&&a.bottom<l&&(r=H.scrollIntoView(O.main.head,{y:"start",yMargin:a.top-s}))}return t.dispatch(ui(n,O),{effects:r}),!0}const V$=t=>cS(t,!1),Yu=t=>cS(t,!0);function Sn(t,e,i){let n=t.lineBlockAt(e.head),O=t.moveToLineBoundary(e,i);if(O.head==e.head&&O.head!=(i?n.to:n.from)&&(O=t.moveToLineBoundary(e,i,!1)),!i&&O.head==n.from&&n.length){let r=/^\s*/.exec(t.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;r&&e.head!=n.from+r&&(O=U.cursor(n.from+r))}return O}const zv=t=>hi(t,e=>Sn(t,e,!0)),qv=t=>hi(t,e=>Sn(t,e,!1)),Uv=t=>hi(t,e=>Sn(t,e,!ft(t))),Vv=t=>hi(t,e=>Sn(t,e,ft(t))),Wv=t=>hi(t,e=>U.cursor(t.lineBlockAt(e.head).from,1)),jv=t=>hi(t,e=>U.cursor(t.lineBlockAt(e.head).to,-1));function Cv(t,e,i){let n=!1,O=ir(t.selection,r=>{let a=ki(t,r.head,-1)||ki(t,r.head,1)||r.head>0&&ki(t,r.head-1,1)||r.head<t.doc.length&&ki(t,r.head+1,-1);if(!a||!a.end)return r;n=!0;let o=a.start.from==r.head?a.end.to:a.end.from;return U.cursor(o)});return n?(e(ui(t,O)),!0):!1}const Ev=({state:t,dispatch:e})=>Cv(t,e);function ei(t,e){let i=ir(t.state.selection,n=>{let O=e(n);return U.range(n.anchor,O.head,O.goalColumn,O.bidiLevel||void 0,O.assoc)});return i.eq(t.state.selection)?!1:(t.dispatch(ui(t.state,i)),!0)}function uS(t,e){return ei(t,i=>t.moveByChar(i,e))}const hS=t=>uS(t,!ft(t)),fS=t=>uS(t,ft(t));function dS(t,e){return ei(t,i=>t.moveByGroup(i,e))}const Gv=t=>dS(t,!ft(t)),Av=t=>dS(t,ft(t)),Nv=t=>ei(t,e=>js(t.state,e,!ft(t))),Iv=t=>ei(t,e=>js(t.state,e,ft(t)));function $S(t,e){return ei(t,i=>t.moveVertically(i,e))}const pS=t=>$S(t,!1),QS=t=>$S(t,!0);function mS(t,e){return ei(t,i=>t.moveVertically(i,e,lS(t).height))}const W$=t=>mS(t,!1),j$=t=>mS(t,!0),Lv=t=>ei(t,e=>Sn(t,e,!0)),Dv=t=>ei(t,e=>Sn(t,e,!1)),Mv=t=>ei(t,e=>Sn(t,e,!ft(t))),Bv=t=>ei(t,e=>Sn(t,e,ft(t))),Fv=t=>ei(t,e=>U.cursor(t.lineBlockAt(e.head).from)),Hv=t=>ei(t,e=>U.cursor(t.lineBlockAt(e.head).to)),C$=({state:t,dispatch:e})=>(e(ui(t,{anchor:0})),!0),E$=({state:t,dispatch:e})=>(e(ui(t,{anchor:t.doc.length})),!0),G$=({state:t,dispatch:e})=>(e(ui(t,{anchor:t.selection.main.anchor,head:0})),!0),A$=({state:t,dispatch:e})=>(e(ui(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),Kv=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),Jv=({state:t,dispatch:e})=>{let i=Cs(t).map(({from:n,to:O})=>U.range(n,Math.min(O+1,t.doc.length)));return e(t.update({selection:U.create(i),userEvent:"select"})),!0},e0=({state:t,dispatch:e})=>{let i=ir(t.selection,n=>{let O=Ze(t),r=O.resolveStack(n.from,1);if(n.empty){let a=O.resolveStack(n.from,-1);a.node.from>=r.node.from&&a.node.to<=r.node.to&&(r=a)}for(let a=r;a;a=a.next){let{node:o}=a;if((o.from<n.from&&o.to>=n.to||o.to>n.to&&o.from<=n.from)&&a.next)return U.range(o.to,o.from)}return n});return i.eq(t.selection)?!1:(e(ui(t,i)),!0)};function gS(t,e){let{state:i}=t,n=i.selection,O=i.selection.ranges.slice();for(let r of i.selection.ranges){let a=i.doc.lineAt(r.head);if(e?a.to<t.state.doc.length:a.from>0)for(let o=r;;){let s=t.moveVertically(o,e);if(s.head<a.from||s.head>a.to){O.some(l=>l.head==s.head)||O.push(s);break}else{if(s.head==o.head)break;o=s}}}return O.length==n.ranges.length?!1:(t.dispatch(ui(i,U.create(O,O.length-1))),!0)}const t0=t=>gS(t,!1),i0=t=>gS(t,!0),n0=({state:t,dispatch:e})=>{let i=t.selection,n=null;return i.ranges.length>1?n=U.create([i.main]):i.main.empty||(n=U.create([U.cursor(i.main.head)])),n?(e(ui(t,n)),!0):!1};function ba(t,e){if(t.state.readOnly)return!1;let i="delete.selection",{state:n}=t,O=n.changeByRange(r=>{let{from:a,to:o}=r;if(a==o){let s=e(r);s<a?(i="delete.backward",s=to(t,s,!1)):s>a&&(i="delete.forward",s=to(t,s,!0)),a=Math.min(a,s),o=Math.max(o,s)}else a=to(t,a,!1),o=to(t,o,!0);return a==o?{range:r}:{changes:{from:a,to:o},range:U.cursor(a,a<r.head?-1:1)}});return O.changes.empty?!1:(t.dispatch(n.update(O,{scrollIntoView:!0,userEvent:i,effects:i=="delete.selection"?H.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function to(t,e,i){if(t instanceof H)for(let n of t.state.facet(H.atomicRanges).map(O=>O(t)))n.between(e,e,(O,r)=>{O<e&&r>e&&(e=i?r:O)});return e}const PS=(t,e,i)=>ba(t,n=>{let O=n.from,{state:r}=t,a=r.doc.lineAt(O),o,s;if(i&&!e&&O>a.from&&O<a.from+200&&!/[^ \t]/.test(o=a.text.slice(0,O-a.from))){if(o[o.length-1]==" ")return O-1;let l=Yi(o,r.tabSize),c=l%Jn(r)||Jn(r);for(let u=0;u<c&&o[o.length-1-u]==" ";u++)O--;s=O}else s=nt(a.text,O-a.from,e,e)+a.from,s==O&&a.number!=(e?r.doc.lines:1)?s+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(a.text.slice(s-a.from,O-a.from))&&(s=nt(a.text,s-a.from,!1,!1)+a.from);return s}),Zu=t=>PS(t,!1,!0),SS=t=>PS(t,!0,!1),bS=(t,e)=>ba(t,i=>{let n=i.head,{state:O}=t,r=O.doc.lineAt(n),a=O.charCategorizer(n);for(let o=null;;){if(n==(e?r.to:r.from)){n==i.head&&r.number!=(e?O.doc.lines:1)&&(n+=e?1:-1);break}let s=nt(r.text,n-r.from,e)+r.from,l=r.text.slice(Math.min(n,s)-r.from,Math.max(n,s)-r.from),c=a(l);if(o!=null&&c!=o)break;(l!=" "||n!=i.head)&&(o=c),n=s}return n}),XS=t=>bS(t,!1),O0=t=>bS(t,!0),r0=t=>ba(t,e=>{let i=t.lineBlockAt(e.head).to;return e.head<i?i:Math.min(t.state.doc.length,e.head+1)}),a0=t=>ba(t,e=>{let i=t.moveToLineBoundary(e,!1).head;return e.head>i?i:Math.max(0,e.head-1)}),o0=t=>ba(t,e=>{let i=t.moveToLineBoundary(e,!0).head;return e.head<i?i:Math.min(t.state.doc.length,e.head+1)}),s0=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:ye.of(["",""])},range:U.cursor(n.from)}));return e(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0},l0=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange(n=>{if(!n.empty||n.from==0||n.from==t.doc.length)return{range:n};let O=n.from,r=t.doc.lineAt(O),a=O==r.from?O-1:nt(r.text,O-r.from,!1)+r.from,o=O==r.to?O+1:nt(r.text,O-r.from,!0)+r.from;return{changes:{from:a,to:o,insert:t.doc.slice(O,o).append(t.doc.slice(a,O))},range:U.cursor(o)}});return i.changes.empty?!1:(e(t.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Cs(t){let e=[],i=-1;for(let n of t.selection.ranges){let O=t.doc.lineAt(n.from),r=t.doc.lineAt(n.to);if(!n.empty&&n.to==r.from&&(r=t.doc.lineAt(n.to-1)),i>=O.number){let a=e[e.length-1];a.to=r.to,a.ranges.push(n)}else e.push({from:O.from,to:r.to,ranges:[n]});i=r.number+1}return e}function yS(t,e,i){if(t.readOnly)return!1;let n=[],O=[];for(let r of Cs(t)){if(i?r.to==t.doc.length:r.from==0)continue;let a=t.doc.lineAt(i?r.to+1:r.from-1),o=a.length+1;if(i){n.push({from:r.to,to:a.to},{from:r.from,insert:a.text+t.lineBreak});for(let s of r.ranges)O.push(U.range(Math.min(t.doc.length,s.anchor+o),Math.min(t.doc.length,s.head+o)))}else{n.push({from:a.from,to:r.from},{from:r.to,insert:t.lineBreak+a.text});for(let s of r.ranges)O.push(U.range(s.anchor-o,s.head-o))}}return n.length?(e(t.update({changes:n,scrollIntoView:!0,selection:U.create(O,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const c0=({state:t,dispatch:e})=>yS(t,e,!1),u0=({state:t,dispatch:e})=>yS(t,e,!0);function xS(t,e,i){if(t.readOnly)return!1;let n=[];for(let r of Cs(t))i?n.push({from:r.from,insert:t.doc.slice(r.from,r.to)+t.lineBreak}):n.push({from:r.to,insert:t.lineBreak+t.doc.slice(r.from,r.to)});let O=t.changes(n);return e(t.update({changes:O,selection:t.selection.map(O,i?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const h0=({state:t,dispatch:e})=>xS(t,e,!1),f0=({state:t,dispatch:e})=>xS(t,e,!0),d0=t=>{if(t.state.readOnly)return!1;let{state:e}=t,i=e.changes(Cs(e).map(({from:O,to:r})=>(O>0?O--:r<e.doc.length&&r++,{from:O,to:r}))),n=ir(e.selection,O=>{let r;if(t.lineWrapping){let a=t.lineBlockAt(O.head),o=t.coordsAtPos(O.head,O.assoc||1);o&&(r=a.bottom+t.documentTop-o.bottom+t.defaultLineHeight/2)}return t.moveVertically(O,!0,r)}).map(i);return t.dispatch({changes:i,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function $0(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let i=Ze(t).resolveInner(e),n=i.childBefore(e),O=i.childAfter(e),r;return n&&O&&n.to<=e&&O.from>=e&&(r=n.type.prop(ce.closedBy))&&r.indexOf(O.name)>-1&&t.doc.lineAt(n.to).from==t.doc.lineAt(O.from).from&&!/\S/.test(t.sliceDoc(n.to,O.from))?{from:n.to,to:O.from}:null}const N$=wS(!1),p0=wS(!0);function wS(t){return({state:e,dispatch:i})=>{if(e.readOnly)return!1;let n=e.changeByRange(O=>{let{from:r,to:a}=O,o=e.doc.lineAt(r),s=!t&&r==a&&$0(e,r);t&&(r=a=(a<=o.to?o:e.doc.lineAt(a)).to);let l=new qs(e,{simulateBreak:r,simulateDoubleBreak:!!s}),c=Ih(l,r);for(c==null&&(c=Yi(/^\s*/.exec(e.doc.lineAt(r).text)[0],e.tabSize));a<o.to&&/\s/.test(o.text[a-o.from]);)a++;s?{from:r,to:a}=s:r>o.from&&r<o.from+100&&!/\S/.test(o.text.slice(0,r))&&(r=o.from);let u=["",Kr(e,c)];return s&&u.push(Kr(e,l.lineIndent(o.from,-1))),{changes:{from:r,to:a,insert:ye.of(u)},range:U.cursor(r+1+u[1].length)}});return i(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function Jh(t,e){let i=-1;return t.changeByRange(n=>{let O=[];for(let a=n.from;a<=n.to;){let o=t.doc.lineAt(a);o.number>i&&(n.empty||n.to>o.from)&&(e(o,O,n),i=o.number),a=o.to+1}let r=t.changes(O);return{changes:O,range:U.range(r.mapPos(n.anchor,1),r.mapPos(n.head,1))}})}const Q0=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=Object.create(null),n=new qs(t,{overrideIndentation:r=>{let a=i[r];return a??-1}}),O=Jh(t,(r,a,o)=>{let s=Ih(n,r.from);if(s==null)return;/\S/.test(r.text)||(s=0);let l=/^\s*/.exec(r.text)[0],c=Kr(t,s);(l!=c||o.from<r.from+l.length)&&(i[r.from]=s,a.push({from:r.from,to:r.from+l.length,insert:c}))});return O.changes.empty||e(t.update(O,{userEvent:"indent"})),!0},kS=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Jh(t,(i,n)=>{n.push({from:i.from,insert:t.facet(ga)})}),{userEvent:"input.indent"})),!0),TS=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Jh(t,(i,n)=>{let O=/^\s*/.exec(i.text)[0];if(!O)return;let r=Yi(O,t.tabSize),a=0,o=Kr(t,Math.max(0,r-Jn(t)));for(;a<O.length&&a<o.length&&O.charCodeAt(a)==o.charCodeAt(a);)a++;n.push({from:i.from+a,to:i.from+O.length,insert:o.slice(a)})}),{userEvent:"delete.dedent"})),!0),m0=t=>(t.setTabFocusMode(),!0),g0=[{key:"Ctrl-b",run:nS,shift:hS,preventDefault:!0},{key:"Ctrl-f",run:OS,shift:fS},{key:"Ctrl-p",run:oS,shift:pS},{key:"Ctrl-n",run:sS,shift:QS},{key:"Ctrl-a",run:Wv,shift:Fv},{key:"Ctrl-e",run:jv,shift:Hv},{key:"Ctrl-d",run:SS},{key:"Ctrl-h",run:Zu},{key:"Ctrl-k",run:r0},{key:"Ctrl-Alt-h",run:XS},{key:"Ctrl-o",run:s0},{key:"Ctrl-t",run:l0},{key:"Ctrl-v",run:Yu}],P0=[{key:"ArrowLeft",run:nS,shift:hS,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:vv,shift:Gv,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Uv,shift:Mv,preventDefault:!0},{key:"ArrowRight",run:OS,shift:fS,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:_v,shift:Av,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Vv,shift:Bv,preventDefault:!0},{key:"ArrowUp",run:oS,shift:pS,preventDefault:!0},{mac:"Cmd-ArrowUp",run:C$,shift:G$},{mac:"Ctrl-ArrowUp",run:V$,shift:W$},{key:"ArrowDown",run:sS,shift:QS,preventDefault:!0},{mac:"Cmd-ArrowDown",run:E$,shift:A$},{mac:"Ctrl-ArrowDown",run:Yu,shift:j$},{key:"PageUp",run:V$,shift:W$},{key:"PageDown",run:Yu,shift:j$},{key:"Home",run:qv,shift:Dv,preventDefault:!0},{key:"Mod-Home",run:C$,shift:G$},{key:"End",run:zv,shift:Lv,preventDefault:!0},{key:"Mod-End",run:E$,shift:A$},{key:"Enter",run:N$,shift:N$},{key:"Mod-a",run:Kv},{key:"Backspace",run:Zu,shift:Zu,preventDefault:!0},{key:"Delete",run:SS,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:XS,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:O0,preventDefault:!0},{mac:"Mod-Backspace",run:a0,preventDefault:!0},{mac:"Mod-Delete",run:o0,preventDefault:!0}].concat(g0.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),S0=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Yv,shift:Nv},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Zv,shift:Iv},{key:"Alt-ArrowUp",run:c0},{key:"Shift-Alt-ArrowUp",run:h0},{key:"Alt-ArrowDown",run:u0},{key:"Shift-Alt-ArrowDown",run:f0},{key:"Mod-Alt-ArrowUp",run:t0},{key:"Mod-Alt-ArrowDown",run:i0},{key:"Escape",run:n0},{key:"Mod-Enter",run:p0},{key:"Alt-l",mac:"Ctrl-l",run:Jv},{key:"Mod-i",run:e0,preventDefault:!0},{key:"Mod-[",run:TS},{key:"Mod-]",run:kS},{key:"Mod-Alt-\\",run:Q0},{key:"Shift-Mod-k",run:d0},{key:"Shift-Mod-\\",run:Ev},{key:"Mod-/",run:hv},{key:"Alt-A",run:dv},{key:"Ctrl-m",mac:"Shift-Alt-m",run:m0}].concat(P0),A8={key:"Tab",run:kS,shift:TS},I$=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class DO{constructor(e,i,n=0,O=e.length,r,a){this.test=a,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,O),this.bufferStart=n,this.normalize=r?o=>r(I$(o)):I$,this.query=this.normalize(i)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return rO(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let i=Og(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=$a(e);let O=this.normalize(i);if(O.length)for(let r=0,a=n;;r++){let o=O.charCodeAt(r),s=this.match(o,a,this.bufferPos+this.bufferStart);if(r==O.length-1){if(s)return this.value=s,this;break}a==n&&r<i.length&&i.charCodeAt(r)==o&&a++}}}match(e,i,n){let O=null;for(let r=0;r<this.matches.length;r+=2){let a=this.matches[r],o=!1;this.query.charCodeAt(a)==e&&(a==this.query.length-1?O={from:this.matches[r+1],to:n}:(this.matches[r]++,o=!0)),o||(this.matches.splice(r,2),r-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?O={from:i,to:n}:this.matches.push(1,i)),O&&this.test&&!this.test(O.from,O.to,this.buffer,this.bufferStart)&&(O=null),O}}typeof Symbol<"u"&&(DO.prototype[Symbol.iterator]=function(){return this});const vS={from:-1,to:-1,match:/.*/.exec("")},ef="gm"+(/x/.unicode==null?"":"u");class _S{constructor(e,i,n,O=0,r=e.length){if(this.text=e,this.to=r,this.curLine="",this.done=!1,this.value=vS,/\\[sWDnr]|\n|\r|\[\^/.test(i))return new RS(e,i,n,O,r);this.re=new RegExp(i,ef+(n!=null&&n.ignoreCase?"i":"")),this.test=n==null?void 0:n.test,this.iter=e.iter();let a=e.lineAt(O);this.curLineStart=a.from,this.matchPos=Os(e,O),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let i=this.matchPos<=this.to&&this.re.exec(this.curLine);if(i){let n=this.curLineStart+i.index,O=n+i[0].length;if(this.matchPos=Os(this.text,O+(n==O?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<O||n>this.value.to)&&(!this.test||this.test(n,O,i)))return this.value={from:n,to:O,match:i},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const Ll=new WeakMap;class WO{constructor(e,i){this.from=e,this.text=i}get to(){return this.from+this.text.length}static get(e,i,n){let O=Ll.get(e);if(!O||O.from>=n||O.to<=i){let o=new WO(i,e.sliceString(i,n));return Ll.set(e,o),o}if(O.from==i&&O.to==n)return O;let{text:r,from:a}=O;return a>i&&(r=e.sliceString(i,a)+r,a=i),O.to<n&&(r+=e.sliceString(O.to,n)),Ll.set(e,new WO(a,r)),new WO(i,r.slice(i-a,n-a))}}class RS{constructor(e,i,n,O,r){this.text=e,this.to=r,this.done=!1,this.value=vS,this.matchPos=Os(e,O),this.re=new RegExp(i,ef+(n!=null&&n.ignoreCase?"i":"")),this.test=n==null?void 0:n.test,this.flat=WO.get(e,O,this.chunkEnd(O+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,i=this.re.exec(this.flat.text);if(i&&!i[0]&&i.index==e&&(this.re.lastIndex=e+1,i=this.re.exec(this.flat.text)),i){let n=this.flat.from+i.index,O=n+i[0].length;if((this.flat.to>=this.to||i.index+i[0].length<=this.flat.text.length-10)&&(!this.test||this.test(n,O,i)))return this.value={from:n,to:O,match:i},this.matchPos=Os(this.text,O+(n==O?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=WO.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(_S.prototype[Symbol.iterator]=RS.prototype[Symbol.iterator]=function(){return this});function b0(t){try{return new RegExp(t,ef),!0}catch{return!1}}function Os(t,e){if(e>=t.length)return e;let i=t.lineAt(e),n;for(;e<i.to&&(n=i.text.charCodeAt(e-i.from))>=56320&&n<57344;)e++;return e}const X0=t=>{let{state:e}=t,i=String(e.doc.lineAt(t.state.selection.main.head).number),{close:n,result:O}=Gk(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:i},focus:!0,submitLabel:e.phrase("go")});return O.then(r=>{let a=r&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(r.elements.line.value);if(!a){t.dispatch({effects:n});return}let o=e.doc.lineAt(e.selection.main.head),[,s,l,c,u]=a,h=c?+c.slice(1):0,d=l?+l:o.number;if(l&&u){let g=d/100;s&&(g=g*(s=="-"?-1:1)+o.number/e.doc.lines),d=Math.round(e.doc.lines*g)}else l&&s&&(d=d*(s=="-"?-1:1)+o.number);let p=e.doc.line(Math.max(1,Math.min(e.doc.lines,d))),Q=U.cursor(p.from+Math.max(0,Math.min(h,p.length)));t.dispatch({effects:[n,H.scrollIntoView(Q.from,{y:"center"})],selection:Q})}),!0},y0={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},x0=K.define({combine(t){return oO(t,y0,{highlightWordAroundCursor:(e,i)=>e||i,minSelectionLength:Math.min,maxMatches:Math.min})}});function w0(t){return[R0,_0]}const k0=he.mark({class:"cm-selectionMatch"}),T0=he.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function L$(t,e,i,n){return(i==0||t(e.sliceDoc(i-1,i))!=Ce.Word)&&(n==e.doc.length||t(e.sliceDoc(n,n+1))!=Ce.Word)}function v0(t,e,i,n){return t(e.sliceDoc(i,i+1))==Ce.Word&&t(e.sliceDoc(n-1,n))==Ce.Word}const _0=gt.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(x0),{state:i}=t,n=i.selection;if(n.ranges.length>1)return he.none;let O=n.main,r,a=null;if(O.empty){if(!e.highlightWordAroundCursor)return he.none;let s=i.wordAt(O.head);if(!s)return he.none;a=i.charCategorizer(O.head),r=i.sliceDoc(s.from,s.to)}else{let s=O.to-O.from;if(s<e.minSelectionLength||s>200)return he.none;if(e.wholeWords){if(r=i.sliceDoc(O.from,O.to),a=i.charCategorizer(O.head),!(L$(a,i,O.from,O.to)&&v0(a,i,O.from,O.to)))return he.none}else if(r=i.sliceDoc(O.from,O.to),!r)return he.none}let o=[];for(let s of t.visibleRanges){let l=new DO(i.doc,r,s.from,s.to);for(;!l.next().done;){let{from:c,to:u}=l.value;if((!a||L$(a,i,c,u))&&(O.empty&&c<=O.from&&u>=O.to?o.push(T0.range(c,u)):(c>=O.to||u<=O.from)&&o.push(k0.range(c,u)),o.length>e.maxMatches))return he.none}}return he.set(o)}},{decorations:t=>t.decorations}),R0=H.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Y0=({state:t,dispatch:e})=>{let{selection:i}=t,n=U.create(i.ranges.map(O=>t.wordAt(O.head)||U.cursor(O.head)),i.mainIndex);return n.eq(i)?!1:(e(t.update({selection:n})),!0)};function Z0(t,e){let{main:i,ranges:n}=t.selection,O=t.wordAt(i.head),r=O&&O.from==i.from&&O.to==i.to;for(let a=!1,o=new DO(t.doc,e,n[n.length-1].to);;)if(o.next(),o.done){if(a)return null;o=new DO(t.doc,e,0,Math.max(0,n[n.length-1].from-1)),a=!0}else{if(a&&n.some(s=>s.from==o.value.from))continue;if(r){let s=t.wordAt(o.value.from);if(!s||s.from!=o.value.from||s.to!=o.value.to)continue}return o.value}}const z0=({state:t,dispatch:e})=>{let{ranges:i}=t.selection;if(i.some(r=>r.from===r.to))return Y0({state:t,dispatch:e});let n=t.sliceDoc(i[0].from,i[0].to);if(t.selection.ranges.some(r=>t.sliceDoc(r.from,r.to)!=n))return!1;let O=Z0(t,n);return O?(e(t.update({selection:t.selection.addRange(U.range(O.from,O.to),!1),effects:H.scrollIntoView(O.to)})),!0):!1},lO=K.define({combine(t){return oO(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new B0(e),scrollToMatch:e=>H.scrollIntoView(e)})}});function q0(t){return t?[lO.of(t),qu]:qu}class YS{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||b0(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(i,n)=>n=="n"?`
|
|
19
|
+
`:n=="r"?"\r":n=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new E0(this):new W0(this)}getCursor(e,i=0,n){let O=e.doc?e:Xe.create({doc:e});return n==null&&(n=O.doc.length),this.regexp?vO(this,O,i,n):TO(this,O,i,n)}}class ZS{constructor(e){this.spec=e}}function U0(t,e,i){return(n,O,r,a)=>{if(i&&!i(n,O,r,a))return!1;let o=n>=a&&O<=a+r.length?r.slice(n-a,O-a):e.doc.sliceString(n,O);return t(o,e,n,O)}}function TO(t,e,i,n){let O;return t.wholeWord&&(O=V0(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(O=U0(t.test,e,O)),new DO(e.doc,t.unquoted,i,n,t.caseSensitive?void 0:r=>r.toLowerCase(),O)}function V0(t,e){return(i,n,O,r)=>((r>i||r+O.length<n)&&(r=Math.max(0,i-2),O=t.sliceString(r,Math.min(t.length,n+2))),(e(rs(O,i-r))!=Ce.Word||e(as(O,i-r))!=Ce.Word)&&(e(as(O,n-r))!=Ce.Word||e(rs(O,n-r))!=Ce.Word))}class W0 extends ZS{constructor(e){super(e)}nextMatch(e,i,n){let O=TO(this.spec,e,n,e.doc.length).nextOverlapping();if(O.done){let r=Math.min(e.doc.length,i+this.spec.unquoted.length);O=TO(this.spec,e,0,r).nextOverlapping()}return O.done||O.value.from==i&&O.value.to==n?null:O.value}prevMatchInRange(e,i,n){for(let O=n;;){let r=Math.max(i,O-1e4-this.spec.unquoted.length),a=TO(this.spec,e,r,O),o=null;for(;!a.nextOverlapping().done;)o=a.value;if(o)return o;if(r==i)return null;O-=1e4}}prevMatch(e,i,n){let O=this.prevMatchInRange(e,0,i);return O||(O=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length)),O&&(O.from!=i||O.to!=n)?O:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,i){let n=TO(this.spec,e,0,e.doc.length),O=[];for(;!n.next().done;){if(O.length>=i)return null;O.push(n.value)}return O}highlight(e,i,n,O){let r=TO(this.spec,e,Math.max(0,i-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)O(r.value.from,r.value.to)}}function j0(t,e,i){return(n,O,r)=>(!i||i(n,O,r))&&t(r[0],e,n,O)}function vO(t,e,i,n){let O;return t.wholeWord&&(O=C0(e.charCategorizer(e.selection.main.head))),t.test&&(O=j0(t.test,e,O)),new _S(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:O},i,n)}function rs(t,e){return t.slice(nt(t,e,!1),e)}function as(t,e){return t.slice(e,nt(t,e))}function C0(t){return(e,i,n)=>!n[0].length||(t(rs(n.input,n.index))!=Ce.Word||t(as(n.input,n.index))!=Ce.Word)&&(t(as(n.input,n.index+n[0].length))!=Ce.Word||t(rs(n.input,n.index+n[0].length))!=Ce.Word)}class E0 extends ZS{nextMatch(e,i,n){let O=vO(this.spec,e,n,e.doc.length).next();return O.done&&(O=vO(this.spec,e,0,i).next()),O.done?null:O.value}prevMatchInRange(e,i,n){for(let O=1;;O++){let r=Math.max(i,n-O*1e4),a=vO(this.spec,e,r,n),o=null;for(;!a.next().done;)o=a.value;if(o&&(r==i||o.from>r+10))return o;if(r==i)return null}}prevMatch(e,i,n){return this.prevMatchInRange(e,0,i)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(i,n)=>{if(n=="&")return e.match[0];if(n=="$")return"$";for(let O=n.length;O>0;O--){let r=+n.slice(0,O);if(r>0&&r<e.match.length)return e.match[r]+n.slice(O)}return i})}matchAll(e,i){let n=vO(this.spec,e,0,e.doc.length),O=[];for(;!n.next().done;){if(O.length>=i)return null;O.push(n.value)}return O}highlight(e,i,n,O){let r=vO(this.spec,e,Math.max(0,i-250),Math.min(n+250,e.doc.length));for(;!r.next().done;)O(r.value.from,r.value.to)}}const ea=xe.define(),tf=xe.define(),hn=At.define({create(t){return new Dl(zu(t).create(),null)},update(t,e){for(let i of e.effects)i.is(ea)?t=new Dl(i.value.create(),t.panel):i.is(tf)&&(t=new Dl(t.query,i.value?nf:null));return t},provide:t=>Ho.from(t,e=>e.panel)});class Dl{constructor(e,i){this.query=e,this.panel=i}}const G0=he.mark({class:"cm-searchMatch"}),A0=he.mark({class:"cm-searchMatch cm-searchMatch-selected"}),N0=gt.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(hn))}update(t){let e=t.state.field(hn);(e!=t.startState.field(hn)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return he.none;let{view:i}=this,n=new Mn;for(let O=0,r=i.visibleRanges,a=r.length;O<a;O++){let{from:o,to:s}=r[O];for(;O<a-1&&s>r[O+1].from-500;)s=r[++O].to;t.highlight(i.state,o,s,(l,c)=>{let u=i.state.selection.ranges.some(h=>h.from==l&&h.to==c);n.add(l,c,u?A0:G0)})}return n.finish()}},{decorations:t=>t.decorations});function Xa(t){return e=>{let i=e.state.field(hn,!1);return i&&i.query.spec.valid?t(e,i):Of(e)}}const os=Xa((t,{query:e})=>{let{to:i}=t.state.selection.main,n=e.nextMatch(t.state,i,i);if(!n)return!1;let O=U.single(n.from,n.to),r=t.state.facet(lO);return t.dispatch({selection:O,effects:[rf(t,n),r.scrollToMatch(O.main,t)],userEvent:"select.search"}),qS(t),!0}),ss=Xa((t,{query:e})=>{let{state:i}=t,{from:n}=i.selection.main,O=e.prevMatch(i,n,n);if(!O)return!1;let r=U.single(O.from,O.to),a=t.state.facet(lO);return t.dispatch({selection:r,effects:[rf(t,O),a.scrollToMatch(r.main,t)],userEvent:"select.search"}),qS(t),!0}),I0=Xa((t,{query:e})=>{let i=e.matchAll(t.state,1e3);return!i||!i.length?!1:(t.dispatch({selection:U.create(i.map(n=>U.range(n.from,n.to))),userEvent:"select.search.matches"}),!0)}),L0=({state:t,dispatch:e})=>{let i=t.selection;if(i.ranges.length>1||i.main.empty)return!1;let{from:n,to:O}=i.main,r=[],a=0;for(let o=new DO(t.doc,t.sliceDoc(n,O));!o.next().done;){if(r.length>1e3)return!1;o.value.from==n&&(a=r.length),r.push(U.range(o.value.from,o.value.to))}return e(t.update({selection:U.create(r,a),userEvent:"select.search.matches"})),!0},D$=Xa((t,{query:e})=>{let{state:i}=t,{from:n,to:O}=i.selection.main;if(i.readOnly)return!1;let r=e.nextMatch(i,n,n);if(!r)return!1;let a=r,o=[],s,l,c=[];a.from==n&&a.to==O&&(l=i.toText(e.getReplacement(a)),o.push({from:a.from,to:a.to,insert:l}),a=e.nextMatch(i,a.from,a.to),c.push(H.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(n).number)+".")));let u=t.state.changes(o);return a&&(s=U.single(a.from,a.to).map(u),c.push(rf(t,a)),c.push(i.facet(lO).scrollToMatch(s.main,t))),t.dispatch({changes:u,selection:s,effects:c,userEvent:"input.replace"}),!0}),D0=Xa((t,{query:e})=>{if(t.state.readOnly)return!1;let i=e.matchAll(t.state,1e9).map(O=>{let{from:r,to:a}=O;return{from:r,to:a,insert:e.getReplacement(O)}});if(!i.length)return!1;let n=t.state.phrase("replaced $ matches",i.length)+".";return t.dispatch({changes:i,effects:H.announce.of(n),userEvent:"input.replace.all"}),!0});function nf(t){return t.state.facet(lO).createPanel(t)}function zu(t,e){var i,n,O,r,a;let o=t.selection.main,s=o.empty||o.to>o.from+100?"":t.sliceDoc(o.from,o.to);if(e&&!s)return e;let l=t.facet(lO);return new YS({search:((i=e==null?void 0:e.literal)!==null&&i!==void 0?i:l.literal)?s:s.replace(/\n/g,"\\n"),caseSensitive:(n=e==null?void 0:e.caseSensitive)!==null&&n!==void 0?n:l.caseSensitive,literal:(O=e==null?void 0:e.literal)!==null&&O!==void 0?O:l.literal,regexp:(r=e==null?void 0:e.regexp)!==null&&r!==void 0?r:l.regexp,wholeWord:(a=e==null?void 0:e.wholeWord)!==null&&a!==void 0?a:l.wholeWord})}function zS(t){let e=pP(t,nf);return e&&e.dom.querySelector("[main-field]")}function qS(t){let e=zS(t);e&&e==t.root.activeElement&&e.select()}const Of=t=>{let e=t.state.field(hn,!1);if(e&&e.panel){let i=zS(t);if(i&&i!=t.root.activeElement){let n=zu(t.state,e.query.spec);n.valid&&t.dispatch({effects:ea.of(n)}),i.focus(),i.select()}}else t.dispatch({effects:[tf.of(!0),e?ea.of(zu(t.state,e.query.spec)):xe.appendConfig.of(qu)]});return!0},US=t=>{let e=t.state.field(hn,!1);if(!e||!e.panel)return!1;let i=pP(t,nf);return i&&i.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:tf.of(!1)}),!0},M0=[{key:"Mod-f",run:Of,scope:"editor search-panel"},{key:"F3",run:os,shift:ss,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:os,shift:ss,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:US,scope:"editor search-panel"},{key:"Mod-Shift-l",run:L0},{key:"Mod-Alt-g",run:X0},{key:"Mod-d",run:z0,preventDefault:!0}];class B0{constructor(e){this.view=e;let i=this.query=e.state.field(hn).query.spec;this.commit=this.commit.bind(this),this.searchField=it("input",{value:i.search,placeholder:Ut(e,"Find"),"aria-label":Ut(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=it("input",{value:i.replace,placeholder:Ut(e,"Replace"),"aria-label":Ut(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=it("input",{type:"checkbox",name:"case",form:"",checked:i.caseSensitive,onchange:this.commit}),this.reField=it("input",{type:"checkbox",name:"re",form:"",checked:i.regexp,onchange:this.commit}),this.wordField=it("input",{type:"checkbox",name:"word",form:"",checked:i.wholeWord,onchange:this.commit});function n(O,r,a){return it("button",{class:"cm-button",name:O,onclick:r,type:"button"},a)}this.dom=it("div",{onkeydown:O=>this.keydown(O),class:"cm-search"},[this.searchField,n("next",()=>os(e),[Ut(e,"next")]),n("prev",()=>ss(e),[Ut(e,"previous")]),n("select",()=>I0(e),[Ut(e,"all")]),it("label",null,[this.caseField,Ut(e,"match case")]),it("label",null,[this.reField,Ut(e,"regexp")]),it("label",null,[this.wordField,Ut(e,"by word")]),...e.state.readOnly?[]:[it("br"),this.replaceField,n("replace",()=>D$(e),[Ut(e,"replace")]),n("replaceAll",()=>D0(e),[Ut(e,"replace all")])],it("button",{name:"close",onclick:()=>US(e),"aria-label":Ut(e,"close"),type:"button"},["×"])])}commit(){let e=new YS({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:ea.of(e)}))}keydown(e){wk(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ss:os)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),D$(this.view))}update(e){for(let i of e.transactions)for(let n of i.effects)n.is(ea)&&!n.value.eq(this.query)&&this.setQuery(n.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(lO).top}}function Ut(t,e){return t.state.phrase(e)}const io=30,no=/[\s\.,:;?!]/;function rf(t,{from:e,to:i}){let n=t.state.doc.lineAt(e),O=t.state.doc.lineAt(i).to,r=Math.max(n.from,e-io),a=Math.min(O,i+io),o=t.state.sliceDoc(r,a);if(r!=n.from){for(let s=0;s<io;s++)if(!no.test(o[s+1])&&no.test(o[s])){o=o.slice(s);break}}if(a!=O){for(let s=o.length-1;s>o.length-io;s--)if(!no.test(o[s-1])&&no.test(o[s])){o=o.slice(0,s);break}}return H.announce.of(`${t.state.phrase("current match")}. ${o} ${t.state.phrase("on line")} ${n.number}.`)}const F0=H.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),qu=[hn,aO.low(N0),F0],H0="#e5c07b",M$="#e06c75",K0="#56b6c2",J0="#ffffff",To="#abb2bf",Uu="#7d8799",e_="#61afef",t_="#98c379",B$="#d19a66",i_="#c678dd",n_="#21252b",F$="#2c313a",H$="#282c34",Ml="#353a42",O_="#3E4451",K$="#528bff",r_=H.theme({"&":{color:To,backgroundColor:H$},".cm-content":{caretColor:K$},".cm-cursor, .cm-dropCursor":{borderLeftColor:K$},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:O_},".cm-panels":{backgroundColor:n_,color:To},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:H$,color:Uu,border:"none"},".cm-activeLineGutter":{backgroundColor:F$},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ml},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ml,borderBottomColor:Ml},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:F$,color:To}}},{dark:!0}),a_=Sa.define([{tag:$.keyword,color:i_},{tag:[$.name,$.deleted,$.character,$.propertyName,$.macroName],color:M$},{tag:[$.function($.variableName),$.labelName],color:e_},{tag:[$.color,$.constant($.name),$.standard($.name)],color:B$},{tag:[$.definition($.name),$.separator],color:To},{tag:[$.typeName,$.className,$.number,$.changed,$.annotation,$.modifier,$.self,$.namespace],color:H0},{tag:[$.operator,$.operatorKeyword,$.url,$.escape,$.regexp,$.link,$.special($.string)],color:K0},{tag:[$.meta,$.comment],color:Uu},{tag:$.strong,fontWeight:"bold"},{tag:$.emphasis,fontStyle:"italic"},{tag:$.strikethrough,textDecoration:"line-through"},{tag:$.link,color:Uu,textDecoration:"underline"},{tag:$.heading,fontWeight:"bold",color:M$},{tag:[$.atom,$.bool,$.special($.variableName)],color:B$},{tag:[$.processingInstruction,$.string,$.inserted],color:t_},{tag:$.invalid,color:J0}]),o_=[r_,CP(a_)];var J$={};class ls{constructor(e,i,n,O,r,a,o,s,l,c=0,u){this.p=e,this.stack=i,this.state=n,this.reducePos=O,this.pos=r,this.score=a,this.buffer=o,this.bufferBase=s,this.curContext=l,this.lookAhead=c,this.parent=u}toString(){return`[${this.stack.filter((e,i)=>i%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,i,n=0){let O=e.parser.context;return new ls(e,[],i,n,n,0,[],0,O?new ep(O,O.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,i){this.stack.push(this.state,i,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var i;let n=e>>19,O=e&65535,{parser:r}=this.p,a=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),o=r.dynamicPrecedence(O);if(o&&(this.score+=o),n==0){this.pushState(r.getGoto(this.state,O,!0),this.reducePos),O<r.minRepeatTerm&&this.storeNode(O,this.reducePos,this.reducePos,a?8:4,!0),this.reduceContext(O,this.reducePos);return}let s=this.stack.length-(n-1)*3-(e&262144?6:0),l=s?this.stack[s-2]:this.p.ranges[0].from,c=this.reducePos-l;c>=2e3&&!(!((i=this.p.parser.nodeSet.types[O])===null||i===void 0)&&i.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=c));let u=s?this.stack[s-1]:0,h=this.bufferBase+this.buffer.length-u;if(O<r.minRepeatTerm||e&131072){let d=r.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(O,l,d,h+4,!0)}if(e&262144)this.state=this.stack[s];else{let d=this.stack[s-3];this.state=r.getGoto(d,O,!0)}for(;this.stack.length>s;)this.stack.pop();this.reduceContext(O,l)}storeNode(e,i,n,O=4,r=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let a=this,o=this.buffer.length;if(o==0&&a.parent&&(o=a.bufferBase-a.parent.bufferBase,a=a.parent),o>0&&a.buffer[o-4]==0&&a.buffer[o-1]>-1){if(i==n)return;if(a.buffer[o-2]>=i){a.buffer[o-2]=n;return}}}if(!r||this.pos==n)this.buffer.push(e,i,n,O);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let o=!1;for(let s=a;s>0&&this.buffer[s-2]>n;s-=4)if(this.buffer[s-1]>=0){o=!0;break}if(o)for(;a>0&&this.buffer[a-2]>n;)this.buffer[a]=this.buffer[a-4],this.buffer[a+1]=this.buffer[a-3],this.buffer[a+2]=this.buffer[a-2],this.buffer[a+3]=this.buffer[a-1],a-=4,O>4&&(O-=4)}this.buffer[a]=e,this.buffer[a+1]=i,this.buffer[a+2]=n,this.buffer[a+3]=O}}shift(e,i,n,O){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let r=e,{parser:a}=this.p;this.pos=O;let o=a.stateFlag(r,1);!o&&(O>n||i<=a.maxNode)&&(this.reducePos=O),this.pushState(r,o?n:Math.min(n,this.reducePos)),this.shiftContext(i,n),i<=a.maxNode&&this.buffer.push(i,n,O,4)}else this.pos=O,this.shiftContext(i,n),i<=this.p.parser.maxNode&&this.buffer.push(i,n,O,4)}apply(e,i,n,O){e&65536?this.reduce(e):this.shift(e,i,n,O)}useNode(e,i){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let O=this.pos;this.reducePos=this.pos=O+e.length,this.pushState(i,O),this.buffer.push(n,O,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,i=e.buffer.length;for(;i>0&&e.buffer[i-2]>e.reducePos;)i-=4;let n=e.buffer.slice(i),O=e.bufferBase+i;for(;e&&O==e.bufferBase;)e=e.parent;return new ls(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,O,this.curContext,this.lookAhead,e)}recoverByDelete(e,i){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,i,4),this.storeNode(0,this.pos,i,n?8:4),this.pos=this.reducePos=i,this.score-=190}canShift(e){for(let i=new s_(this);;){let n=this.p.parser.stateSlot(i.state,4)||this.p.parser.hasAction(i.state,e);if(n==0)return!1;if((n&65536)==0)return!0;i.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let i=this.p.parser.nextStates(this.state);if(i.length>8||this.stack.length>=120){let O=[];for(let r=0,a;r<i.length;r+=2)(a=i[r+1])!=this.state&&this.p.parser.hasAction(a,e)&&O.push(i[r],a);if(this.stack.length<120)for(let r=0;O.length<8&&r<i.length;r+=2){let a=i[r+1];O.some((o,s)=>s&1&&o==a)||O.push(i[r],a)}i=O}let n=[];for(let O=0;O<i.length&&n.length<4;O+=2){let r=i[O+1];if(r==this.state)continue;let a=this.split();a.pushState(r,this.pos),a.storeNode(0,a.pos,a.pos,4,!0),a.shiftContext(i[O],this.pos),a.reducePos=this.pos,a.score-=200,n.push(a)}return n}forceReduce(){let{parser:e}=this.p,i=e.stateSlot(this.state,5);if((i&65536)==0)return!1;if(!e.validAction(this.state,i)){let n=i>>19,O=i&65535,r=this.stack.length-n*3;if(r<0||e.getGoto(this.stack[r],O,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;i=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(i),!0}findForcedReduction(){let{parser:e}=this.p,i=[],n=(O,r)=>{if(!i.includes(O))return i.push(O),e.allActions(O,a=>{if(!(a&393216))if(a&65536){let o=(a>>19)-r;if(o>1){let s=a&65535,l=this.stack.length-o*3;if(l>=0&&e.getGoto(this.stack[l],s,!1)>=0)return o<<19|65536|s}}else{let o=n(a,r+1);if(o!=null)return o}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let i=0;i<this.stack.length;i+=3)if(this.stack[i]!=e.stack[i])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,i){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(i)))}reduceContext(e,i){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(i)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let i=new ep(this.curContext.tracker,e);i.hash!=this.curContext.hash&&this.emitContext(),this.curContext=i}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class ep{constructor(e,i){this.tracker=e,this.context=i,this.hash=e.strict?e.hash(i):0}}class s_{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let i=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let O=this.start.p.parser.getGoto(this.stack[this.base-3],i,!0);this.state=O}}class cs{constructor(e,i,n){this.stack=e,this.pos=i,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,i=e.bufferBase+e.buffer.length){return new cs(e,i,i-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new cs(this.stack,this.pos,this.index)}}function Tr(t,e=Uint16Array){if(typeof t!="string")return t;let i=null;for(let n=0,O=0;n<t.length;){let r=0;for(;;){let a=t.charCodeAt(n++),o=!1;if(a==126){r=65535;break}a>=92&&a--,a>=34&&a--;let s=a-32;if(s>=46&&(s-=46,o=!0),r+=s,o)break;r*=46}i?i[O++]=r:i=new e(r)}return i}class vo{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const tp=new vo;class l_{constructor(e,i){this.input=e,this.ranges=i,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=tp,this.rangeIndex=0,this.pos=this.chunkPos=i[0].from,this.range=i[0],this.end=i[i.length-1].to,this.readNext()}resolveOffset(e,i){let n=this.range,O=this.rangeIndex,r=this.pos+e;for(;r<n.from;){if(!O)return null;let a=this.ranges[--O];r-=n.from-a.to,n=a}for(;i<0?r>n.to:r>=n.to;){if(O==this.ranges.length-1)return null;let a=this.ranges[++O];r+=a.from-n.to,n=a}return r}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let i of this.ranges)if(i.to>e)return Math.max(e,i.from);return this.end}peek(e){let i=this.chunkOff+e,n,O;if(i>=0&&i<this.chunk.length)n=this.pos+e,O=this.chunk.charCodeAt(i);else{let r=this.resolveOffset(e,1);if(r==null)return-1;if(n=r,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)O=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let a=this.rangeIndex,o=this.range;for(;o.to<=n;)o=this.ranges[++a];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>o.to&&(this.chunk2=this.chunk2.slice(0,o.to-n)),O=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),O}acceptToken(e,i=0){let n=i?this.resolveOffset(i,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}acceptTokenTo(e,i){this.token.value=e,this.token.end=i}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:i}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=i,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),i=this.pos+e.length;this.chunk=i>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,i){if(i?(this.token=i,i.start=e,i.lookAhead=e+1,i.value=i.extended=-1):this.token=tp,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,i){if(e>=this.chunkPos&&i<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,i-this.chunkPos);if(e>=this.chunk2Pos&&i<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,i-this.chunk2Pos);if(e>=this.range.from&&i<=this.range.to)return this.input.read(e,i);let n="";for(let O of this.ranges){if(O.from>=i)break;O.to>e&&(n+=this.input.read(Math.max(O.from,e),Math.min(O.to,i)))}return n}}class jO{constructor(e,i){this.data=e,this.id=i}token(e,i){let{parser:n}=i.p;VS(this.data,e,i,this.id,n.data,n.tokenPrecTable)}}jO.prototype.contextual=jO.prototype.fallback=jO.prototype.extend=!1;class ta{constructor(e,i,n){this.precTable=i,this.elseToken=n,this.data=typeof e=="string"?Tr(e):e}token(e,i){let n=e.pos,O=0;for(;;){let r=e.next<0,a=e.resolveOffset(1,1);if(VS(this.data,e,i,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(r||O++,a==null)break;e.reset(a,e.token)}O&&(e.reset(n,e.token),e.acceptToken(this.elseToken,O))}}ta.prototype.contextual=jO.prototype.fallback=jO.prototype.extend=!1;class ke{constructor(e,i={}){this.token=e,this.contextual=!!i.contextual,this.fallback=!!i.fallback,this.extend=!!i.extend}}function VS(t,e,i,n,O,r){let a=0,o=1<<n,{dialect:s}=i.p.parser;e:for(;(o&t[a])!=0;){let l=t[a+1];for(let d=a+3;d<l;d+=2)if((t[d+1]&o)>0){let p=t[d];if(s.allows(p)&&(e.token.value==-1||e.token.value==p||c_(p,e.token.value,O,r))){e.acceptToken(p);break}}let c=e.next,u=0,h=t[a+2];if(e.next<0&&h>u&&t[l+h*3-3]==65535){a=t[l+h*3-1];continue e}for(;u<h;){let d=u+h>>1,p=l+d+(d<<1),Q=t[p],g=t[p+1]||65536;if(c<Q)h=d;else if(c>=g)u=d+1;else{a=t[p+2],e.advance();continue e}}break}}function ip(t,e,i){for(let n=e,O;(O=t[n])!=65535;n++)if(O==i)return n-e;return-1}function c_(t,e,i,n){let O=ip(i,n,e);return O<0||ip(i,n,t)<O}const Vt=typeof process<"u"&&J$&&/\bparse\b/.test(J$.LOG);let Bl=null;function np(t,e,i){let n=t.cursor(Ye.IncludeAnonymous);for(n.moveTo(e);;)if(!(i<0?n.childBefore(e):n.childAfter(e)))for(;;){if((i<0?n.to<e:n.from>e)&&!n.type.isError)return i<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(t.length,Math.max(n.from+1,e+25));if(i<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return i<0?0:t.length}}let u_=class{constructor(e,i){this.fragments=e,this.nodeSet=i,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?np(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?np(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let i=this.trees.length-1;if(i<0)return this.nextFragment(),null;let n=this.trees[i],O=this.index[i];if(O==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let r=n.children[O],a=this.start[i]+n.positions[O];if(a>e)return this.nextStart=a,null;if(r instanceof me){if(a==e){if(a<this.safeFrom)return null;let o=a+r.length;if(o<=this.safeTo){let s=r.prop(ce.lookAhead);if(!s||o+s<this.fragment.to)return r}}this.index[i]++,a+r.length>=Math.max(this.safeFrom,e)&&(this.trees.push(r),this.start.push(a),this.index.push(0))}else this.index[i]++,this.nextStart=a+r.length}}};class h_{constructor(e,i){this.stream=i,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new vo)}getActions(e){let i=0,n=null,{parser:O}=e.p,{tokenizers:r}=O,a=O.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,s=0;for(let l=0;l<r.length;l++){if((1<<l&a)==0)continue;let c=r[l],u=this.tokens[l];if(!(n&&!c.fallback)&&((c.contextual||u.start!=e.pos||u.mask!=a||u.context!=o)&&(this.updateCachedToken(u,c,e),u.mask=a,u.context=o),u.lookAhead>u.end+25&&(s=Math.max(u.lookAhead,s)),u.value!=0)){let h=i;if(u.extended>-1&&(i=this.addActions(e,u.extended,u.end,i)),i=this.addActions(e,u.value,u.end,i),!c.extend&&(n=u,i>h))break}}for(;this.actions.length>i;)this.actions.pop();return s&&e.setLookAhead(s),!n&&e.pos==this.stream.end&&(n=new vo,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,i=this.addActions(e,n.value,n.end,i)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let i=new vo,{pos:n,p:O}=e;return i.start=n,i.end=Math.min(n+1,O.stream.end),i.value=n==O.stream.end?O.parser.eofTerm:0,i}updateCachedToken(e,i,n){let O=this.stream.clipPos(n.pos);if(i.token(this.stream.reset(O,e),n),e.value>-1){let{parser:r}=n.p;for(let a=0;a<r.specialized.length;a++)if(r.specialized[a]==e.value){let o=r.specializers[a](this.stream.read(e.start,e.end),n);if(o>=0&&n.p.parser.dialect.allows(o>>1)){(o&1)==0?e.value=o>>1:e.extended=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(O+1)}putAction(e,i,n,O){for(let r=0;r<O;r+=3)if(this.actions[r]==e)return O;return this.actions[O++]=e,this.actions[O++]=i,this.actions[O++]=n,O}addActions(e,i,n,O){let{state:r}=e,{parser:a}=e.p,{data:o}=a;for(let s=0;s<2;s++)for(let l=a.stateSlot(r,s?2:1);;l+=3){if(o[l]==65535)if(o[l+1]==1)l=Ai(o,l+2);else{O==0&&o[l+1]==2&&(O=this.putAction(Ai(o,l+2),i,n,O));break}o[l]==i&&(O=this.putAction(Ai(o,l+1),i,n,O))}return O}}class f_{constructor(e,i,n,O){this.parser=e,this.input=i,this.ranges=O,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new l_(i,O),this.tokens=new h_(e,this.stream),this.topTerm=e.top[1];let{from:r}=O[0];this.stacks=[ls.start(this,e.top[0],r)],this.fragments=n.length&&this.stream.end-r>e.bufferLength*4?new u_(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,i=this.minStackPos,n=this.stacks=[],O,r;if(this.bigReductionCount>300&&e.length==1){let[a]=e;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;a<e.length;a++){let o=e[a];for(;;){if(this.tokens.mainToken=null,o.pos>i)n.push(o);else{if(this.advanceStack(o,n,e))continue;{O||(O=[],r=[]),O.push(o);let s=this.tokens.getMainToken(o);r.push(s.value,s.end)}}break}}if(!n.length){let a=O&&$_(O);if(a)return Vt&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw Vt&&O&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&O){let a=this.stoppedAt!=null&&O[0].pos>this.stoppedAt?O[0]:this.runRecovery(O,r,n);if(a)return Vt&&console.log("Force-finish "+this.stackID(a)),this.stackToTree(a.forceAll())}if(this.recovering){let a=this.recovering==1?1:this.recovering*3;if(n.length>a)for(n.sort((o,s)=>s.score-o.score);n.length>a;)n.pop();n.some(o=>o.reducePos>i)&&this.recovering--}else if(n.length>1){e:for(let a=0;a<n.length-1;a++){let o=n[a];for(let s=a+1;s<n.length;s++){let l=n[s];if(o.sameState(l)||o.buffer.length>500&&l.buffer.length>500)if((o.score-l.score||o.buffer.length-l.buffer.length)>0)n.splice(s--,1);else{n.splice(a--,1);continue e}}}n.length>12&&(n.sort((a,o)=>o.score-a.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let a=1;a<n.length;a++)n[a].pos<this.minStackPos&&(this.minStackPos=n[a].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,i,n){let O=e.pos,{parser:r}=this,a=Vt?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&O>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let l=e.curContext&&e.curContext.tracker.strict,c=l?e.curContext.hash:0;for(let u=this.fragments.nodeAt(O);u;){let h=this.parser.nodeSet.types[u.type.id]==u.type?r.getGoto(e.state,u.type.id):-1;if(h>-1&&u.length&&(!l||(u.prop(ce.contextHash)||0)==c))return e.useNode(u,h),Vt&&console.log(a+this.stackID(e)+` (via reuse of ${r.getName(u.type.id)})`),!0;if(!(u instanceof me)||u.children.length==0||u.positions[0]>0)break;let d=u.children[0];if(d instanceof me&&u.positions[0]==0)u=d;else break}}let o=r.stateSlot(e.state,4);if(o>0)return e.reduce(o),Vt&&console.log(a+this.stackID(e)+` (via always-reduce ${r.getName(o&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let l=0;l<s.length;){let c=s[l++],u=s[l++],h=s[l++],d=l==s.length||!n,p=d?e:e.split(),Q=this.tokens.mainToken;if(p.apply(c,u,Q?Q.start:p.pos,h),Vt&&console.log(a+this.stackID(p)+` (via ${(c&65536)==0?"shift":`reduce of ${r.getName(c&65535)}`} for ${r.getName(u)} @ ${O}${p==e?"":", split"})`),d)return!0;p.pos>O?i.push(p):n.push(p)}return!1}advanceFully(e,i){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return Op(e,i),!0}}runRecovery(e,i,n){let O=null,r=!1;for(let a=0;a<e.length;a++){let o=e[a],s=i[a<<1],l=i[(a<<1)+1],c=Vt?this.stackID(o)+" -> ":"";if(o.deadEnd&&(r||(r=!0,o.restart(),Vt&&console.log(c+this.stackID(o)+" (restarted)"),this.advanceFully(o,n))))continue;let u=o.split(),h=c;for(let d=0;d<10&&u.forceReduce()&&(Vt&&console.log(h+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,n));d++)Vt&&(h=this.stackID(u)+" -> ");for(let d of o.recoverByInsert(s))Vt&&console.log(c+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,n);this.stream.end>o.pos?(l==o.pos&&(l++,s=0),o.recoverByDelete(s,l),Vt&&console.log(c+this.stackID(o)+` (via recover-delete ${this.parser.getName(s)})`),Op(o,n)):(!O||O.score<u.score)&&(O=u)}return O}stackToTree(e){return e.close(),me.build({buffer:cs.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let i=(Bl||(Bl=new WeakMap)).get(e);return i||Bl.set(e,i=String.fromCodePoint(this.nextStackID++)),i+e}}function Op(t,e){for(let i=0;i<e.length;i++){let n=e[i];if(n.pos==t.pos&&n.sameState(t)){e[i].score<t.score&&(e[i]=t);return}}e.push(t)}class d_{constructor(e,i,n){this.source=e,this.flags=i,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}}const Fl=t=>t;class ya{constructor(e){this.start=e.start,this.shift=e.shift||Fl,this.reduce=e.reduce||Fl,this.reuse=e.reuse||Fl,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class St extends Zs{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let i=e.nodeNames.split(" ");this.minRepeatTerm=i.length;for(let o=0;o<e.repeatNodeCount;o++)i.push("");let n=Object.keys(e.topRules).map(o=>e.topRules[o][1]),O=[];for(let o=0;o<i.length;o++)O.push([]);function r(o,s,l){O[o].push([s,s.deserialize(String(l))])}if(e.nodeProps)for(let o of e.nodeProps){let s=o[0];typeof s=="string"&&(s=ce[s]);for(let l=1;l<o.length;){let c=o[l++];if(c>=0)r(c,s,o[l++]);else{let u=o[l+-c];for(let h=-c;h>0;h--)r(o[l++],s,u);l++}}}this.nodeSet=new tr(i.map((o,s)=>Fe.define({name:s>=this.minRepeatTerm?void 0:o,id:s,props:O[s],top:n.indexOf(s)>-1,error:s==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(s)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=bP;let a=Tr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;o<this.specializerSpecs.length;o++)this.specialized[o]=this.specializerSpecs[o].term;this.specializers=this.specializerSpecs.map(rp),this.states=Tr(e.states,Uint32Array),this.data=Tr(e.stateData),this.goto=Tr(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(o=>typeof o=="number"?new jO(a,o):o),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,i,n){let O=new f_(this,e,i,n);for(let r of this.wrappers)O=r(O,e,i,n);return O}getGoto(e,i,n=!1){let O=this.goto;if(i>=O[0])return-1;for(let r=O[i+1];;){let a=O[r++],o=a&1,s=O[r++];if(o&&n)return s;for(let l=r+(a>>1);r<l;r++)if(O[r]==e)return s;if(o)return-1}}hasAction(e,i){let n=this.data;for(let O=0;O<2;O++)for(let r=this.stateSlot(e,O?2:1),a;;r+=3){if((a=n[r])==65535)if(n[r+1]==1)a=n[r=Ai(n,r+2)];else{if(n[r+1]==2)return Ai(n,r+2);break}if(a==i||a==0)return Ai(n,r+1)}return 0}stateSlot(e,i){return this.states[e*6+i]}stateFlag(e,i){return(this.stateSlot(e,0)&i)>0}validAction(e,i){return!!this.allActions(e,n=>n==i?!0:null)}allActions(e,i){let n=this.stateSlot(e,4),O=n?i(n):void 0;for(let r=this.stateSlot(e,1);O==null;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=Ai(this.data,r+2);else break;O=i(Ai(this.data,r+1))}return O}nextStates(e){let i=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ai(this.data,n+2);else break;if((this.data[n+2]&1)==0){let O=this.data[n+1];i.some((r,a)=>a&1&&r==O)||i.push(this.data[n],O)}}return i}configure(e){let i=Object.assign(Object.create(St.prototype),this);if(e.props&&(i.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);i.top=n}return e.tokenizers&&(i.tokenizers=this.tokenizers.map(n=>{let O=e.tokenizers.find(r=>r.from==n);return O?O.to:n})),e.specializers&&(i.specializers=this.specializers.slice(),i.specializerSpecs=this.specializerSpecs.map((n,O)=>{let r=e.specializers.find(o=>o.from==n.external);if(!r)return n;let a=Object.assign(Object.assign({},n),{external:r.to});return i.specializers[O]=rp(a),a})),e.contextTracker&&(i.context=e.contextTracker),e.dialect&&(i.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(i.strict=e.strict),e.wrap&&(i.wrappers=i.wrappers.concat(e.wrap)),e.bufferLength!=null&&(i.bufferLength=e.bufferLength),i}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let i=this.dynamicPrecedences;return i==null?0:i[e]||0}parseDialect(e){let i=Object.keys(this.dialects),n=i.map(()=>!1);if(e)for(let r of e.split(" ")){let a=i.indexOf(r);a>=0&&(n[a]=!0)}let O=null;for(let r=0;r<i.length;r++)if(!n[r])for(let a=this.dialects[i[r]],o;(o=this.data[a++])!=65535;)(O||(O=new Uint8Array(this.maxTerm+1)))[o]=1;return new d_(e,n,O)}static deserialize(e){return new St(e)}}function Ai(t,e){return t[e]|t[e+1]<<16}function $_(t){let e=null;for(let i of t){let n=i.p.stoppedAt;(i.pos==i.p.stream.end||n!=null&&i.pos>n)&&i.p.parser.stateFlag(i.state,2)&&(!e||e.score<i.score)&&(e=i)}return e}function rp(t){if(t.external){let e=t.extend?1:0;return(i,n)=>t.external(i,n)<<1|e}return t.get}const p_=316,Q_=317,ap=1,m_=2,g_=3,P_=4,S_=318,b_=320,X_=321,y_=5,x_=6,w_=0,Vu=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],WS=125,k_=59,Wu=47,T_=42,v_=43,__=45,R_=60,Y_=44,Z_=63,z_=46,q_=91,U_=new ya({start:!1,shift(t,e){return e==y_||e==x_||e==b_?t:e==X_},strict:!1}),V_=new ke((t,e)=>{let{next:i}=t;(i==WS||i==-1||e.context)&&t.acceptToken(S_)},{contextual:!0,fallback:!0}),W_=new ke((t,e)=>{let{next:i}=t,n;Vu.indexOf(i)>-1||i==Wu&&((n=t.peek(1))==Wu||n==T_)||i!=WS&&i!=k_&&i!=-1&&!e.context&&t.acceptToken(p_)},{contextual:!0}),j_=new ke((t,e)=>{t.next==q_&&!e.context&&t.acceptToken(Q_)},{contextual:!0}),C_=new ke((t,e)=>{let{next:i}=t;if(i==v_||i==__){if(t.advance(),i==t.next){t.advance();let n=!e.context&&e.canShift(ap);t.acceptToken(n?ap:m_)}}else i==Z_&&t.peek(1)==z_&&(t.advance(),t.advance(),(t.next<48||t.next>57)&&t.acceptToken(g_))},{contextual:!0});function Hl(t,e){return t>=65&&t<=90||t>=97&&t<=122||t==95||t>=192||!e&&t>=48&&t<=57}const E_=new ke((t,e)=>{if(t.next!=R_||!e.dialectEnabled(w_)||(t.advance(),t.next==Wu))return;let i=0;for(;Vu.indexOf(t.next)>-1;)t.advance(),i++;if(Hl(t.next,!0)){for(t.advance(),i++;Hl(t.next,!1);)t.advance(),i++;for(;Vu.indexOf(t.next)>-1;)t.advance(),i++;if(t.next==Y_)return;for(let n=0;;n++){if(n==7){if(!Hl(t.next,!0))return;break}if(t.next!="extends".charCodeAt(n))break;t.advance(),i++}}t.acceptToken(P_,-i)}),G_=bt({"get set async static":$.modifier,"for while do if else switch try catch finally return throw break continue default case defer":$.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":$.operatorKeyword,"let var const using function class extends":$.definitionKeyword,"import export from":$.moduleKeyword,"with debugger new":$.keyword,TemplateString:$.special($.string),super:$.atom,BooleanLiteral:$.bool,this:$.self,null:$.null,Star:$.modifier,VariableName:$.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":$.function($.variableName),VariableDefinition:$.definition($.variableName),Label:$.labelName,PropertyName:$.propertyName,PrivatePropertyName:$.special($.propertyName),"CallExpression/MemberExpression/PropertyName":$.function($.propertyName),"FunctionDeclaration/VariableDefinition":$.function($.definition($.variableName)),"ClassDeclaration/VariableDefinition":$.definition($.className),"NewExpression/VariableName":$.className,PropertyDefinition:$.definition($.propertyName),PrivatePropertyDefinition:$.definition($.special($.propertyName)),UpdateOp:$.updateOperator,"LineComment Hashbang":$.lineComment,BlockComment:$.blockComment,Number:$.number,String:$.string,Escape:$.escape,ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,RegExp:$.regexp,Equals:$.definitionOperator,Arrow:$.function($.punctuation),": Spread":$.punctuation,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,"InterpolationStart InterpolationEnd":$.special($.brace),".":$.derefOperator,", ;":$.separator,"@":$.meta,TypeName:$.typeName,TypeDefinition:$.definition($.typeName),"type enum interface implements namespace module declare":$.definitionKeyword,"abstract global Privacy readonly override":$.modifier,"is keyof unique infer asserts":$.operatorKeyword,JSXAttributeValue:$.attributeValue,JSXText:$.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":$.angleBracket,"JSXIdentifier JSXNameSpacedName":$.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":$.attributeName,"JSXBuiltin/JSXIdentifier":$.standard($.tagName)}),A_={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},N_={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},I_={__proto__:null,"<":193},L_=St.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-E<j-E<jO9kQ`O,5=_O!$rQ`O,5=_O!$wQlO,5;ZO!&zQMhO'#EkO!(eQ`O,5;ZO!(jQlO'#DyO!(tQpO,5;dO!(|QpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)[QlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IpO!+_Q!0LrO,5<iO%[QlO,5;eO!&zQMhO,5;eO!+|QMhO,5;eO!-nQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-uQ,UO'#FjO!.rQ,UO'#KXO!.^Q,UO'#KXO!.yQ,UO'#KXOOQO'#KX'#KXO!/_Q,UO,5<SOOOW,5<`,5<`O!/pQlO'#FvOOOW'#Io'#IoO7VO7dO,5<QO!/wQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0hQ$IUO'#CyOOQ!0Lh'#C}'#C}O!0{O#@ItO'#DRO!1iQMjO,5<eO!1pQ`O,5<hO!3YQ(CWO'#GXO!3jQ`O'#GYO!3oQ`O'#GYO!5_Q(CWO'#G^O!6dQpO'#GbOOQO'#Gn'#GnO!,TQMhO'#GmOOQO'#Gp'#GpO!,TQMhO'#GoO!7VQ$IUO'#JlOOQ!0Lh'#Jl'#JlO!7aQ`O'#JkO!7oQ`O'#JjO!7wQ`O'#CuOOQ!0Lh'#C{'#C{O!8YQ`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO!8_Q`O,5<eO1SQ`O'#DZO!,TQMhO'#GPO!,TQMhO'#GRO!8gQ`O'#GTO!8lQ`O'#GUO!3oQ`O'#G[O!,TQMhO'#GaO<]Q`O'#JkO!8qQ`O'#EqO!9`Q`O,5<gOOQ!0Lb'#Cr'#CrO!9hQ`O'#ErO!:bQpO'#EsOOQ!0Lb'#KR'#KRO!:iQ!0LrO'#KaO9uQ!0LrO,5=cO`QlO,5>tOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!<hQ!0MxO,5:bO!:]QpO,5:`O!?RQ!0MxO,5:jO%[QlO,5:jO!AiQ!0MxO,5:lOOQO,5@z,5@zO!BYQMhO,5=_O!BhQ!0LrO'#JiO9`Q`O'#JiO!ByQ!0LrO,59ZO!CUQpO,59ZO!C^QMhO,59ZO:dQMhO,59ZO!CiQ`O,5;ZO!CqQ`O'#HbO!DVQ`O'#KdO%[QlO,5;}O!:]QpO,5<PO!D_Q`O,5=zO!DdQ`O,5=zO!DiQ`O,5=zO!DwQ`O,5=zO9uQ!0LrO,5=zO<]Q`O,5=jOOQO'#Cy'#CyO!EOQpO,5=gO!EWQMhO,5=hO!EcQ`O,5=jO!EhQ!bO,5=mO!EpQ`O'#K`O?YQ`O'#HWO9kQ`O'#HYO!EuQ`O'#HYO:dQMhO'#H[O!EzQ`O'#H[OOQ[,5=p,5=pO!FPQ`O'#H]O!FbQ`O'#CoO!FgQ`O,59PO!FqQ`O,59PO!HvQlO,59POOQ[,59P,59PO!IWQ!0LrO,59PO%[QlO,59PO!KcQlO'#HeOOQ['#Hf'#HfOOQ['#Hg'#HgO`QlO,5=}O!KyQ`O,5=}O`QlO,5>TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-E<f-E<fO#)kQ!0MSO,5;RODWQpO,5:rO#)uQpO,5:rODWQpO,5;RO!ByQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#*SQ!0LrO,5;RO#*_Q!0LrO,5;RO!CUQpO,5:rOOQO,5;X,5;XO#*mQ!0LrO,5;RPOOO'#I^'#I^P#+RO&2DjO,58|POOO,58|,58|OOOO-E<^-E<^OOQ!0Lh1G.p1G.pOOOO-E<_-E<_OOOO,59},59}O#+^Q!bO,59}OOOO-E<a-E<aOOQ!0Lf1G/g1G/gO#+cQ!fO,5?OO+}QlO,5?OOOQO,5?U,5?UO#+mQlO'#IdOOQO-E<b-E<bO#+zQ`O,5@`O#,SQ!fO,5@`O#,ZQ`O,5@nOOQ!0Lf1G/m1G/mO%[QlO,5@oO#,cQ`O'#IjOOQO-E<h-E<hO#,ZQ`O,5@nOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@lO#,wQ!0LrO,5@lO#-YQ!0LrO,5@lO#-aQ`O,5@kO9eQ`O,5@kO#-iQ`O,5@kO#-wQ`O'#ImO#-aQ`O,5@kOOQ!0Lb1G0w1G0wO!(tQpO,5:uO!)PQpO,5:uOOQS,5:w,5:wO#.iQdO,5:wO#.qQMhO1G2yO9kQ`O1G2yOOQ!0Lf1G0u1G0uO#/PQ!0MxO1G0uO#0UQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0rQ!0MzO'#JlO!$wQlO1G0uO#2}Q!fO'#JwO%[QlO'#JwO#3XQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#3^Q`O1G1OO#5rQ!0MxO1G1PO#5yQ!0MxO1G1PO#8aQ!0MxO1G1PO#8hQ!0MxO1G1PO#;OQ!0MxO1G1PO#=fQ!0MxO1G1PO#=mQ!0MxO1G1PO#=tQ!0MxO1G1PO#@[Q!0MxO1G1PO#@cQ!0MxO1G1PO#BpQ?MtO'#CiO#DkQ?MtO1G1`O#DrQ?MtO'#JsO#EVQ!0MxO,5?[OOQ!0Lb-E<n-E<nO#GdQ!0MxO1G1PO#HaQ!0MzO1G1POOQ!0Lf1G1P1G1PO#IdQMjO'#J|O#InQ`O,5:xO#IsQ!0MxO1G1cO#JgQ,UO,5<WO#JoQ,UO,5<XO#JwQ,UO'#FoO#K`Q`O'#FnOOQO'#KY'#KYOOQO'#In'#InO#KeQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#KvQ?MtO'#JrO#LQQ`O,5<bO!)[QlO,5<bOOOW-E<m-E<mOOQ!0Lf1G1l1G1lO#LVQpO'#KXOOQ!0Lf,5<d,5<dO#L_QpO,5<dO#LdQMhO'#DTOOOO'#Ib'#IbO#LkO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8lQ`O'#IrO#LvQ`O,5<zOOQ!0Lh,5<w,5<wO!,TQMhO'#IuO#MdQMjO,5=XO!,TQMhO'#IwO#NVQMjO,5=ZO!&zQMhO,5=]OOQO1G2S1G2SO#NaQ!dO'#CrO#NtQ(CWO'#ErO$ |QpO'#GbO$!dQ!dO,5<sO$!kQ`O'#K[O9eQ`O'#K[O$!yQ`O,5<uO$#aQ!dO'#C{O!,TQMhO,5<tO$#kQ`O'#GZO$$PQ`O,5<tO$$UQ!dO'#GWO$$cQ!dO'#K]O$$mQ`O'#K]O!&zQMhO'#K]O$$rQ`O,5<xO$$wQlO'#JvO$%RQpO'#GcO#$`QpO'#GcO$%dQ`O'#GgO!3oQ`O'#GkO$%iQ!0LrO'#ItO$%tQpO,5<|OOQ!0Lp,5<|,5<|O$%{QpO'#GcO$&YQpO'#GdO$&kQpO'#GdO$&pQMjO,5=XO$'QQMjO,5=ZOOQ!0Lh,5=^,5=^O!,TQMhO,5@VO!,TQMhO,5@VO$'bQ`O'#IyO$'vQ`O,5@UO$(OQ`O,59aOOQ!0Lh,59i,59iO$(TQ`O,5@VO$)TQ$IYO,59uOOQ!0Lh'#Jp'#JpO$)vQMjO,5<kO$*iQMjO,5<mO@zQ`O,5<oOOQ!0Lh,5<p,5<pO$*sQ`O,5<vO$*xQMjO,5<{O$+YQ`O'#KPO!$wQlO1G2RO$+_Q`O1G2RO9eQ`O'#KSO9eQ`O'#EtO%[QlO'#EtO9eQ`O'#I{O$+dQ!0LrO,5@{OOQ[1G2}1G2}OOQ[1G4`1G4`OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$-fQ!0MxO1G0UOOQ[1G2y1G2yO!&zQMhO1G2yO%[QlO1G2yO#.tQ`O1G2yO$/jQMhO'#EkOOQ!0Lb,5@T,5@TO$/wQ!0LrO,5@TOOQ[1G.u1G.uO!ByQ!0LrO1G.uO!CUQpO1G.uO!C^QMhO1G.uO$0YQ`O1G0uO$0_Q`O'#CiO$0jQ`O'#KeO$0rQ`O,5=|O$0wQ`O'#KeO$0|Q`O'#KeO$1[Q`O'#JRO$1jQ`O,5AOO$1rQ!fO1G1iOOQ!0Lf1G1k1G1kO9kQ`O1G3fO@zQ`O1G3fO$1yQ`O1G3fO$2OQ`O1G3fO!DiQ`O1G3fO9uQ!0LrO1G3fOOQ[1G3f1G3fO!EcQ`O1G3UO!&zQMhO1G3RO$2TQ`O1G3ROOQ[1G3S1G3SO!&zQMhO1G3SO$2YQ`O1G3SO$2bQpO'#HQOOQ[1G3U1G3UO!6_QpO'#I}O!EhQ!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$2jQMhO,5=tO9kQ`O,5=tO$%dQ`O,5=vO9`Q`O,5=vO!CUQpO,5=vO!C^QMhO,5=vO:dQMhO,5=vO$2xQ`O'#KcO$3TQ`O,5=wOOQ[1G.k1G.kO$3YQ!0LrO1G.kO@zQ`O1G.kO$3eQ`O1G.kO9uQ!0LrO1G.kO$5mQ!fO,5AQO$5zQ`O,5AQO9eQ`O,5AQO$6VQlO,5>PO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5<iO$BOQ!fO1G4jOOQO1G4p1G4pO%[QlO,5?OO$BYQ`O1G5zO$BbQ`O1G6YO$BjQ!fO1G6ZO9eQ`O,5?UO$BtQ!0MxO1G6WO%[QlO1G6WO$CUQ!0LrO1G6WO$CgQ`O1G6VO$CgQ`O1G6VO9eQ`O1G6VO$CoQ`O,5?XO9eQ`O,5?XOOQO,5?X,5?XO$DTQ`O,5?XO$+YQ`O,5?XOOQO-E<k-E<kOOQS1G0a1G0aOOQS1G0c1G0cO#.lQ`O1G0cOOQ[7+(e7+(eO!&zQMhO7+(eO%[QlO7+(eO$DcQ`O7+(eO$DnQMhO7+(eO$D|Q!0MzO,5=XO$GXQ!0MzO,5=ZO$IdQ!0MzO,5=XO$KuQ!0MzO,5=ZO$NWQ!0MzO,59uO%!]Q!0MzO,5<kO%$hQ!0MzO,5<mO%&sQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%)UQ!0MxO7+&aO%)xQlO'#IfO%*VQ`O,5@cO%*_Q!fO,5@cOOQ!0Lf1G0P1G0PO%*iQ`O7+&jOOQ!0Lf7+&j7+&jO%*nQ?MtO,5:fO%[QlO7+&zO%*xQ?MtO,5:bO%+VQ?MtO,5:jO%+aQ?MtO,5:lO%+kQMhO'#IiO%+uQ`O,5@hOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%+}Q!jO,5<ZO!)[QlO,5<YOOQO-E<l-E<lOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%,YQ`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%,_Q!dO,59oOOOO-E<`-E<`OOQ!0Lh1G/X1G/XO%,fQ!0MxO7+'kOOQ!0Lh,5?^,5?^O%-YQMhO1G2fP%-aQ`O'#IrPOQ!0Lh-E<p-E<pO%-}QMjO,5?aOOQ!0Lh-E<s-E<sO%.pQMjO,5?cOOQ!0Lh-E<u-E<uO%.zQ!dO1G2wO%/RQ!dO'#CrO%/iQMhO'#KSO$$wQlO'#JvOOQ!0Lh1G2_1G2_O%/sQ`O'#IqO%0[Q`O,5@vO%0[Q`O,5@vO%0dQ`O,5@vO%0oQ`O,5@vOOQO1G2a1G2aO%0}QMjO1G2`O$+YQ`O'#K[O!,TQMhO1G2`O%1_Q(CWO'#IsO%1lQ`O,5@wO!&zQMhO,5@wO%1tQ!dO,5@wOOQ!0Lh1G2d1G2dO%4UQ!fO'#CiO%4`Q`O,5=POOQ!0Lb,5<},5<}O%4hQpO,5<}OOQ!0Lb,5=O,5=OOCwQ`O,5<}O%4sQpO,5<}OOQ!0Lb,5=R,5=RO$+YQ`O,5=VOOQO,5?`,5?`OOQO-E<r-E<rOOQ!0Lp1G2h1G2hO#$`QpO,5<}O$$wQlO,5=PO%5RQ`O,5=OO%5^QpO,5=OO!,TQMhO'#IuO%6WQMjO1G2sO!,TQMhO'#IwO%6yQMjO1G2uO%7TQMjO1G5qO%7_QMjO1G5qOOQO,5?e,5?eOOQO-E<w-E<wOOQO1G.{1G.{O!,TQMhO1G5qO!,TQMhO1G5qO!:]QpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%7lQ`O1G2ZO!,TQMhO1G2bO%7qQ!0MxO7+'mOOQ!0Lf7+'m7+'mO!$wQlO7+'mO%8eQ`O,5;`OOQ!0Lb,5?g,5?gOOQ!0Lb-E<y-E<yO%8jQ!dO'#K^O#(ZQ`O7+(eO4UQ!fO7+(eO$DfQ`O7+(eO%8tQ!0MvO'#CiO%9XQ!0MvO,5=SO%9lQ`O,5=SO%9tQ`O,5=SOOQ!0Lb1G5o1G5oOOQ[7+$a7+$aO!ByQ!0LrO7+$aO!CUQpO7+$aO!$wQlO7+&aO%9yQ`O'#JQO%:bQ`O,5APOOQO1G3h1G3hO9kQ`O,5APO%:bQ`O,5APO%:jQ`O,5APOOQO,5?m,5?mOOQO-E=P-E=POOQ!0Lf7+'T7+'TO%:oQ`O7+)QO9uQ!0LrO7+)QO9kQ`O7+)QO@zQ`O7+)QO%:tQ`O7+)QOOQ[7+)Q7+)QOOQ[7+(p7+(pO%:yQ!0MvO7+(mO!&zQMhO7+(mO!E^Q`O7+(nOOQ[7+(n7+(nO!&zQMhO7+(nO%;TQ`O'#KbO%;`Q`O,5=lOOQO,5?i,5?iOOQO-E<{-E<{OOQ[7+(s7+(sO%<rQpO'#HZOOQ[1G3`1G3`O!&zQMhO1G3`O%[QlO1G3`O%<yQ`O1G3`O%=UQMhO1G3`O9uQ!0LrO1G3bO$%dQ`O1G3bO9`Q`O1G3bO!CUQpO1G3bO!C^QMhO1G3bO%=dQ`O'#JPO%=xQ`O,5@}O%>QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-E<c-E<cOOQO,5?V,5?VOOQO-E<i-E<iO!CUQpO1G/sOOQO-E<e-E<eOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#(ZQ`O7+%uOOQ!0Lf7+&`7+&`O?YQ`O7+&`O!CUQpO7+&`OOQO7+%x7+%xO$AlQ!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%@nQ!0LrO7+&XO!ByQ!0LrO7+%xO!CUQpO7+%xO%@yQ!0LrO7+&XO%AXQ!0MxO7++rO%[QlO7++rO%AiQ`O7++qO%AiQ`O7++qOOQO1G4s1G4sO9eQ`O1G4sO%AqQ`O1G4sOOQS7+%}7+%}O#(ZQ`O<<LPO4UQ!fO<<LPO%BPQ`O<<LPOOQ[<<LP<<LPO!&zQMhO<<LPO%[QlO<<LPO%BXQ`O<<LPO%BdQ!0MzO,5?aO%DoQ!0MzO,5?cO%FzQ!0MzO1G2`O%I]Q!0MzO1G2sO%KhQ!0MzO1G2uO%MsQ!fO,5?QO%[QlO,5?QOOQO-E<d-E<dO%M}Q`O1G5}OOQ!0Lf<<JU<<JUO%NVQ?MtO1G0uO&!^Q?MtO1G1PO&!eQ?MtO1G1PO&$fQ?MtO1G1PO&$mQ?MtO1G1PO&&nQ?MtO1G1PO&(oQ?MtO1G1PO&(vQ?MtO1G1PO&(}Q?MtO1G1PO&+OQ?MtO1G1PO&+VQ?MtO1G1PO&+^Q!0MxO<<JfO&-UQ?MtO1G1PO&.RQ?MvO1G1PO&/UQ?MvO'#JlO&1[Q?MtO1G1cO&1iQ?MtO1G0UO&1sQMjO,5?TOOQO-E<g-E<gO!)[QlO'#FqOOQO'#KZ'#KZOOQO1G1u1G1uO&1}Q`O1G1tO&2SQ?MtO,5?[OOOW7+'h7+'hOOOO1G/Z1G/ZO&2^Q!dO1G4xOOQ!0Lh7+(Q7+(QP!&zQMhO,5?^O!,TQMhO7+(cO&2eQ`O,5?]O9eQ`O,5?]O$+YQ`O,5?]OOQO-E<o-E<oO&2sQ`O1G6bO&2sQ`O1G6bO&2{Q`O1G6bO&3WQMjO7+'zO&3hQ!dO,5?_O&3rQ`O,5?_O!&zQMhO,5?_OOQO-E<q-E<qO&3wQ!dO1G6cO&4RQ`O1G6cO&4ZQ`O1G2kO!&zQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%4hQpO1G2iO!CUQpO1G2iOCwQ`O1G2iOOQ!0Lb1G2q1G2qO&4`QpO1G2iO&4nQ`O1G2kO$+YQ`O1G2jOCwQ`O1G2jO$$wQlO1G2kO&4vQ`O1G2jO&5jQMjO,5?aOOQ!0Lh-E<t-E<tO&6]QMjO,5?cOOQ!0Lh-E<v-E<vO!,TQMhO7++]O&6gQMjO7++]O&6qQMjO7++]OOQ!0Lh1G/c1G/cO&7OQ`O1G/cOOQ!0Lh7+'u7+'uO&7TQMjO7+'|O&7eQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&8XQ`O1G0zO!&zQMhO'#IzO&8^Q`O,5@xO&:`Q!fO<<LPO!&zQMhO1G2nO&:gQ!0LrO1G2nOOQ[<<G{<<G{O!ByQ!0LrO<<G{O&:xQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?l,5?lO&;lQ`O,5?lO&;qQ`O,5?lOOQO-E=O-E=OO&<PQ`O1G6kO&<PQ`O1G6kO9kQ`O1G6kO@zQ`O<<LlOOQ[<<Ll<<LlO&<XQ`O<<LlO9uQ!0LrO<<LlO9kQ`O<<LlOOQ[<<LX<<LXO%:yQ!0MvO<<LXOOQ[<<LY<<LYO!E^Q`O<<LYO&<^QpO'#I|O&<iQ`O,5@|O!)[QlO,5@|OOQ[1G3W1G3WOOQO'#JO'#JOO9uQ!0LrO'#JOO&<qQpO,5=uOOQ[,5=u,5=uO&<xQpO'#EgO&=PQpO'#GeO&=UQ`O7+(zO&=ZQ`O7+(zOOQ[7+(z7+(zO!&zQMhO7+(zO%[QlO7+(zO&=cQ`O7+(zOOQ[7+(|7+(|O9uQ!0LrO7+(|O$%dQ`O7+(|O9`Q`O7+(|O!CUQpO7+(|O&=nQ`O,5?kOOQO-E<}-E<}OOQO'#H^'#H^O&=yQ`O1G6iO9uQ!0LrO<<GqOOQ[<<Gq<<GqO@zQ`O<<GqO&>RQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<<Ly<<LyOOQ[<<L{<<L{OOQ[-E=Q-E=QOOQ[1G3z1G3zO&>nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO?YQ`O<<IzOOQO<<Is<<IsO$AlQ!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!ByQ!0LrO<<IdO&?SQ!0LrO<<IsO&?_Q!0MxO<= ^O&?oQ`O<= ]OOQO7+*_7+*_O9eQ`O7+*_OOQ[ANAkANAkO&?wQ!fOANAkO!&zQMhOANAkO#(ZQ`OANAkO4UQ!fOANAkO&@OQ`OANAkO%[QlOANAkO&@WQ!0MzO7+'zO&BiQ!0MzO,5?aO&DtQ!0MzO,5?cO&GPQ!0MzO7+'|O&IbQ!fO1G4lO&IlQ?MtO7+&aO&KpQ?MvO,5=XO&MwQ?MvO,5=ZO&NXQ?MvO,5=XO&NiQ?MvO,5=ZO&NyQ?MvO,59uO'#PQ?MvO,5<kO'%SQ?MvO,5<mO''hQ?MvO,5<{O')^Q?MtO7+'kO')kQ?MtO7+'mO')xQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*d7+*dO')}QMjO<<K}OOQO1G4w1G4wO'*UQ`O1G4wO'*aQ`O1G4wO'*oQ`O7++|O'*oQ`O7++|O!&zQMhO1G4yO'*wQ!dO1G4yO'+RQ`O7++}O'+ZQ`O7+(VO'+fQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!CUQpO7+(TOCwQ`O7+(TO'+pQ`O7+(VO!&zQMhO7+(VO$+YQ`O7+(UO'+uQ`O7+(VOCwQ`O7+(UO'+}QMjO<<NwO!,TQMhO<<NwOOQ!0Lh7+$}7+$}O',XQ!dO,5?fOOQO-E<x-E<xO',cQ!0MvO7+(YO!&zQMhO7+(YOOQ[AN=gAN=gO9kQ`O1G5WOOQO1G5W1G5WO',sQ`O1G5WO',xQ`O7+,VO',xQ`O7+,VO9uQ!0LrOANBWO@zQ`OANBWOOQ[ANBWANBWO'-QQ`OANBWOOQ[ANAsANAsOOQ[ANAtANAtO'-VQ`O,5?hOOQO-E<z-E<zO'-bQ?MtO1G6hOOQO,5?j,5?jOOQO-E<|-E<|OOQ[1G3a1G3aO'-lQ`O,5=POOQ[<<Lf<<LfO!&zQMhO<<LfO&=UQ`O<<LfO'-qQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9uQ!0LrO<<LhO$%dQ`O<<LhO9`Q`O<<LhO'-yQpO1G5VO'.UQ`O7+,TOOQ[AN=]AN=]O9uQ!0LrOAN=]OOQ[<= r<= rOOQ[<= s<= sO'.^Q`O<= rO'.cQ`O<= sOOQ[<<Lq<<LqO'.hQ`O<<LqO'.mQlO<<LqOOQ[1G3{1G3{O?YQ`O7+)lO'.tQ`O<<JQO'/PQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$AlQ!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<My<<MyOOQ[G27VG27VO!&zQMhOG27VO#(ZQ`OG27VO'/ZQ!fOG27VO4UQ!fOG27VO'/bQ`OG27VO'/jQ?MtO<<JfO'/wQ?MvO1G2`O'1mQ?MvO,5?aO'3pQ?MvO,5?cO'5sQ?MvO1G2sO'7vQ?MvO1G2uO'9yQ?MtO<<KXO':WQ?MtO<<I{OOQO1G1w1G1wO!,TQMhOANAiOOQO7+*c7+*cO':eQ`O7+*cO':pQ`O<= hO':xQ!dO7+*eOOQ!0Lb<<Kq<<KqO$+YQ`O<<KqOCwQ`O<<KqO';SQ`O<<KqO!&zQMhO<<KqOOQ!0Lb<<Ko<<KoO!CUQpO<<KoO';_Q!dO<<KqOOQ!0Lb<<Kp<<KpO';iQ`O<<KqO!&zQMhO<<KqO$+YQ`O<<KpO';nQMjOANDcO';xQ!0MvO<<KtOOQO7+*r7+*rO9kQ`O7+*rO'<YQ`O<= qOOQ[G27rG27rO9uQ!0LrOG27rO@zQ`OG27rO!)[QlO1G5SO'<bQ`O7+,SO'<jQ`O1G2kO&=UQ`OANBQOOQ[ANBQANBQO!&zQMhOANBQO'<oQ`OANBQOOQ[ANBSANBSO9uQ!0LrOANBSO$%dQ`OANBSOOQO'#H_'#H_OOQO7+*q7+*qOOQ[G22wG22wOOQ[ANE^ANE^OOQ[ANE_ANE_OOQ[ANB]ANB]O'<wQ`OANB]OOQ[<<MW<<MWO!)[QlOAN?lOOQOG24yG24yO$AlQ!0MxOG24yO#(ZQ`OLD,qOOQ[LD,qLD,qO!&zQMhOLD,qO'<|Q!fOLD,qO'=TQ?MvO7+'zO'>yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<<M}<<M}OOQ!0LbANA]ANA]O$+YQ`OANA]OCwQ`OANA]O'EVQ!dOANA]OOQ!0LbANAZANAZO'E^Q`OANA]O!&zQMhOANA]O'EiQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N^<<N^OOQ[LD-^LD-^O9uQ!0LrOLD-^O'EsQ?MtO7+*nOOQO'#Gf'#GfOOQ[G27lG27lO&=UQ`OG27lO!&zQMhOG27lOOQ[G27nG27nO9uQ!0LrOG27nOOQ[G27wG27wO'E}Q?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#(ZQ`O!$(!]O!&zQMhO!$(!]O'FXQ!0MzOG27TOOQ!0LbG26wG26wO$+YQ`OG26wO'HjQ`OG26wOCwQ`OG26wO'HuQ!dOG26wO!&zQMhOG26wOOQ[!$(!x!$(!xOOQ[LD-WLD-WO&=UQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#(ZQ`O!)9EwOOQ!0LbLD,cLD,cO$+YQ`OLD,cOCwQ`OLD,cO'H|Q`OLD,cO'IXQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'I`Q?MvOG27TOOQ!0Lb!$( }!$( }O$+YQ`O!$( }OCwQ`O!$( }O'KUQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$+YQ`O!)9EiOCwQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$+YQ`O!.K;TOOQ!0Lb!4/0o!4/0oO!)[QlO'#DzO1PQ`O'#EXO'KaQ!fO'#JrO'KhQ!L^O'#DvO'KoQlO'#EOO'KvQ!fO'#CiO'N^Q!fO'#CiO!)[QlO'#EQO'NnQlO,5;ZO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO'#IpO(!qQ`O,5<iO!)[QlO,5;eO(!yQMhO,5;eO($dQMhO,5;eO!)[QlO,5;wO!&zQMhO'#GmO(!yQMhO'#GmO!&zQMhO'#GoO(!yQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&zQMhO'#GPO(!yQMhO'#GPO!&zQMhO'#GRO(!yQMhO'#GRO!&zQMhO'#GaO(!yQMhO'#GaO!)[QlO,5:jO($kQpO'#D_O($uQpO'#JvO!)[QlO,5@oO'NnQlO1G0uO(%PQ?MtO'#CiO!)[QlO1G2PO!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO(%ZQ!dO'#CrO!&zQMhO,5<tO(!yQMhO,5<tO'NnQlO1G2RO!)[QlO7+&zO!&zQMhO1G2`O(!yQMhO1G2`O!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO!&zQMhO1G2bO(!yQMhO1G2bO'NnQlO7+'mO'NnQlO7+&aO!&zQMhOANAiO(!yQMhOANAiO(%nQ`O'#EoO(%sQ`O'#EoO(%{Q`O'#F]O(&QQ`O'#EyO(&VQ`O'#KTO(&bQ`O'#KRO(&mQ`O,5;ZO(&rQMjO,5<eO(&yQ`O'#GYO('OQ`O'#GYO('TQ`O,5<eO(']Q`O,5<gO('eQ`O,5;ZO('mQ?MtO1G1`O('tQ`O,5<tO('yQ`O,5<tO((OQ`O,5<vO((TQ`O,5<vO((YQ`O1G2RO((_Q`O1G0uO((dQMjO<<K}O((kQMjO<<K}O((rQMhO'#F|O9`Q`O'#F{OAuQ`O'#EnO!)[QlO,5;tO!3oQ`O'#GYO!3oQ`O'#GYO!3oQ`O'#G[O!3oQ`O'#G[O!,TQMhO7+(cO!,TQMhO7+(cO%.zQ!dO1G2wO%.zQ!dO1G2wO!&zQMhO,5=]O!&zQMhO,5=]",stateData:"()x~O'|OS'}OSTOS(ORQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&W!WO&^!XO&`!YO&b!ZO&d![O&g!]O&m!^O&s!_O&u!`O&w!aO&y!bO&{!cO(TSO(VTO(YUO(aVO(o[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O(O!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'z]X(a]X(r]X(y]X(z]X~O!g%RX~P(qO_!}O(V#PO(W!}O(X#PO~O_#QO(X#PO(Y#PO(Z#QO~Ox#SO!U#TO(b#TO(c#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T<ZO(VTO(YUO(aVO(o[O~O![#ZO!]#WO!Y(hP!Y(vP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(VTO(YUO(aVO(o[O~Op#mO![#iO!|]O#i#lO#j#iO(T<[O!k(sP~P.iO!l#oO(T#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa(fX'z(fX'w(fX!k(fX!Y(fX!_(fX%i(fX!g(fX~P1qO#S$dO#`$eO$Q$eOP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX!_(gX%i(gX~Oa(gX'z(gX'w(gX!Y(gX!k(gXv(gX!g(gX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%dOk%dOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T$sO(VTO(YUO(a$uO(y$}O(z%POg(^P~Ol%[O~P7eO!l%eO~O!S%hO!_%iO(T%gO~O!g%mO~Oa%nO'z%nO~O!Q%rO~P%[O(U!lO~P%[O%n%vO~P%[Oh%VO!l%eO(T%gO(U!lO~Oe%}O!l%eO(T%gO~Oj$RO~O!_&PO(T%gO(U!lO(VTO(YUO`)WP~O!Q&SO!l&RO%j&VO&T&WO~P;SO!x#sO~O%s&YO!S)SX!_)SX(T)SX~O(T&ZO~Ol!PO!u&`O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&eOe&dO!x&bO%h&cO%{&aO~P<bOd&hOeyOl!PO!_&gO!u&`O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&kO#`&nO%j&iO(U!lO~P=gO!l&oO!u&sO~O!l#oO~O!_XO~Oa%nO'x&{O'z%nO~Oa%nO'x'OO'z%nO~Oa%nO'x'QO'z%nO~O'w]X!Y]Xv]X!k]X&[]X!_]X%i]X!g]X~P(qO!b'_O!c'WO!d'WO(U!lO(VTO(YUO~Os'UO!S'TO!['XO(e'SO!^(iP!^(xP~P@nOn'bO!_'`O(T%gO~Oe'gO!l%eO(T%gO~O!Q&SO!l&RO~Os!nO!S!oO!|<VO#T!pO#U!pO#W!pO#X!pO(U!lO(VTO(YUO(e!mO(o!sO~O!b'mO!c'lO!d'lO#V!pO#['nO#]'nO~PBYOa%nOh%VO!g#vO!l%eO'z%nO(r'pO~O!p'tO#`'rO~PChOs!nO!S!oO(VTO(YUO(e!mO(o!sO~O!_XOs(mX!S(mX!b(mX!c(mX!d(mX!|(mX#T(mX#U(mX#V(mX#W(mX#X(mX#[(mX#](mX(U(mX(V(mX(Y(mX(e(mX(o(mX~O!c'lO!d'lO(U!lO~PDWO(P'xO(Q'xO(R'zO~O_!}O(V'|O(W!}O(X'|O~O_#QO(X'|O(Y'|O(Z#QO~Ov(OO~P%[Ox#SO!U#TO(b#TO(c(RO~O![(TO!Y'WX!Y'^X!]'WX!]'^X~P+}O!](VO!Y(hX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](VO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~O!Y(hX~PHRO!Y([O~O!Y(uX!](uX!g(uX!k(uX(r(uX~O#`(uX#k#dX!^(uX~PJUO#`(]O!Y(wX!](wX~O!](^O!Y(vX~O!Y(aO~O#`$eO~PJUO!^(bO~P`OR#zO!Q#yO!S#{O!l#xO(aVOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(r!na(y!na(z!na~Oa!na'z!na'w!na!Y!na!k!nav!na!_!na%i!na!g!na~PKlO!k(cO~O!g#vO#`(dO(r'pO!](tXa(tX'z(tX~O!k(tX~PNXO!S%hO!_%iO!|]O#i(iO#j(hO(T%gO~O!](jO!k(sX~O!k(lO~O!S%hO!_%iO#j(hO(T%gO~OP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~O!g#vO!k(gX~P! uOR(nO!Q(mO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(T!{a~P!#vO!x(rO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~O#k(xO~O![(zO!k(kP~P%[O(e(|O(o[O~O!S)OO!l#xO(e(|O(o[O~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S*YO!_*ZO!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op*`O}O(T&ZO~O!l+SO~O(T(vO~Op+WO!S%hO![#iO!_%iO!|]O#i#lO#j#iO(T%gO!k(sP~O!g#vO#k+XO~O!S%hOTX'z)TX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa!ja!]!ja'z!ja'w!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:tOR#zO!Q#yO!S#{O!l#xO(aVOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(r!ra(y!ra(z!ra~Oa!ra'z!ra'w!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!=[OR#zO!Q#yO!S#{O!l#xO(aVOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(r!ta(y!ta(z!ta~Oa!ta'z!ta'w!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?rOh%VOn+gO!_'`O%i+fO~O!g+iOa(]X!_(]X'z(]X!](]X~Oa%nO!_XO'z%nO~Oh%VO!l%eO~Oh%VO!l%eO(T%gO~O!g#vO#k(xO~Ob+tO%j+uO(T+qO(VTO(YUO!^)XP~O!]+vO`)WX~O[+zO~O`+{O~O!_&PO(T%gO(U!lO`)WP~O%j,OO~P;SOh%VO#`,SO~Oh%VOn,VO!_$|O~O!_,XO~O!Q,ZO!_XO~O%n%vO~O!x,`O~Oe,eO~Ob,fO(T#nO(VTO(YUO!^)VP~Oe%}O~O%j!QO(T&ZO~P=gO[,kO`,jO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(VTO(YUO(aVO(o[O~O!_!eO!u!gO$W!kO(T!dO~P!FyO`,jOa%nO'z%nO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa,pOl!OO!uwO%l!OO%m!OO%n!OO~P!IcO!l&oO~O&^,vO~O!_,xO~O&o,zO&q,{OP&laQ&laS&laY&laa&lad&lae&lal&lap&lar&las&lat&laz&la|&la!O&la!S&la!W&la!X&la!_&la!i&la!l&la!o&la!p&la!q&la!s&la!u&la!x&la!|&la$W&la$n&la%h&la%j&la%l&la%m&la%n&la%q&la%s&la%v&la%w&la%y&la&W&la&^&la&`&la&b&la&d&la&g&la&m&la&s&la&u&la&w&la&y&la&{&la'w&la(T&la(V&la(Y&la(a&la(o&la!^&la&e&lab&la&j&la~O(T-QO~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P#!iO!g-VO#`-UOh(jX!]#hX!^#hX!g(jX!l(jX~O!](jX!^(jX~P##[Oh%VO!g-XO!l%eO!]!aX!^!aX~Os!nO!S!oO(VTO(YUO(e!mO~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO#z<gO#{<hO(aVO(r$YO(y#|O(z#}O~O$O.{O~P#BwO#S$dO#`<nO$Q<nO$O(gX!^(gX~P! uOa'da!]'da'z'da'w'da!k'da!Y'dav'da!_'da%i'da!g'da~P!:tO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO(y#mi(z#mi~P#EyOn>]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]<iO!^(fX~P#BwO!^/ZO~O!g)hO$f({X~O$f/]O~Ov/^O~P!&zOx)yO(b)zO(c/aO~O!S/dO~O(y$}On%aa!Q%aa'y%aa(z%aa!]%aa#`%aa~Og%aa$O%aa~P#L{O(z%POn%ca!Q%ca'y%ca(y%ca!]%ca#`%ca~Og%ca$O%ca~P#MnO!]fX!gfX!kfX!k$zX(rfX~P!0SOp%WOPP~P!1uOr*sO!b*qO!c*kO!d*kO!l*bO#[*rO%`*mO(U!lO(VTO(YUO~Os<}O!S/nO![+[O!^*pO(e<|O!^(xP~P$ [O!k/oO~P#/sO!]/pO!g#vO(r'pO!k)OX~O!k/uO~OnoX!QoX'yoX(yoX(zoX~O!g#vO!koX~P$#OOp/wO!S%hO![*^O!_%iO(T%gO!k)OP~O#k/xO~O!Y$zX!]$zX!g%RX~P!0SO!]/yO!Y)PX~P#/sO!g/{O~O!Y/}O~OpkO(T0OO~P.iOh%VOr0TO!g#vO!l%eO(r'pO~O!g+iO~Oa%nO!]0XO'z%nO~O!^0ZO~P!5iO!c0[O!d0[O(U!lO~P#$`Os!nO!S0]O(VTO(YUO(e!mO~O#[0_O~Og%aa!]%aa#`%aa$O%aa~P!1WOg%ca!]%ca#`%ca$O%ca~P!1WOj%dOk%dOl%dO(T&ZOg'mX!]'mX~O!]*yOg(^a~Og0hO~On0jO#`0iOg(_a!](_a~OR0kO!Q0kO!S0lO#S$dOn}a'y}a(y}a(z}a!]}a#`}a~Og}a$O}a~P$(cO!Q*OO'y*POn$sa(y$sa(z$sa!]$sa#`$sa~Og$sa$O$sa~P$)_O!Q*OO'y*POn$ua(y$ua(z$ua!]$ua#`$ua~Og$ua$O$ua~P$*QO#k0oO~Og%Ta!]%Ta#`%Ta$O%Ta~P!1WO!g#vO~O#k0rO~O!]+^Oa)Ta'z)Ta~OR#zO!Q#yO!S#{O!l#xO(aVOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(r!ri(y!ri(z!ri~Oa!ri'z!ri'w!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$+oOh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op0{O%]0|O(T0zO~P$.VO!g+iOa(]a!_(]a'z(]a!](]a~O#k1SO~O[]X!]fX!^fX~O!]1TO!^)XX~O!^1VO~O[1WO~Ob1YO(T+qO(VTO(YUO~O!_&PO(T%gO`'uX!]'uX~O!]+vO`)Wa~O!k1]O~P!:tO[1`O~O`1aO~O#`1fO~On1iO!_$|O~O(e(|O!^)UP~Oh%VOn1rO!_1oO%i1qO~O[1|O!]1zO!^)VX~O!^1}O~O`2POa%nO'z%nO~O(T#nO(VTO(YUO~O#S$dO#`$eO$Q$eOP(gXR(gX[(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~Oj2SO&[2TOa(gX~P$3pOj2SO#`$eO&[2TO~Oa2VO~P%[Oa2XO~O&e2[OP&ciQ&ciS&ciY&cia&cid&cie&cil&cip&cir&cis&cit&ciz&ci|&ci!O&ci!S&ci!W&ci!X&ci!_&ci!i&ci!l&ci!o&ci!p&ci!q&ci!s&ci!u&ci!x&ci!|&ci$W&ci$n&ci%h&ci%j&ci%l&ci%m&ci%n&ci%q&ci%s&ci%v&ci%w&ci%y&ci&W&ci&^&ci&`&ci&b&ci&d&ci&g&ci&m&ci&s&ci&u&ci&w&ci&y&ci&{&ci'w&ci(T&ci(V&ci(Y&ci(a&ci(o&ci!^&cib&ci&j&ci~Ob2bO!^2`O&j2aO~P`O!_XO!l2dO~O&q,{OP&liQ&liS&liY&lia&lid&lie&lil&lip&lir&lis&lit&liz&li|&li!O&li!S&li!W&li!X&li!_&li!i&li!l&li!o&li!p&li!q&li!s&li!u&li!x&li!|&li$W&li$n&li%h&li%j&li%l&li%m&li%n&li%q&li%s&li%v&li%w&li%y&li&W&li&^&li&`&li&b&li&d&li&g&li&m&li&s&li&u&li&w&li&y&li&{&li'w&li(T&li(V&li(Y&li(a&li(o&li!^&li&e&lib&li&j&li~O!Y2jO~O!]!aa!^!aa~P#BwOs!nO!S!oO![2pO(e!mO!]'XX!^'XX~P@nO!]-]O!^(ia~O!]'_X!^'_X~P!9|O!]-`O!^(xa~O!^2wO~P'_Oa%nO#`3QO'z%nO~Oa%nO!g#vO#`3QO'z%nO~Oa%nO!g#vO!p3UO#`3QO'z%nO(r'pO~Oa%nO'z%nO~P!:tO!]$_Ov$qa~O!Y'Wi!]'Wi~P!:tO!](VO!Y(hi~O!](^O!Y(vi~O!Y(wi!](wi~P!:tO!](ti!k(tia(ti'z(ti~P!:tO#`3WO!](ti!k(tia(ti'z(ti~O!](jO!k(si~O!S%hO!_%iO!|]O#i3]O#j3[O(T%gO~O!S%hO!_%iO#j3[O(T%gO~On3dO!_'`O%i3cO~Oh%VOn3dO!_'`O%i3cO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aav%aa!_%aa%i%aa!g%aa~P#L{O#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%cav%ca!_%ca%i%ca!g%ca~P#MnO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/sO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/sO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'z}a(a}a(r}a!k}a!Y}a'w}av}a!_}a%i}a!g}a~P$(cO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'z$sa(a$sa(r$sa!k$sa!Y$sa'w$sav$sa!_$sa%i$sa!g$sa~P$)_O#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'z$ua(a$ua(r$ua!k$ua!Y$ua'w$uav$ua!_$ua%i$ua!g$ua~P$*QO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'z%Ta(a%Ta(r%Ta!k%Ta!Y%Ta'w%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/sOa#cq!]#cq'z#cq'w#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:tO![3lO!]'YX!k'YX~P%[O!].tO!k(ka~O!].tO!k(ka~P!:tO!Y3oO~O$O!na!^!na~PKlO$O!ja!]!ja!^!ja~P#BwO$O!ra!^!ra~P!=[O$O!ta!^!ta~P!?rOg']X!]']X~P!,TO!]/POg(pa~OSfO!_4TO$d4UO~O!^4YO~Ov4ZO~P#/sOa$mq!]$mq'z$mq'w$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:tO!Y4]O~P!&zO!S4^O~O!Q*OO'y*PO(z%POn'ia(y'ia!]'ia#`'ia~Og'ia$O'ia~P%-fO!Q*OO'y*POn'ka(y'ka(z'ka!]'ka#`'ka~Og'ka$O'ka~P%.XO(r$YO~P#/sO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!0SOp%WO(T=WO~P!1uOp4bO!S%hO![4aO!_%iO(T%gO!]'eX!k'eX~O!]/pO!k)Oa~O!]/pO!g#vO!k)Oa~O!]/pO!g#vO(r'pO!k)Oa~Og$|i!]$|i#`$|i$O$|i~P!1WO![4jO!Y'gX!]'gX~P!3tO!]/yO!Y)Pa~O!]/yO!Y)Pa~P#/sOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~Oj%YX!g%YX~P%2OOj4oO!g#vO~Oh%VO!g#vO!l%eO~Oh%VOr4tO!l%eO(r'pO~Or4yO!g#vO(r'pO~Os!nO!S4zO(VTO(YUO(e!mO~O(y$}On%ai!Q%ai'y%ai(z%ai!]%ai#`%ai~Og%ai$O%ai~P%5oO(z%POn%ci!Q%ci'y%ci(y%ci!]%ci#`%ci~Og%ci$O%ci~P%6bOg(_i!](_i~P!1WO#`5QOg(_i!](_i~P!1WO!k5VO~Oa$oq!]$oq'z$oq'w$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:tO!Y5ZO~O!]5[O!_)QX~P#/sOa$zX!_$zX%^]X'z$zX!]$zX~P!0SO%^5_OaoX!_oX'zoX!]oX~P$#OOp5`O(T#nO~O%^5_O~Ob5fO%j5gO(T+qO(VTO(YUO!]'tX!^'tX~O!]1TO!^)Xa~O[5kO~O`5lO~O[5pO~Oa%nO'z%nO~P#/sO!]5uO#`5wO!^)UX~O!^5xO~Or6OOs!nO!S*iO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!pO#W!pO#X!pO#[5}O#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O!^5|O~P%;eOn6TO!_1oO%i6SO~Oh%VOn6TO!_1oO%i6SO~Ob6[O(T#nO(VTO(YUO!]'sX!^'sX~O!]1zO!^)Va~O(VTO(YUO(e6^O~O`6bO~Oj6eO&[6fO~PNXO!k6gO~P%[Oa6iO~Oa6iO~P%[Ob2bO!^6nO&j2aO~P`O!g6pO~O!g6rOh(ji!](ji!^(ji!g(ji!l(jir(ji(r(ji~O!]#hi!^#hi~P#BwO#`6sO!]#hi!^#hi~O!]!ai!^!ai~P#BwOa%nO#`6|O'z%nO~Oa%nO!g#vO#`6|O'z%nO~O!](tq!k(tqa(tq'z(tq~P!:tO!](jO!k(sq~O!S%hO!_%iO#j7TO(T%gO~O!_'`O%i7WO~On7[O!_'`O%i7WO~O#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'z'ia(a'ia(r'ia!k'ia!Y'ia'w'iav'ia!_'ia%i'ia!g'ia~P%-fO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'z'ka(a'ka(r'ka!k'ka!Y'ka'w'kav'ka!_'ka%i'ka!g'ka~P%.XO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'z$|i(a$|i(r$|i!k$|i!Y$|i'w$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/sO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'z%ai(a%ai(r%ai!k%ai!Y%ai'w%aiv%ai!_%ai%i%ai!g%ai~P%5oO#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'z%ci(a%ci(r%ci!k%ci!Y%ci'w%civ%ci!_%ci%i%ci!g%ci~P%6bO!]'Ya!k'Ya~P!:tO!].tO!k(ki~O$O#ci!]#ci!^#ci~P#BwOP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#n#mi~P%NdO#n<_O~P%NdOP$[OR#zOr<kO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#r#mi~P&!lO#r<aO~P&!lOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO(aVO#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#v#mi~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO(aVO(z#}O#z#mi#{#mi$O#mi(r#mi(y#mi!]#mi!^#mi~O#x<eO~P&&uO#x#mi~P&&uO#v<cO~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO(aVO(y#|O(z#}O#{#mi$O#mi(r#mi!]#mi!^#mi~O#z#mi~P&)UO#z<gO~P&)UOa#|y!]#|y'z#|y'w#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:tO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO(y#mi(z#mi~P&,QOn>^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOr<QO!g#vO(r'pO~Ov(fX~P1qO!Q%rO~P!)[O(U!lO~P!)[O!YfX!]fX#`fX~P%2OOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~O!gfX!k]X!kfX(rfX~P'LTOP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_XO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]<iO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<tO!S${O!_$|O!i>WO!l$xO#j<zO$W%`O$t<vO$v<xO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Ol)dO~P(!yOr!eX(r!eX~P#!iOr(jX(r(jX~P##[O!^]X!^fX~P'LTO!YfX!Y$zX!]fX!]$zX#`fX~P!0SO#k<^O~O!g#vO#k<^O~O#`<nO~Oj<bO~O#`=OO!](wX!^(wX~O#`<nO!](uX!^(uX~O#k=PO~Og=RO~P!1WO#k=XO~O#k=YO~Og=RO(T&ZO~O!g#vO#k=ZO~O!g#vO#k=PO~O$O=[O~P#BwO#k=]O~O#k=^O~O#k=cO~O#k=dO~O#k=eO~O#k=fO~O$O=gO~P!1WO$O=hO~P!1WOl=sO~P7eOk#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~(OT#o!X'|(U#ps#n#qr!Q'}$]'}(T$_(e~",goto:"$9Y)]PPPPPP)^PP)aP)rP+W/]PPPP6mPP7TPP=QPPP@tPA^PA^PPPA^PCfPA^PA^PA^PCjPCoPD^PIWPPPI[PPPPI[L_PPPLeMVPI[PI[PP! eI[PPPI[PI[P!#lI[P!'S!(X!(bP!)U!)Y!)U!,gPPPPPPP!-W!(XPP!-h!/YP!2iI[I[!2n!5z!:h!:h!>gPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#<e#<k#<n)aP#<q)aP#<z#<z#<zP)aP)aP)aP)aPP)aP#=Q#=TP#=T)aP#=XP#=[P)aP)aP)aP)aP)aP)a)aPP#=b#=h#=s#=y#>P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{<Y%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_S#q]<V!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU+P%]<s<tQ+t&PQ,f&gQ,m&oQ0x+gQ0}+iQ1Y+uQ2R,kQ3`.gQ5`0|Q5f1TQ6[1zQ7Y3dQ8`5gR9e7['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>R>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o>U<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hW%Ti%V*y>PS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^T)z$u){V+P%]<s<tW'[!e%i*Z-`S(}#y#zQ+c%rQ+y&SS.b(m(nQ1j,XQ5T0kR8i5u'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vS(o#p'iQ)P#zS+b%q.|S.c(n(pR3^.d'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS#q]<VQ&t!XQ&u!YQ&w![Q&x!]R2Z,vQ'a!hQ+e%wQ-h'cS.e(q+hQ2x-gW3b.h.i0w0yQ6w2yW7U3_3a3e5^U9a7V7X7ZU:q9c9d9fS;b:p:sQ;p;cR;x;qU!wQ'`-eT5y1o5{!Q_OXZ`st!V!Z#d#h%e%m&i&k&r&t&u&w(j,s,x.[2[2_]!pQ!r'`-e1o5{T#q]<V%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S(}#y#zS.b(m(n!s=l$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uS<P;|;}R<S<QQ#wbQ's!uS(e#g2US(g#m+WQ+Y%fQ+j%xQ+p&OU-r'k't'wQ.W(fU/r*]*`/wQ0S*jQ0V*lQ1O+kQ1u,aS3R-s-vQ3Z.`S4e/s/tQ4n0PS4q0R0^Q4u0WQ6W1vQ7P3US7q4`4bQ7u4fU7|4r4x4{Q8P4wQ8v6XS9q7r7sQ9u7yQ9}8RQ:O8SQ:c8wQ:y9rS:z9v9xQ;S:QQ;^:dS;f:{;PS;r;g;hS;z;s;uS<O;{;}Q<R<PQ<T<SQ=o=jQ={=tR=|=uV!wQ'`-e%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S#wz!j!r=i$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!P<d)^)q-Z.|2k2n3p3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!f$Vc#Y%q(S(Y(t(y)W)X)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!T<f)^)q-Z.|2k2n3p3v3w3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!^$Zc#Y%q(S(Y(t(y)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<WQ4_/kz>S)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^Q+T%aQ/c*Oo4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!U$yi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n=r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hQ=w>TQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hnoOXst!Z#d%m&r&t&u&w,s,x2[2_S*f${*YQ-R'OQ-S'QR4i/y%[%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f<o#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<p<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!d=S(u)c*[*e.j.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f<q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!h=U(u)c*[*e.k.l.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|<jQ-|<WR<j)qQ/q*]W4c/q4d7t9sU4d/r/s/tS7t4e4fR9s7u$e*Q$v(u)c)e*[*e*t*u+Q+R+V.l.m.o.p.q/_/g/i/k/v/|0d0e0v1e3f3g3h3}4R4[4g4h4l4|5O5R5S5W5r7]7^7_7`7e7f7h7i7j7p7w7z8U8X8Z9h9i9j9t9|:R:S:t:u:v:w:x:};R;e;j;v;y=p=}>O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.l<oQ.m<qQ.o<uQ.p<wQ.q<yQ/_)yQ/g*RQ/i*TQ/k*VQ/v*aS/|*g/mQ0d*wQ0e*xl0v+f,V.f1i1q3c6S7W8q9b:`:r;[;dQ1e,SQ3f=SQ3g=UQ3h=XS3}<l<mQ4R/PS4[/d4^Q4g/xQ4h/yQ4l/{Q4|0`Q5O0bQ5R0iQ5S0jQ5W0oQ5r1fQ7]=]Q7^=_Q7_=aQ7`=cQ7e<pQ7f<rQ7h<vQ7i<xQ7j<zQ7p4_Q7w4jQ7z4oQ8U5QQ8X5[Q8Z5_Q9h=YQ9i=TQ9j=VQ9t7vQ9|8QQ:R8VQ:S8[Q:t=^Q:u=`Q:v=bQ:w=dQ:x9pQ:}9yQ;R:PQ;e=gQ;j;QQ;v;kQ;y=hQ=p>PQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.n<sR7g<tnpOXst!Z#d%m&r&t&u&w,s,x2[2_Q!fPS#fZ#oQ&|!`W'h!o*i0]4zQ(P#SQ)Q#{Q)r$nS,l&k&nQ,q&oQ-O&{S-T'T/nQ-g'bQ.x)OQ/[)sQ0s+]Q0y+gQ2W,pQ2y-iQ3a.gQ4W/VQ5U0lQ6Q1rQ6c2SQ6d2TQ6h2VQ6j2XQ6o2aQ7Z3dQ7m4TQ8s6TQ9P6eQ9Q6fQ9S6iQ9f7[Q:a8tR:k9T#[cOPXZst!Z!`!o#d#o#{%m&k&n&o&r&t&u&w&{'T'b)O*i+]+g,p,s,x-i.g/n0]0l1r2S2T2V2X2[2_2a3d4z6T6e6f6i7[8t9TQ#YWQ#eYQ%quQ%svS%uw!gS(S#W(VQ(Y#ZQ(t#uQ(y#xQ)R$OQ)S$PQ)T$QQ)U$RQ)V$SQ)W$TQ)X$UQ)Y$VQ)Z$WQ)[$XQ)^$ZQ)`$_Q)b$aQ)g$eW)q$n)s/V4TQ+d%tQ+x&RS-Z'X2pQ-x'rS-}(T.PQ.S(]Q.U(dQ.s(xQ.v(zQ.z<UQ.|<XQ.}<YQ/O<]Q/b)}Q0p+XQ2k-UQ2n-XQ3O-qQ3V.VQ3k.tQ3p<^Q3q<_Q3r<`Q3s<aQ3t<bQ3u<cQ3v<dQ3w<eQ3x<fQ3y<gQ3z<hQ3{.{Q3|<kQ4P<nQ4Q<{Q4X<iQ5X0rQ5c1SQ6u=OQ6{3QQ7Q3WQ7a3lQ7b=PQ7k=RQ7l=ZQ8k5wQ9X6sQ9]6|Q9g=[Q9m=eQ9n=fQ:o9_Q;W:ZQ;`:mQ<W#SR=v>SR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i<VR)f$dY!uQ'`-e1o5{Q'k!rS'u!v!yS'w!z5}S-t'l'mQ-v'nR3T-uT#kZ%eS#jZ%eS%km,oU(g#h#i#lS.Y(h(iQ.^(jQ0t+^Q3Y.ZU3Z.[.]._S7S3[3]R9`7Td#^W#W#Z%h(T(^*Y+Z.T/mr#gZm#h#i#l%e(h(i(j+^.Z.[.]._3[3]7TS*]$x*bQ/t*^Q2U,oQ2l-VQ4`/pQ6q2dQ7s4aQ9W6rT=m'X+[V#aW%h*YU#`W%h*YS(U#W(^U(Z#Z+Z/mS-['X+[T.O(T.TV'^!e%i*ZQ$lfR)x$qT)m$l)nR4V/UT*_$x*bT*h${*YQ0w+fQ1g,VQ3_.fQ5t1iQ6P1qQ7X3cQ8r6SQ9c7WQ:^8qQ:p9bQ;Z:`Q;c:rQ;n;[R;q;dnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&l!VR,h&itmOXst!U!V!Z#d%m&i&r&t&u&w,s,x2[2_R,o&oT%lm,oR1k,XR,g&gQ&U|S+}&V&WR1^,OR+s&PT&p!W&sT&q!W&sT2^,x2_",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:U_,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[G_],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$i&j(Wp(Z!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$i&j(Z!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(o%1l(Wp(Z!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$i&j(Wp(Z!b$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$i&j(Wp(Z!b$]#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Wp(Z!b#p(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$i&j$Q(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(z+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$i&j#z(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(Y';W$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(WpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!k!Lf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$i&j(Wp(Z!b(U%&f#q(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$i&j(Wp(Z!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$i&j(Wp(Z!br+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!]+Jf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$i&j(Wp(Z!b!Q.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_![!L^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$i&j(Wp(Z!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Z!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Wp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Wp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Wp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Wp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(WpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(WpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Wp(Z!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Wp(Z!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Wp(Z!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Wp(Z!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Wp(Z!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Wp(Z!b(O0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Wp(Z!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Z!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Z!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(WpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(WpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Wp(Z!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-<U(Wp(Z!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#s(Ch$f#|$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(r(Ct$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!|$Ip$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!S0,v$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#x(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$i&j(Wp(Z!b(a+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$i&j(Wp(Z!b(T,2j$_#t(e$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Wp(Z!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(y+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[W_,j_,C_,E_,2,3,4,5,6,7,8,9,10,11,12,13,14,V_,new ta("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new ta("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:t=>A_[t]||-1},{term:343,get:t=>N_[t]||-1},{term:95,get:t=>I_[t]||-1}],tokenPrec:15201});class D_{constructor(e,i,n,O){this.state=e,this.pos=i,this.explicit=n,this.view=O,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let i=Ze(this.state).resolveInner(this.pos,-1);for(;i&&e.indexOf(i.name)<0;)i=i.parent;return i?{from:i.from,to:this.pos,text:this.state.sliceDoc(i.from,this.pos),type:i.type}:null}matchBefore(e){let i=this.state.doc.lineAt(this.pos),n=Math.max(i.from,this.pos-250),O=i.text.slice(n-i.from,this.pos-i.from),r=O.search(B_(e));return r<0?null:{from:n+r,to:this.pos,text:O.slice(r)}}get aborted(){return this.abortListeners==null}addEventListener(e,i,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(i),n&&n.onDocChange&&(this.abortOnDocChange=!0))}}function op(t){let e=Object.keys(t).join(""),i=/\w/.test(e);return i&&(e=e.replace(/\w/g,"")),`[${i?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function M_(t){let e=Object.create(null),i=Object.create(null);for(let{label:O}of t){e[O[0]]=!0;for(let r=1;r<O.length;r++)i[O[r]]=!0}let n=op(e)+op(i)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function af(t){let e=t.map(O=>typeof O=="string"?{label:O}:O),[i,n]=e.every(O=>/^\w+$/.test(O.label))?[/\w*$/,/\w+$/]:M_(e);return O=>{let r=O.matchBefore(n);return r||O.explicit?{from:r?r.from:O.pos,options:e,validFor:i}:null}}function of(t,e){return i=>{for(let n=Ze(i.state).resolveInner(i.pos,-1);n;n=n.parent){if(t.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(i)}}function B_(t,e){var i;let{source:n}=t,O=n[n.length-1]!="$";return O?new RegExp(`(?:${n})${O?"$":""}`,(i=t.flags)!==null&&i!==void 0?i:t.ignoreCase?"i":""):t}const F_=Ji.define(),H_=H.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class K_{constructor(e,i,n,O){this.field=e,this.line=i,this.from=n,this.to=O}}class sf{constructor(e,i,n){this.field=e,this.from=i,this.to=n}map(e){let i=e.mapPos(this.from,-1,ut.TrackDel),n=e.mapPos(this.to,1,ut.TrackDel);return i==null||n==null?null:new sf(this.field,i,n)}}class lf{constructor(e,i){this.lines=e,this.fieldPositions=i}instantiate(e,i){let n=[],O=[i],r=e.doc.lineAt(i),a=/^\s*/.exec(r.text)[0];for(let s of this.lines){if(n.length){let l=a,c=/^\t*/.exec(s)[0].length;for(let u=0;u<c;u++)l+=e.facet(ga);O.push(i+l.length-c),s=l+s.slice(c)}n.push(s),i+=s.length+1}let o=this.fieldPositions.map(s=>new sf(s.field,O[s.line]+s.from,O[s.line]+s.to));return{text:n,ranges:o}}static parse(e){let i=[],n=[],O=[],r;for(let a of e.split(/\r\n?|\n/)){for(;r=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(a);){let o=r[1]?+r[1]:null,s=r[2]||r[3]||"",l=-1,c=s.replace(/\\[{}]/g,u=>u[1]);for(let u=0;u<i.length;u++)(o!=null?i[u].seq==o:c&&i[u].name==c)&&(l=u);if(l<0){let u=0;for(;u<i.length&&(o==null||i[u].seq!=null&&i[u].seq<o);)u++;i.splice(u,0,{seq:o,name:c}),l=u;for(let h of O)h.field>=l&&h.field++}for(let u of O)if(u.line==n.length&&u.from>r.index){let h=r[2]?3+(r[1]||"").length:2;u.from-=h,u.to-=h}O.push(new K_(l,n.length,r.index,r.index+c.length)),a=a.slice(0,r.index)+s+a.slice(r.index+r[0].length)}a=a.replace(/\\([{}])/g,(o,s,l)=>{for(let c of O)c.line==n.length&&c.from>l&&(c.from--,c.to--);return s}),n.push(a)}return new lf(n,O)}}let J_=he.widget({widget:new class extends sO{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),eR=he.mark({class:"cm-snippetField"});class nr{constructor(e,i){this.ranges=e,this.active=i,this.deco=he.set(e.map(n=>(n.from==n.to?J_:eR).range(n.from,n.to)),!0)}map(e){let i=[];for(let n of this.ranges){let O=n.map(e);if(!O)return null;i.push(O)}return new nr(i,this.active)}selectionInsideField(e){return e.ranges.every(i=>this.ranges.some(n=>n.field==this.active&&n.from<=i.from&&n.to>=i.to))}}const xa=xe.define({map(t,e){return t&&t.map(e)}}),tR=xe.define(),ia=At.define({create(){return null},update(t,e){for(let i of e.effects){if(i.is(xa))return i.value;if(i.is(tR)&&t)return new nr(t.ranges,i.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>H.decorations.from(t,e=>e?e.deco:he.none)});function cf(t,e){return U.create(t.filter(i=>i.field==e).map(i=>U.range(i.from,i.to)))}function iR(t){let e=lf.parse(t);return(i,n,O,r)=>{let{text:a,ranges:o}=e.instantiate(i.state,O),{main:s}=i.state.selection,l={changes:{from:O,to:r==s.from?s.to:r,insert:ye.of(a)},scrollIntoView:!0,annotations:n?[F_.of(n),Be.userEvent.of("input.complete")]:void 0};if(o.length&&(l.selection=cf(o,0)),o.some(c=>c.field>0)){let c=new nr(o,0),u=l.effects=[xa.of(c)];i.state.field(ia,!1)===void 0&&u.push(xe.appendConfig.of([ia,oR,sR,H_]))}i.dispatch(i.state.update(l))}}function jS(t){return({state:e,dispatch:i})=>{let n=e.field(ia,!1);if(!n||t<0&&n.active==0)return!1;let O=n.active+t,r=t>0&&!n.ranges.some(a=>a.field==O+t);return i(e.update({selection:cf(n.ranges,O),effects:xa.of(r?null:new nr(n.ranges,O)),scrollIntoView:!0})),!0}}const nR=({state:t,dispatch:e})=>t.field(ia,!1)?(e(t.update({effects:xa.of(null)})),!0):!1,OR=jS(1),rR=jS(-1),aR=[{key:"Tab",run:OR,shift:rR},{key:"Escape",run:nR}],sp=K.define({combine(t){return t.length?t[0]:aR}}),oR=aO.highest(Ys.compute([sp],t=>t.facet(sp)));function Ge(t,e){return{...e,apply:iR(t)}}const sR=H.domEventHandlers({mousedown(t,e){let i=e.state.field(ia,!1),n;if(!i||(n=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let O=i.ranges.find(r=>r.from<=n&&r.to>=n);return!O||O.field==i.active?!1:(e.dispatch({selection:cf(i.ranges,O.field),effects:xa.of(i.ranges.some(r=>r.field>O.field)?new nr(i.ranges,O.field):null),scrollIntoView:!0}),!0)}}),na={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Gn=xe.define({map(t,e){let i=e.mapPos(t,-1,ut.TrackAfter);return i??void 0}}),uf=new class extends dn{};uf.startSide=1;uf.endSide=-1;const CS=At.define({create(){return Pe.empty},update(t,e){if(t=t.map(e.changes),e.selection){let i=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:n=>n>=i.from&&n<=i.to})}for(let i of e.effects)i.is(Gn)&&(t=t.update({add:[uf.range(i.value,i.value+1)]}));return t}});function I8(){return[cR,CS]}const Kl="()[]{}<>«»»«[]{}";function ES(t){for(let e=0;e<Kl.length;e+=2)if(Kl.charCodeAt(e)==t)return Kl.charAt(e+1);return Og(t<128?t:t+1)}function GS(t,e){return t.languageDataAt("closeBrackets",e)[0]||na}const lR=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),cR=H.inputHandler.of((t,e,i,n)=>{if((lR?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let O=t.state.selection.main;if(n.length>2||n.length==2&&$a(rO(n,0))==1||e!=O.from||i!=O.to)return!1;let r=hR(t.state,n);return r?(t.dispatch(r),!0):!1}),uR=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=GS(t,t.selection.main.head).brackets||na.brackets,O=null,r=t.changeByRange(a=>{if(a.empty){let o=fR(t.doc,a.head);for(let s of n)if(s==o&&Es(t.doc,a.head)==ES(rO(s,0)))return{changes:{from:a.head-s.length,to:a.head+s.length},range:U.cursor(a.head-s.length)}}return{range:O=a}});return O||e(t.update(r,{scrollIntoView:!0,userEvent:"delete.backward"})),!O},L8=[{key:"Backspace",run:uR}];function hR(t,e){let i=GS(t,t.selection.main.head),n=i.brackets||na.brackets;for(let O of n){let r=ES(rO(O,0));if(e==O)return r==O?pR(t,O,n.indexOf(O+O+O)>-1,i):dR(t,O,r,i.before||na.before);if(e==r&&AS(t,t.selection.main.from))return $R(t,O,r)}return null}function AS(t,e){let i=!1;return t.field(CS).between(0,t.doc.length,n=>{n==e&&(i=!0)}),i}function Es(t,e){let i=t.sliceString(e,e+2);return i.slice(0,$a(rO(i,0)))}function fR(t,e){let i=t.sliceString(e-2,e);return $a(rO(i,0))==i.length?i:i.slice(1)}function dR(t,e,i,n){let O=null,r=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:i,from:a.to}],effects:Gn.of(a.to+e.length),range:U.range(a.anchor+e.length,a.head+e.length)};let o=Es(t.doc,a.head);return!o||/\s/.test(o)||n.indexOf(o)>-1?{changes:{insert:e+i,from:a.head},effects:Gn.of(a.head+e.length),range:U.cursor(a.head+e.length)}:{range:O=a}});return O?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function $R(t,e,i){let n=null,O=t.changeByRange(r=>r.empty&&Es(t.doc,r.head)==i?{changes:{from:r.head,to:r.head+i.length,insert:i},range:U.cursor(r.head+i.length)}:n={range:r});return n?null:t.update(O,{scrollIntoView:!0,userEvent:"input.type"})}function pR(t,e,i,n){let O=n.stringPrefixes||na.stringPrefixes,r=null,a=t.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:e,from:o.to}],effects:Gn.of(o.to+e.length),range:U.range(o.anchor+e.length,o.head+e.length)};let s=o.head,l=Es(t.doc,s),c;if(l==e){if(lp(t,s))return{changes:{insert:e+e,from:s},effects:Gn.of(s+e.length),range:U.cursor(s+e.length)};if(AS(t,s)){let h=i&&t.sliceDoc(s,s+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:s,to:s+h.length,insert:h},range:U.cursor(s+h.length)}}}else{if(i&&t.sliceDoc(s-2*e.length,s)==e+e&&(c=cp(t,s-2*e.length,O))>-1&&lp(t,c))return{changes:{insert:e+e+e+e,from:s},effects:Gn.of(s+e.length),range:U.cursor(s+e.length)};if(t.charCategorizer(s)(l)!=Ce.Word&&cp(t,s,O)>-1&&!QR(t,s,e,O))return{changes:{insert:e+e,from:s},effects:Gn.of(s+e.length),range:U.cursor(s+e.length)}}return{range:r=o}});return r?null:t.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function lp(t,e){let i=Ze(t).resolveInner(e+1);return i.parent&&i.from==e}function QR(t,e,i,n){let O=Ze(t).resolveInner(e,-1),r=n.reduce((a,o)=>Math.max(a,o.length),0);for(let a=0;a<5;a++){let o=t.sliceDoc(O.from,Math.min(O.to,O.from+i.length+r)),s=o.indexOf(i);if(!s||s>-1&&n.indexOf(o.slice(0,s))>-1){let c=O.firstChild;for(;c&&c.from==O.from&&c.to-c.from>i.length+s;){if(t.sliceDoc(c.to-i.length,c.to)==i)return!1;c=c.firstChild}return!0}let l=O.to==e&&O.parent;if(!l)break;O=l}return!1}function cp(t,e,i){let n=t.charCategorizer(e);if(n(t.sliceDoc(e-1,e))!=Ce.Word)return e;for(let O of i){let r=e-O.length;if(t.sliceDoc(r,e)==O&&n(t.sliceDoc(r-1,r))!=Ce.Word)return r}return-1}const NS=[Ge("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),Ge("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),Ge("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Ge("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Ge("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),Ge(`try {
|
|
20
|
+
\${}
|
|
21
|
+
} catch (\${error}) {
|
|
22
|
+
\${}
|
|
23
|
+
}`,{label:"try",detail:"/ catch block",type:"keyword"}),Ge("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),Ge(`if (\${}) {
|
|
24
|
+
\${}
|
|
25
|
+
} else {
|
|
26
|
+
\${}
|
|
27
|
+
}`,{label:"if",detail:"/ else block",type:"keyword"}),Ge(`class \${name} {
|
|
28
|
+
constructor(\${params}) {
|
|
29
|
+
\${}
|
|
30
|
+
}
|
|
31
|
+
}`,{label:"class",detail:"definition",type:"keyword"}),Ge('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Ge('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],mR=NS.concat([Ge("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Ge("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Ge("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),up=new Gh,IS=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Qr(t){return(e,i)=>{let n=e.node.getChild("VariableDefinition");return n&&i(n,t),!0}}const gR=["FunctionDeclaration"],PR={FunctionDeclaration:Qr("function"),ClassDeclaration:Qr("class"),ClassExpression:()=>!0,EnumDeclaration:Qr("constant"),TypeAliasDeclaration:Qr("type"),NamespaceDeclaration:Qr("namespace"),VariableDefinition(t,e){t.matchContext(gR)||e(t,"variable")},TypeDefinition(t,e){e(t,"type")},__proto__:null};function LS(t,e){let i=up.get(e);if(i)return i;let n=[],O=!0;function r(a,o){let s=t.sliceString(a.from,a.to);n.push({label:s,type:o})}return e.cursor(Ye.IncludeAnonymous).iterate(a=>{if(O)O=!1;else if(a.name){let o=PR[a.name];if(o&&o(a,r)||IS.has(a.name))return!1}else if(a.to-a.from>8192){for(let o of LS(t,a.node))n.push(o);return!1}}),up.set(e,n),n}const hp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,DS=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function SR(t){let e=Ze(t.state).resolveInner(t.pos,-1);if(DS.indexOf(e.name)>-1)return null;let i=e.name=="VariableName"||e.to-e.from<20&&hp.test(t.state.sliceDoc(e.from,e.to));if(!i&&!t.explicit)return null;let n=[];for(let O=e;O;O=O.parent)IS.has(O.name)&&(n=n.concat(LS(t.state.doc,O)));return{options:n,from:i?e.from:t.pos,validFor:hp}}const _i=Pt.define({name:"javascript",parser:L_.configure({props:[Xt.add({IfStatement:Ot({except:/^\s*({|else\b)/}),TryStatement:Ot({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Dh,SwitchBody:t=>{let e=t.textAfter,i=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return t.baseIndent+(i?0:n?1:2)*t.unit},Block:Di({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"TemplateString BlockComment":()=>null,"Statement Property":Ot({except:/^\s*{/}),JSXElement(t){let e=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},JSXEscape(t){let e=/\s*\}/.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},"JSXOpenTag JSXSelfClosingTag"(t){return t.column(t.node.from)+t.unit}}),yt.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":en,BlockComment(t){return{from:t.from+2,to:t.to-2}},JSXElement(t){let e=t.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let i=t.lastChild;return{from:e.to,to:i.type.isError?t.to:i.from}},"JSXSelfClosingTag JSXOpenTag"(t){var e;let i=(e=t.firstChild)===null||e===void 0?void 0:e.nextSibling,n=t.lastChild;return!i||i.type.isError?null:{from:i.to,to:n.type.isError?t.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),MS={test:t=>/^JSX/.test(t.name),facet:zs({commentTokens:{block:{open:"{/*",close:"*/}"}}})},BS=_i.configure({dialect:"ts"},"typescript"),FS=_i.configure({dialect:"jsx",props:[Nh.add(t=>t.isTop?[MS]:void 0)]}),HS=_i.configure({dialect:"jsx ts",props:[Nh.add(t=>t.isTop?[MS]:void 0)]},"typescript");let KS=t=>({label:t,type:"keyword"});const JS="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(KS),bR=JS.concat(["declare","implements","private","protected","public"].map(KS));function vr(t={}){let e=t.jsx?t.typescript?HS:FS:t.typescript?BS:_i,i=t.typescript?mR.concat(bR):NS.concat(JS);return new Zt(e,[_i.data.of({autocomplete:of(DS,af(i))}),_i.data.of({autocomplete:SR}),t.jsx?xR:[]])}function XR(t){for(;;){if(t.name=="JSXOpenTag"||t.name=="JSXSelfClosingTag"||t.name=="JSXFragmentTag")return t;if(t.name=="JSXEscape"||!t.parent)return null;t=t.parent}}function fp(t,e,i=t.length){for(let n=e==null?void 0:e.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return t.sliceString(n.from,Math.min(n.to,i));return""}const yR=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),xR=H.inputHandler.of((t,e,i,n,O)=>{if((yR?t.composing:t.compositionStarted)||t.state.readOnly||e!=i||n!=">"&&n!="/"||!_i.isActiveAt(t.state,e,-1))return!1;let r=O(),{state:a}=r,o=a.changeByRange(s=>{var l;let{head:c}=s,u=Ze(a).resolveInner(c-1,-1),h;if(u.name=="JSXStartTag"&&(u=u.parent),!(a.doc.sliceString(c-1,c)!=n||u.name=="JSXAttributeValue"&&u.to>c)){if(n==">"&&u.name=="JSXFragmentTag")return{range:s,changes:{from:c,insert:"</>"}};if(n=="/"&&u.name=="JSXStartCloseTag"){let d=u.parent,p=d.parent;if(p&&d.from==c-2&&((h=fp(a.doc,p.firstChild,c))||((l=p.firstChild)===null||l===void 0?void 0:l.name)=="JSXFragmentTag")){let Q=`${h}>`;return{range:U.cursor(c+Q.length,-1),changes:{from:c,insert:Q}}}}else if(n==">"){let d=XR(u);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(a.doc.sliceString(c,c+2))&&(h=fp(a.doc,d,c)))return{range:s,changes:{from:c,insert:`</${h}>`}}}}return{range:s}});return o.changes.empty?!1:(t.dispatch([r,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),wR=1,eb=194,tb=195,kR=196,dp=197,TR=198,vR=199,_R=200,RR=2,ib=3,$p=201,YR=24,ZR=25,zR=49,qR=50,UR=55,VR=56,WR=57,jR=59,CR=60,ER=61,GR=62,AR=63,NR=65,IR=238,LR=71,DR=241,MR=242,BR=243,FR=244,HR=245,KR=246,JR=247,eY=248,nb=72,tY=249,iY=250,nY=251,OY=252,rY=253,aY=254,oY=255,sY=256,lY=73,cY=77,uY=263,hY=112,fY=130,dY=151,$Y=152,pY=155,tO=10,Oa=13,hf=32,Gs=9,ff=35,QY=40,mY=46,ju=123,pp=125,Ob=39,rb=34,Qp=92,gY=111,PY=120,SY=78,bY=117,XY=85,yY=new Set([ZR,zR,qR,uY,NR,fY,VR,WR,IR,GR,AR,nb,lY,cY,CR,ER,dY,$Y,pY,hY]);function Jl(t){return t==tO||t==Oa}function ec(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}const xY=new ke((t,e)=>{let i;if(t.next<0)t.acceptToken(vR);else if(e.context.flags&_o)Jl(t.next)&&t.acceptToken(TR,1);else if(((i=t.peek(-1))<0||Jl(i))&&e.canShift(dp)){let n=0;for(;t.next==hf||t.next==Gs;)t.advance(),n++;(t.next==tO||t.next==Oa||t.next==ff)&&t.acceptToken(dp,-n)}else Jl(t.next)&&t.acceptToken(kR,1)},{contextual:!0}),wY=new ke((t,e)=>{let i=e.context;if(i.flags)return;let n=t.peek(-1);if(n==tO||n==Oa){let O=0,r=0;for(;;){if(t.next==hf)O++;else if(t.next==Gs)O+=8-O%8;else break;t.advance(),r++}O!=i.indent&&t.next!=tO&&t.next!=Oa&&t.next!=ff&&(O<i.indent?t.acceptToken(tb,-r):t.acceptToken(eb))}}),_o=1,ab=2,Vi=4,Wi=8,ji=16,Ci=32;function Ro(t,e,i){this.parent=t,this.indent=e,this.flags=i,this.hash=(t?t.hash+t.hash<<8:0)+e+(e<<4)+i+(i<<6)}const kY=new Ro(null,0,0);function TY(t){let e=0;for(let i=0;i<t.length;i++)e+=t.charCodeAt(i)==Gs?8-e%8:1;return e}const mp=new Map([[DR,0],[MR,Vi],[BR,Wi],[FR,Wi|Vi],[HR,ji],[KR,ji|Vi],[JR,ji|Wi],[eY,ji|Wi|Vi],[tY,Ci],[iY,Ci|Vi],[nY,Ci|Wi],[OY,Ci|Wi|Vi],[rY,Ci|ji],[aY,Ci|ji|Vi],[oY,Ci|ji|Wi],[sY,Ci|ji|Wi|Vi]].map(([t,e])=>[t,e|ab])),vY=new ya({start:kY,reduce(t,e,i,n){return t.flags&_o&&yY.has(e)||(e==LR||e==nb)&&t.flags&ab?t.parent:t},shift(t,e,i,n){return e==eb?new Ro(t,TY(n.read(n.pos,i.pos)),0):e==tb?t.parent:e==YR||e==UR||e==jR||e==ib?new Ro(t,0,_o):mp.has(e)?new Ro(t,0,mp.get(e)|t.flags&_o):t},hash(t){return t.hash}}),_Y=new ke(t=>{for(let e=0;e<5;e++){if(t.next!="print".charCodeAt(e))return;t.advance()}if(!/\w/.test(String.fromCharCode(t.next)))for(let e=0;;e++){let i=t.peek(e);if(!(i==hf||i==Gs)){i!=QY&&i!=mY&&i!=tO&&i!=Oa&&i!=ff&&t.acceptToken(wR);return}}}),RY=new ke((t,e)=>{let{flags:i}=e.context,n=i&Vi?rb:Ob,O=(i&Wi)>0,r=!(i&ji),a=(i&Ci)>0,o=t.pos;for(;!(t.next<0);)if(a&&t.next==ju)if(t.peek(1)==ju)t.advance(2);else{if(t.pos==o){t.acceptToken(ib,1);return}break}else if(r&&t.next==Qp){if(t.pos==o){t.advance();let s=t.next;s>=0&&(t.advance(),YY(t,s)),t.acceptToken(RR);return}break}else if(t.next==Qp&&!r&&t.peek(1)>-1)t.advance(2);else if(t.next==n&&(!O||t.peek(1)==n&&t.peek(2)==n)){if(t.pos==o){t.acceptToken($p,O?3:1);return}break}else if(t.next==tO){if(O)t.advance();else if(t.pos==o){t.acceptToken($p);return}break}else t.advance();t.pos>o&&t.acceptToken(_R)});function YY(t,e){if(e==gY)for(let i=0;i<2&&t.next>=48&&t.next<=55;i++)t.advance();else if(e==PY)for(let i=0;i<2&&ec(t.next);i++)t.advance();else if(e==bY)for(let i=0;i<4&&ec(t.next);i++)t.advance();else if(e==XY)for(let i=0;i<8&&ec(t.next);i++)t.advance();else if(e==SY&&t.next==ju){for(t.advance();t.next>=0&&t.next!=pp&&t.next!=Ob&&t.next!=rb&&t.next!=tO;)t.advance();t.next==pp&&t.advance()}}const ZY=bt({'async "*" "**" FormatConversion FormatSpec':$.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":$.controlKeyword,"in not and or is del":$.operatorKeyword,"from def class global nonlocal lambda":$.definitionKeyword,import:$.moduleKeyword,"with as print":$.keyword,Boolean:$.bool,None:$.null,VariableName:$.variableName,"CallExpression/VariableName":$.function($.variableName),"FunctionDefinition/VariableName":$.function($.definition($.variableName)),"ClassDefinition/VariableName":$.definition($.className),PropertyName:$.propertyName,"CallExpression/MemberExpression/PropertyName":$.function($.propertyName),Comment:$.lineComment,Number:$.number,String:$.string,FormatString:$.special($.string),Escape:$.escape,UpdateOp:$.updateOperator,"ArithOp!":$.arithmeticOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,AssignOp:$.definitionOperator,Ellipsis:$.punctuation,At:$.meta,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,".":$.derefOperator,", ;":$.separator}),zY={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},qY=St.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyO<POWO,5:aOOQS,5:a,5:aO<[QdO'#HwOOOW'#Dw'#DwOOOW'#Fz'#FzO<lOWO,5:bOOQS,5:b,5:bOOQS'#F}'#F}O<zQtO,5:iO?lQtO,5=`O@VQ#xO,5=`O@vQtO,5=`OOQS,5:},5:}OA_QeO'#GWOBqQdO,5;^OOQV,5=^,5=^OB|QtO'#IPOCkQdO,5;tOOQS-E:[-E:[OOQV,5;s,5;sO4dQdO'#FQOOQV-E9o-E9oOCsQtO,59]OEzQtO,59iOFeQdO'#HVOFpQdO'#HVO1XQdO'#HVOF{QdO'#DTOGTQdO,59mOGYQdO'#HZO'vQdO'#HZO0rQdO,5=tOOQS,5=t,5=tO0rQdO'#EROOQS'#ES'#ESOGwQdO'#GPOHXQdO,58|OHXQdO,58|O*xQdO,5:oOHgQtO'#H]OOQS,5:r,5:rOOQS,5:z,5:zOHzQdO,5;OOI]QdO'#IOO1XQdO'#H}OOQS,5;Q,5;QOOQS'#GT'#GTOIqQtO,5;QOJPQdO,5;QOJUQdO'#IQOOQS,5;T,5;TOJdQdO'#H|OOQS,5;W,5;WOJuQdO,5;YO4iQdO,5;`O4iQdO,5;cOJ}QtO'#ITO'vQdO'#ITOKXQdO,5;eO4VQdO,5;eO0rQdO,5;jO1XQdO,5;lOK^QeO'#EuOLjQgO,5;fO!!kQdO'#IUO4iQdO,5;jO!!vQdO,5;lO!#OQdO,5;qO!#ZQtO,5;vO'vQdO,5;vPOOO,5=[,5=[P!#bOSO,5=[P!#jOdO,5=[O!&bQtO1G.jO!&iQtO1G.jO!)YQtO1G.jO!)dQtO1G.jO!+}QtO1G.jO!,bQtO1G.jO!,uQdO'#HcO!-TQtO'#GuO0rQdO'#HcO!-_QdO'#HbOOQS,5:Z,5:ZO!-gQdO,5:ZO!-lQdO'#HeO!-wQdO'#HeO!.[QdO,5>OOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5<jOOQS,5<j,5<jOOQS-E9|-E9|OOQS,5<r,5<rOOQS-E:U-E:UOOQV1G0x1G0xO1XQdO'#GRO!7dQtO,5>kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5<k,5<kOOQS-E9}-E9}O!9wQdO1G.hOOQS1G0Z1G0ZO!:VQdO,5=wO!:gQdO,5=wO0rQdO1G0jO0rQdO1G0jO!:xQdO,5>jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!<RQdO,5>lO!<aQdO,5>lO!<oQdO,5>hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5<m,5<mOOQS-E:P-E:POOQS7+&z7+&zOOQS1G3]1G3]OOQS,5<^,5<^OOQS-E9p-E9pOOQS7+$s7+$sO#)bQdO,5=`O#){QdO,5=`O#*^QtO,5<aO#*qQdO1G3cOOQS-E9s-E9sOOQS7+&U7+&UO#+RQdO7+&UO#+aQdO,5<nO#+uQdO1G4UOOQS-E:Q-E:QO#,WQdO1G4UOOQS1G4T1G4TOOQS7+&W7+&WO#,iQdO7+&WOOQS,5<p,5<pO#,tQdO1G4WOOQS-E:S-E:SOOQS,5<l,5<lO#-SQdO1G4SOOQS-E:O-E:OO1XQdO'#EqO#-jQdO'#EqO#-uQdO'#IRO#-}QdO,5;[OOQS7+&`7+&`O0rQdO7+&`O#.SQgO7+&fO!JmQdO'#GXO4iQdO7+&fO4iQdO7+&iO#2QQtO,5<tO'vQdO,5<tO#2[QdO1G4ZOOQS-E:W-E:WO#2fQdO1G4ZO4iQdO7+&kO0rQdO7+&kOOQV7+&p7+&pO!KrQ!fO7+&rO!KzQdO7+&rO`QeO1G0{OOQV-E:X-E:XO4iQdO7+&lO4iQdO7+&lOOQV,5<u,5<uO#2nQdO,5<uO!JmQdO,5<uOOQV7+&l7+&lO#2yQgO7+&lO#6tQdO,5<vO#7PQdO1G4[OOQS-E:Y-E:YO#7^QdO1G4[O#7fQdO'#IWO#7tQdO'#IWO1XQdO'#IWOOQS'#IW'#IWO#8PQdO'#IVOOQS,5;n,5;nO#8XQdO,5;nO0rQdO'#FUOOQV7+&r7+&rO4iQdO7+&rOOQV7+&w7+&wO4iQdO7+&wO#8^QfO,5;xOOQV7+&|7+&|POOO7+(b7+(bO#8cQdO1G3iOOQS,5<c,5<cO#8qQdO1G3hOOQS-E9u-E9uO#9UQdO,5<dO#9aQdO,5<dO#9tQdO1G3kOOQS-E9v-E9vO#:UQdO1G3kO#:^QdO1G3kO#:nQdO1G3kO#:UQdO1G3kOOQS<<H[<<H[O#:yQtO1G1zOOQS<<Hk<<HkP#;WQdO'#FtO8vQdO1G3bO#;eQdO1G3bO#;jQdO<<HkOOQS<<Hl<<HlO#;zQdO7+)QOOQS<<Hs<<HsO#<[QtO1G1yP#<{QdO'#FsO#=YQdO7+)RO#=jQdO7+)RO#=rQdO<<HwO#=wQdO7+({OOQS<<Hy<<HyO#>nQdO,5<bO'vQdO,5<bOOQS-E9t-E9tOOQS<<Hw<<HwOOQS,5<g,5<gO0rQdO,5<gO#>sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<<IpO1XQdO1G2YP1XQdO'#GSO#AOQdO7+)pO#AaQdO7+)pOOQS<<Ir<<IrP1XQdO'#GUP0rQdO'#GQOOQS,5;],5;]O#ArQdO,5>mO#BQQdO,5>mOOQS1G0v1G0vOOQS<<Iz<<IzOOQV-E:V-E:VO4iQdO<<JQOOQV,5<s,5<sO4iQdO,5<sOOQV<<JQ<<JQOOQV<<JT<<JTO#BYQtO1G2`P#BdQdO'#GYO#BkQdO7+)uO#BuQgO<<JVO4iQdO<<JVOOQV<<J^<<J^O4iQdO<<J^O!KrQ!fO<<J^O#FpQgO7+&gOOQV<<JW<<JWO#FzQgO<<JWOOQV1G2a1G2aO1XQdO1G2aO#JuQdO1G2aO4iQdO<<JWO1XQdO1G2bP0rQdO'#G[O#KQQdO7+)vO#K_QdO7+)vOOQS'#FT'#FTO0rQdO,5>rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<<Jc<<JcO#LhQdO1G1dOOQS7+)T7+)TP#LmQdO'#FwO#L}QdO1G2OO#MbQdO1G2OO#MrQdO1G2OP#M}QdO'#FxO#N[QdO7+)VO#NlQdO7+)VO#NlQdO7+)VO#NtQdO7+)VO$ UQdO7+(|O8vQdO7+(|OOQSAN>VAN>VO$ oQdO<<LmOOQSAN>cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<<MT<<MTO$#nQdO7+(fOOQSAN?[AN?[OOQS7+'t7+'tO$$XQdO<<M[OOQS,5<q,5<qO$$jQdO1G4XOOQS-E:T-E:TOOQVAN?lAN?lOOQV1G2_1G2_O4iQdOAN?qO$$xQgOAN?qOOQVAN?xAN?xO4iQdOAN?xOOQV<<JR<<JRO4iQdOAN?rO4iQdO7+'{OOQV7+'{7+'{O1XQdO7+'{OOQVAN?rAN?rOOQS7+'|7+'|O$(sQdO<<MbOOQS1G4^1G4^O0rQdO1G4^OOQS,5<w,5<wO$)QQdO1G4]OOQS-E:Z-E:ZOOQU'#G_'#G_O$)cQfO7+'OO$)nQdO'#F_O$*uQdO7+'jO$+VQdO7+'jOOQS7+'j7+'jO$+bQdO<<LqO$+rQdO<<LqO$+rQdO<<LqO$+zQdO'#H^OOQS<<Lh<<LhO$,UQdO<<LhOOQS7+'h7+'hOOQS'#D|'#D|OOOO1G4R1G4RO$,oQdO1G4RO$,wQdO1G4RP!=hQdO'#GVOOQVG25]G25]O4iQdOG25]OOQVG25dG25dOOQVG25^G25^OOQV<<Kg<<KgO4iQdO<<KgOOQS7+)x7+)xP$-SQdO'#G]OOQU-E:]-E:]OOQV<<Jj<<JjO$-vQtO'#FaOOQS'#Fc'#FcO$.WQdO'#FbO$.xQdO'#FbOOQS'#Fb'#FbO$.}QdO'#IYO$)nQdO'#FiO$)nQdO'#FiO$/fQdO'#FjO$)nQdO'#FkO$/mQdO'#IZOOQS'#IZ'#IZO$0[QdO,5;yOOQS<<KU<<KUO$0dQdO<<KUO$0tQdOANB]O$1UQdOANB]O$1^QdO'#H_OOQS'#H_'#H_O1sQdO'#DcO$1wQdO,5=xOOQSANBSANBSOOOO7+)m7+)mO$2`QdO7+)mOOQVLD*wLD*wOOQVANARANARO5uQ!fO'#GaO$2hQtO,5<SO$)nQdO'#FmOOQS,5<W,5<WOOQS'#Fd'#FdO$3YQdO,5;|O$3_QdO,5;|OOQS'#Fg'#FgO$)nQdO'#G`O$4PQdO,5<QO$4kQdO,5>tO$4{QdO,5>tO1XQdO,5<PO$5^QdO,5<TO$5cQdO,5<TO$)nQdO'#I[O$5hQdO'#I[O$5mQdO,5<UOOQS,5<V,5<VO0rQdO'#FpOOQU1G1e1G1eO4iQdO1G1eOOQSAN@pAN@pO$5rQdOG27wO$6SQdO,59}OOQS1G3d1G3dOOOO<<MX<<MXOOQS,5<{,5<{OOQS-E:_-E:_O$6XQtO'#FaO$6`QdO'#I]O$6nQdO'#I]O$6vQdO,5<XOOQS1G1h1G1hO$6{QdO1G1hO$7QQdO,5<zOOQS-E:^-E:^O$7lQdO,5=OO$8TQdO1G4`OOQS-E:b-E:bOOQS1G1k1G1kOOQS1G1o1G1oO$8eQdO,5>vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5<YO$8sQdO,5>wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5<ZP$)nQdO'#GcO$;XQdO1G2hO$)nQdO1G2hP$;gQdO'#GbO$;nQdO<<MhO$;xQdO1G1uO$<WQdO7+(SO8vQdO'#C}O8vQdO,59bO8vQdO,59bO8vQdO,59bO$<fQtO,5=`O8vQdO1G.|O0rQdO1G/XO0rQdO7+$pP$<yQdO'#GOO'vQdO'#GtO$=WQdO,59bO$=]QdO,59bO$=dQdO,59mO$=iQdO1G/UO1sQdO'#DRO8vQdO,59j",stateData:"$>S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!<S!<VP!<_!<h!=d!=g]eOn#g$j)t,P'}`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r{!cQ#c#p$R$d$p%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g}!dQ#c#p$R$d$p$u%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!P!eQ#c#p$R$d$p$u$v%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!R!fQ#c#p$R$d$p$u$v$w%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!T!gQ#c#p$R$d$p$u$v$w$x%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!V!hQ#c#p$R$d$p$u$v$w$x$y%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!Z!hQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g'}TOTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r&eVOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0r%oXOYZ[dnrxy}!P!Q!U!i!k#[#d#g#y#{#}$Q$h$j$}%S%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#vqQ/[.kR0o0q't`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rh#jhz{$W$Z&l&q)S)X+f+g-RW#rq&].k0qQ$]|Q$a!OQ$n!VQ$o!WW$|!i'm*d,gS&[#s#tQ'S$iQ(s&UQ)U&nU)Y&s)Z+jW)a&w+m-T-{Q*Q']W*R'_,`-h.TQ+l)`S,_*S*TQ-Q+eQ-_,TQ-c,WQ.R-al.W-l.^._.a.z.|/R/j/o/t/y0U0Z0^Q/S.`Q/a.tQ/l/OU0P/u0S0[X0V/z0W0_0`R&Z#r!_!wYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZR%^!vQ!{YQ%x#[Q&d#}Q&g$QR,{+YT.j-s/s!Y!jQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gQ&X#kQ'c$oR*^'dR'l$|Q%V!mR/_.r'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rS#a_#b!P.[-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rT#a_#bT#^^#_R(o%xa(l%x(n(o+`,{-y-z.oT+[(k+]R-z,{Q$PsQ+l)aQ,^*RR-e,_X#}s$O$P&fQ&y$aQ'a$nQ'd$oR)s'SQ)b&wV-S+m-T-{ZgOn$j)t,PXkOn)t,PQ$k!TQ&z$bQ&{$cQ'^$mQ'b$oQ)q'RQ)x'WQ){'XQ)|'YQ*Z'`S*]'c'dQ+s)gQ+u)hQ+v)iQ+z)oS+|)r*[Q,Q)vQ,R)wS,S)y)zQ,d*^Q-V+rQ-W+tQ-Y+{S-Z+},OQ-`,UQ-b,VQ-|-XQ.O-[Q.P-^Q.Q-_Q.p-}Q.q.RQ/W.dR/r/XWkOn)t,PR#mjQ'`$nS)r'S'aR,O)sQ,]*RR-f,^Q*['`Q+})rR-[,OZiOjn)t,PQ'f$pR*`'gT-j,e-ku.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^t.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^Q/S.`X0V/z0W0_0`!P.Z-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`Q.w.YR/f.xg.z.].{/b/i/n/|0O0Q0]0a0bu.b-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^X.u.W.b/a0PR/c.tV0R/u0S0[R/X.dQnOS#on,PR,P)tQ&^#uR(x&^S%m#R#wS(_%m(bT(b%p&`Q%a!yQ%h!}W(P%a%h(U(YQ(U%eR(Y%jQ&i$RR)O&iQ(e%qQ*{(`T+R(e*{Q'n%OR*e'nS'q%R%SY*i'q*j,m-q.hU*j'r's'tU,m*k*l*mS-q,n,oR.h-rQ#Y]R%t#YQ#_^R%y#_Q(h%vS+W(h+XR+X(iQ+](kR,|+]Q#b_R%{#bQ#ebQ%}#cW&Q#e%}({+bQ({&cR+b0gQ$OsS&e$O&fR&f$PQ&v$_R)_&vQ&V#jR(t&VQ&m$VS)T&m+hR+h)UQ$Z{R&p$ZQ&t$]R)[&tQ+n)bR-U+nQ#hfR&S#hQ)f&zR+q)fQ&}$dS)m&})nR)n'OQ'V$kR)u'VQ'[$lS*P'[,ZR,Z*QQ,a*VR-i,aWjOn)t,PR#ljQ-k,eR.U-kd.{.]/b/i/n/|0O0Q0]0a0bR/h.{U.s.W/a0PR/`.sQ/{/nS0X/{0YR0Y/|S/v/b/cR0T/vQ.}.]R/k.}R!ZPXmOn)t,PWlOn)t,PR'T$jYfOn$j)t,PR&R#g[sOn#g$j)t,PR&d#}&dQOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0rQ!nTQ#caQ#poU$Rt%c(SS$d!R$gQ$p!XQ$u!cQ$v!dQ$w!eQ$x!fQ$y!gQ$z!hQ%e!zQ%j#OQ%p#SQ%q#TQ&`#xQ'O$eQ'g$qQ(q&OU(|&h(}+cW)j&|)l+x+yQ*o'|Q*x(]Q+w)kQ,v+QR0g0lQ!yYQ!}ZQ$b!PQ$c!QQ%R!kQ't%S^'{%`%g(O(W*q*t*v^*f'p*h,k,l-p.g/ZQ*l'rQ*m'sQ+t)gQ,j*gQ,n*kQ-n,hQ-o,iQ-r,oQ.e-mR/Y.f[bOn#g$j)t,P!^!vYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZQ#R[Q#fdS#wrxQ$UyW$_}$Q'P)pS$l!U$hW${!i'm*d,gS%v#[+Y`&P#d%|(p(r(z+a-O0kQ&a#yQ&b#{Q&c#}Q'j$}Q'z%^W([%l(^*y*}Q(`%nQ(i%wQ(v&ZS(y&_0iQ)P&jQ)Q&kU)]&u)^+kQ)d&xQ)y'WY)}'Z*O,X,Y-dQ*b'lS*n'w0jW+P(d*z,s,wW+T(g+V,y,zQ+p)eQ,U)zQ,c*YQ,x+UQ-P+dQ-e,]Q-v,uQ.S-fR/q/VhUOn#d#g$j%|&_'w(p(r)t,P%U!uYZ[drxy}!P!Q!U!i!k#[#y#{#}$Q$h$}%S%^%`%g%l%n%w&Z&j&k&u&x'P'W'Z'l'm'p'r's(O(W(^(d(g(z)^)e)g)p)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#qpW%W!o!s0d0nQ%X!pQ%Y!qQ%[!tQ%f0cS'v%Z0hQ'x0eQ'y0fQ,p*rQ-u,qS.i-s/sR0p0rU#uq.k0qR(w&][cOn#g$j)t,PZ!xY#[#}$Q+YQ#W[Q#zrR$TxQ%b!yQ%i!}Q%o#RQ'j${Q(V%eQ(Z%jQ(c%pQ(f%qQ*|(`Q,f*bQ-t,pQ.m-uR/].lQ$StQ(R%cR*s(SQ.l-sR/}/sR#QZR#V[R%Q!iQ%O!iV*c'm*d,g!Z!lQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gR%T!kT#]^#_Q%x#[R,{+YQ(m%xS+_(n(oQ,}+`Q-x,{S.n-y-zR/^.oT+Z(k+]Q$`}Q&g$QQ)o'PR+{)pQ$XzQ)W&qR+i)XQ$XzQ&o$WQ)W&qR+i)XQ#khW$Vz$W&q)XQ$[{Q&r$ZZ)R&l)S+f+g-RR$^|R)c&wXlOn)t,PQ$f!RR'Q$gQ$m!UR'R$hR*X'_Q*V'_V-g,`-h.TQ.d-lQ/P.^R/Q._U.]-l.^._Q/U.aQ/b.tQ/g.zU/i.|/j/yQ/n/RQ/|/oQ0O/tU0Q/u0S0[Q0]0UQ0a0ZR0b0^R/T.`R/d.t",nodeNames:"⚠ print Escape { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",maxTerm:277,context:vY,nodeProps:[["isolate",-5,4,71,72,73,77,""],["group",-15,6,85,87,88,90,92,94,96,98,99,100,102,105,108,110,"Statement Statement",-22,8,18,21,25,40,49,50,56,57,60,61,62,63,64,67,70,71,72,79,80,81,82,"Expression",-10,114,116,119,121,122,126,128,133,135,138,"Statement",-9,143,144,147,148,150,151,152,153,154,"Pattern"],["openedBy",23,"(",54,"[",58,"{"],["closedBy",24,")",55,"]",59,"}"]],propSources:[ZY],skippedNodes:[0,4],repeatNodeCount:34,tokenData:"!2|~R!`OX%TXY%oY[%T[]%o]p%Tpq%oqr'ars)Yst*xtu%Tuv,dvw-hwx.Uxy/tyz0[z{0r{|2S|}2p}!O3W!O!P4_!P!Q:Z!Q!R;k!R![>_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[_Y,wY,xY,RY,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:t=>zY[t]||-1}],tokenPrec:7668}),gp=new Gh,ob=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Oo(t){return(e,i,n)=>{if(n)return!1;let O=e.node.getChild("VariableName");return O&&i(O,t),!0}}const UY={FunctionDefinition:Oo("function"),ClassDefinition:Oo("class"),ForStatement(t,e,i){if(i){for(let n=t.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name=="in")break}},ImportStatement(t,e){var i,n;let{node:O}=t,r=((i=O.firstChild)===null||i===void 0?void 0:i.name)=="from";for(let a=O.getChild("import");a;a=a.nextSibling)a.name=="VariableName"&&((n=a.nextSibling)===null||n===void 0?void 0:n.name)!="as"&&e(a,r?"variable":"namespace")},AssignStatement(t,e){for(let i=t.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")e(i,"variable");else if(i.name==":"||i.name=="AssignOp")break},ParamList(t,e){for(let i=null,n=t.node.firstChild;n;n=n.nextSibling)n.name=="VariableName"&&(!i||!/\*|AssignOp/.test(i.name))&&e(n,"variable"),i=n},CapturePattern:Oo("variable"),AsPattern:Oo("variable"),__proto__:null};function sb(t,e){let i=gp.get(e);if(i)return i;let n=[],O=!0;function r(a,o){let s=t.sliceString(a.from,a.to);n.push({label:s,type:o})}return e.cursor(Ye.IncludeAnonymous).iterate(a=>{if(a.name){let o=UY[a.name];if(o&&o(a,r,O)||!O&&ob.has(a.name))return!1;O=!1}else if(a.to-a.from>8192){for(let o of sb(t,a.node))n.push(o);return!1}}),gp.set(e,n),n}const Pp=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,lb=["String","FormatString","Comment","PropertyName"];function VY(t){let e=Ze(t.state).resolveInner(t.pos,-1);if(lb.indexOf(e.name)>-1)return null;let i=e.name=="VariableName"||e.to-e.from<20&&Pp.test(t.state.sliceDoc(e.from,e.to));if(!i&&!t.explicit)return null;let n=[];for(let O=e;O;O=O.parent)ob.has(O.name)&&(n=n.concat(sb(t.state.doc,O)));return{options:n,from:i?e.from:t.pos,validFor:Pp}}const WY=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(t=>({label:t,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(t=>({label:t,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(t=>({label:t,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(t=>({label:t,type:"function"}))),jY=[Ge("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),Ge("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),Ge("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),Ge("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),Ge(`if \${}:
|
|
32
|
+
|
|
33
|
+
`,{label:"if",detail:"block",type:"keyword"}),Ge("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),Ge("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),Ge("import ${module}",{label:"import",detail:"statement",type:"keyword"}),Ge("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],CY=of(lb,af(WY.concat(jY)));function tc(t){let{node:e,pos:i}=t,n=t.lineIndent(i,-1),O=null;for(;;){let r=e.childBefore(i);if(r)if(r.name=="Comment")i=r.from;else if(r.name=="Body"||r.name=="MatchBody")t.baseIndentFor(r)+t.unit<=n&&(O=r),e=r;else if(r.name=="MatchClause")e=r;else if(r.type.is("Statement"))e=r;else break;else break}return O}function ic(t,e){let i=t.baseIndentFor(e),n=t.lineAt(t.pos,-1),O=n.from+n.text.length;return/^\s*($|#)/.test(n.text)&&t.node.to<O+100&&!/\S/.test(t.state.sliceDoc(O,t.node.to))&&t.lineIndent(t.pos,-1)<=i||/^\s*(else:|elif |except |finally:|case\s+[^=:]+:)/.test(t.textAfter)&&t.lineIndent(t.pos,-1)>i?null:i+t.unit}const nc=Pt.define({name:"python",parser:qY.configure({props:[Xt.add({Body:t=>{var e;let i=/^\s*(#|$)/.test(t.textAfter)&&tc(t)||t.node;return(e=ic(t,i))!==null&&e!==void 0?e:t.continue()},MatchBody:t=>{var e;let i=tc(t);return(e=ic(t,i||t.node))!==null&&e!==void 0?e:t.continue()},IfStatement:t=>/^\s*(else:|elif )/.test(t.textAfter)?t.baseIndent:t.continue(),"ForStatement WhileStatement":t=>/^\s*else:/.test(t.textAfter)?t.baseIndent:t.continue(),TryStatement:t=>/^\s*(except[ :]|finally:|else:)/.test(t.textAfter)?t.baseIndent:t.continue(),MatchStatement:t=>/^\s*case /.test(t.textAfter)?t.baseIndent+t.unit:t.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":Di({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":Di({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":Di({closing:"]"}),MemberExpression:t=>t.baseIndent+t.unit,"String FormatString":()=>null,Script:t=>{var e;let i=tc(t);return(e=i&&ic(t,i))!==null&&e!==void 0?e:t.continue()}}),yt.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":en,Body:(t,e)=>({from:t.from+1,to:t.to-(t.to==e.doc.length?0:1)}),"String FormatString":(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function EY(){return new Zt(nc,[nc.data.of({autocomplete:VY}),nc.data.of({autocomplete:CY})])}const GY=55,AY=1,NY=56,IY=2,LY=57,DY=3,Sp=4,MY=5,df=6,cb=7,ub=8,hb=9,fb=10,BY=11,FY=12,HY=13,Oc=58,KY=14,JY=15,bp=59,db=21,eZ=23,$b=24,tZ=25,Cu=27,pb=28,iZ=29,nZ=32,OZ=35,rZ=37,aZ=38,oZ=0,sZ=1,lZ={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},cZ={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},Xp={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function uZ(t){return t==45||t==46||t==58||t>=65&&t<=90||t==95||t>=97&&t<=122||t>=161}let yp=null,xp=null,wp=0;function Eu(t,e){let i=t.pos+e;if(wp==i&&xp==t)return yp;let n=t.peek(e),O="";for(;uZ(n);)O+=String.fromCharCode(n),n=t.peek(++e);return xp=t,wp=i,yp=O?O.toLowerCase():n==hZ||n==fZ?void 0:null}const Qb=60,us=62,$f=47,hZ=63,fZ=33,dZ=45;function kp(t,e){this.name=t,this.parent=e}const $Z=[df,fb,cb,ub,hb],pZ=new ya({start:null,shift(t,e,i,n){return $Z.indexOf(e)>-1?new kp(Eu(n,1)||"",t):t},reduce(t,e){return e==db&&t?t.parent:t},reuse(t,e,i,n){let O=e.type.id;return O==df||O==rZ?new kp(Eu(n,1)||"",t):t},strict:!1}),QZ=new ke((t,e)=>{if(t.next!=Qb){t.next<0&&e.context&&t.acceptToken(Oc);return}t.advance();let i=t.next==$f;i&&t.advance();let n=Eu(t,0);if(n===void 0)return;if(!n)return t.acceptToken(i?JY:KY);let O=e.context?e.context.name:null;if(i){if(n==O)return t.acceptToken(BY);if(O&&cZ[O])return t.acceptToken(Oc,-2);if(e.dialectEnabled(oZ))return t.acceptToken(FY);for(let r=e.context;r;r=r.parent)if(r.name==n)return;t.acceptToken(HY)}else{if(n=="script")return t.acceptToken(cb);if(n=="style")return t.acceptToken(ub);if(n=="textarea")return t.acceptToken(hb);if(lZ.hasOwnProperty(n))return t.acceptToken(fb);O&&Xp[O]&&Xp[O][n]?t.acceptToken(Oc,-1):t.acceptToken(df)}},{contextual:!0}),mZ=new ke(t=>{for(let e=0,i=0;;i++){if(t.next<0){i&&t.acceptToken(bp);break}if(t.next==dZ)e++;else if(t.next==us&&e>=2){i>=3&&t.acceptToken(bp,-2);break}else e=0;t.advance()}});function gZ(t){for(;t;t=t.parent)if(t.name=="svg"||t.name=="math")return!0;return!1}const PZ=new ke((t,e)=>{if(t.next==$f&&t.peek(1)==us){let i=e.dialectEnabled(sZ)||gZ(e.context);t.acceptToken(i?MY:Sp,2)}else t.next==us&&t.acceptToken(Sp,1)});function pf(t,e,i){let n=2+t.length;return new ke(O=>{for(let r=0,a=0,o=0;;o++){if(O.next<0){o&&O.acceptToken(e);break}if(r==0&&O.next==Qb||r==1&&O.next==$f||r>=2&&r<n&&O.next==t.charCodeAt(r-2))r++,a++;else if(r==n&&O.next==us){o>a?O.acceptToken(e,-a):O.acceptToken(i,-(a-2));break}else if((O.next==10||O.next==13)&&o){O.acceptToken(e,1);break}else r=a=0;O.advance()}})}const SZ=pf("script",GY,AY),bZ=pf("style",NY,IY),XZ=pf("textarea",LY,DY),yZ=bt({"Text RawText IncompleteTag IncompleteCloseTag":$.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":$.angleBracket,TagName:$.tagName,"MismatchedCloseTag/TagName":[$.tagName,$.invalid],AttributeName:$.attributeName,"AttributeValue UnquotedAttributeValue":$.attributeValue,Is:$.definitionOperator,"EntityReference CharacterReference":$.character,Comment:$.blockComment,ProcessingInst:$.processingInstruction,DoctypeDecl:$.documentMeta}),xZ=St.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:pZ,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[yZ],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|caPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bXaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UVaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pTaPOv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!dpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({WaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!b`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!b`!dpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYlWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`aP!b`!dp!_^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebiSlWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXiSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vciSaP!b`!dpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!ahaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WiiSlWd!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QciSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXjSaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[SZ,bZ,XZ,PZ,QZ,mZ,0,1,2,3,4,5],topRules:{Document:[0,16]},dialects:{noMatch:0,selfClosing:515},tokenPrec:517});function mb(t,e){let i=Object.create(null);for(let n of t.getChildren($b)){let O=n.getChild(tZ),r=n.getChild(Cu)||n.getChild(pb);O&&(i[e.read(O.from,O.to)]=r?r.type.id==Cu?e.read(r.from+1,r.to-1):e.read(r.from,r.to):"")}return i}function Tp(t,e){let i=t.getChild(eZ);return i?e.read(i.from,i.to):" "}function rc(t,e,i){let n;for(let O of i)if(!O.attrs||O.attrs(n||(n=mb(t.node.parent.firstChild,e))))return{parser:O.parser,bracketed:!0};return null}function gb(t=[],e=[]){let i=[],n=[],O=[],r=[];for(let o of t)(o.tag=="script"?i:o.tag=="style"?n:o.tag=="textarea"?O:r).push(o);let a=e.length?Object.create(null):null;for(let o of e)(a[o.name]||(a[o.name]=[])).push(o);return Ah((o,s)=>{let l=o.type.id;if(l==iZ)return rc(o,s,i);if(l==nZ)return rc(o,s,n);if(l==OZ)return rc(o,s,O);if(l==db&&r.length){let c=o.node,u=c.firstChild,h=u&&Tp(u,s),d;if(h){for(let p of r)if(p.tag==h&&(!p.attrs||p.attrs(d||(d=mb(u,s))))){let Q=c.lastChild,g=Q.type.id==aZ?Q.from:c.to;if(g>u.to)return{parser:p.parser,overlay:[{from:u.to,to:g}]}}}}if(a&&l==$b){let c=o.node,u;if(u=c.firstChild){let h=a[s.read(u.from,u.to)];if(h)for(let d of h){if(d.tagName&&d.tagName!=Tp(c.parent,s))continue;let p=c.lastChild;if(p.type.id==Cu){let Q=p.from+1,g=p.lastChild,m=p.to-(g&&g.isError?0:1);if(m>Q)return{parser:d.parser,overlay:[{from:Q,to:m}],bracketed:!0}}else if(p.type.id==pb)return{parser:d.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}const wZ=135,vp=1,kZ=136,TZ=137,Pb=2,vZ=138,_Z=3,RZ=4,Sb=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],YZ=58,ZZ=40,bb=95,zZ=91,Yo=45,qZ=46,UZ=35,VZ=37,WZ=38,jZ=92,CZ=10,EZ=42;function ra(t){return t>=65&&t<=90||t>=97&&t<=122||t>=161}function Qf(t){return t>=48&&t<=57}function _p(t){return Qf(t)||t>=97&&t<=102||t>=65&&t<=70}const Xb=(t,e,i)=>(n,O)=>{for(let r=!1,a=0,o=0;;o++){let{next:s}=n;if(ra(s)||s==Yo||s==bb||r&&Qf(s))!r&&(s!=Yo||o>0)&&(r=!0),a===o&&s==Yo&&a++,n.advance();else if(s==jZ&&n.peek(1)!=CZ){if(n.advance(),_p(n.next)){do n.advance();while(_p(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();r=!0}else{r&&n.acceptToken(a==2&&O.canShift(Pb)?e:s==ZZ?i:t);break}}},GZ=new ke(Xb(kZ,Pb,TZ),{contextual:!0}),AZ=new ke(Xb(vZ,_Z,RZ),{contextual:!0}),NZ=new ke(t=>{if(Sb.includes(t.peek(-1))){let{next:e}=t;(ra(e)||e==bb||e==UZ||e==qZ||e==EZ||e==zZ||e==YZ&&ra(t.peek(1))||e==Yo||e==WZ)&&t.acceptToken(wZ)}}),IZ=new ke(t=>{if(!Sb.includes(t.peek(-1))){let{next:e}=t;if(e==VZ&&(t.advance(),t.acceptToken(vp)),ra(e)){do t.advance();while(ra(t.next)||Qf(t.next));t.acceptToken(vp)}}}),LZ=bt({"AtKeyword import charset namespace keyframes media supports font-feature-values":$.definitionKeyword,"from to selector scope MatchFlag":$.keyword,NamespaceName:$.namespace,KeyframeName:$.labelName,KeyframeRangeName:$.operatorKeyword,TagName:$.tagName,ClassName:$.className,PseudoClassName:$.constant($.className),IdName:$.labelName,"FeatureName PropertyName":$.propertyName,AttributeName:$.attributeName,NumberLiteral:$.number,KeywordQuery:$.keyword,UnaryQueryOp:$.operatorKeyword,"CallTag ValueName FontName":$.atom,VariableName:$.variableName,Callee:$.operatorKeyword,Unit:$.unit,"UniversalSelector NestingSelector":$.definitionOperator,"MatchOp CompareOp":$.compareOperator,"ChildOp SiblingOp, LogicOp":$.logicOperator,BinOp:$.arithmeticOperator,Important:$.modifier,Comment:$.blockComment,ColorLiteral:$.color,"ParenthesizedContent StringLiteral":$.string,":":$.punctuation,"PseudoOp #":$.derefOperator,"; , |":$.separator,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace}),DZ={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:132,"url-prefix":132,domain:132,regexp:132},MZ={__proto__:null,or:104,and:104,not:112,only:112,layer:186},BZ={__proto__:null,selector:118,layer:182},FZ={__proto__:null,"@import":178,"@media":190,"@charset":194,"@namespace":198,"@keyframes":204,"@supports":216,"@scope":220,"@font-feature-values":226},HZ={__proto__:null,to:223},KZ=St.deserialize({version:14,states:"IpQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FdO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#DtO'dQdO'#DvO'oQdO'#D}O'oQdO'#EQOOQP'#Fd'#FdO)OQhO'#EsOOQS'#Fc'#FcOOQS'#Ev'#EvQYQdOOO)VQdO'#EWO*cQhO'#E^O)VQdO'#E`O*jQdO'#EbO*uQdO'#EeO)zQhO'#EkO*}QdO'#EmO+YQdO'#EpO+_QaO'#CfO+fQ`O'#ETO+kQ`O'#FnO+vQdO'#FnQOQ`OOP,QO&jO'#CaPOOO)CAR)CAROOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,]QdO,59YO'_QdO,5:`O'dQdO,5:bO'oQdO,5:iO'oQdO,5:kO'oQdO,5:lO'oQdO'#E}O,hQ`O,58}O,pQdO'#ESOOQS,58},58}OOQP'#Cq'#CqOOQO'#Dr'#DrOOQP,59Y,59YO,wQ`O,59YO,|Q`O,59YOOQP'#Du'#DuOOQP,5:`,5:`O-RQpO'#DwO-^QdO'#DxO-cQ`O'#DxO-hQpO,5:bO.RQaO,5:iO.iQaO,5:lOOQW'#D^'#D^O/eQhO'#DgO/xQhO,5;_O)zQhO'#DeO0VQ`O'#DkO0[QhO'#DnOOQW'#Fj'#FjOOQS,5;_,5;_O0aQ`O'#DhOOQS-E8t-E8tOOQ['#Cv'#CvO0fQdO'#CwO0|QdO'#C}O1dQdO'#DQO1zQ!pO'#DSO4TQ!jO,5:rOOQO'#DX'#DXO,|Q`O'#DWO4eQ!nO'#FgO6hQ`O'#DYO6mQ`O'#DoOOQ['#Fg'#FgO6rQhO'#FqO7QQ`O,5:xO7VQ!bO,5:zOOQS'#Ed'#EdO7_Q`O,5:|O7dQdO,5:|OOQO'#Eg'#EgO7lQ`O,5;PO7qQhO,5;VO'oQdO'#DjOOQS,5;X,5;XO0aQ`O,5;XO7yQdO,5;XOOQS'#FU'#FUO8RQdO'#ErO7QQ`O,5;[O8ZQdO,5:oO8kQdO'#FPO8xQ`O,5<YO8xQ`O,5<YPOOO'#Eu'#EuP9TO&jO,58{POOO,58{,58{OOQP1G.m1G.mOOQP1G.q1G.qOOQP1G.t1G.tO,wQ`O1G.tO,|Q`O1G.tOOQP1G/z1G/zO9`QpO1G/|O9hQaO1G0TO:OQaO1G0VO:fQaO1G0WO:|QaO,5;iOOQO-E8{-E8{OOQS1G.i1G.iO;WQ`O,5:nO;]QdO'#DsO;dQdO'#CuOOQO'#Dz'#DzOOQO,5:d,5:dO-^QdO,5:dOOQP1G/|1G/|O)VQdO1G/|O;kQ!jO'#D^O;yQ!bO,59yO<RQhO,5:ROOQO'#Fk'#FkO;|Q!bO,59}O<ZQhO'#FVO)zQhO,59{O)zQhO'#FVO=OQhO1G0yOOQS1G0y1G0yO=YQhO,5:PO>QQhO'#DlOOQW,5:V,5:VOOQW,5:Y,5:YOOQW,5:S,5:SO>[Q!fO'#FhOOQS'#Fh'#FhOOQS'#Ex'#ExO?lQdO,59cOOQ[,59c,59cO@SQdO,59iOOQ[,59i,59iO@jQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)VQdO,59pOAQQhO'#EYOOQW'#EY'#EYOAlQ`O1G0^O4^QhO1G0^OOQ[,59r,59rO)zQhO'#D[OOQ[,59t,59tOAqQ#tO,5:ZOA|QhO'#FROBZQ`O,5<]OOQS1G0d1G0dOOQS1G0f1G0fOOQS1G0h1G0hOBfQ`O1G0hOBkQdO'#EhOOQS1G0k1G0kOOQS1G0q1G0qOBvQaO,5:UO7QQ`O1G0sOOQS1G0s1G0sO0aQ`O1G0sOOQS-E9S-E9SOOQS1G0v1G0vOB}Q!fO1G0ZOCeQ`O'#EVOOQO1G0Z1G0ZOOQO,5;k,5;kOCjQdO,5;kOOQO-E8}-E8}OCwQ`O1G1tPOOO-E8s-E8sPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%h7+%hO)VQdO7+%hOOQS1G0Y1G0YODSQaO'#FmOD^Q`O,5:_ODcQ!fO'#EwOEaQdO'#FfOEkQ`O,59aOOQO1G0O1G0OOEpQ!bO7+%hO)VQdO1G/eOE{QhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gOF^QhO,5;qOOQW-E9T-E9TOOQS7+&e7+&eOGRQhO'#D^OGaQhO'#FlOGlQ`O'#FlOGqQ`O,5:WOOQS-E8v-E8vOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OGvQdO,5:tOOQS7+%x7+%xOG{Q`O7+%xOHQQhO'#D]OHYQ`O,59vO)zQhO,59vOOQ[1G/u1G/uOHbQ`O1G/uOHgQhO,5;mOOQO-E9P-E9POOQS7+&S7+&SOHuQbO'#DSOOQO'#Ej'#EjOITQ`O'#EiOOQO'#Ei'#EiOI`Q`O'#FSOIhQdO,5;SOOQS,5;S,5;SOOQ[1G/p1G/pOOQS7+&_7+&_O7QQ`O7+&_OIsQ!fO'#FOO)VQdO'#FOOJzQdO7+%uOOQO7+%u7+%uOOQO,5:q,5:qOOQO1G1V1G1VOK_Q!bO<<ISOKjQdO'#E|OKtQ`O,5<XOOQP1G/y1G/yOOQS-E8u-E8uOK|QdO'#E{OLWQ`O,5<QOOQ]1G.{1G.{OOQP<<IS<<ISOL`Q`O<<ISOLeQdO7+%POOQO'#D`'#D`OLlQ!bO7+%TOLtQhO'#EzOMRQ`O,5<WO)VQdO,5<WOOQW1G/r1G/rOOQO'#E['#E[OMZQ`O1G0`OOQS<<Id<<IdO)VQdO,59wOMzQhO1G/bOOQ[1G/b1G/bONRQ`O1G/bOOQW-E8w-E8wOOQ[7+%a7+%aOOQO,5;T,5;TOBnQdO'#FTOI`Q`O,5;nOOQS,5;n,5;nOOQS-E9Q-E9QOOQS1G0n1G0nOOQS<<Iy<<IyONZQ!fO,5;jOOQS-E8|-E8|OOQO<<Ia<<IaOOQPAN>nAN>nO! bQ`OAN>nO! gQaO,5;hOOQO-E8z-E8zO! qQdO,5;gOOQO-E8y-E8yOOQW<<Hk<<HkOOQW<<Ho<<HoO! {QhO<<HoO!!^QhO,5;fO!!iQ`O,5;fOOQO-E8x-E8xO!!nQdO1G1rOGvQdO'#FQO!!xQ`O7+%zOOQW7+%z7+%zO!#QQ!bO1G/cOOQ[7+$|7+$|O!#]QhO7+$|P!#dQ`O'#EyOOQO,5;o,5;oOOQO-E9R-E9ROOQS1G1Y1G1YOOQPG24YG24YO!#iQ`OAN>ZO)VQdO1G1QO!#nQ`O7+'^OOQO,5;l,5;lOOQO-E9O-E9OOOQW<<If<<IfOOQ[<<Hh<<HhPOQW,5;e,5;eOOQWG23uG23uO!#vQdO7+&l",stateData:"!$Z~O$QOS$RQQ~OWVO^_O`WOcYOdYOl`OmZOp[O!r]O!u^O!{dO#ReO#TfO#VgO#YhO#`iO#bjO#ekO#|RO$XTO~OQmOWVO^_O`WOcYOdYOl`OmZOp[O!r]O!u^O!{dO#ReO#TfO#VgO#YhO#`iO#bjO#ekO#|lO$XTO~O#z$bP~P!jO$RqO~O`YXcYXdYXmYXpYXsYX!aYX!rYX!uYX#{YX$X[X~OgYX~P$ZO#|sO~O$XuO~O$XuO`$WXc$WXd$WXm$WXp$WXs$WX!a$WX!r$WX!u$WX#{$WXg$WX~O#|vO~O`xOcyOdyOmzOp{O!r|O!u!OO#{}O~Os!RO!a!PO~P&^Of!XO#|!TO#}!UO~O#|!YO~OW!^O#|![O$X!]O~OWVO^_O`WOcYOdYOmZOp[O!r]O!u^O#|RO$XTO~OS!fOc!gOd!gOh!cOs!RO!Y!eO!]!jO$O!bO~On!iO~P(dOQ!tOh!mOp!nOs!oOu!wOw!wO}!uO!d!vO#|!lO#}!rO$]!pO~OS!fOc!gOd!gOh!cO!Y!eO!]!jO$O!bO~Os$eP~P)zOw!|O!d!vO#|!{O~Ow#OO#|#OO~Oh#ROs!RO#c#TO~O#|#VO~Oc!xX~P$ZOc#YO~On#ZO#z$bXr$bX~O#z$bXr$bX~P!jO$S#^O$T#^O$U#`O~Of#eO#|!TO#}!UO~Os!RO!a!PO~Or$bP~P!jOh#oO~Oh#pO~Oo!kX!o!kX$X!mX~O#|#qO~O$X#sO~Oo#tO!o#uO~O`xOcyOdyOmzOp{O~Os!qa!a!qa!r!qa!u!qa#{!qag!qa~P-pOs!ta!a!ta!r!ta!u!ta#{!tag!ta~P-pOS!fOc!gOd!gOh!cO!Y!eO!]!jO~OR#yOu#yOw#yO$O#vO$]!pO~P/POn$PO!U#|O!a#}O~P(dOh$RO~O$O$TO~Oh#RO~O`$WOc$WOg$ZOl$WOm$WOn$WO~P)VO`$WOc$WOl$WOm$WOn$WOo$]O~P)VO`$WOc$WOl$WOm$WOn$WOr$_O~P)VOP$`OSvXcvXdvXhvXnvXyvX!YvX!]vX!}vX#PvX$OvX!WvXQvX`vXgvXlvXmvXpvXsvXuvXwvX}vX!dvX#|vX#}vX$]vXovXrvX!avX#zvX$dvX!pvX~Oy$aO!}$bO#P$cOn$eP~P)zOh#pOS$ZXc$ZXd$ZXn$ZXy$ZX!Y$ZX!]$ZX!}$ZX#P$ZX$O$ZXQ$ZX`$ZXg$ZXl$ZXm$ZXp$ZXs$ZXu$ZXw$ZX}$ZX!d$ZX#|$ZX#}$ZX$]$ZXo$ZXr$ZX!a$ZX#z$ZX$d$ZX!p$ZX~Oh$gO~Oh$iO~O!U#|O!a$jOs$eXn$eX~Os!RO~On$mOy$aO~On$nO~Ow$oO!d!vO~Os$pO~Os!RO!U#|O~Os!RO#c$vO~O#|#VOs#fX~O$d$zOn!wa#z!war!wa~P)VOn#sX#z#sXr#sX~P!jOn#ZO#z$bar$ba~O$S#^O$T#^O$U%RO~Oo%TO!o%UO~Os!qi!a!qi!r!qi!u!qi#{!qig!qi~P-pOs!si!a!si!r!si!u!si#{!sig!si~P-pOs!ti!a!ti!r!ti!u!ti#{!tig!ti~P-pOs#qa!a#qa~P&^Or%VO~Og$aP~P'oOg$YP~P)VOc!SXg!QX!U!QX!W!SX~Oc%_O!W%`O~Og%aO!U#|O~O!U#|OS#yXc#yXd#yXh#yXn#yXs#yX!Y#yX!]#yX!a#yX$O#yX~On%eO!a#}O~P(dO!U#|OS!Xac!Xad!Xah!Xan!Xas!Xa!Y!Xa!]!Xa!a!Xa$O!Xag!Xa~O$O%fOg$`P~P/POy$aOQ$[X`$[Xc$[Xg$[Xh$[Xl$[Xm$[Xn$[Xp$[Xs$[Xu$[Xw$[X}$[X!d$[X#|$[X#}$[X$]$[Xo$[Xr$[X~O`$WOc$WOg%kOl$WOm$WOn$WO~P)VO`$WOc$WOl$WOm$WOn$WOo%lO~P)VO`$WOc$WOl$WOm$WOn$WOr%mO~P)VOh%oOS!|Xc!|Xd!|Xn!|X!Y!|X!]!|X$O!|X~On%pO~Og%uOw%vO!e%vO~Os#uX!a#uXn#uX~P)zO!a$jOs$ean$ea~On%yO~Or&QO#|%{O$]%zO~Og&RO~P&^Oy$aO!a&VO$d$zOn!wi#z!wir!wi~P)VO$c&YO~On#sa#z#sar#sa~P!jOn#ZO#z$bir$bi~O!a&]Og$aX~P&^Og&_O~Oy$aOQ#kXg#kXh#kXp#kXs#kXu#kXw#kX}#kX!a#kX!d#kX#|#kX#}#kX$]#kX~O!a&aOg$YX~P)VOg&cO~Oo&dOy$aO!p&eO~OR#yOu#yOw#yO$O&gO$]!pO~O!U#|OS#yac#yad#yah#yan#yas#ya!Y#ya!]#ya!a#ya$O#ya~Oc!SXg!QX!U!QX!a!QX~O!U#|O!a&iOg$`X~Oc&kO~Og&lO~O#|&mO~On&oO~Oc&pO!U#|O~Og&rOn&qO~Og&uO~O!U#|Os#ua!a#uan#ua~OP$`OsvX!avXgvX~O$]%zOs#]X!a#]X~Os!RO!a&wO~Or&{O#|%{O$]%zO~Oy$aOQ#rXh#rXn#rXp#rXs#rXu#rXw#rX}#rX!a#rX!d#rX#z#rX#|#rX#}#rX$]#rX$d#rXr#rX~O!a&VO$d$zOn!wq#z!wqr!wq~P)VOo'QOy$aO!p'RO~Og#pX!a#pX~P'oO!a&]Og$aa~Og#oX!a#oX~P)VO!a&aOg$Ya~Oo'QO~Og'WO~P)VOg'XO!W'YO~O$O%fOg#nX!a#nX~P/PO!a&iOg$`a~O`'_Og'aO~OS#mac#mad#mah#ma!Y#ma!]#ma$O#ma~Og'cO~PMcOg'cOn'dO~Oy$aOQ#rah#ran#rap#ras#rau#raw#ra}#ra!a#ra!d#ra#z#ra#|#ra#}#ra$]#ra$d#rar#ra~Oo'iO~Og#pa!a#pa~P&^Og#oa!a#oa~P)VOR#yOu#yOw#yO$O&gO$]%zO~O!U#|Og#na!a#na~Oc'kO~O!a&iOg$`i~P)VO`'_Og'oO~Oy$aOg!Pin!Pi~Og'pO~PMcOn'qO~Og'rO~O!a&iOg$`q~Og#nq!a#nq~P)VO$Q!e$R$]`$]y!u~",goto:"4h$fPPPPP$gP$jP$s%V$s%i%{P$sP&R$sPP&XPPP&_&i&iPPPPP&iPP&iP'VP&iP&i(Q&iP(n(q(w(w)Z(wP(wP(wP(w(wP)j(w)vP(w)yPP*m*s$s*y$s+P+P+V+ZPP$sP$s$sP+a,],j,q$jP,zP,}P$jP$jP$jP-T$jP-W-Z-^-e$jP$jPP$jP-j$jP-m-s.S.j.x/O/Y/`/f/l/r/|0S0Y0`0f0lPPPPPPPPPPP0r0{P1q1t2vP3O3x4R4U4XPP4_RrQ_aOPco!R#Z$}q_OP]^co|}!O!P!R#R#Z#o$}&]qSOP]^co|}!O!P!R#R#Z#o$}&]qUOP]^co|}!O!P!R#R#Z#o$}&]QtTR#auQwWR#bxQ!VYR#cyQ#c!XS$f!s!tR%S#e!V!wdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k's!U!wdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k'sU#y!c%`'YU%}$p&P&wR&v%|!V!sdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k'sR$h!uQ%s$gR&s%tq!h`ei!c!d!e!q#|#}$O$R$e$g$j%t&iQ#w!cQ%h$RQ&h%`Q'[&iR'j'YQ#UjQ$U!jQ$t#TR&T$vR$S!f!U!wdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k'sQ!|gR$o!}Q!WYR#dyQ#c!WR%S#dQ!ZZR#fzQ!_[R#g{T!^[{Q#r!]R%]#sQ!SXQ!i`Q#SjQ#m!QQ$P!dQ$l!yQ$r#QQ$u#UQ$x#XQ%e$OQ&S$tQ&y&OQ&|&TR'h&xSnP!RQ#]oQ$|#ZR&Z$}ZmPo!R#Z$}Q${#YQ&X$yR'P&WR$e!qQ&n%oR'm'_R!}gR#PhR$q#PS&O$p&PR'f&wV%|$p&P&wR#XkQ#_qR%Q#_QcOSoP!RU!kco$}R$}#ZQ%Z#pY&`%Z&f'U'^'sQ&f%_Q'U&aQ'^&kR's'kQ$Y!mQ$[!nQ$^!oV%j$Y$[$^Q%t$gR&t%tQ&j%gS']&j'lR'l'^Q&b%ZR'V&bQ&^%WR'T&^Q!QXR#l!QQ&W$yR'O&WQ#[nS%O#[%PR%P#]Q'`&nR'n'`Q$k!xR%x$kQ&P$pR&z&PQ&x&OR'g&xQ#WkR$w#WQ$O!dR%d$O_bOPco!R#Z$}^XOPco!R#Z$}Q!`]Q!a^Q#h|Q#i}Q#j!OQ#k!PQ$s#RQ%W#oR'S&]R%[#pQ!qdQ!zf[$V!m!n!o$Y$[$^Q$y#Yd%Y#p%Z%_&a&f&k'U'^'k'sQ%^#uQ%n$aS&U$y&WQ&[%UQ&}&VR'b&p]$X!m!n!o$Y$[$^Q!d`U!xe!q$eQ#QiQ#x!cS#{!d$OQ$Q!eQ%b#|Q%c#}Q%g$RS%r$g%tQ%w$jR'Z&iQ#z!cQ&h%`R'j'YR%i$RR%X#oQpPR#n!RQ!yeQ$d!qR%q$e",nodeNames:"⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NamespacedTagSelector NamespaceName TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , PseudoQuery CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName NamespacedAttribute NamespaceName AttributeName MatchOp MatchFlag ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to FontFeatureStatement font-feature-values FontName AtRule Styles",maxTerm:159,nodeProps:[["isolate",-2,5,39,""],["openedBy",23,"(",31,"[",34,"{"],["closedBy",24,")",32,"]",35,"}"]],propSources:[LZ],skippedNodes:[0,5,117],repeatNodeCount:17,tokenData:"K`~R!bOX%ZX^&R^p%Zpq&Rqr)ers)vst+jtu2Xuv%Zvw3Rwx3dxy5Ryz5dz{5i{|6S|}:u}!O;W!O!P;u!P!Q<^!Q![=V![!]>Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!e`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$Q~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$Q~!e`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$dYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!e`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!e`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!e`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!e`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!e`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!e`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!e`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!e`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!oS!e`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW!uQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!e`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!e`$]YOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!e`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!e`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!e`$]YOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!e`$]YOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!aYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~<cTyWOy%jz{<r{;'S%j;'S;=`%{<%lO%j~<yS!e`$R~Oy%jz;'S%j;'S;=`%{<%lO%jj=[[$]YOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj>VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!e`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!e`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!oSOy%jz;'S%j;'S;=`%{<%lO%jj@uV!rQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!rQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!e`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!e`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!pWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!pWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!e`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!e`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!e`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!e`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!e`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!e`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!e`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$cQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$XUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU!uQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[NZ,IZ,GZ,AZ,1,2,3,4,new ta("m~RRYZ[z{a~~g~aO$T~~dP!P!Qg~lO$U~~",28,142)],topRules:{StyleSheet:[0,6],Styles:[1,116]},dynamicPrecedences:{84:1},specialized:[{term:137,get:t=>DZ[t]||-1},{term:138,get:t=>MZ[t]||-1},{term:4,get:t=>BZ[t]||-1},{term:28,get:t=>FZ[t]||-1},{term:136,get:t=>HZ[t]||-1}],tokenPrec:2256});let ac=null;function oc(){if(!ac&&typeof document=="object"&&document.body){let{style:t}=document.body,e=[],i=new Set;for(let n in t)n!="cssText"&&n!="cssFloat"&&typeof t[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,O=>"-"+O.toLowerCase())),i.has(n)||(e.push(n),i.add(n)));ac=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return ac||[]}const Rp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(t=>({type:"class",label:t})),Yp=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(t=>({type:"keyword",label:t})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(t=>({type:"constant",label:t}))),JZ=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(t=>({type:"type",label:t})),ez=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(t=>({type:"keyword",label:t})),qi=/^(\w[\w-]*|-\w[\w-]*|)$/,tz=/^-(-[\w-]*)?$/;function iz(t,e){var i;if((t.name=="("||t.type.isError)&&(t=t.parent||t),t.name!="ArgList")return!1;let n=(i=t.parent)===null||i===void 0?void 0:i.firstChild;return(n==null?void 0:n.name)!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}const Zp=new Gh,nz=["Declaration"];function Oz(t){for(let e=t;;){if(e.type.isTop)return e;if(!(e=e.parent))return t}}function yb(t,e,i){if(e.to-e.from>4096){let n=Zp.get(e);if(n)return n;let O=[],r=new Set,a=e.cursor(Ye.IncludeAnonymous);if(a.firstChild())do for(let o of yb(t,a.node,i))r.has(o.label)||(r.add(o.label),O.push(o));while(a.nextSibling());return Zp.set(e,O),O}else{let n=[],O=new Set;return e.cursor().iterate(r=>{var a;if(i(r)&&r.matchContext(nz)&&((a=r.node.nextSibling)===null||a===void 0?void 0:a.name)==":"){let o=t.sliceString(r.from,r.to);O.has(o)||(O.add(o),n.push({label:o,type:"variable"}))}}),n}}const rz=t=>e=>{let{state:i,pos:n}=e,O=Ze(i).resolveInner(n,-1),r=O.type.isError&&O.from==O.to-1&&i.doc.sliceString(O.from,O.to)=="-";if(O.name=="PropertyName"||(r||O.name=="TagName")&&/^(Block|Styles)$/.test(O.resolve(O.to).name))return{from:O.from,options:oc(),validFor:qi};if(O.name=="ValueName")return{from:O.from,options:Yp,validFor:qi};if(O.name=="PseudoClassName")return{from:O.from,options:Rp,validFor:qi};if(t(O)||(e.explicit||r)&&iz(O,i.doc))return{from:t(O)||r?O.from:n,options:yb(i.doc,Oz(O),t),validFor:tz};if(O.name=="TagName"){for(let{parent:s}=O;s;s=s.parent)if(s.name=="Block")return{from:O.from,options:oc(),validFor:qi};return{from:O.from,options:JZ,validFor:qi}}if(O.name=="AtKeyword")return{from:O.from,options:ez,validFor:qi};if(!e.explicit)return null;let a=O.resolve(n),o=a.childBefore(n);return o&&o.name==":"&&a.name=="PseudoClassSelector"?{from:n,options:Rp,validFor:qi}:o&&o.name==":"&&a.name=="Declaration"||a.name=="ArgList"?{from:n,options:Yp,validFor:qi}:a.name=="Block"||a.name=="Styles"?{from:n,options:oc(),validFor:qi}:null},az=rz(t=>t.name=="VariableName"),hs=Pt.define({name:"css",parser:KZ.configure({props:[Xt.add({Declaration:Ot()}),yt.add({"Block KeyframeList":en})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function xb(){return new Zt(hs,hs.data.of({autocomplete:az}))}const mr=["_blank","_self","_top","_parent"],sc=["ascii","utf-8","utf-16","latin1","latin1"],lc=["get","post","put","delete"],cc=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Wt=["true","false"],ie={},oz={a:{attrs:{href:null,ping:null,type:null,media:null,target:mr,hreflang:null}},abbr:ie,address:ie,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:ie,aside:ie,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:ie,base:{attrs:{href:null,target:mr}},bdi:ie,bdo:ie,blockquote:{attrs:{cite:null}},body:ie,br:ie,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:cc,formmethod:lc,formnovalidate:["novalidate"],formtarget:mr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:ie,center:ie,cite:ie,code:ie,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:ie,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:ie,div:ie,dl:ie,dt:ie,em:ie,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:ie,figure:ie,footer:ie,form:{attrs:{action:null,name:null,"accept-charset":sc,autocomplete:["on","off"],enctype:cc,method:lc,novalidate:["novalidate"],target:mr}},h1:ie,h2:ie,h3:ie,h4:ie,h5:ie,h6:ie,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:ie,hgroup:ie,hr:ie,html:{attrs:{manifest:null}},i:ie,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:cc,formmethod:lc,formnovalidate:["novalidate"],formtarget:mr,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:ie,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:ie,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:ie,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:sc,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:ie,noscript:ie,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:ie,param:{attrs:{name:null,value:null}},pre:ie,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:ie,rt:ie,ruby:ie,samp:ie,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:sc}},section:ie,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:ie,source:{attrs:{src:null,type:null,media:null}},span:ie,strong:ie,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:ie,summary:ie,sup:ie,table:ie,tbody:ie,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:ie,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:ie,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:ie,time:{attrs:{datetime:null}},title:ie,tr:ie,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:ie,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:ie},wb={accesskey:null,class:null,contenteditable:Wt,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Wt,autocorrect:Wt,autocapitalize:Wt,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Wt,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Wt,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Wt,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Wt,"aria-hidden":Wt,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Wt,"aria-multiselectable":Wt,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Wt,"aria-relevant":null,"aria-required":Wt,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},kb="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(t=>"on"+t);for(let t of kb)wb[t]=null;class aa{constructor(e,i){this.tags={...oz,...e},this.globalAttrs={...wb,...i},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}aa.default=new aa;function MO(t,e,i=t.length){if(!e)return"";let n=e.firstChild,O=n&&n.getChild("TagName");return O?t.sliceString(O.from,Math.min(O.to,i)):""}function BO(t,e=!1){for(;t;t=t.parent)if(t.name=="Element")if(e)e=!1;else return t;return null}function Tb(t,e,i){let n=i.tags[MO(t,BO(e))];return(n==null?void 0:n.children)||i.allTags}function mf(t,e){let i=[];for(let n=BO(e);n&&!n.type.isTop;n=BO(n.parent)){let O=MO(t,n);if(O&&n.lastChild.name=="CloseTag")break;O&&i.indexOf(O)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&i.push(O)}return i}const vb=/^[:\-\.\w\u00b7-\uffff]*$/;function zp(t,e,i,n,O){let r=/\s*>/.test(t.sliceDoc(O,O+5))?"":">",a=BO(i,i.name=="StartTag"||i.name=="TagName");return{from:n,to:O,options:Tb(t.doc,a,e).map(o=>({label:o,type:"type"})).concat(mf(t.doc,i).map((o,s)=>({label:"/"+o,apply:"/"+o+r,type:"type",boost:99-s}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function qp(t,e,i,n){let O=/\s*>/.test(t.sliceDoc(n,n+5))?"":">";return{from:i,to:n,options:mf(t.doc,e).map((r,a)=>({label:r,apply:r+O,type:"type",boost:99-a})),validFor:vb}}function sz(t,e,i,n){let O=[],r=0;for(let a of Tb(t.doc,i,e))O.push({label:"<"+a,type:"type"});for(let a of mf(t.doc,i))O.push({label:"</"+a+">",type:"type",boost:99-r++});return{from:n,to:n,options:O,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function lz(t,e,i,n,O){let r=BO(i),a=r?e.tags[MO(t.doc,r)]:null,o=a&&a.attrs?Object.keys(a.attrs):[],s=a&&a.globalAttrs===!1?o:o.length?o.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:O,options:s.map(l=>({label:l,type:"property"})),validFor:vb}}function cz(t,e,i,n,O){var r;let a=(r=i.parent)===null||r===void 0?void 0:r.getChild("AttributeName"),o=[],s;if(a){let l=t.sliceDoc(a.from,a.to),c=e.globalAttrs[l];if(!c){let u=BO(i),h=u?e.tags[MO(t.doc,u)]:null;c=(h==null?void 0:h.attrs)&&h.attrs[l]}if(c){let u=t.sliceDoc(n,O).toLowerCase(),h='"',d='"';/^['"]/.test(u)?(s=u[0]=='"'?/^[^"]*$/:/^[^']*$/,h="",d=t.sliceDoc(O,O+1)==u[0]?"":u[0],u=u.slice(1),n++):s=/^[^\s<>='"]*$/;for(let p of c)o.push({label:p,apply:h+p+d,type:"constant"})}}return{from:n,to:O,options:o,validFor:s}}function _b(t,e){let{state:i,pos:n}=e,O=Ze(i).resolveInner(n,-1),r=O.resolve(n);for(let a=n,o;r==O&&(o=O.childBefore(a));){let s=o.lastChild;if(!s||!s.type.isError||s.from<s.to)break;r=O=o,a=s.from}return O.name=="TagName"?O.parent&&/CloseTag$/.test(O.parent.name)?qp(i,O,O.from,n):zp(i,t,O,O.from,n):O.name=="StartTag"||O.name=="IncompleteTag"?zp(i,t,O,n,n):O.name=="StartCloseTag"||O.name=="IncompleteCloseTag"?qp(i,O,n,n):O.name=="OpenTag"||O.name=="SelfClosingTag"||O.name=="AttributeName"?lz(i,t,O,O.name=="AttributeName"?O.from:n,n):O.name=="Is"||O.name=="AttributeValue"||O.name=="UnquotedAttributeValue"?cz(i,t,O,O.name=="Is"?n:O.from,n):e.explicit&&(r.name=="Element"||r.name=="Text"||r.name=="Document")?sz(i,t,O,n):null}function uz(t){return _b(aa.default,t)}function hz(t){let{extraTags:e,extraGlobalAttributes:i}=t,n=i||e?new aa(e,i):aa.default;return O=>_b(n,O)}const fz=_i.parser.configure({top:"SingleExpression"}),Rb=[{tag:"script",attrs:t=>t.type=="text/typescript"||t.lang=="ts",parser:BS.parser},{tag:"script",attrs:t=>t.type=="text/babel"||t.type=="text/jsx",parser:FS.parser},{tag:"script",attrs:t=>t.type=="text/typescript-jsx",parser:HS.parser},{tag:"script",attrs(t){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(t.type)},parser:fz},{tag:"script",attrs(t){return!t.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(t.type)},parser:_i.parser},{tag:"style",attrs(t){return(!t.lang||t.lang=="css")&&(!t.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(t.type))},parser:hs.parser}],Yb=[{name:"style",parser:hs.parser.configure({top:"Styles"})}].concat(kb.map(t=>({name:t,parser:_i.parser}))),Zb=Pt.define({name:"html",parser:xZ.configure({props:[Xt.add({Element(t){let e=/^(\s*)(<\/)?/.exec(t.textAfter);return t.node.to<=t.pos+e[0].length?t.continue():t.lineIndent(t.node.from)+(e[2]?0:t.unit)},"OpenTag CloseTag SelfClosingTag"(t){return t.column(t.node.from)+t.unit},Document(t){if(t.pos+/\s*/.exec(t.textAfter)[0].length<t.node.to)return t.continue();let e=null,i;for(let n=t.node;;){let O=n.lastChild;if(!O||O.name!="Element"||O.to!=n.to)break;e=n=O}return e&&!((i=e.lastChild)&&(i.name=="CloseTag"||i.name=="SelfClosingTag"))?t.lineIndent(e.from)+t.unit:null}}),yt.add({Element(t){let e=t.firstChild,i=t.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:i.name=="CloseTag"?i.from:t.to}}}),Mh.add({"OpenTag CloseTag":t=>t.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),Zo=Zb.configure({wrap:gb(Rb,Yb)});function gf(t={}){let e="",i;t.matchClosingTags===!1&&(e="noMatch"),t.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(i=gb((t.nestedLanguages||[]).concat(Rb),(t.nestedAttributes||[]).concat(Yb)));let n=i?Zb.configure({wrap:i,dialect:e}):e?Zo.configure({dialect:e}):Zo;return new Zt(n,[Zo.data.of({autocomplete:hz(t)}),t.autoCloseTags!==!1?dz:[],vr().support,xb().support])}const Up=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),dz=H.inputHandler.of((t,e,i,n,O)=>{if(t.composing||t.state.readOnly||e!=i||n!=">"&&n!="/"||!Zo.isActiveAt(t.state,e,-1))return!1;let r=O(),{state:a}=r,o=a.changeByRange(s=>{var l,c,u;let h=a.doc.sliceString(s.from-1,s.to)==n,{head:d}=s,p=Ze(a).resolveInner(d,-1),Q;if(h&&n==">"&&p.name=="EndTag"){let g=p.parent;if(((c=(l=g.parent)===null||l===void 0?void 0:l.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(Q=MO(a.doc,g.parent,d))&&!Up.has(Q)){let m=d+(a.doc.sliceString(d,d+1)===">"?1:0),S=`</${Q}>`;return{range:s,changes:{from:d,to:m,insert:S}}}}else if(h&&n=="/"&&p.name=="IncompleteCloseTag"){let g=p.parent;if(p.from==d-2&&((u=g.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(Q=MO(a.doc,g,d))&&!Up.has(Q)){let m=d+(a.doc.sliceString(d,d+1)===">"?1:0),S=`${Q}>`;return{range:U.cursor(d+S.length,-1),changes:{from:d,to:m,insert:S}}}}return{range:s}});return o.changes.empty?!1:(t.dispatch([r,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),$z=bt({String:$.string,Number:$.number,"True False":$.bool,PropertyName:$.propertyName,Null:$.null,", :":$.separator,"[ ]":$.squareBracket,"{ }":$.brace}),pz=St.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[$z],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),Qz=Pt.define({name:"json",parser:pz.configure({props:[Xt.add({Object:Ot({except:/^\s*\}/}),Array:Ot({except:/^\s*\]/})}),yt.add({"Object Array":en})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function mz(){return new Zt(Qz)}class fs{static create(e,i,n,O,r){let a=O+(O<<8)+e+(i<<4)|0;return new fs(e,i,n,a,r,[],[])}constructor(e,i,n,O,r,a,o){this.type=e,this.value=i,this.from=n,this.hash=O,this.end=r,this.children=a,this.positions=o,this.hashProp=[[ce.contextHash,O]]}addChild(e,i){e.prop(ce.contextHash)!=this.hash&&(e=new me(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(i)}toTree(e,i=this.end){let n=this.children.length-1;return n>=0&&(i=Math.max(i,this.positions[n]+this.children[n].length+this.from)),new me(e.types[this.type],this.children,this.positions,i-this.from).balance({makeTree:(O,r,a)=>new me(Fe.none,O,r,a,this.hashProp)})}}var L;(function(t){t[t.Document=1]="Document",t[t.CodeBlock=2]="CodeBlock",t[t.FencedCode=3]="FencedCode",t[t.Blockquote=4]="Blockquote",t[t.HorizontalRule=5]="HorizontalRule",t[t.BulletList=6]="BulletList",t[t.OrderedList=7]="OrderedList",t[t.ListItem=8]="ListItem",t[t.ATXHeading1=9]="ATXHeading1",t[t.ATXHeading2=10]="ATXHeading2",t[t.ATXHeading3=11]="ATXHeading3",t[t.ATXHeading4=12]="ATXHeading4",t[t.ATXHeading5=13]="ATXHeading5",t[t.ATXHeading6=14]="ATXHeading6",t[t.SetextHeading1=15]="SetextHeading1",t[t.SetextHeading2=16]="SetextHeading2",t[t.HTMLBlock=17]="HTMLBlock",t[t.LinkReference=18]="LinkReference",t[t.Paragraph=19]="Paragraph",t[t.CommentBlock=20]="CommentBlock",t[t.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",t[t.Escape=22]="Escape",t[t.Entity=23]="Entity",t[t.HardBreak=24]="HardBreak",t[t.Emphasis=25]="Emphasis",t[t.StrongEmphasis=26]="StrongEmphasis",t[t.Link=27]="Link",t[t.Image=28]="Image",t[t.InlineCode=29]="InlineCode",t[t.HTMLTag=30]="HTMLTag",t[t.Comment=31]="Comment",t[t.ProcessingInstruction=32]="ProcessingInstruction",t[t.Autolink=33]="Autolink",t[t.HeaderMark=34]="HeaderMark",t[t.QuoteMark=35]="QuoteMark",t[t.ListMark=36]="ListMark",t[t.LinkMark=37]="LinkMark",t[t.EmphasisMark=38]="EmphasisMark",t[t.CodeMark=39]="CodeMark",t[t.CodeText=40]="CodeText",t[t.CodeInfo=41]="CodeInfo",t[t.LinkTitle=42]="LinkTitle",t[t.LinkLabel=43]="LinkLabel",t[t.URL=44]="URL"})(L||(L={}));class gz{constructor(e,i){this.start=e,this.content=i,this.marks=[],this.parsers=[]}}class Pz{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Wr(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,i=0,n=0){for(let O=i;O<e;O++)n+=this.text.charCodeAt(O)==9?4-n%4:1;return n}findColumn(e){let i=0;for(let n=0;i<this.text.length&&n<e;i++)n+=this.text.charCodeAt(i)==9?4-n%4:1;return i}scrub(){if(!this.baseIndent)return this.text;let e="";for(let i=0;i<this.basePos;i++)e+=" ";return e+this.text.slice(this.basePos)}}function Vp(t,e,i){if(i.pos==i.text.length||t!=e.block&&i.indent>=e.stack[i.depth+1].value+i.baseIndent)return!0;if(i.indent>=i.baseIndent+4)return!1;let n=(t.type==L.OrderedList?bf:Sf)(i,e,!1);return n>0&&(t.type!=L.BulletList||Pf(i,e,!1)<0)&&i.text.charCodeAt(i.pos+n-1)==t.value}const zb={[L.Blockquote](t,e,i){return i.next!=62?!1:(i.markers.push(be(L.QuoteMark,e.lineStart+i.pos,e.lineStart+i.pos+1)),i.moveBase(i.pos+(ti(i.text.charCodeAt(i.pos+1))?2:1)),t.end=e.lineStart+i.text.length,!0)},[L.ListItem](t,e,i){return i.indent<i.baseIndent+t.value&&i.next>-1?!1:(i.moveBaseColumn(i.baseIndent+t.value),!0)},[L.OrderedList]:Vp,[L.BulletList]:Vp,[L.Document](){return!0}};function ti(t){return t==32||t==9||t==10||t==13}function Wr(t,e=0){for(;e<t.length&&ti(t.charCodeAt(e));)e++;return e}function Wp(t,e,i){for(;e>i&&ti(t.charCodeAt(e-1));)e--;return e}function qb(t){if(t.next!=96&&t.next!=126)return-1;let e=t.pos+1;for(;e<t.text.length&&t.text.charCodeAt(e)==t.next;)e++;if(e<t.pos+3)return-1;if(t.next==96){for(let i=e;i<t.text.length;i++)if(t.text.charCodeAt(i)==96)return-1}return e}function Ub(t){return t.next!=62?-1:t.text.charCodeAt(t.pos+1)==32?2:1}function Pf(t,e,i){if(t.next!=42&&t.next!=45&&t.next!=95)return-1;let n=1;for(let O=t.pos+1;O<t.text.length;O++){let r=t.text.charCodeAt(O);if(r==t.next)n++;else if(!ti(r))return-1}return i&&t.next==45&&jb(t)>-1&&t.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(Ab.SetextHeading)>-1||n<3?-1:1}function Vb(t,e){for(let i=t.stack.length-1;i>=0;i--)if(t.stack[i].type==e)return!0;return!1}function Sf(t,e,i){return(t.next==45||t.next==43||t.next==42)&&(t.pos==t.text.length-1||ti(t.text.charCodeAt(t.pos+1)))&&(!i||Vb(e,L.BulletList)||t.skipSpace(t.pos+2)<t.text.length)?1:-1}function bf(t,e,i){let n=t.pos,O=t.next;for(;O>=48&&O<=57;){n++;if(n==t.text.length)return-1;O=t.text.charCodeAt(n)}return n==t.pos||n>t.pos+9||O!=46&&O!=41||n<t.text.length-1&&!ti(t.text.charCodeAt(n+1))||i&&!Vb(e,L.OrderedList)&&(t.skipSpace(n+1)==t.text.length||n>t.pos+1||t.next!=49)?-1:n+1-t.pos}function Wb(t){if(t.next!=35)return-1;let e=t.pos+1;for(;e<t.text.length&&t.text.charCodeAt(e)==35;)e++;if(e<t.text.length&&t.text.charCodeAt(e)!=32)return-1;let i=e-t.pos;return i>6?-1:i}function jb(t){if(t.next!=45&&t.next!=61||t.indent>=t.baseIndent+4)return-1;let e=t.pos+1;for(;e<t.text.length&&t.text.charCodeAt(e)==t.next;)e++;let i=e;for(;e<t.text.length&&ti(t.text.charCodeAt(e));)e++;return e==t.text.length?i:-1}const Gu=/^[ \t]*$/,Cb=/-->/,Eb=/\?>/,Au=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,Cb],[/^\s*<\?/,Eb],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,Gu],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,Gu]];function Gb(t,e,i){if(t.next!=60)return-1;let n=t.text.slice(t.pos);for(let O=0,r=Au.length-(i?1:0);O<r;O++)if(Au[O][0].test(n))return O;return-1}function jp(t,e){let i=t.countIndent(e,t.pos,t.indent),n=t.countIndent(t.skipSpace(e),e,i);return n>=i+5?i+1:n}function tn(t,e,i){let n=t.length-1;n>=0&&t[n].to==e&&t[n].type==L.CodeText?t[n].to=i:t.push(be(L.CodeText,e,i))}const ro={LinkReference:void 0,IndentedCode(t,e){let i=e.baseIndent+4;if(e.indent<i)return!1;let n=e.findColumn(i),O=t.lineStart+n,r=t.lineStart+e.text.length,a=[],o=[];for(tn(a,O,r);t.nextLine()&&e.depth>=t.stack.length;)if(e.pos==e.text.length){tn(o,t.lineStart-1,t.lineStart);for(let s of e.markers)o.push(s)}else{if(e.indent<i)break;{if(o.length){for(let l of o)l.type==L.CodeText?tn(a,l.from,l.to):a.push(l);o=[]}tn(a,t.lineStart-1,t.lineStart);for(let l of e.markers)a.push(l);r=t.lineStart+e.text.length;let s=t.lineStart+e.findColumn(e.baseIndent+4);s<r&&tn(a,s,r)}}return o.length&&(o=o.filter(s=>s.type!=L.CodeText),o.length&&(e.markers=o.concat(e.markers))),t.addNode(t.buffer.writeElements(a,-O).finish(L.CodeBlock,r-O),O),!0},FencedCode(t,e){let i=qb(e);if(i<0)return!1;let n=t.lineStart+e.pos,O=e.next,r=i-e.pos,a=e.skipSpace(i),o=Wp(e.text,e.text.length,a),s=[be(L.CodeMark,n,n+r)];a<o&&s.push(be(L.CodeInfo,t.lineStart+a,t.lineStart+o));for(let l=!0,c=!0,u=!1;t.nextLine()&&e.depth>=t.stack.length;l=!1){let h=e.pos;if(e.indent-e.baseIndent<4)for(;h<e.text.length&&e.text.charCodeAt(h)==O;)h++;if(h-e.pos>=r&&e.skipSpace(h)==e.text.length){for(let d of e.markers)s.push(d);c&&u&&tn(s,t.lineStart-1,t.lineStart),s.push(be(L.CodeMark,t.lineStart+e.pos,t.lineStart+h)),t.nextLine();break}else{u=!0,l||(tn(s,t.lineStart-1,t.lineStart),c=!1);for(let Q of e.markers)s.push(Q);let d=t.lineStart+e.basePos,p=t.lineStart+e.text.length;d<p&&(tn(s,d,p),c=!1)}}return t.addNode(t.buffer.writeElements(s,-n).finish(L.FencedCode,t.prevLineEnd()-n),n),!0},Blockquote(t,e){let i=Ub(e);return i<0?!1:(t.startContext(L.Blockquote,e.pos),t.addNode(L.QuoteMark,t.lineStart+e.pos,t.lineStart+e.pos+1),e.moveBase(e.pos+i),null)},HorizontalRule(t,e){if(Pf(e,t,!1)<0)return!1;let i=t.lineStart+e.pos;return t.nextLine(),t.addNode(L.HorizontalRule,i),!0},BulletList(t,e){let i=Sf(e,t,!1);if(i<0)return!1;t.block.type!=L.BulletList&&t.startContext(L.BulletList,e.basePos,e.next);let n=jp(e,e.pos+1);return t.startContext(L.ListItem,e.basePos,n-e.baseIndent),t.addNode(L.ListMark,t.lineStart+e.pos,t.lineStart+e.pos+i),e.moveBaseColumn(n),null},OrderedList(t,e){let i=bf(e,t,!1);if(i<0)return!1;t.block.type!=L.OrderedList&&t.startContext(L.OrderedList,e.basePos,e.text.charCodeAt(e.pos+i-1));let n=jp(e,e.pos+i);return t.startContext(L.ListItem,e.basePos,n-e.baseIndent),t.addNode(L.ListMark,t.lineStart+e.pos,t.lineStart+e.pos+i),e.moveBaseColumn(n),null},ATXHeading(t,e){let i=Wb(e);if(i<0)return!1;let n=e.pos,O=t.lineStart+n,r=Wp(e.text,e.text.length,n),a=r;for(;a>n&&e.text.charCodeAt(a-1)==e.next;)a--;(a==r||a==n||!ti(e.text.charCodeAt(a-1)))&&(a=e.text.length);let o=t.buffer.write(L.HeaderMark,0,i).writeElements(t.parser.parseInline(e.text.slice(n+i+1,a),O+i+1),-O);a<e.text.length&&o.write(L.HeaderMark,a-n,r-n);let s=o.finish(L.ATXHeading1-1+i,e.text.length-n);return t.nextLine(),t.addNode(s,O),!0},HTMLBlock(t,e){let i=Gb(e,t,!1);if(i<0)return!1;let n=t.lineStart+e.pos,O=Au[i][1],r=[],a=O!=Gu;for(;!O.test(e.text)&&t.nextLine();){if(e.depth<t.stack.length){a=!1;break}for(let l of e.markers)r.push(l)}a&&t.nextLine();let o=O==Cb?L.CommentBlock:O==Eb?L.ProcessingInstructionBlock:L.HTMLBlock,s=t.prevLineEnd();return t.addNode(t.buffer.writeElements(r,-n).finish(o,s-n),n),!0},SetextHeading:void 0};class Sz{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,i,n){if(this.stage==-1)return!1;let O=n.content+`
|
|
34
|
+
`+i.scrub(),r=this.advance(O);return r>-1&&r<O.length?this.complete(e,n,r):!1}finish(e,i){return(this.stage==2||this.stage==3)&&Wr(i.content,this.pos)==i.content.length?this.complete(e,i,i.content.length):!1}complete(e,i,n){return e.addLeafElement(i,be(L.LinkReference,this.start,this.start+n,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(e===!1&&(this.stage=-1),!1)}advance(e){for(;;){if(this.stage==-1)return-1;if(this.stage==0){if(!this.nextStage(Kb(e,this.pos,this.start,!0)))return-1;if(e.charCodeAt(this.pos)!=58)return this.stage=-1;this.elts.push(be(L.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else if(this.stage==1){if(!this.nextStage(Fb(e,Wr(e,this.pos),this.start)))return-1}else if(this.stage==2){let i=Wr(e,this.pos),n=0;if(i>this.pos){let O=Hb(e,i,this.start);if(O){let r=uc(e,O.to-this.start);r>0&&(this.nextStage(O),n=r)}}return n||(n=uc(e,this.pos)),n>0&&n<e.length?n:-1}else return uc(e,this.pos)}}}function uc(t,e){for(;e<t.length;e++){let i=t.charCodeAt(e);if(i==10)break;if(!ti(i))return-1}return e}class bz{nextLine(e,i,n){let O=i.depth<e.stack.length?-1:jb(i),r=i.next;if(O<0)return!1;let a=be(L.HeaderMark,e.lineStart+i.pos,e.lineStart+O);return e.nextLine(),e.addLeafElement(n,be(r==61?L.SetextHeading1:L.SetextHeading2,n.start,e.prevLineEnd(),[...e.parser.parseInline(n.content,n.start),a])),!0}finish(){return!1}}const Ab={LinkReference(t,e){return e.content.charCodeAt(0)==91?new Sz(e):null},SetextHeading(){return new bz}},Xz=[(t,e)=>Wb(e)>=0,(t,e)=>qb(e)>=0,(t,e)=>Ub(e)>=0,(t,e)=>Sf(e,t,!0)>=0,(t,e)=>bf(e,t,!0)>=0,(t,e)=>Pf(e,t,!0)>=0,(t,e)=>Gb(e,t,!0)>=0],yz={text:"",end:0};class xz{constructor(e,i,n,O){this.parser=e,this.input=i,this.ranges=O,this.line=new Pz,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=O[O.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=O[0].from,this.block=fs.create(L.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=n.length?new Tz(n,i):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(this.stoppedAt!=null&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(let n=0;;){let O=e.depth<this.stack.length?this.stack[this.stack.length-1]:null;for(;n<e.markers.length&&(!O||e.markers[n].from<O.end);){let r=e.markers[n++];this.addNode(r.type,r.from,r.to)}if(!O)break;this.finishContext()}if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let n of this.parser.blockParsers)if(n){let O=n(this,e);if(O!=!1){if(O==!0)return null;e.forward();continue e}}break}let i=new gz(this.lineStart+e.pos,e.text.slice(e.pos));for(let n of this.parser.leafBlockParsers)if(n){let O=n(this,i);O&&i.parsers.push(O)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4){for(let n of this.parser.endLeafBlock)if(n(this,e,i))break e}for(let n of i.parsers)if(n.nextLine(this,e,i))return null;i.content+=`
|
|
35
|
+
`+e.scrub();for(let n of e.markers)i.marks.push(n)}return this.finishLeaf(i),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let i=this.fragments.takeNodes(this);return i?(this.absoluteLineStart+=i,this.lineStart=Jb(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}peekLine(){return this.scanLine(this.absoluteLineEnd+1).text}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let i=yz;if(i.end=e,e>=this.to)i.text="";else if(i.text=this.lineChunkAt(e),i.end+=i.text.length,this.ranges.length>1){let n=this.absoluteLineStart,O=this.rangeI;for(;this.ranges[O].to<i.end;){O++;let r=this.ranges[O].from,a=this.lineChunkAt(r);i.end=r+a.length,i.text=i.text.slice(0,this.ranges[O-1].to-n)+a,n=i.end-i.text.length}}return i}readLine(){let{line:e}=this,{text:i,end:n}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=n,e.reset(i);e.depth<this.stack.length;e.depth++){let O=this.stack[e.depth],r=this.parser.skipContextMarkup[O.type];if(!r)throw new Error("Unhandled block context "+L[O.type]);let a=this.line.markers.length;if(!r(O,this,e)){this.line.markers.length>a&&(O.end=this.line.markers[this.line.markers.length-1].to),e.forward();break}e.forward()}}lineChunkAt(e){let i=this.input.chunk(e),n;if(this.input.lineChunks)n=i==`
|
|
36
|
+
`?"":i;else{let O=i.indexOf(`
|
|
37
|
+
`);n=O<0?i:i.slice(0,O)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,i,n=0){this.block=fs.create(e,n,this.lineStart+i,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,i,n=0){this.startContext(this.parser.getNodeType(e),i,n)}addNode(e,i,n){typeof e=="number"&&(e=new me(this.parser.nodeSet.types[e],FO,FO,(n??this.prevLineEnd())-i)),this.block.addChild(e,i-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,i){this.addNode(this.buffer.writeElements(Iu(i.children,e.marks),-i.from).finish(i.type,i.to-i.from),i.from)}finishContext(){let e=this.stack.pop(),i=this.stack[this.stack.length-1];i.addChild(e.toTree(this.parser.nodeSet),e.from-i.from),this.block=i}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Nb(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let i=Iu(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(i,-e.start).finish(L.Paragraph,e.content.length),e.start)}elt(e,i,n,O){return typeof e=="string"?be(this.parser.getNodeType(e),i,n,O):new Db(e,i)}get buffer(){return new Lb(this.parser.nodeSet)}}function Nb(t,e,i,n,O){let r=t[e].to,a=[],o=[],s=i.from+n;function l(c,u){for(;u?c>=r:c>r;){let h=t[e+1].from-r;n+=h,c+=h,e++,r=t[e].to}}for(let c=i.firstChild;c;c=c.nextSibling){l(c.from+n,!0);let u=c.from+n,h,d=O.get(c.tree);d?h=d:c.to+n>r?(h=Nb(t,e,c,n,O),l(c.to+n,!1)):h=c.toTree(),a.push(h),o.push(u-s)}return l(i.to+n,!1),new me(i.type,a,o,i.to+n-s,i.tree?i.tree.propValues:void 0)}class As extends Zs{constructor(e,i,n,O,r,a,o,s,l){super(),this.nodeSet=e,this.blockParsers=i,this.leafBlockParsers=n,this.blockNames=O,this.endLeafBlock=r,this.skipContextMarkup=a,this.inlineParsers=o,this.inlineNames=s,this.wrappers=l,this.nodeTypes=Object.create(null);for(let c of e.types)this.nodeTypes[c.name]=c.id}createParse(e,i,n){let O=new xz(this,e,i,n);for(let r of this.wrappers)O=r(O,e,i,n);return O}configure(e){let i=Nu(e);if(!i)return this;let{nodeSet:n,skipContextMarkup:O}=this,r=this.blockParsers.slice(),a=this.leafBlockParsers.slice(),o=this.blockNames.slice(),s=this.inlineParsers.slice(),l=this.inlineNames.slice(),c=this.endLeafBlock.slice(),u=this.wrappers;if(gr(i.defineNodes)){O=Object.assign({},O);let h=n.types.slice(),d;for(let p of i.defineNodes){let{name:Q,block:g,composite:m,style:S}=typeof p=="string"?{name:p}:p;if(h.some(R=>R.name==Q))continue;m&&(O[h.length]=(R,G,j)=>m(G,j,R.value));let X=h.length,z=m?["Block","BlockContext"]:g?X>=L.ATXHeading1&&X<=L.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;h.push(Fe.define({id:X,name:Q,props:z&&[[ce.group,z]]})),S&&(d||(d={}),Array.isArray(S)||S instanceof Si?d[Q]=S:Object.assign(d,S))}n=new tr(h),d&&(n=n.extend(bt(d)))}if(gr(i.props)&&(n=n.extend(...i.props)),gr(i.remove))for(let h of i.remove){let d=this.blockNames.indexOf(h),p=this.inlineNames.indexOf(h);d>-1&&(r[d]=a[d]=void 0),p>-1&&(s[p]=void 0)}if(gr(i.parseBlock))for(let h of i.parseBlock){let d=o.indexOf(h.name);if(d>-1)r[d]=h.parse,a[d]=h.leaf;else{let p=h.before?ao(o,h.before):h.after?ao(o,h.after)+1:o.length-1;r.splice(p,0,h.parse),a.splice(p,0,h.leaf),o.splice(p,0,h.name)}h.endLeaf&&c.push(h.endLeaf)}if(gr(i.parseInline))for(let h of i.parseInline){let d=l.indexOf(h.name);if(d>-1)s[d]=h.parse;else{let p=h.before?ao(l,h.before):h.after?ao(l,h.after)+1:l.length-1;s.splice(p,0,h.parse),l.splice(p,0,h.name)}}return i.wrap&&(u=u.concat(i.wrap)),new As(n,r,a,o,c,O,s,l,u)}getNodeType(e){let i=this.nodeTypes[e];if(i==null)throw new RangeError(`Unknown node type '${e}'`);return i}parseInline(e,i){let n=new Xf(this,e,i);e:for(let O=i;O<n.end;){let r=n.char(O);for(let a of this.inlineParsers)if(a){let o=a(n,r,O);if(o>=0){O=o;continue e}}O++}return n.resolveMarkers(0)}}function gr(t){return t!=null&&t.length>0}function Nu(t){if(!Array.isArray(t))return t;if(t.length==0)return null;let e=Nu(t[0]);if(t.length==1)return e;let i=Nu(t.slice(1));if(!i||!e)return e||i;let n=(a,o)=>(a||FO).concat(o||FO),O=e.wrap,r=i.wrap;return{props:n(e.props,i.props),defineNodes:n(e.defineNodes,i.defineNodes),parseBlock:n(e.parseBlock,i.parseBlock),parseInline:n(e.parseInline,i.parseInline),remove:n(e.remove,i.remove),wrap:O?r?(a,o,s,l)=>O(r(a,o,s,l),o,s,l):O:r}}function ao(t,e){let i=t.indexOf(e);if(i<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return i}let Ib=[Fe.none];for(let t=1,e;e=L[t];t++)Ib[t]=Fe.define({id:t,name:e,props:t>=L.Escape?[]:[[ce.group,t in zb?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});const FO=[];class Lb{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,i,n,O=0){return this.content.push(e,i,n,4+O*4),this}writeElements(e,i=0){for(let n of e)n.writeTo(this,i);return this}finish(e,i){return me.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:i})}}let oa=class{constructor(e,i,n,O=FO){this.type=e,this.from=i,this.to=n,this.children=O}writeTo(e,i){let n=e.content.length;e.writeElements(this.children,i),e.content.push(this.type,this.from+i,this.to+i,e.content.length+4-n)}toTree(e){return new Lb(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}};class Db{constructor(e,i){this.tree=e,this.from=i}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return FO}writeTo(e,i){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+i,this.to+i,-1)}toTree(){return this.tree}}function be(t,e,i,n){return new oa(t,e,i,n)}const Mb={resolve:"Emphasis",mark:"EmphasisMark"},Bb={resolve:"Emphasis",mark:"EmphasisMark"},Vn={},ds={};class Ct{constructor(e,i,n,O){this.type=e,this.from=i,this.to=n,this.side=O}}const Cp="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let sa=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{sa=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}const hc={Escape(t,e,i){if(e!=92||i==t.end-1)return-1;let n=t.char(i+1);for(let O=0;O<Cp.length;O++)if(Cp.charCodeAt(O)==n)return t.append(be(L.Escape,i,i+2));return-1},Entity(t,e,i){if(e!=38)return-1;let n=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(t.slice(i+1,i+31));return n?t.append(be(L.Entity,i,i+1+n[0].length)):-1},InlineCode(t,e,i){if(e!=96||i&&t.char(i-1)==96)return-1;let n=i+1;for(;n<t.end&&t.char(n)==96;)n++;let O=n-i,r=0;for(;n<t.end;n++)if(t.char(n)==96){if(r++,r==O&&t.char(n+1)!=96)return t.append(be(L.InlineCode,i,n+1,[be(L.CodeMark,i,i+O),be(L.CodeMark,n+1-O,n+1)]))}else r=0;return-1},HTMLTag(t,e,i){if(e!=60||i==t.end-1)return-1;let n=t.slice(i+1,t.end),O=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(O)return t.append(be(L.Autolink,i,i+1+O[0].length,[be(L.LinkMark,i,i+1),be(L.URL,i+1,i+O[0].length),be(L.LinkMark,i+O[0].length,i+1+O[0].length)]));let r=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(r)return t.append(be(L.Comment,i,i+1+r[0].length));let a=/^\?[^]*?\?>/.exec(n);if(a)return t.append(be(L.ProcessingInstruction,i,i+1+a[0].length));let o=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return o?t.append(be(L.HTMLTag,i,i+1+o[0].length)):-1},Emphasis(t,e,i){if(e!=95&&e!=42)return-1;let n=i+1;for(;t.char(n)==e;)n++;let O=t.slice(i-1,i),r=t.slice(n,n+1),a=sa.test(O),o=sa.test(r),s=/\s|^$/.test(O),l=/\s|^$/.test(r),c=!l&&(!o||s||a),u=!s&&(!a||l||o),h=c&&(e==42||!u||a),d=u&&(e==42||!c||o);return t.append(new Ct(e==95?Mb:Bb,i,n,(h?1:0)|(d?2:0)))},HardBreak(t,e,i){if(e==92&&t.char(i+1)==10)return t.append(be(L.HardBreak,i,i+2));if(e==32){let n=i+1;for(;t.char(n)==32;)n++;if(t.char(n)==10&&n>=i+2)return t.append(be(L.HardBreak,i,n+1))}return-1},Link(t,e,i){return e==91?t.append(new Ct(Vn,i,i+1,1)):-1},Image(t,e,i){return e==33&&t.char(i+1)==91?t.append(new Ct(ds,i,i+2,1)):-1},LinkEnd(t,e,i){if(e!=93)return-1;for(let n=t.parts.length-1;n>=0;n--){let O=t.parts[n];if(O instanceof Ct&&(O.type==Vn||O.type==ds)){if(!O.side||t.skipSpace(O.to)==i&&!/[(\[]/.test(t.slice(i+1,i+2)))return t.parts[n]=null,-1;let r=t.takeContent(n),a=t.parts[n]=wz(t,r,O.type==Vn?L.Link:L.Image,O.from,i+1);if(O.type==Vn)for(let o=0;o<n;o++){let s=t.parts[o];s instanceof Ct&&s.type==Vn&&(s.side=0)}return a.to}}return-1}};function wz(t,e,i,n,O){let{text:r}=t,a=t.char(O),o=O;if(e.unshift(be(L.LinkMark,n,n+(i==L.Image?2:1))),e.push(be(L.LinkMark,O-1,O)),a==40){let s=t.skipSpace(O+1),l=Fb(r,s-t.offset,t.offset),c;l&&(s=t.skipSpace(l.to),s!=l.to&&(c=Hb(r,s-t.offset,t.offset),c&&(s=t.skipSpace(c.to)))),t.char(s)==41&&(e.push(be(L.LinkMark,O,O+1)),o=s+1,l&&e.push(l),c&&e.push(c),e.push(be(L.LinkMark,s,o)))}else if(a==91){let s=Kb(r,O-t.offset,t.offset,!1);s&&(e.push(s),o=s.to)}return be(i,n,o,e)}function Fb(t,e,i){if(t.charCodeAt(e)==60){for(let O=e+1;O<t.length;O++){let r=t.charCodeAt(O);if(r==62)return be(L.URL,e+i,O+1+i);if(r==60||r==10)return!1}return null}else{let O=0,r=e;for(let a=!1;r<t.length;r++){let o=t.charCodeAt(r);if(ti(o))break;if(a)a=!1;else if(o==40)O++;else if(o==41){if(!O)break;O--}else o==92&&(a=!0)}return r>e?be(L.URL,e+i,r+i):r==t.length?null:!1}}function Hb(t,e,i){let n=t.charCodeAt(e);if(n!=39&&n!=34&&n!=40)return!1;let O=n==40?41:n;for(let r=e+1,a=!1;r<t.length;r++){let o=t.charCodeAt(r);if(a)a=!1;else{if(o==O)return be(L.LinkTitle,e+i,r+1+i);o==92&&(a=!0)}}return null}function Kb(t,e,i,n){for(let O=!1,r=e+1,a=Math.min(t.length,r+999);r<a;r++){let o=t.charCodeAt(r);if(O)O=!1;else{if(o==93)return n?!1:be(L.LinkLabel,e+i,r+1+i);if(n&&!ti(o)&&(n=!1),o==91)return!1;o==92&&(O=!0)}}return null}class Xf{constructor(e,i,n){this.parser=e,this.text=i,this.offset=n,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,i){return this.text.slice(e-this.offset,i-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,i,n,O,r){return this.append(new Ct(e,i,n,(O?1:0)|(r?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let i=this.parts[e];if(i instanceof Ct&&(i.type==Vn||i.type==ds))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let n=e;n<this.parts.length;n++){let O=this.parts[n];if(!(O instanceof Ct&&O.type.resolve&&O.side&2))continue;let r=O.type==Mb||O.type==Bb,a=O.to-O.from,o,s=n-1;for(;s>=e;s--){let Q=this.parts[s];if(Q instanceof Ct&&Q.side&1&&Q.type==O.type&&!(r&&(O.side&1||Q.side&2)&&(Q.to-Q.from+a)%3==0&&((Q.to-Q.from)%3||a%3))){o=Q;break}}if(!o)continue;let l=O.type.resolve,c=[],u=o.from,h=O.to;if(r){let Q=Math.min(2,o.to-o.from,a);u=o.to-Q,h=O.from+Q,l=Q==1?"Emphasis":"StrongEmphasis"}o.type.mark&&c.push(this.elt(o.type.mark,u,o.to));for(let Q=s+1;Q<n;Q++)this.parts[Q]instanceof oa&&c.push(this.parts[Q]),this.parts[Q]=null;O.type.mark&&c.push(this.elt(O.type.mark,O.from,h));let d=this.elt(l,u,h,c);this.parts[s]=r&&o.from!=u?new Ct(o.type,o.from,u,o.side):null,(this.parts[n]=r&&O.to!=h?new Ct(O.type,h,O.to,O.side):null)?this.parts.splice(n,0,d):this.parts[n]=d}let i=[];for(let n=e;n<this.parts.length;n++){let O=this.parts[n];O instanceof oa&&i.push(O)}return i}findOpeningDelimiter(e){for(let i=this.parts.length-1;i>=0;i--){let n=this.parts[i];if(n instanceof Ct&&n.type==e&&n.side&1)return i}return null}takeContent(e){let i=this.resolveMarkers(e);return this.parts.length=e,i}getDelimiterAt(e){let i=this.parts[e];return i instanceof Ct?i:null}skipSpace(e){return Wr(this.text,e-this.offset)+this.offset}elt(e,i,n,O){return typeof e=="string"?be(this.parser.getNodeType(e),i,n,O):new Db(e,i)}}Xf.linkStart=Vn;Xf.imageStart=ds;function Iu(t,e){if(!e.length)return t;if(!t.length)return e;let i=t.slice(),n=0;for(let O of e){for(;n<i.length&&i[n].to<O.to;)n++;if(n<i.length&&i[n].from<O.from){let r=i[n];r instanceof oa&&(i[n]=new oa(r.type,r.from,r.to,Iu(r.children,[O])))}else i.splice(n++,0,O)}return i}const kz=[L.CodeBlock,L.ListItem,L.OrderedList,L.BulletList];class Tz{constructor(e,i){this.fragments=e,this.input=i,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,i){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let r=this.fragment.to;for(;r>0&&this.input.read(r-1,r)!=`
|
|
38
|
+
`;)r--;this.fragmentEnd=r?r-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let O=e+this.fragment.offset;for(;n.to<=O;)if(!n.parent())return!1;for(;;){if(n.from>=O)return this.fragment.from<=i;if(!n.childAfter(O))return!1}}matches(e){let i=this.cursor.tree;return i&&i.prop(ce.contextHash)==e}takeNodes(e){let i=this.cursor,n=this.fragment.offset,O=this.fragmentEnd-(this.fragment.openEnd?1:0),r=e.absoluteLineStart,a=r,o=e.block.children.length,s=a,l=o;for(;;){if(i.to-n>O){if(i.type.isAnonymous&&i.firstChild())continue;break}let c=Jb(i.from-n,e.ranges);if(i.to-n<=e.ranges[e.rangeI].to)e.addNode(i.tree,c);else{let u=new me(e.parser.nodeSet.types[L.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(u,i.tree),e.addNode(u,c)}if(i.type.is("Block")&&(kz.indexOf(i.type.id)<0?(a=i.to-n,o=e.block.children.length):(a=s,o=l),s=i.to-n,l=e.block.children.length),!i.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return a-r}}function Jb(t,e){let i=t;for(let n=1;n<e.length;n++){let O=e[n-1].to,r=e[n].from;O<t&&(i-=r-O)}return i}const vz=bt({"Blockquote/...":$.quote,HorizontalRule:$.contentSeparator,"ATXHeading1/... SetextHeading1/...":$.heading1,"ATXHeading2/... SetextHeading2/...":$.heading2,"ATXHeading3/...":$.heading3,"ATXHeading4/...":$.heading4,"ATXHeading5/...":$.heading5,"ATXHeading6/...":$.heading6,"Comment CommentBlock":$.comment,Escape:$.escape,Entity:$.character,"Emphasis/...":$.emphasis,"StrongEmphasis/...":$.strong,"Link/... Image/...":$.link,"OrderedList/... BulletList/...":$.list,"BlockQuote/...":$.quote,"InlineCode CodeText":$.monospace,"URL Autolink":$.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":$.processingInstruction,"CodeInfo LinkLabel":$.labelName,LinkTitle:$.string,Paragraph:$.content}),_z=new As(new tr(Ib).extend(vz),Object.keys(ro).map(t=>ro[t]),Object.keys(ro).map(t=>Ab[t]),Object.keys(ro),Xz,zb,Object.keys(hc).map(t=>hc[t]),Object.keys(hc),[]);function Rz(t,e,i){let n=[];for(let O=t.firstChild,r=e;;O=O.nextSibling){let a=O?O.from:i;if(a>r&&n.push({from:r,to:a}),!O)break;r=O.to}return n}function Yz(t){let{codeParser:e,htmlParser:i}=t;return{wrap:Ah((O,r)=>{let a=O.type.id;if(e&&(a==L.CodeBlock||a==L.FencedCode)){let o="";if(a==L.FencedCode){let l=O.node.getChild(L.CodeInfo);l&&(o=r.read(l.from,l.to))}let s=e(o);if(s)return{parser:s,overlay:l=>l.type.id==L.CodeText,bracketed:a==L.FencedCode}}else if(i&&(a==L.HTMLBlock||a==L.HTMLTag||a==L.CommentBlock))return{parser:i,overlay:Rz(O.node,O.from,O.to)};return null})}}const Zz={resolve:"Strikethrough",mark:"StrikethroughMark"},zz={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":$.strikethrough}},{name:"StrikethroughMark",style:$.processingInstruction}],parseInline:[{name:"Strikethrough",parse(t,e,i){if(e!=126||t.char(i+1)!=126||t.char(i+2)==126)return-1;let n=t.slice(i-1,i),O=t.slice(i+2,i+3),r=/\s|^$/.test(n),a=/\s|^$/.test(O),o=sa.test(n),s=sa.test(O);return t.addDelimiter(Zz,i,i+2,!a&&(!s||r||o),!r&&(!o||a||s))},after:"Emphasis"}]};function jr(t,e,i=0,n,O=0){let r=0,a=!0,o=-1,s=-1,l=!1,c=()=>{n.push(t.elt("TableCell",O+o,O+s,t.parser.parseInline(e.slice(o,s),O+o)))};for(let u=i;u<e.length;u++){let h=e.charCodeAt(u);h==124&&!l?((!a||o>-1)&&r++,a=!1,n&&(o>-1&&c(),n.push(t.elt("TableDelimiter",u+O,u+O+1))),o=s=-1):(l||h!=32&&h!=9)&&(o<0&&(o=u),s=u+1),l=!l&&h==92}return o>-1&&(r++,n&&c()),r}function Ep(t,e){for(let i=e;i<t.length;i++){let n=t.charCodeAt(i);if(n==124)return!0;n==92&&i++}return!1}const eX=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class Gp{constructor(){this.rows=null}nextLine(e,i,n){if(this.rows==null){this.rows=!1;let O;if((i.next==45||i.next==58||i.next==124)&&eX.test(O=i.text.slice(i.pos))){let r=[];jr(e,n.content,0,r,n.start)==jr(e,O,i.pos)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,r),e.elt("TableDelimiter",e.lineStart+i.pos,e.lineStart+i.text.length)])}}else if(this.rows){let O=[];jr(e,i.text,i.pos,O,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+i.pos,e.lineStart+i.text.length,O))}return!1}finish(e,i){return this.rows?(e.addLeafElement(i,e.elt("Table",i.start,i.start+i.content.length,this.rows)),!0):!1}}const qz={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":$.heading}},"TableRow",{name:"TableCell",style:$.content},{name:"TableDelimiter",style:$.processingInstruction}],parseBlock:[{name:"Table",leaf(t,e){return Ep(e.content,0)?new Gp:null},endLeaf(t,e,i){if(i.parsers.some(O=>O instanceof Gp)||!Ep(e.text,e.basePos))return!1;let n=t.peekLine();return eX.test(n)&&jr(t,e.text,e.basePos)==jr(t,n,e.basePos)},before:"SetextHeading"}]};class Uz{nextLine(){return!1}finish(e,i){return e.addLeafElement(i,e.elt("Task",i.start,i.start+i.content.length,[e.elt("TaskMarker",i.start,i.start+3),...e.parser.parseInline(i.content.slice(3),i.start+3)])),!0}}const Vz={defineNodes:[{name:"Task",block:!0,style:$.list},{name:"TaskMarker",style:$.atom}],parseBlock:[{name:"TaskList",leaf(t,e){return/^\[[ xX]\][ \t]/.test(e.content)&&t.parentType().name=="ListItem"?new Uz:null},after:"SetextHeading"}]},Ap=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,Np=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,Wz=/[\w-]+\.[\w-]+($|\/)/,Ip=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Lp=/\/[a-zA-Z\d@.]+/gy;function Dp(t,e,i,n){let O=0;for(let r=e;r<i;r++)t[r]==n&&O++;return O}function jz(t,e){Np.lastIndex=e;let i=Np.exec(t);if(!i||Wz.exec(i[0])[0].indexOf("_")>-1)return-1;let n=e+i[0].length;for(;;){let O=t[n-1],r;if(/[?!.,:*_~]/.test(O)||O==")"&&Dp(t,e,n,")")>Dp(t,e,n,"("))n--;else if(O==";"&&(r=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(t.slice(e,n))))n=e+r.index;else break}return n}function Mp(t,e){Ip.lastIndex=e;let i=Ip.exec(t);if(!i)return-1;let n=i[0][i[0].length-1];return n=="_"||n=="-"?-1:e+i[0].length-(n=="."?1:0)}const Cz={parseInline:[{name:"Autolink",parse(t,e,i){let n=i-t.offset;if(n&&/\w/.test(t.text[n-1]))return-1;Ap.lastIndex=n;let O=Ap.exec(t.text),r=-1;if(!O)return-1;if(O[1]||O[2]){if(r=jz(t.text,n+O[0].length),r>-1&&t.hasOpenLink){let a=/([^\[\]]|\[[^\]]*\])*/.exec(t.text.slice(n,r));r=n+a[0].length}}else O[3]?r=Mp(t.text,n):(r=Mp(t.text,n+O[0].length),r>-1&&O[0]=="xmpp:"&&(Lp.lastIndex=r,O=Lp.exec(t.text),O&&(r=O.index+O[0].length)));return r<0?-1:(t.addElement(t.elt("URL",i,r+t.offset)),r+t.offset)}}]},Ez=[qz,Vz,zz,Cz];function tX(t,e,i){return(n,O,r)=>{if(O!=t||n.char(r+1)==t)return-1;let a=[n.elt(i,r,r+1)];for(let o=r+1;o<n.end;o++){let s=n.char(o);if(s==t)return n.addElement(n.elt(e,r,o+1,a.concat(n.elt(i,o,o+1))));if(s==92&&a.push(n.elt("Escape",o,o+++2)),ti(s))break}return-1}}const Gz={defineNodes:[{name:"Superscript",style:$.special($.content)},{name:"SuperscriptMark",style:$.processingInstruction}],parseInline:[{name:"Superscript",parse:tX(94,"Superscript","SuperscriptMark")}]},Az={defineNodes:[{name:"Subscript",style:$.special($.content)},{name:"SubscriptMark",style:$.processingInstruction}],parseInline:[{name:"Subscript",parse:tX(126,"Subscript","SubscriptMark")}]},Nz={defineNodes:[{name:"Emoji",style:$.character}],parseInline:[{name:"Emoji",parse(t,e,i){let n;return e!=58||!(n=/^[a-zA-Z_0-9]+:/.exec(t.slice(i+1,t.end)))?-1:t.addElement(t.elt("Emoji",i,i+1+n[0].length))}}]},iX=zs({commentTokens:{block:{open:"<!--",close:"-->"}}}),nX=new ce,OX=_z.configure({props:[yt.add(t=>!t.is("Block")||t.is("Document")||Lu(t)!=null||Iz(t)?void 0:(e,i)=>({from:i.doc.lineAt(e.from).to,to:e.to})),nX.add(Lu),Xt.add({Document:()=>null}),cn.add({Document:iX})]});function Lu(t){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(t.name);return e?+e[1]:void 0}function Iz(t){return t.name=="OrderedList"||t.name=="BulletList"}function Lz(t,e){let i=t;for(;;){let n=i.nextSibling,O;if(!n||(O=Lu(n.type))!=null&&O<=e)break;i=n}return i.to}const Dz=RP.of((t,e,i)=>{for(let n=Ze(t).resolveInner(i,-1);n&&!(n.from<e);n=n.parent){let O=n.type.prop(nX);if(O==null)continue;let r=Lz(n,O);if(r>i)return{from:i,to:r}}return null});function yf(t){return new Et(iX,t,[],"markdown")}const Mz=yf(OX),Bz=OX.configure([Ez,Az,Gz,Nz,{props:[yt.add({Table:(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}]),$s=yf(Bz);function Fz(t,e){return i=>{if(i&&t){let n=null;if(i=/\S*/.exec(i)[0],typeof t=="function"?n=t(i):n=es.matchLanguageName(t,i,!0),n instanceof es)return n.support?n.support.language.parser:Kn.getSkippingParser(n.load());if(n)return n.parser}return e?e.parser:null}}let fc=class{constructor(e,i,n,O,r,a,o){this.node=e,this.from=i,this.to=n,this.spaceBefore=O,this.spaceAfter=r,this.type=a,this.item=o}blank(e,i=!0){let n=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;n.length<e;)n+=" ";return n}else{for(let O=this.to-this.from-n.length-this.spaceAfter.length;O>0;O--)n+=" ";return n+(i?this.spaceAfter:"")}}marker(e,i){let n=this.node.name=="OrderedList"?String(+aX(this.item,e)[2]+i):"";return this.spaceBefore+n+this.type+this.spaceAfter}};function rX(t,e){let i=[],n=[];for(let O=t;O;O=O.parent){if(O.name=="FencedCode")return n;(O.name=="ListItem"||O.name=="Blockquote")&&i.push(O)}for(let O=i.length-1;O>=0;O--){let r=i[O],a,o=e.lineAt(r.from),s=r.from-o.from;if(r.name=="Blockquote"&&(a=/^ *>( ?)/.exec(o.text.slice(s))))n.push(new fc(r,s,s+a[0].length,"",a[1],">",null));else if(r.name=="ListItem"&&r.parent.name=="OrderedList"&&(a=/^( *)\d+([.)])( *)/.exec(o.text.slice(s)))){let l=a[3],c=a[0].length;l.length>=4&&(l=l.slice(0,l.length-4),c-=4),n.push(new fc(r.parent,s,s+c,a[1],l,a[2],r))}else if(r.name=="ListItem"&&r.parent.name=="BulletList"&&(a=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(o.text.slice(s)))){let l=a[4],c=a[0].length;l.length>4&&(l=l.slice(0,l.length-4),c-=4);let u=a[2];a[3]&&(u+=a[3].replace(/[xX]/," ")),n.push(new fc(r.parent,s,s+c,a[1],l,u,r))}}return n}function aX(t,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(t.from,t.from+10))}function dc(t,e,i,n=0){for(let O=-1,r=t;;){if(r.name=="ListItem"){let o=aX(r,e),s=+o[2];if(O>=0){if(s!=O+1)return;i.push({from:r.from+o[1].length,to:r.from+o[0].length,insert:String(O+2+n)})}O=s}let a=r.nextSibling;if(!a)break;r=a}}function xf(t,e){let i=/^[ \t]*/.exec(t)[0].length;if(!i||e.facet(ga)!=" ")return t;let n=Yi(t,4,i),O="";for(let r=n;r>0;)r>=4?(O+=" ",r-=4):(O+=" ",r--);return O+t.slice(i)}const Hz=(t={})=>({state:e,dispatch:i})=>{let n=Ze(e),{doc:O}=e,r=null,a=e.changeByRange(o=>{if(!o.empty||!$s.isActiveAt(e,o.from,-1)&&!$s.isActiveAt(e,o.from,1))return r={range:o};let s=o.from,l=O.lineAt(s),c=rX(n.resolveInner(s,-1),O);for(;c.length&&c[c.length-1].from>s-l.from;)c.pop();if(!c.length)return r={range:o};let u=c[c.length-1];if(u.to-u.spaceAfter.length>s-l.from)return r={range:o};let h=s>=u.to-u.spaceAfter.length&&!/\S/.test(l.text.slice(u.to));if(u.item&&h){let m=u.node.firstChild,S=u.node.getChild("ListItem","ListItem");if(m.to>=s||S&&S.to<s||l.from>0&&!/[^\s>]/.test(O.lineAt(l.from-1).text)||t.nonTightLists===!1){let X=c.length>1?c[c.length-2]:null,z,R="";X&&X.item?(z=l.from+X.from,R=X.marker(O,1)):z=l.from+(X?X.to:0);let G=[{from:z,to:s,insert:R}];return u.node.name=="OrderedList"&&dc(u.item,O,G,-2),X&&X.node.name=="OrderedList"&&dc(X.item,O,G),{range:U.cursor(z+R.length),changes:G}}else{let X=Fp(c,e,l);return{range:U.cursor(s+X.length+1),changes:{from:l.from,insert:X+e.lineBreak}}}}if(u.node.name=="Blockquote"&&h&&l.from){let m=O.lineAt(l.from-1),S=/>\s*$/.exec(m.text);if(S&&S.index==u.from){let X=e.changes([{from:m.from+S.index,to:m.to},{from:l.from+u.from,to:l.to}]);return{range:o.map(X),changes:X}}}let d=[];u.node.name=="OrderedList"&&dc(u.item,O,d);let p=u.item&&u.item.from<l.from,Q="";if(!p||/^[\s\d.)\-+*>]*/.exec(l.text)[0].length>=u.to)for(let m=0,S=c.length-1;m<=S;m++)Q+=m==S&&!p?c[m].marker(O,1):c[m].blank(m<S?Yi(l.text,4,c[m+1].from)-Q.length:null);let g=s;for(;g>l.from&&/\s/.test(l.text.charAt(g-l.from-1));)g--;return Q=xf(Q,e),Jz(u.node,e.doc)&&(Q=Fp(c,e,l)+e.lineBreak+Q),d.push({from:g,to:s,insert:e.lineBreak+Q}),{range:U.cursor(g+Q.length+1),changes:d}});return r?!1:(i(e.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)},Kz=Hz();function Bp(t){return t.name=="QuoteMark"||t.name=="ListMark"}function Jz(t,e){if(t.name!="OrderedList"&&t.name!="BulletList")return!1;let i=t.firstChild,n=t.getChild("ListItem","ListItem");if(!n)return!1;let O=e.lineAt(i.to),r=e.lineAt(n.from),a=/^[\s>]*$/.test(O.text);return O.number+(a?0:1)<r.number}function Fp(t,e,i){let n="";for(let O=0,r=t.length-2;O<=r;O++)n+=t[O].blank(O<r?Yi(i.text,4,t[O+1].from)-n.length:null,O<r);return xf(n,e)}function e5(t,e){let i=t.resolveInner(e,-1),n=e;Bp(i)&&(n=i.from,i=i.parent);for(let O;O=i.childBefore(n);)if(Bp(O))n=O.from;else if(O.name=="OrderedList"||O.name=="BulletList")i=O.lastChild,n=i.to;else break;return i}const t5=({state:t,dispatch:e})=>{let i=Ze(t),n=null,O=t.changeByRange(r=>{let a=r.from,{doc:o}=t;if(r.empty&&$s.isActiveAt(t,r.from)){let s=o.lineAt(a),l=rX(e5(i,a),o);if(l.length){let c=l[l.length-1],u=c.to-c.spaceAfter.length+(c.spaceAfter?1:0);if(a-s.from>u&&!/\S/.test(s.text.slice(u,a-s.from)))return{range:U.cursor(s.from+u),changes:{from:s.from+u,to:a}};if(a-s.from==u&&(!c.item||s.from<=c.item.from||!/\S/.test(s.text.slice(0,c.to)))){let h=s.from+c.from;if(c.item&&c.node.from<c.item.from&&/\S/.test(s.text.slice(c.from,c.to))){let d=c.blank(Yi(s.text,4,c.to)-Yi(s.text,4,c.from));return h==s.from&&(d=xf(d,t)),{range:U.cursor(h+d.length),changes:{from:h,to:s.from+c.to,insert:d}}}if(h<a)return{range:U.cursor(h),changes:{from:h,to:a}}}}}return n={range:r}});return n?!1:(e(t.update(O,{scrollIntoView:!0,userEvent:"delete"})),!0)},i5=[{key:"Enter",run:Kz},{key:"Backspace",run:t5}],oX=gf({matchClosingTags:!1});function n5(t={}){let{codeLanguages:e,defaultCodeLanguage:i,addKeymap:n=!0,base:{parser:O}=Mz,completeHTMLTags:r=!0,pasteURLAsLink:a=!0,htmlTagLanguage:o=oX}=t;if(!(O instanceof As))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let s=t.extensions?[t.extensions]:[],l=[o.support,Dz],c;a&&l.push(o5),i instanceof Zt?(l.push(i.support),c=i.language):i&&(c=i);let u=e||c?Fz(e,c):void 0;s.push(Yz({codeParser:u,htmlParser:o.language.parser})),n&&l.push(aO.high(Ys.of(i5)));let h=yf(O.configure(s));return r&&l.push(h.data.of({autocomplete:O5})),new Zt(h,l)}function O5(t){let{state:e,pos:i}=t,n=/<[:\-\.\w\u00b7-\uffff]*$/.exec(e.sliceDoc(i-25,i));if(!n)return null;let O=Ze(e).resolveInner(i,-1);for(;O&&!O.type.isTop;){if(O.name=="CodeBlock"||O.name=="FencedCode"||O.name=="ProcessingInstructionBlock"||O.name=="CommentBlock"||O.name=="Link"||O.name=="Image")return null;O=O.parent}return{from:i-n[0].length,to:i,options:r5(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let $c=null;function r5(){if($c)return $c;let t=uz(new D_(Xe.create({extensions:oX}),0,!0));return $c=t?t.options:[]}const a5=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,o5=H.domEventHandlers({paste:(t,e)=>{var i;let{main:n}=e.state.selection;if(n.empty)return!1;let O=(i=t.clipboardData)===null||i===void 0?void 0:i.getData("text/plain");if(!O||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(O)||(/^www\./.test(O)&&(O="https://"+O),!$s.isActiveAt(e.state,n.from,1)))return!1;let r=Ze(e.state),a=!1;return r.iterate({from:n.from,to:n.to,enter:o=>{(o.from>n.from||a5.test(o.name))&&(a=!0)},leave:o=>{o.to<n.to&&(a=!0)}}),a?!1:(e.dispatch({changes:[{from:n.from,insert:"["},{from:n.to,insert:`](${O})`}],userEvent:"input.paste",scrollIntoView:!0}),!0)}}),s5=36,Hp=1,l5=2,yO=3,pc=4,c5=5,u5=6,h5=7,f5=8,d5=9,$5=10,p5=11,Q5=12,m5=13,g5=14,P5=15,S5=16,b5=17,Kp=18,X5=19,sX=20,lX=21,Jp=22,y5=23,x5=24;function Du(t){return t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57}function w5(t){return t>=48&&t<=57||t>=97&&t<=102||t>=65&&t<=70}function qn(t,e,i){for(let n=!1;;){if(t.next<0)return;if(t.next==e&&!n){t.advance();return}n=i&&!n&&t.next==92,t.advance()}}function k5(t,e){e:for(;;){if(t.next<0)return;if(t.next==36){t.advance();for(let i=0;i<e.length;i++){if(t.next!=e.charCodeAt(i))continue e;t.advance()}if(t.next==36){t.advance();return}}else t.advance()}}function T5(t,e){let i="[{<(".indexOf(String.fromCharCode(e)),n=i<0?e:"]}>)".charCodeAt(i);for(;;){if(t.next<0)return;if(t.next==n&&t.peek(1)==39){t.advance(2);return}t.advance()}}function Mu(t,e){for(;!(t.next!=95&&!Du(t.next));)e!=null&&(e+=String.fromCharCode(t.next)),t.advance();return e}function v5(t){if(t.next==39||t.next==34||t.next==96){let e=t.next;t.advance(),qn(t,e,!1)}else Mu(t)}function eQ(t,e){for(;t.next==48||t.next==49;)t.advance();e&&t.next==e&&t.advance()}function tQ(t,e){for(;;){if(t.next==46){if(e)break;e=!0}else if(t.next<48||t.next>57)break;t.advance()}if(t.next==69||t.next==101)for(t.advance(),(t.next==43||t.next==45)&&t.advance();t.next>=48&&t.next<=57;)t.advance()}function iQ(t){for(;!(t.next<0||t.next==10);)t.advance()}function Rn(t,e){for(let i=0;i<e.length;i++)if(e.charCodeAt(i)==t)return!0;return!1}const Qc=` \r
|
|
39
|
+
`;function cX(t,e,i){let n=Object.create(null);n.true=n.false=c5,n.null=n.unknown=u5;for(let O of t.split(" "))O&&(n[O]=sX);for(let O of e.split(" "))O&&(n[O]=lX);for(let O of(i||"").split(" "))O&&(n[O]=x5);return n}const _5="array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ",R5="absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ",Bu={backslashEscapes:!1,hashComments:!1,spaceAfterDashes:!1,slashComments:!1,doubleQuotedStrings:!1,doubleDollarQuotedStrings:!1,unquotedBitLiterals:!1,treatBitsAsBytes:!1,charSetCasts:!1,plsqlQuotingMechanism:!1,operatorChars:"*+-%<>!=&|~^/",specialVar:"?",identifierQuotes:'"',caseInsensitiveIdentifiers:!1,words:cX(R5,_5)};function Y5(t,e,i,n){let O={};for(let r in Bu)O[r]=(t.hasOwnProperty(r)?t:Bu)[r];return e&&(O.words=cX(e,i||"",n)),O}function uX(t){return new ke(e=>{var i;let{next:n}=e;if(e.advance(),Rn(n,Qc)){for(;Rn(e.next,Qc);)e.advance();e.acceptToken(s5)}else if(n==36&&t.doubleDollarQuotedStrings){let O=Mu(e,"");e.next==36&&(e.advance(),k5(e,O),e.acceptToken(yO))}else if(n==39||n==34&&t.doubleQuotedStrings)qn(e,n,t.backslashEscapes),e.acceptToken(yO);else if(n==35&&t.hashComments||n==47&&e.next==47&&t.slashComments)iQ(e),e.acceptToken(Hp);else if(n==45&&e.next==45&&(!t.spaceAfterDashes||e.peek(1)==32))iQ(e),e.acceptToken(Hp);else if(n==47&&e.next==42){e.advance();for(let O=1;;){let r=e.next;if(e.next<0)break;if(e.advance(),r==42&&e.next==47){if(O--,e.advance(),!O)break}else r==47&&e.next==42&&(O++,e.advance())}e.acceptToken(l5)}else if((n==101||n==69)&&e.next==39)e.advance(),qn(e,39,!0),e.acceptToken(yO);else if((n==110||n==78)&&e.next==39&&t.charSetCasts)e.advance(),qn(e,39,t.backslashEscapes),e.acceptToken(yO);else if(n==95&&t.charSetCasts)for(let O=0;;O++){if(e.next==39&&O>1){e.advance(),qn(e,39,t.backslashEscapes),e.acceptToken(yO);break}if(!Du(e.next))break;e.advance()}else if(t.plsqlQuotingMechanism&&(n==113||n==81)&&e.next==39&&e.peek(1)>0&&!Rn(e.peek(1),Qc)){let O=e.peek(1);e.advance(2),T5(e,O),e.acceptToken(yO)}else if(Rn(n,t.identifierQuotes)){const O=n==91?93:n;qn(e,O,!1),e.acceptToken(X5)}else if(n==40)e.acceptToken(h5);else if(n==41)e.acceptToken(f5);else if(n==123)e.acceptToken(d5);else if(n==125)e.acceptToken($5);else if(n==91)e.acceptToken(p5);else if(n==93)e.acceptToken(Q5);else if(n==59)e.acceptToken(m5);else if(t.unquotedBitLiterals&&n==48&&e.next==98)e.advance(),eQ(e),e.acceptToken(Jp);else if((n==98||n==66)&&(e.next==39||e.next==34)){const O=e.next;e.advance(),t.treatBitsAsBytes?(qn(e,O,t.backslashEscapes),e.acceptToken(y5)):(eQ(e,O),e.acceptToken(Jp))}else if(n==48&&(e.next==120||e.next==88)||(n==120||n==88)&&e.next==39){let O=e.next==39;for(e.advance();w5(e.next);)e.advance();O&&e.next==39&&e.advance(),e.acceptToken(pc)}else if(n==46&&e.next>=48&&e.next<=57)tQ(e,!0),e.acceptToken(pc);else if(n==46)e.acceptToken(g5);else if(n>=48&&n<=57)tQ(e,!1),e.acceptToken(pc);else if(Rn(n,t.operatorChars)){for(;Rn(e.next,t.operatorChars);)e.advance();e.acceptToken(P5)}else if(Rn(n,t.specialVar))e.next==n&&e.advance(),v5(e),e.acceptToken(b5);else if(n==58||n==44)e.acceptToken(S5);else if(Du(n)){let O=Mu(e,String.fromCharCode(n));e.acceptToken(e.next==46||e.peek(-O.length-1)==46?Kp:(i=t.words[O.toLowerCase()])!==null&&i!==void 0?i:Kp)}})}const hX=uX(Bu),Z5=St.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,hX],topRules:{Script:[0,25]},tokenPrec:0});function Fu(t){let e=t.cursor().moveTo(t.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function la(t,e){let i=t.sliceString(e.from,e.to),n=/^([`'"\[])(.*)([`'"\]])$/.exec(i);return n?n[2]:i}function ps(t){return t&&(t.name=="Identifier"||t.name=="QuotedIdentifier")}function z5(t,e){if(e.name=="CompositeIdentifier"){let i=[];for(let n=e.firstChild;n;n=n.nextSibling)ps(n)&&i.push(la(t,n));return i}return[la(t,e)]}function nQ(t,e){for(let i=[];;){if(!e||e.name!=".")return i;let n=Fu(e);if(!ps(n))return i;i.unshift(la(t,n)),e=Fu(n)}}function q5(t,e){let i=Ze(t).resolveInner(e,-1),n=V5(t.doc,i);return i.name=="Identifier"||i.name=="QuotedIdentifier"||i.name=="Keyword"?{from:i.from,quoted:i.name=="QuotedIdentifier"?t.doc.sliceString(i.from,i.from+1):null,parents:nQ(t.doc,Fu(i)),aliases:n}:i.name=="."?{from:e,quoted:null,parents:nQ(t.doc,i),aliases:n}:{from:e,quoted:null,parents:[],empty:!0,aliases:n}}const U5=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));function V5(t,e){let i;for(let O=e;!i;O=O.parent){if(!O)return null;O.name=="Statement"&&(i=O)}let n=null;for(let O=i.firstChild,r=!1,a=null;O;O=O.nextSibling){let o=O.name=="Keyword"?t.sliceString(O.from,O.to).toLowerCase():null,s=null;if(!r)r=o=="from";else if(o=="as"&&a&&ps(O.nextSibling))s=la(t,O.nextSibling);else{if(o&&U5.has(o))break;a&&ps(O)&&(s=la(t,O))}s&&(n||(n=Object.create(null)),n[s]=z5(t,a)),a=/Identifier$/.test(O.name)?O:null}return n}function W5(t,e,i){return i.map(n=>({...n,label:n.label[0]==t?n.label:t+n.label+e,apply:void 0}))}const j5=/^\w*$/,C5=/^[`'"\[]?\w*[`'"\]]?$/;function OQ(t){return t.self&&typeof t.self.label=="string"}class wf{constructor(e,i){this.idQuote=e,this.idCaseInsensitive=i,this.list=[],this.children=void 0}child(e){let i=this.children||(this.children=Object.create(null)),n=i[e];return n||(e&&!this.list.some(O=>O.label==e)&&this.list.push(rQ(e,"type",this.idQuote,this.idCaseInsensitive)),i[e]=new wf(this.idQuote,this.idCaseInsensitive))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let i=this.list.findIndex(n=>n.label==e.label);i>-1?this.list[i]=e:this.list.push(e)}addCompletions(e){for(let i of e)this.addCompletion(typeof i=="string"?rQ(i,"property",this.idQuote,this.idCaseInsensitive):i)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):OQ(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let i of Object.keys(e)){let n=e[i],O=null,r=i.replace(/\\?\./g,o=>o=="."?"\0":o).split("\0"),a=this;OQ(n)&&(O=n.self,n=n.children);for(let o=0;o<r.length;o++)O&&o==r.length-1&&a.addCompletion(O),a=a.child(r[o].replace(/\\\./g,"."));a.addNamespace(n)}}}function rQ(t,e,i,n){return new RegExp("^[a-z_][a-z_\\d]*$",n?"i":"").test(t)?{label:t,type:e}:{label:t,type:e,apply:i+t+fX(i)}}function fX(t){return t==="["?"]":t}function E5(t,e,i,n,O,r){var a;let o=((a=r==null?void 0:r.spec.identifierQuotes)===null||a===void 0?void 0:a[0])||'"',s=new wf(o,!!(r!=null&&r.spec.caseInsensitiveIdentifiers)),l=O?s.child(O):null;return s.addNamespace(t),e&&(l||s).addCompletions(e),i&&s.addCompletions(i),l&&s.addCompletions(l.list),n&&s.addCompletions((l||s).child(n).list),c=>{let{parents:u,from:h,quoted:d,empty:p,aliases:Q}=q5(c.state,c.pos);if(p&&!c.explicit)return null;Q&&u.length==1&&(u=Q[u[0]]||u);let g=s;for(let S of u){for(;!g.children||!g.children[S];)if(g==s&&l)g=l;else if(g==l&&n)g=g.child(n);else return null;let X=g.maybeChild(S);if(!X)return null;g=X}let m=g.list;if(g==s&&Q&&(m=m.concat(Object.keys(Q).map(S=>({label:S,type:"constant"})))),d){let S=d[0],X=fX(S),z=c.state.sliceDoc(c.pos,c.pos+1)==X;return{from:h,to:z?c.pos+1:void 0,options:W5(S,X,m),validFor:C5}}else return{from:h,options:m,validFor:j5}}}function G5(t){return t==lX?"type":t==sX?"keyword":"variable"}function A5(t,e,i){let n=Object.keys(t).map(O=>i(e?O.toUpperCase():O,G5(t[O])));return of(["QuotedIdentifier","String","LineComment","BlockComment","."],af(n))}let N5=Z5.configure({props:[Xt.add({Statement:Ot()}),yt.add({Statement(t,e){return{from:Math.min(t.from+100,e.doc.lineAt(t.from).to),to:t.to}},BlockComment(t){return{from:t.from+2,to:t.to-2}}}),bt({Keyword:$.keyword,Type:$.typeName,Builtin:$.standard($.name),Bits:$.number,Bytes:$.string,Bool:$.bool,Null:$.null,Number:$.number,String:$.string,Identifier:$.name,QuotedIdentifier:$.special($.string),SpecialVar:$.special($.name),LineComment:$.lineComment,BlockComment:$.blockComment,Operator:$.operator,"Semi Punctuation":$.punctuation,"( )":$.paren,"{ }":$.brace,"[ ]":$.squareBracket})]});class Qs{constructor(e,i,n){this.dialect=e,this.language=i,this.spec=n}get extension(){return this.language.extension}configureLanguage(e,i){return new Qs(this.dialect,this.language.configure(e,i),this.spec)}static define(e){let i=Y5(e,e.keywords,e.types,e.builtin),n=Pt.define({name:"sql",parser:N5.configure({tokenizers:[{from:hX,to:uX(i)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new Qs(i,n,e)}}function I5(t,e){return{label:t,type:e,boost:-1}}function L5(t,e=!1,i){return A5(t.dialect.words,e,i||I5)}function D5(t){return t.schema?E5(t.schema,t.tables,t.schemas,t.defaultTable,t.defaultSchema,t.dialect||kf):()=>null}function M5(t){return t.schema?(t.dialect||kf).language.data.of({autocomplete:D5(t)}):[]}function B5(t={}){let e=t.dialect||kf;return new Zt(e.language,[M5(t),e.language.data.of({autocomplete:L5(e,t.upperCaseKeywords,t.keywordCompletion)})])}const kf=Qs.define({}),F5=1,H5=2,K5=3,J5=4,eq=5,aQ=98,tq=101,iq=102,oQ=114,nq=69,oo=48,sQ=46,Oq=43,rq=45,lQ=35,cQ=34,aq=124,oq=60,sq=62;function Hu(t){return t>=48&&t<=57}function so(t){return Hu(t)||t==95}const lq=new ke((t,e)=>{if(Hu(t.next)){let i=!1;do t.advance();while(so(t.next));if(t.next==sQ){if(i=!0,t.advance(),Hu(t.next))do t.advance();while(so(t.next));else if(t.next==sQ||t.next>127||/\w/.test(String.fromCharCode(t.next)))return}if(t.next==tq||t.next==nq){if(i=!0,t.advance(),(t.next==Oq||t.next==rq)&&t.advance(),!so(t.next))return;do t.advance();while(so(t.next))}if(t.next==iq){let n=t.peek(1);if(n==oo+3&&t.peek(2)==oo+2||n==oo+6&&t.peek(2)==oo+4)t.advance(3),i=!0;else return}i&&t.acceptToken(eq)}else if(t.next==aQ||t.next==oQ){if(t.next==aQ&&t.advance(),t.next!=oQ)return;t.advance();let i=0;for(;t.next==lQ;)i++,t.advance();if(t.next!=cQ)return;t.advance();e:for(;;){if(t.next<0)return;let n=t.next==cQ;if(t.advance(),n){for(let O=0;O<i;O++){if(t.next!=lQ)continue e;t.advance()}t.acceptToken(J5);return}}}}),cq=new ke(t=>{t.next==aq&&t.acceptToken(F5,1)}),uq=new ke(t=>{t.next==oq?t.acceptToken(H5,1):t.next==sq&&t.acceptToken(K5,1)}),hq=bt({"const macro_rules struct union enum type fn impl trait let static":$.definitionKeyword,"mod use crate":$.moduleKeyword,"pub unsafe async mut extern default move":$.modifier,"for if else loop while match continue break return await":$.controlKeyword,"as in ref":$.operatorKeyword,"where _ crate super dyn":$.keyword,self:$.self,String:$.string,Char:$.character,RawString:$.special($.string),Boolean:$.bool,Identifier:$.variableName,"CallExpression/Identifier":$.function($.variableName),BoundIdentifier:$.definition($.variableName),"FunctionItem/BoundIdentifier":$.function($.definition($.variableName)),LoopLabel:$.labelName,FieldIdentifier:$.propertyName,"CallExpression/FieldExpression/FieldIdentifier":$.function($.propertyName),Lifetime:$.special($.variableName),ScopeIdentifier:$.namespace,TypeIdentifier:$.typeName,"MacroInvocation/Identifier MacroInvocation/ScopedIdentifier/Identifier":$.macroName,"MacroInvocation/TypeIdentifier MacroInvocation/ScopedIdentifier/TypeIdentifier":$.macroName,'"!"':$.macroName,UpdateOp:$.updateOperator,LineComment:$.lineComment,BlockComment:$.blockComment,Integer:$.integer,Float:$.float,ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,"=":$.definitionOperator,".. ... => ->":$.punctuation,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,". DerefOp":$.derefOperator,"&":$.operator,", ; ::":$.separator,"Attribute/...":$.meta}),fq={__proto__:null,self:28,super:32,crate:34,impl:46,true:72,false:72,pub:88,in:92,const:96,unsafe:104,async:108,move:110,if:114,let:118,ref:142,mut:144,_:198,else:200,match:204,as:248,return:252,await:262,break:270,continue:276,while:312,loop:316,for:320,macro_rules:327,mod:334,extern:342,struct:346,where:364,union:379,enum:382,type:390,default:395,fn:396,trait:412,use:420,static:438,dyn:476},dq=St.deserialize({version:14,states:"$2xQ]Q_OOP$wOWOOO&sQWO'#CnO)WQWO'#I`OOQP'#I`'#I`OOQQ'#Ie'#IeO)hO`O'#C}OOQR'#Ih'#IhO)sQWO'#IuOOQO'#Hk'#HkO)xQWO'#DpOOQR'#Iw'#IwO)xQWO'#DpO*ZQWO'#DpOOQO'#Iv'#IvO,SQWO'#J`O,ZQWO'#EiOOQV'#Hp'#HpO,cQYO'#F{OOQV'#El'#ElOOQV'#Em'#EmOOQV'#En'#EnO.YQ_O'#EkO0_Q_O'#EoO2gQWOOO4QQ_O'#FPO7hQWO'#J`OOQV'#FY'#FYO7{Q_O'#F^O:WQ_O'#FaOOQO'#F`'#F`O=sQ_O'#FcO=}Q_O'#FbO@VQWO'#FgOOQO'#J`'#J`OOQV'#Io'#IoOA]Q_O'#InOEPQWO'#InOOQV'#Fw'#FwOF[QWO'#JuOFcQWO'#F|OOQO'#IO'#IOOGrQWO'#GhOOQV'#Im'#ImOOQV'#Il'#IlOOQV'#Hj'#HjQGyQ_OOOKeQ_O'#DUOKlQYO'#CqOOQP'#I_'#I_OOQV'#Hg'#HgQ]Q_OOOLuQWO'#I`ONsQYO'#DXO!!eQWO'#JuO!!lQWO'#JuO!!vQ_O'#DfO!%]Q_O'#E}O!(sQ_O'#FWO!,ZQWO'#FZO!.^QXO'#FbO!.cQ_O'#EeO!!vQ_O'#FmO!0uQWO'#FoO!0zQWO'#FoO!1PQ^O'#FqO!1WQWO'#JuO!1_QWO'#FtO!1dQWO'#FxO!2WQWO'#JjO!2_QWO'#GOO!2_QWO'#G`O!2_QWO'#GbO!2_QWO'#GsOOQO'#Ju'#JuO!2dQWO'#GhO!2lQYO'#GpO!2_QWO'#GqO!3uQ^O'#GtO!3|QWO'#GuO!4hQWO'#HOP!4sOpO'#CcPOOO)CC})CC}OOOO'#Hi'#HiO!5OO`O,59iOOQV,59i,59iO!5ZQYO,5?aOOQO-E;i-E;iOOQO,5:[,5:[OOQP,59Z,59ZO)xQWO,5:[O)xQWO,5:[O!5oQWO,5?kO!5zQYO,5;qO!6PQYO,5;TO!6hQWO,59QO!7kQXO'#CnO!7xQXO'#I`O!9SQWO'#CoO,^QWO'#EiOOQV-E;n-E;nO!9eQWO'#FsOOQV,5<g,5<gO!9SQWO'#CoO!9jQWO'#CoO!9oQWO'#I`O! yQWO'#JuO!9yQWO'#J`O!:aQWO,5;VOOQO'#In'#InO!0zQWO'#DaO!<aQWO'#DcO!<iQWO,5;ZO.YQ_O,5;ZOOQO,5;[,5;[OOQV'#Er'#ErOOQV'#Es'#EsOOQV'#Et'#EtOOQV'#Eu'#EuOOQV'#Ev'#EvOOQV'#Ew'#EwOOQV'#Ex'#ExOOQV'#Ey'#EyO.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;]O.YQ_O,5;fO!=PQ_O,5;kO!@gQ_O'#FROOQO,5;l,5;lO!BrQWO,5;pO.YQ_O,5;wOKlQYO,5;gO!D_QWO,5;kO!EOQWO,5;xOOQO,5;x,5;xO!E]QWO,5;xO!EbQ_O,5;xO!GmQWO'#CfO!GrQWO,5<QO!G|Q_O,5<QOOQO,5;{,5;{O!JjQXO'#CnO!K{QXO'#I`OOQS'#Dk'#DkOOQP'#Ir'#IrO!LuQ[O'#IrO!L}QXO'#DjO!M{QWO'#DnO!M{QWO'#DnO!N^QWO'#DnOOQP'#It'#ItO!NcQXO'#ItO# ^Q^O'#DoO# hQWO'#DrO# pQ^O'#DzO# zQ^O'#D|O#!RQWO'#EPO#!^QXO'#FdOOQP'#ES'#ESOOQP'#Iq'#IqO#!lQXO'#JfOOQP'#Je'#JeO#!tQXO,5;}O#!yQXO'#I`O!1PQ^O'#DyO!1PQ^O'#FdO##sQWO,5;|OOQO,5;|,5;|OKlQYO,5;|O#$ZQWO'#FhOOQO,5<R,5<ROOQV,5=l,5=lO#&`QYO'#FzOOQV,5<h,5<hO#&gQWO,5<hO#&nQWO,5=SO!1WQWO,59rO!1dQWO,5<dO#&uQWO,5=iO!2_QWO,5<jO!2_QWO,5<zO!2_QWO,5<|O!2_QWO,5=QO#&|QWO,5=]O#'TQWO,5=SO!2_QWO,5=]O!3|QWO,5=aO#']QWO,5=jOOQO-E;|-E;|O#'hQWO'#JjOOQV-E;h-E;hO#(PQWO'#HRO#(WQ_O,59pOOQV,59p,59pO#(_QWO,59pO#(dQ_O,59pO#)SQZO'#CuO#+[QZO'#CvOOQV'#C|'#C|O#-wQWO'#HTO#.OQYO'#IdOOQO'#Hh'#HhO#.WQWO'#CwO#.WQWO'#CwO#.iQWO'#CwOOQR'#Ic'#IcO#.nQZO'#IbO#1TQYO'#HTO#1qQYO'#H[O#2}QYO'#H_OKlQYO'#H`OOQR'#Hb'#HbO#4ZQWO'#HeO#4`QYO,59]OOQR'#Ib'#IbO#5PQZO'#CtO#7[QYO'#HUO#7aQWO'#HTO#7fQYO'#CrO#8VQWO'#H]O#7fQYO'#HcOOQV-E;e-E;eO#8_QWO,59sOOQV,59{,59{O#8mQYO,5=[OOQV,59},59}O!0zQWO,59}O#;aQWO'#IpOOQO'#Ip'#IpO!1PQ^O'#DhO!0zQWO,5:QO#;hQWO,5;iO#<OQWO,5;rO#<fQ_O,5;rOOQO,5;u,5;uO#@PQ_O,5;|O#BXQWO,5;PO!0zQWO,5<XO#B`QWO,5<ZOOQV,5<Z,5<ZO#BkQWO,5<]O!1PQ^O'#EOOOQQ'#D_'#D_O#BsQWO,59rO#BxQWO,5<`O#B}QWO,5<dOOQO,5@U,5@UO#CVQWO,5=iOOQQ'#Cv'#CvO#C[QYO,5<jO#CmQYO,5<zO#CxQYO,5<|O#DTQYO,5=_O#DcQYO,5=SO#E{QYO'#GQO#FYQYO,5=[O#FmQWO,5=[O#F{QYO,5=[O#HUQYO,5=]O#HdQWO,5=`O!1PQ^O,5=`O#HrQWO'#CnO#ITQWO'#I`OOQO'#Jy'#JyO#IfQWO'#IQO#IkQWO'#GwOOQO'#Jz'#JzO#JSQWO'#GzOOQO'#G|'#G|OOQO'#Jx'#JxO#IkQWO'#GwO#JZQWO'#GxO#J`QWO,5=aO#JeQWO,5=jO!1dQWO,5=jO#'`QWO,5=jPOOO'#Hf'#HfP#JjOpO,58}POOO,58},58}OOOO-E;g-E;gOOQV1G/T1G/TO#JuQWO1G4{O#JzQ^O'#CyPOQQ'#Cx'#CxOOQO1G/v1G/vOOQP1G.u1G.uO)xQWO1G/vO#NTQ!fO'#ETO#N[Q!fO'#EaO#NcQ!fO'#EbO$ kQWO1G1yO$!_Q_O1G1yOOQP1G5V1G5VOOQO1G1]1G1]O$&RQWO1G0oO$&WQWO'#CiO!7xQXO'#I`O!6PQYO1G.lO!5oQWO,5<_O!9SQWO,59ZO!9SQWO,59ZO!5oQWO,5?kO$&iQWO1G0uO$(vQWO1G0wO$*nQWO1G0wO$+UQWO1G0wO$-YQWO1G0wO$-aQWO1G0wO$/bQWO1G0wO$/iQWO1G0wO$1jQWO1G0wO$1qQWO1G0wO$3YQWO1G1QO$5ZQWO1G1VO$5zQ_O'#JcO$8SQWO'#JcOOQO'#Jb'#JbO$8^QWO,5;mOOQO'#Dw'#DwOOQO1G1[1G1[OOQO1G1Y1G1YO$8cQWO1G1cOOQO1G1R1G1RO$8jQ_O'#HrO$:xQWO,5@OO.YQ_O1G1dOOQO1G1d1G1dO$;QQWO1G1dO$;_QWO1G1dO$;dQWO1G1eOOQO1G1l1G1lO$;lQWO1G1lOOQP,5?^,5?^O$;vQ^O,5:kO$<aQXO,5:YO!M{QWO,5:YO!M{QWO,5:YO!1PQ^O,5:gO$=bQWO'#IyOOQO'#Ix'#IxO$=pQWO,5:ZO# ^Q^O,5:ZO$=uQWO'#DsOOQP,5:^,5:^O$>WQWO,5:fOOQP,5:h,5:hO!1PQ^O,5:hO!1PQ^O,5:mO$>]QYO,5<OO$>gQ_O'#HsO$>tQXO,5@QOOQV1G1i1G1iOOQP,5:e,5:eO$>|QXO,5<OO$?[QWO1G1hO$?dQWO'#CnO$?oQWO'#FiOOQO'#Fi'#FiO$?wQWO'#FjO.YQ_O'#FkOOQO'#Ji'#JiO$?|QWO'#JhOOQO'#Jg'#JgO$@UQWO,5<SOOQQ'#Hv'#HvO$@ZQYO,5<fOOQV,5<f,5<fO$@bQYO,5<fOOQV1G2S1G2SO$@iQWO1G2nO$@qQWO1G/^O$@vQWO1G2OO#CVQWO1G3TO$AOQYO1G2UO#CmQYO1G2fO#CxQYO1G2hO$AaQYO1G2lO!2_QWO1G2wO#DcQYO1G2nO#HUQYO1G2wO$AiQWO1G2{O$AnQWO1G3UO!1dQWO1G3UO$AsQWO1G3UOOQV1G/[1G/[O$A{QWO1G/[O$BQQ_O1G/[O#7aQWO,5=oO$BXQYO,5?OO$BmQWO,5?OO$BrQZO'#IeOOQO-E;f-E;fOOQR,59c,59cO#.WQWO,59cO#.WQWO,59cOOQR,5=n,5=nO$E_QYO'#HVO$FwQZO,5=oO!5oQWO,5={O$IZQWO,5=oO$IbQZO,5=vO$KqQYO,5=vO$>]QYO,5=vO$LRQWO'#KRO$L^QWO,5=xOOQR,5=y,5=yO$LcQWO,5=zO$>]QYO,5>PO$>]QYO,5>POOQO1G.w1G.wO$>]QYO1G.wO$LnQYO,5=pO$LvQZO,59^OOQR,59^,59^O$>]QYO,5=wO% YQZO,5=}OOQR,5=},5=}O%#lQWO1G/_O!6PQYO1G/_O#FYQYO1G2vO%#qQWO1G2vO%$PQYO1G2vOOQV1G/i1G/iO%%YQWO,5:SO%%bQ_O1G/lO%*kQWO1G1^O%+RQWO1G1hOOQO1G1h1G1hO$>]QYO1G1hO%+iQ^O'#EgOOQV1G0k1G0kOOQV1G1s1G1sO!!vQ_O1G1sO!0zQWO1G1uO!1PQ^O1G1wO!.cQ_O1G1wOOQP,5:j,5:jO$>]QYO1G/^OOQO'#Cn'#CnO%+vQWO1G1zOOQV1G2O1G2OO%,OQWO'#CnO%,WQWO1G3TO%,]QWO1G3TO%,bQYO'#GQO%,sQWO'#G]O%-UQYO'#G_O%.hQYO'#GXOOQV1G2U1G2UO%/wQWO1G2UO%/|QWO1G2UO$ARQWO1G2UOOQV1G2f1G2fO%/wQWO1G2fO#CpQWO1G2fO%0UQWO'#GdOOQV1G2h1G2hO%0gQWO1G2hO#C{QWO1G2hO%0lQYO'#GSO$>]QYO1G2lO$AdQWO1G2lOOQV1G2y1G2yO%1xQWO1G2yO%3hQ^O'#GkO%3rQWO1G2nO#DfQWO1G2nO%4QQYO,5<lO%4[QYO,5<lO%4jQYO,5<lO%5XQYO,5<lOOQQ,5<l,5<lO!1WQWO'#JuO%5dQYO,5<lO%5lQWO1G2vOOQV1G2v1G2vO%5tQWO1G2vO$>]QYO1G2vOOQV1G2w1G2wO%5tQWO1G2wO%5yQWO1G2wO#HXQWO1G2wOOQV1G2z1G2zO.YQ_O1G2zO$>]QYO1G2zO%6RQWO1G2zOOQO,5>l,5>lOOQO-E<O-E<OOOQO,5=c,5=cOOQO,5=e,5=eOOQO,5=g,5=gOOQO,5=h,5=hO%6aQWO'#J|OOQO'#J{'#J{O%6iQWO,5=fO%6nQWO,5=cO!1dQWO,5=dOOQV1G2{1G2{O$>]QYO1G3UPOOO-E;d-E;dPOOO1G.i1G.iOOQO7+*g7+*gO%7VQYO'#IcO%7nQYO'#IfO%7yQYO'#IfO%8RQYO'#IfO%8^QYO,59eOOQO7+%b7+%bOOQP7+$a7+$aO%8cQ!fO'#JTOOQS'#EX'#EXOOQS'#EY'#EYOOQS'#EZ'#EZOOQS'#JT'#JTO%;UQWO'#EWOOQS'#E`'#E`OOQS'#JR'#JROOQS'#Hn'#HnO%;ZQ!fO,5:oOOQV,5:o,5:oOOQV'#JQ'#JQO%;bQ!fO,5:{OOQV,5:{,5:{O%;iQ!fO,5:|OOQV,5:|,5:|OOQV7+'e7+'eOOQV7+&Z7+&ZO%;pQ!fO,59TOOQO,59T,59TO%>YQWO7+$WO%>_QWO1G1yOOQV1G1y1G1yO!9SQWO1G.uO%>dQWO,5?}O%>nQ_O'#HqO%@|QWO,5?}OOQO1G1X1G1XOOQO7+&}7+&}O%AUQWO,5>^OOQO-E;p-E;pO%AcQWO7+'OO.YQ_O7+'OOOQO7+'O7+'OOOQO7+'P7+'PO%AjQWO7+'POOQO7+'W7+'WOOQP1G0V1G0VO%ArQXO1G/tO!M{QWO1G/tO%BsQXO1G0RO%CkQ^O'#HlO%C{QWO,5?eOOQP1G/u1G/uO%DWQWO1G/uO%D]QWO'#D_OOQO'#Dt'#DtO%DhQWO'#DtO%DmQWO'#I{OOQO'#Iz'#IzO%DuQWO,5:_O%DzQWO'#DtO%EPQWO'#DtOOQP1G0Q1G0QOOQP1G0S1G0SOOQP1G0X1G0XO%EXQXO1G1jO%EdQXO'#FeOOQP,5>_,5>_O!1PQ^O'#FeOOQP-E;q-E;qO$>]QYO1G1jOOQO7+'S7+'SOOQO,5<T,5<TO%ErQWO,5<UO.YQ_O,5<UO%EwQWO,5<VO%FRQWO'#HtO%FdQWO,5@SOOQO1G1n1G1nOOQQ-E;t-E;tOOQV1G2Q1G2QO%FlQYO1G2QO#DcQYO7+(YO$>]QYO7+$xOOQV7+'j7+'jO%FsQWO7+(oO%FxQWO7+(oOOQV7+'p7+'pO%/wQWO7+'pO%F}QWO7+'pO%GVQWO7+'pOOQV7+(Q7+(QO%/wQWO7+(QO#CpQWO7+(QOOQV7+(S7+(SO%0gQWO7+(SO#C{QWO7+(SO$>]QYO7+(WO%GeQWO7+(WO#HUQYO7+(cO%GjQWO7+(YO#DfQWO7+(YOOQV7+(c7+(cO%5tQWO7+(cO%5yQWO7+(cO#HXQWO7+(cOOQV7+(g7+(gO$>]QYO7+(pO%GxQWO7+(pO!1dQWO7+(pOOQV7+$v7+$vO%G}QWO7+$vO%HSQZO1G3ZO%JfQWO1G4jOOQO1G4j1G4jOOQR1G.}1G.}O#.WQWO1G.}O%JkQWO'#KQOOQO'#HW'#HWO%J|QWO'#HXO%KXQWO'#KQOOQO'#KP'#KPO%KaQWO,5=qO%KfQYO'#H[O%LrQWO'#GmO%L}QYO'#CtO%MXQWO'#GmO$>]QYO1G3ZOOQR1G3g1G3gO#7aQWO1G3ZO%M^QZO1G3bO$>]QYO1G3bO& mQYO'#IVO& }QWO,5@mOOQR1G3d1G3dOOQR1G3f1G3fO.YQ_O1G3fOOQR1G3k1G3kO&!VQYO7+$cO&!_QYO'#KOOOQQ'#J}'#J}O&!gQYO1G3[O&!lQZO1G3cOOQQ7+$y7+$yO&${QWO7+$yO&%QQWO7+(bOOQV7+(b7+(bO%5tQWO7+(bO$>]QYO7+(bO#FYQYO7+(bO&%YQWO7+(bO!.cQ_O1G/nO&%hQWO7+%WO$?[QWO7+'SO&%pQWO'#EhO&%{Q^O'#EhOOQU'#Ho'#HoO&%{Q^O,5;ROOQV,5;R,5;RO&&VQWO,5;RO&&[Q^O,5;RO!0zQWO7+'_OOQV7+'a7+'aO&&iQWO7+'cO&&qQWO7+'cO&&xQWO7+$xO&'TQ!fO7+'fO&'[Q!fO7+'fOOQV7+(o7+(oO!1dQWO7+(oO&'cQYO,5<lO&'nQYO,5<lO!1dQWO'#GWO&'|QWO'#JpO&([QWO'#G^O!BxQWO'#G^O&(aQWO'#JpOOQO'#Jo'#JoO&(iQWO,5<wOOQO'#DX'#DXO&(nQYO'#JrO&)}QWO'#JrO$>]QYO'#JrOOQO'#Jq'#JqO&*YQWO,5<yO&*_QWO'#GZO#D^QWO'#G[O&*gQWO'#G[O&*oQWO'#JmOOQO'#Jl'#JlO&*zQYO'#GTOOQO,5<s,5<sO&+PQWO7+'pO&+UQWO'#JtO&+dQWO'#GeO#BxQWO'#GeO&+uQWO'#JtOOQO'#Js'#JsO&+}QWO,5=OO$>]QYO'#GUO&,SQYO'#JkOOQQ,5<n,5<nO&,kQWO7+(WOOQV7+(e7+(eO&.TQ^O'#D|O&._QWO'#GlO&.gQ^O'#JwOOQO'#Gn'#GnO&.nQWO'#JwOOQO'#Jv'#JvO&.vQWO,5=VO&.{QWO'#I`O&/]Q^O'#GmO&/dQWO'#IqO&/rQWO'#GmOOQV7+(Y7+(YO&/zQWO7+(YO$>]QYO7+(YO&0SQYO'#HxO&0hQYO1G2WOOQQ1G2W1G2WOOQQ,5<m,5<mO$>]QYO,5<qO&0pQWO,5<rO&0uQWO7+(bO&1QQWO7+(fO&1XQWO7+(fOOQV7+(f7+(fO.YQ_O7+(fO$>]QYO7+(fO&1dQWO'#IRO&1nQWO,5@hOOQO1G3Q1G3QOOQO1G2}1G2}OOQO1G3P1G3POOQO1G3R1G3ROOQO1G3S1G3SOOQO1G3O1G3OO&1vQWO7+(pO$>]QYO,59fO&2RQ^O'#ISO&2xQYO,5?QOOQR1G/P1G/PO&3QQ!bO,5:pO&3VQ!fO,5:rOOQS-E;l-E;lOOQV1G0Z1G0ZOOQV1G0g1G0gOOQV1G0h1G0hO&3^QWO'#JTOOQO1G.o1G.oOOQV<<Gr<<GrO&3iQWO1G5iO$5zQ_O,5>]O&3qQWO,5>]OOQO-E;o-E;oOOQO<<Jj<<JjO&3{QWO<<JjOOQO<<Jk<<JkO&4SQXO7+%`O&5TQWO,5>WOOQO-E;j-E;jOOQP7+%a7+%aO!1PQ^O,5:`O&5cQWO'#HmO&5wQWO,5?gOOQP1G/y1G/yOOQO,5:`,5:`O&6PQWO,5:`O%DzQWO,5:`O$>]QYO,5<PO&6UQXO,5<PO&6dQXO7+'UO.YQ_O1G1pO&6oQWO1G1pOOQO,5>`,5>`OOQO-E;r-E;rOOQV7+'l7+'lO&6yQWO<<KtO#DfQWO<<KtO&7XQWO<<HdOOQV<<LZ<<LZO!1dQWO<<LZOOQV<<K[<<K[O&7dQWO<<K[O%/wQWO<<K[O&7iQWO<<K[OOQV<<Kl<<KlO%/wQWO<<KlOOQV<<Kn<<KnO%0gQWO<<KnO&7qQWO<<KrO$>]QYO<<KrOOQV<<K}<<K}O%5tQWO<<K}O%5yQWO<<K}O#HXQWO<<K}OOQV<<Kt<<KtO&7yQWO<<KtO$>]QYO<<KtO&8RQWO<<L[O$>]QYO<<L[O&8^QWO<<L[OOQV<<Hb<<HbO$>]QYO7+(uOOQO7+*U7+*UOOQR7+$i7+$iO&8cQWO,5@lOOQO'#Gm'#GmO&8kQWO'#GmO&8vQYO'#IUO&8cQWO,5@lOOQR1G3]1G3]O&:cQYO,5=vO&;rQYO,5=XO&;|QWO,5=XOOQO,5=X,5=XOOQR7+(u7+(uO&<RQZO7+(uO&>eQZO7+(|O&@tQWO,5>qOOQO-E<T-E<TO&APQWO7+)QOOQO<<G}<<G}O&AWQYO'#ITO&AcQYO,5@jOOQQ7+(v7+(vOOQQ<<He<<HeO$>]QYO<<K|OOQV<<K|<<K|O&0uQWO<<K|O&AkQWO<<K|O%5tQWO<<K|O&AsQWO7+%YOOQV<<Hr<<HrOOQO<<Jn<<JnO.YQ_O,5;SO&AzQWO,5;SO.YQ_O'#EjO&BPQWO,5;SOOQU-E;m-E;mO&B[QWO1G0mOOQV1G0m1G0mO&%{Q^O1G0mOOQV<<Jy<<JyO!.cQ_O<<J}OOQV<<J}<<J}OOQV<<Hd<<HdO.YQ_O<<HdO&BaQWO'#FvO&BfQWO<<KQO&BnQ!fO<<KQO&BuQWO<<KQO&BzQWO<<KQO&CSQ!fO<<KQOOQV<<KQ<<KQO&CZQWO<<LZO&C`QWO,5@[O$>]QYO,5<xO&ChQWO,5<xO&CmQWO'#H{O&C`QWO,5@[OOQV1G2c1G2cO&DRQWO,5@^O$>]QYO,5@^O&D^QYO'#H|O&EsQWO,5@^OOQO1G2e1G2eO%,nQWO,5<uOOQO,5<v,5<vO&E{QYO'#HzO&G_QWO,5@XO%,bQYO,5=pO$>]QYO,5<oO&GjQWO,5@`O.YQ_O,5=PO&GrQWO,5=PO&G}QWO,5=PO&H`QWO'#H}O&GjQWO,5@`OOQV1G2j1G2jO&HtQYO,5<pO%0lQYO,5>PO&I]QYO,5@VOOQV<<Kr<<KrO&ItQWO,5=XO&KfQ^O,5:hO&KmQWO,5=XO$>]QYO,5=WO&KuQWO,5@cO&K}QWO,5@cO&MvQ^O'#IPO&KuQWO,5@cOOQO1G2q1G2qO&NTQWO,5=WO&N]QWO<<KtO&NkQYO,5>oO&NvQYO,5>dO' UQYO,5>dOOQQ,5>d,5>dOOQQ-E;v-E;vOOQQ7+'r7+'rO' aQYO1G2]O$>]QYO1G2^OOQV<<LQ<<LQO.YQ_O<<LQO' lQWO<<LQO' sQWO<<LQOOQO,5>m,5>mOOQO-E<P-E<POOQV<<L[<<L[O.YQ_O<<L[O'!OQYO1G/QO'!ZQYO,5>nOOQQ,5>n,5>nO'!fQYO,5>nOOQQ-E<Q-E<QOOQS1G0[1G0[O'$tQ!fO1G0^O'%RQ!fO1G0^O'%YQWO1G3wOOQOAN@UAN@UO'%dQWO1G/zOOQO,5>X,5>XOOQO-E;k-E;kO!1PQ^O1G/zOOQO1G/z1G/zO'%oQWO1G/zO'%tQXO1G1kO$>]QYO1G1kO'&PQWO7+'[OOQVANA`ANA`O'&ZQWOANA`O$>]QYOANA`O'&cQWOANA`OOQVAN>OAN>OO.YQ_OAN>OO'&qQWOANAuOOQVAN@vAN@vO'&vQWOAN@vOOQVANAWANAWOOQVANAYANAYOOQVANA^ANA^O'&{QWOANA^OOQVANAiANAiO%5tQWOANAiO%5yQWOANAiO''TQWOANA`OOQVANAvANAvO.YQ_OANAvO''cQWOANAvO$>]QYOANAvOOQR<<La<<LaO''nQWO1G6WO%JkQWO,5>pOOQO'#HY'#HYO''vQWO'#HZOOQO,5>p,5>pOOQO-E<S-E<SO'(RQYO1G2sO'(]QWO1G2sOOQO1G2s1G2sO$>]QYO<<LaOOQR<<Ll<<LlOOQQ,5>o,5>oOOQQ-E<R-E<RO&0uQWOANAhOOQVANAhANAhO%5tQWOANAhO$>]QYOANAhO'(bQWO1G1rO')UQ^O1G0nO.YQ_O1G0nO'*zQWO,5;UO'+RQWO1G0nP'+WQWO'#ERP&%{Q^O'#HpOOQV7+&X7+&XO'+cQWO7+&XO&&qQWOAN@iO'+hQWOAN>OO!5oQWO,5<bOOQS,5>a,5>aO'+oQWOAN@lO'+tQWOAN@lOOQS-E;s-E;sOOQVAN@lAN@lO'+|QWOAN@lOOQVANAuANAuO',UQWO1G5vO',^QWO1G2dO$>]QYO1G2dO&'|QWO,5>gOOQO,5>g,5>gOOQO-E;y-E;yO',iQWO1G5xO',qQWO1G5xO&(nQYO,5>hO',|QWO,5>hO$>]QYO,5>hOOQO-E;z-E;zO'-XQWO'#JnOOQO1G2a1G2aOOQO,5>f,5>fOOQO-E;x-E;xO&'cQYO,5<lO'-gQYO1G2ZO'.RQWO1G5zO'.ZQWO1G2kO.YQ_O1G2kO'.eQWO1G2kO&+UQWO,5>iOOQO,5>i,5>iOOQO-E;{-E;{OOQQ,5>c,5>cOOQQ-E;u-E;uO'.pQWO1G2sO'/QQWO1G2rO'/]QWO1G5}O'/eQ^O,5>kOOQO'#Go'#GoOOQO,5>k,5>kO'/lQWO,5>kOOQO-E;}-E;}O$>]QYO1G2rO'/zQYO7+'xO'0VQWOANAlOOQVANAlANAlO.YQ_OANAlO'0^QWOANAvOOQS7+%x7+%xO'0eQWO7+%xO'0pQ!fO7+%xO'0}QWO7+%fO!1PQ^O7+%fO'1YQXO7+'VOOQVG26zG26zO'1eQWOG26zO'1sQWOG26zO$>]QYOG26zO'1{QWOG23jOOQVG27aG27aOOQVG26bG26bOOQVG26xG26xOOQVG27TG27TO%5tQWOG27TO'2SQWOG27bOOQVG27bG27bO.YQ_OG27bO'2ZQWOG27bOOQO1G4[1G4[OOQO7+(_7+(_OOQRANA{ANA{OOQVG27SG27SO%5tQWOG27SO&0uQWOG27SO'2fQ^O7+&YO'4PQWO7+'^O'4sQ^O7+&YO.YQ_O7+&YP.YQ_O,5;SP'6PQWO,5;SP'6UQWO,5;SOOQV<<Is<<IsOOQVG26TG26TOOQVG23jG23jOOQO1G1|1G1|OOQVG26WG26WO'6aQWOG26WP&B}QWO'#HuO'6fQWO7+(OOOQO1G4R1G4RO'6qQWO7++dO'6yQWO1G4SO$>]QYO1G4SO%,nQWO'#HyO'7UQWO,5@YO'7dQWO7+(VO.YQ_O7+(VOOQO1G4T1G4TOOQO1G4V1G4VO'7nQWO1G4VO'7|QWO7+(^OOQVG27WG27WO'8XQWOG27WOOQS<<Id<<IdO'8`QWO<<IdO'8kQWO<<IQOOQVLD,fLD,fO'8vQWOLD,fO'9OQWOLD,fOOQVLD)ULD)UOOQVLD,oLD,oOOQVLD,|LD,|O'9^QWOLD,|O.YQ_OLD,|OOQVLD,nLD,nO%5tQWOLD,nO'9eQ^O<<ItO';OQWO<<JxO';rQ^O<<ItP'=OQWO1G0nP'=oQ^O1G0nP.YQ_O1G0nP'?bQWO1G0nOOQVLD+rLD+rO'?gQWO7+)nOOQO,5>e,5>eOOQO-E;w-E;wO'?rQWO<<KqOOQVLD,rLD,rOOQSAN?OAN?OOOQV!$(!Q!$(!QO'?|QWO!$(!QOOQV!$(!h!$(!hO'@UQWO!$(!hOOQV!$(!Y!$(!YO'@]Q^OAN?`POQU7+&Y7+&YP'AvQWO7+&YP'BgQ^O7+&YP.YQ_O7+&YOOQV!)9El!)9ElOOQV!)9FS!)9FSPOQU<<It<<ItP'DYQWO<<ItP'DyQ^O<<ItPOQUAN?`AN?`O'FlQWO'#CnO'FsQXO'#CnO'GlQWO'#I`O'IRQXO'#I`O'IxQWO'#DpO'IxQWO'#DpO!.cQ_O'#EkO'JZQ_O'#EoO'JbQ_O'#FPO'MfQ_O'#FbO'MmQXO'#I`O'NdQ_O'#E}O( gQ_O'#FWO'IxQWO,5:[O'IxQWO,5:[O!.cQ_O,5;ZO!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;]O!.cQ_O,5;fO(!jQ_O,5;kO(%nQWO,5;kO(&OQWO,5;|O(&VQYO'#CuO(&bQYO'#CvO(&mQWO'#CwO(&mQWO'#CwO('OQYO'#CtO('ZQWO,5;iO('bQWO,5;rO('iQ_O,5;rO((oQ_O,5;|O'IxQWO1G/vO((vQWO1G0uO(*eQWO1G0wO(*oQWO1G0wO(,dQWO1G0wO(,kQWO1G0wO(.]QWO1G0wO(.dQWO1G0wO(0UQWO1G0wO(0]QWO1G0wO(0dQWO1G1QO(0tQWO1G1VO(1UQYO'#IeO(&mQWO,59cO(&mQWO,59cO(1aQWO1G1^O(1hQWO1G1hO(&mQWO1G.}O(1oQWO'#DpO!.^QXO'#FbO(1tQWO,5;ZO(1{QWO'#Cw",stateData:"(2_~O&|OSUOS&}PQ~OPoOQ!QOSVOTVOZeO[lO^RO_RO`ROa!UOd[Og!nOsVOtVOuVOw!POyvO|!VO}mO!Q!dO!U!WO!W!XO!X!^O!Z!YO!]!pO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q`O'TQO'ZkO'^UO'gcO'qiO(QdO~O&}!sO~OZbX[bXdbXdlXobXwjX}bX!lbX!qbX!tbX#ObX#PbX#pbX'gbX'qbX'rbX'xbX'ybX'zbX'{bX'|bX'}bX(ObX(PbX(QbX(RbX(TbX~OybXXbX!ebX!PbXvbX#RbX~P$|OZ'SX['SXd'SXd'XXo'SXw'kXy'SX}'SX!l'SX!q'SX!t'SX#O'SX#P'SX#p'SX'g'SX'q'SX'r'SX'x'SX'y'SX'z'SX'{'SX'|'SX'}'SX(O'SX(P'SX(Q'SX(R'SX(T'SXv'SX~OX'SX!e'SX!P'SX#R'SX~P'ZOr!uO']!wO'_!uO~Od!xO~O^RO_RO`ROaRO'TQO~Od!}O~Od#PO[(SXo(SXy(SX}(SX!l(SX!q(SX!t(SX#O(SX#P(SX#p(SX'g(SX'q(SX'r(SX'x(SX'y(SX'z(SX'{(SX'|(SX'}(SX(O(SX(P(SX(Q(SX(R(SX(T(SXv(SX~OZ#OO~P*`OZ#RO[#QO~OQ!QO^#TO_#TO`#TOa#]Od#ZOg!nOyvO|!VO!Q!dO!U#^O!W!lO!]!pO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q#VO'T#SO~OPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!j#eO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xO[#}Oo#xO}#zO!l#yO!q#jO!t#yO#O#xO#P#uO#p$OO'g#gO'q#yO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO~OPoOQ!QOSVOTVOZeOd[OsVOtVOuVOw!PO!U#bO!W#cO!X!^O!Z!YO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sXo#sXy#sX}#sX!l#sX!q#sX!t#sX#O#sX#P#sX#p#sX'g#sX'q#sX'r#sX'x#sX'y#sX'z#sX'{#sX'|#sX'}#sX(O#sX(P#sX(Q#sX(R#sX(T#sXX#sX!e#sX!P#sXv#sX#R#sX~P)xOX(SX!e(SX!P(SXw(SX#R(SX~P*`OPoOQ!QOSVOTVOX$ROZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!P$XO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOQ!QOSVOTVO[$gO^$pO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O!j$rOP(XP~P<cOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Q$uO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOw$vO~Oo'bX#O'bX#P'bX#p'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(R'bX(T'bX~OP%tXQ%tXS%tXT%tXZ%tX[%tX^%tX_%tX`%tXa%tXd%tXg%tXs%tXt%tXu%tXw%tXy%tX|%tX}%tX!Q%tX!U%tX!W%tX!X%tX!Z%tX!]%tX!l%tX!q%tX!t%tX#Y%tX#r%tX#{%tX$O%tX$b%tX$d%tX$f%tX$i%tX$m%tX$q%tX$s%tX%T%tX%V%tX%Z%tX%]%tX%^%tX%f%tX%j%tX%s%tX&z%tX'Q%tX'T%tX'Z%tX'^%tX'g%tX'q%tX(Q%tXv%tX~P@[Oy$xO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bXv'bX~P@[Ow$yO!Q(iX!U(iX!W(iX$q(iX%](iX%^(iX~Oy$zO~PEsO!Q$}O!U%UO!W!lO$m%OO$q%PO$s%QO%T%RO%V%SO%Z%TO%]!lO%^%VO%f%WO%j%XO%s%YO~O!Q!lO!U!lO!W!lO$q%[O%]!lO~O%^%VO~PGaOPoOQ!QOSVOTVOZeO[lO^RO_RO`ROa!UOd[Og!nOsVOtVOuVOw!POyvO|!VO}mO!Q!dO!U!WO!W!XO!X!^O!Z!YO!]!pO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q#VO'TQO'ZkO'^UO'gcO'qiO(QdO~Ov%`O~P]OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO!Q{X!U{X!W{X$m{X$q{X$s{X%T{X%V{X%Z{X%]{X%^{X%f{X%j{X%s{X~P'ZO!Q{X!U{X!W{X$m{X$q{X$s{X%T{X%V{X%Z{X%]{X%^{X%f{X%j{X%s{X~O}%}O'T{XQ{XZ{X[{X^{X_{X`{Xa{Xd{Xg{X!q{X$f{X&W{X'Z{X(Q{X~PMuOg&PO%f%WO!Q(iX!U(iX!W(iX$q(iX%](iX%^(iX~Ow!PO~P! yOw!PO!X&RO~PEvOPoOQ!QOSVOTVOZeO[lO^9qO_9qO`9qOa9qOd9tOsVOtVOuVOw!PO}mO!U#bO!W#cO!X:zO!Z!YO!]&UO!l9wO!q9vO!t9wO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'T9oO'ZkO'^UO'gcO'q9wO(QdO~OPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#qXy#qX#O#qX#P#qX#p#qX'r#qX'x#qX'y#qX'z#qX'{#qX'|#qX'}#qX(O#qX(P#qX(R#qX(T#qXX#qX!e#qX!P#qXv#qX#R#qX~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#zXy#zX#O#zX#P#zX#p#zX'r#zX'x#zX'y#zX'z#zX'{#zX'|#zX'}#zX(O#zX(P#zX(R#zX(T#zXX#zX!e#zX!P#zXv#zX#R#zX~P)xO'ZkO[#}Xo#}Xy#}X}#}X!l#}X!q#}X!t#}X#O#}X#P#}X#p#}X'g#}X'q#}X'r#}X'x#}X'y#}X'z#}X'{#}X'|#}X'}#}X(O#}X(P#}X(Q#}X(R#}X(T#}XX#}X!e#}X!P#}Xv#}Xw#}X#R#}X~OPoO~OPoOQ!QOSVOTVOZeO[lO^9qO_9qO`9qOa9qOd9tOsVOtVOuVOw!PO}mO!U#bO!W#cO!X:zO!Z!YO!l9wO!q9vO!t9wO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'T9oO'ZkO'^UO'gcO'q9wO(QdO~O!S&_O~Ow!PO~O!j&bO~P<cO'T&cO~PEvOZ&eO~O'T&cO~O'^UOw(^Xy(^X!Q(^X!U(^X!W(^X$q(^X%](^X%^(^X~Oa&hO~P!1iO'T&iO~O_&nO'T&cO~OQ&oOZ&pO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO!j&uO~P<cO^&wO_&wO`&wOa&wOd'POw&|O'T&vO(Q&}O~O!i'UO!j'TO'T&cO~O&}!sO'O'VO'P'XO~Or!uO']'ZO'_!uO~OQ']O^'ia_'ia`'iaa'ia'T'ia~O['cOw'dO}'bO~OQ']O~OQ!QO^#TO_#TO`#TOa'kOd#ZO'T#SO~O['lO~OZbXdlXXbXobXPbX!SbX!ebX'rbX!PbX!ObXybX!ZbX#RbXvbX~O[bXwbX}bX~P!6mOZ'SXd'XXX'SX['SXo'SXw'SX}'SX#p'SXP'SX!S'SX!e'SX'r'SX!P'SX!O'SXy'SX!Z'SX#R'SXv'SX~O^#TO_#TO`#TOa'kO'T#SO~OZ'mO~Od'oO~OZ'SXd'XX~PMuOZ'pOX(SX!e(SX!P(SXw(SX#R(SX~P*`O[#}O}#zO(O#|O(R#fOo#_ay#_a!l#_a!q#_a!t#_a#O#_a#P#_a#p#_a'g#_a'q#_a'r#_a'x#_a'y#_a'z#_a'{#_a'|#_a'}#_a(P#_a(Q#_a(T#_aX#_a!e#_a!P#_av#_aw#_a#R#_a~Ow!PO!X&RO~Oy#caX#ca!e#ca!P#cav#ca#R#ca~P2gOPoOQ!QOSVOTVOZeOd[OsVOtVOuVOw!PO!U#bO!W#cO!X!^O!Z!YO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sao#say#sa}#sa!l#sa!q#sa!t#sa#O#sa#P#sa#p#sa'g#sa'q#sa'r#sa'x#sa'y#sa'z#sa'{#sa'|#sa'}#sa(O#sa(P#sa(Q#sa(R#sa(T#saX#sa!e#sa!P#sav#sa#R#sa~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO!P(UP~P)xOu(SO#w(TO'T(RO~O[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#sa!t#sa#p#sa'q#sa~Oo#xO#O#xO#P#uOy#saX#sa!e#sa!P#sav#sa#R#sa~P!B}Oy(YO!e(WOX(WX~P2gOX(ZO~OPoOQ!QOSVOTVOX(ZOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOZ#RO~O!P(_O!e(WO~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q$UO'ZkO'^UO'gcO'qiO(QdO~P)xOZbXdlXwjX}jX!tbX'qbX~OP!RX!S!RX!e!RX'p!RX'r!RX!O!RXo!RXy!RX!P!RXX!RX!Z!RX#R!RXv!RX~P!JUOZ'SXd'XXw'kX}'kX!t'SX'q'SX~OP!`X!S!`X!e!`X'r!`X!O!`Xo!`Xy!`X!P!`XX!`X!Z!`X#R!`Xv!`X~P!KgOT(aOu(aO~O!t(bO'q(bOP!^X!S!^X!e!^X'r!^X!O!^Xo!^Xy!^X!P!^XX!^X!Z!^X#R!^Xv!^X~O^9rO_9rO`9yOa9yO'T9pO~Od(eO~O'p(fOP'hX!S'hX!e'hX'r'hX!O'hXo'hXy'hX!P'hXX'hX!Z'hX#R'hXv'hX~O!j&bO!P'lP~P<cOw(kO}(jO~O!j&bOX'lP~P<cO!j(oO~P<cOZ'pO!t(bO'q(bO~O!S(qO'r(pOP$WX!e$WX~O!e(rOP(YX~OP(tO~OP!aX!S!aX!e!aX'r!aX!O!aXo!aXy!aX!P!aXX!aX!Z!aX#R!aXv!aX~P!KgOy$UaX$Ua!e$Ua!P$Uav$Ua#R$Ua~P2gO!l(|O'Q#VO'T(xOv(ZP~OQ!QO^#TO_#TO`#TOa#]Od#ZOg!nOyvO|!VO!Q!dO!U#^O!W!lO!]!pO$i!eO$m!fO$q!gO$s!hO%T!iO%V!jO%Z!kO%]!lO%^!mO%f!oO%j!qO%s!rO'Q`O'T#SO~Ov)TO~P#$iOy)VO~PEsO%^)WO~PGaOa)ZO~P!1iO%f)`O~PEvO_)aO'T&cO~O!i)fO!j)eO'T&cO~O'^UO!Q(^X!U(^X!W(^X$q(^X%](^X%^(^X~Ov%uX~P2gOv)gO~PGyOv)gO~Ov)gO~P]OQiXQ'XXZiXd'XX}iX#piX(PiX~ORiXwiX$fiX$|iX[iXoiXyiX!liX!qiX!tiX#OiX#PiX'giX'qiX'riX'xiX'yiX'ziX'{iX'|iX'}iX(OiX(QiX(RiX(TiX!PiX!eiXXiXPiXviX!SiX#RiX~P#(kOQjXQlXRjXZjXdlX}jX#pjX(PjXwjX$fjX$|jX[jXojXyjX!ljX!qjX!tjX#OjX#PjX'gjX'qjX'rjX'xjX'yjX'zjX'{jX'|jX'}jX(OjX(QjX(RjX(TjX!PjX!ejXXjX!SjXPjXvjX#RjX~O%^)jO~PGaOQ']Od)kO~O^)mO_)mO`)mOa)mO'T%dO~Od)qO~OQ']OZ)uO})sOR'UX#p'UX(P'UXw'UX$f'UX$|'UX['UXo'UXy'UX!l'UX!q'UX!t'UX#O'UX#P'UX'g'UX'q'UX'r'UX'x'UX'y'UX'z'UX'{'UX'|'UX'}'UX(O'UX(Q'UX(R'UX(T'UX!P'UX!e'UXX'UXP'UXv'UX!S'UX#R'UX~OQ!QO^:bO_:^O`TOaTOd:aO%^)jO'T:_O~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!j)yO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!P)|O!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO(P*OO~OR*QO#p*RO(P*PO~OQhXQ'XXZhXd'XX}hX(PhX~ORhX#phXwhX$fhX$|hX[hXohXyhX!lhX!qhX!thX#OhX#PhX'ghX'qhX'rhX'xhX'yhX'zhX'{hX'|hX'}hX(OhX(QhX(RhX(ThX!PhX!ehXXhXPhXvhX!ShX#RhX~P#4kOQ*SO~O})sO~OQ!QO^%vO_%cO`TOaTOd%jO$f%wO%^%xO'T%dO~PGaO!Q*VO!j*VO~O^*YO`*YOa*YO!O*ZO~OQ&oOZ*[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO[#}Oo:YO}#zO!l:ZO!q#jO!t:ZO#O:YO#P:VO#p$OO'g#gO'q:ZO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO~Ow'dX~P#9vOy#qaX#qa!e#qa!P#qav#qa#R#qa~P2gOy#zaX#za!e#za!P#zav#za#R#za~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!S&_O!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOo#zay#za#O#za#P#za#p#za'r#za'x#za'y#za'z#za'{#za'|#za'}#za(O#za(P#za(R#za(T#zaX#za!e#za!P#zav#za#R#za~P)xOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Q*eO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdO~P)xOw*fO~P#9vO$b*iO$d*jO$f*kO~O!O*lO'r(pO~O!S*nO~O'T*oO~Ow$yOy*qO~O'T*rO~OQ*uOw*vOy*yO}*wO$|*xO~OQ*uOw*vO$|*xO~OQ*uOw+QO$|*xO~OQ*uOo+VOy+XO!S+UO~OQ*uO}+ZO~OQ!QOZ%rO[%qO^%vO`TOaTOd%jOg%yO}%pO!U!lO!W!lO!q%oO$f%wO$q%[O%]!lO%^%xO&W%{O'T%dO'Z%eO(Q%zO~OR+bO_+^O!Q+cO~P#DkO_%cO!Q!lOw&UX$|&UX(P&UX~P#DkOw$yO$f+hO$|*xO(P*PO~OQ!QOZ*[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOQ*uOw$yO!S+UO$|*xO~Oo+nOy+mO!S+oO'r(pO~OdlXy!RX#pbXv!RX!e!RX~Od'XXy(mX#p'SXv(mX!e(mX~Od+qO~O^#TO_#TO`#TOa'kOw&|O'T&vO(Q+vO~Ov(oP~P!3|O#p+{O~Oy+|O~O!S+}O~O&}!sO'O'VO'P,PO~Od,QO~OSVOTVO_%cOsVOtVOuVOw!PO!Q!lO'^UO~P#DkOS,^OT,^OZ,^O['cO_,YOd,^Oo,^Os,^Ou,^Ow'dOy,^O}'bO!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'v,_O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O(P,`O(Q,`O(R,aO~O!P,dO~P#KkOX,gO~P#KkOv,iO~P#KkOo'tX#O'tX#P'tX#p'tX'r'tX'x'tX'y'tX'z'tX'{'tX'|'tX'}'tX(O'tX(P'tX(R'tX(T'tX~Oy,jO['tX}'tX!l'tX!q'tX!t'tX'g'tX'q'tX(Q'tXv'tX~P#NjOP$giQ$giS$giT$giZ$gi[$gi^$gi_$gi`$gia$gid$gig$gis$git$giu$giw$giy$gi|$gi}$gi!Q$gi!U$gi!W$gi!X$gi!Z$gi!]$gi!l$gi!q$gi!t$gi#Y$gi#r$gi#{$gi$O$gi$b$gi$d$gi$f$gi$i$gi$m$gi$q$gi$s$gi%T$gi%V$gi%Z$gi%]$gi%^$gi%f$gi%j$gi%s$gi&z$gi'Q$gi'T$gi'Z$gi'^$gi'g$gi'q$gi(Q$giv$gi~P#NjOX,kO~O['cOo,lOw'dO}'bOX]X~Oy#ciX#ci!e#ci!P#civ#ci#R#ci~P2gO[#}O}#zO'x#hO(O#|O(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'g#ei(P#ei~P$'PO[#}O}#zO(O#|O(R#fOo#eiy#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'g#ei'x#ei(P#ei(Q#ei(T#eiw#ei~P$)QO'g#gO(P#gO~P$'PO[#}O}#zO'g#gO'x#hO'y#iO'z#iO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'{#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O!q#ei~P$+`O!q#jO~P$+`O[#}O}#zO!q#jO'g#gO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'|#ei'}#eiX#ei!e#ei!P#eiv#ei#R#ei~O'r#ei~P$-hO'r#lO~P$-hO[#}O}#zO!q#jO#P#uO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiy#ei!l#ei!t#ei#O#ei#p#ei'q#ei'|#eiX#ei!e#ei!P#eiv#ei#R#ei~O'}#ei~P$/pO'}#mO~P$/pO[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#ni!t#ni#p#ni'q#ni~Oo#xO#O#xO#P#uOy#niX#ni!e#ni!P#niv#ni#R#ni~P$1xO[#}O}#zO!q#jO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO'|#nO'}#mO(O#|O(P#gO(Q#hO(R#fO(T#hO!l#si!t#si#p#si'q#si~Oo#xO#O#xO#P#uOy#siX#si!e#si!P#siv#si#R#si~P$3yOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO~P)xO!e,sO!P(VX~P2gO!P,uO~OX,vO~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO'gcO'qiO(QdOX&fX!e&fX!P&fX~P)xO!e(WOX(Wa~Oy,zO!e(WOX(WX~P2gOX,{O~O!P,|O!e(WO~O!P-OO!e(WO~P2gOSVOTVOsVOtVOuVO'^UO'g$[O~P!6POP!baZca!S!ba!e!ba!tca'qca'r!ba!O!bao!bay!ba!P!baX!ba!Z!ba#R!bav!ba~O!e-TO'r(pO!P'mXX'mX~O!P-VO~O!i-`O!j-_O!l-[O'T-XOv'nP~OX-aO~O_%cO!Q!lO~P#DkO!j-gOP&gX!e&gX~P<cO!e(rOP(Ya~O!S-iO'r(pOP$Wa!e$Wa~Ow!PO(P*PO~OvbX!S!kX!ebX~O'Q#VO'T(xO~O!S-mO~O!e-oOv([X~Ov-qO~Ov-sO~P,cOv-sO~P#$iO_-uO'T&cO~O!S-vO~Ow$yOy-wO~OQ*uOw*vOy-zO}*wO$|*xO~OQ*uOo.UO~Oy._O~O!S.`O~O!j.bO'T&cO~Ov.cO~Ov.cO~PGyOQ']O^'Wa_'Wa`'Waa'Wa'T'Wa~Od.gO~OQ'XXQ'kXR'kXZ'kXd'XX}'kX#p'kX(P'kXw'kX$f'kX$|'kX['kXo'kXy'kX!l'kX!q'kX!t'kX#O'kX#P'kX'g'kX'q'kX'r'kX'x'kX'y'kX'z'kX'{'kX'|'kX'}'kX(O'kX(Q'kX(R'kX(T'kX!P'kX!e'kXX'kXP'kXv'kX!S'kX#R'kX~OQ!QOZ%rO[%qO^.rO_%cO`TOaTOd%jOg%yO}%pO!j.sO!q.pO!t.kO#V.mO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P(sP~PGaO#Q.tOR%wa#p%wa(P%waw%wa$f%wa$|%wa[%wao%way%wa}%wa!l%wa!q%wa!t%wa#O%wa#P%wa'g%wa'q%wa'r%wa'x%wa'y%wa'z%wa'{%wa'|%wa'}%wa(O%wa(Q%wa(R%wa(T%wa!P%wa!e%waX%waP%wav%wa!S%wa#R%wa~O%^.vO~PGaO(P*POR&Oa#p&Oaw&Oa$f&Oa$|&Oa[&Oao&Oay&Oa}&Oa!l&Oa!q&Oa!t&Oa#O&Oa#P&Oa'g&Oa'q&Oa'r&Oa'x&Oa'y&Oa'z&Oa'{&Oa'|&Oa'}&Oa(O&Oa(Q&Oa(R&Oa(T&Oa!P&Oa!e&OaX&OaP&Oav&Oa!S&Oa#R&Oa~O_%cO!Q!lO!j.xO(P*OO~P#DkO!e.yO(P*PO!P(uX~O!P.{O~OX.|Oy.}O(P*PO~O'Z%eOR(qP~OQ']O})sORfa#pfa(Pfawfa$ffa$|fa[faofayfa!lfa!qfa!tfa#Ofa#Pfa'gfa'qfa'rfa'xfa'yfa'zfa'{fa'|fa'}fa(Ofa(Qfa(Rfa(Tfa!Pfa!efaXfaPfavfa!Sfa#Rfa~OQ']O})sOR&Va#p&Va(P&Vaw&Va$f&Va$|&Va[&Vao&Vay&Va!l&Va!q&Va!t&Va#O&Va#P&Va'g&Va'q&Va'r&Va'x&Va'y&Va'z&Va'{&Va'|&Va'}&Va(O&Va(Q&Va(R&Va(T&Va!P&Va!e&VaX&VaP&Vav&Va!S&Va#R&Va~O!P/UO~Ow$yO$f/ZO$|*xO(P*PO~OQ!QOZ/[O[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaOo/^O'r(pO~O#W/_OP!YiQ!YiS!YiT!YiZ!Yi[!Yi^!Yi_!Yi`!Yia!Yid!Yig!Yio!Yis!Yit!Yiu!Yiw!Yiy!Yi|!Yi}!Yi!Q!Yi!U!Yi!W!Yi!X!Yi!Z!Yi!]!Yi!l!Yi!q!Yi!t!Yi#O!Yi#P!Yi#Y!Yi#p!Yi#r!Yi#{!Yi$O!Yi$b!Yi$d!Yi$f!Yi$i!Yi$m!Yi$q!Yi$s!Yi%T!Yi%V!Yi%Z!Yi%]!Yi%^!Yi%f!Yi%j!Yi%s!Yi&z!Yi'Q!Yi'T!Yi'Z!Yi'^!Yi'g!Yi'q!Yi'r!Yi'x!Yi'y!Yi'z!Yi'{!Yi'|!Yi'}!Yi(O!Yi(P!Yi(Q!Yi(R!Yi(T!YiX!Yi!e!Yi!P!Yiv!Yi!i!Yi!j!Yi#V!Yi#R!Yi~Oy#ziX#zi!e#zi!P#ziv#zi#R#zi~P2gOy$UiX$Ui!e$Ui!P$Uiv$Ui#R$Ui~P2gOv/eO!j&bO'Q`O~P<cOw/nO}/mO~Oy!RX#pbX~Oy/oO~O#p/pO~OR+bO_+dO!Q/sO'T&iO'Z%eO~Oa/zO|!VO'Q#VO'T(ROv(cP~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P(eP~PGaOQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zOw(`Py(`P~PGaOw*vO~Oy-zO$|*xO~Oa/zO|!VO'Q#VO'T*oOv(gP~Ow+QO~OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zO(R0`O~PGaOy0dO~OQ!QOSVOTVO[$gO^0lO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j0mO!l$lO!q0eO!t0hO'Q#VO'T$YO'Z%eO'^UO'g$[O~O#V0nO!P(jP~P%1}Ow!POy0pO#Q0rO$|*xO~OR0uO!e0sO~P#(kOR0uO!S+UO!e0sO(P*OO~OR0uOo0wO!S+UO!e0sOQ'VXZ'VX}'VX#p'VX(P'VX~OR0uOo0wO!e0sO~OR0uO!e0sO~O$f/ZO(P*PO~Ow$yO~Ow$yO$|*xO~Oo0}Oy0|O!S1OO'r(pO~O!e1POv(pX~Ov1RO~O^#TO_#TO`#TOa'kOw&|O'T&vO(Q1VO~Oo1YOQ'VXR'VXZ'VX}'VX!e'VX(P'VX~O!e1ZO(P*POR'YX~O!e1ZOR'YX~O!e1ZO(P*OOR'YX~OR1]O~O!S1^OS'wXT'wXZ'wX['wX_'wXd'wXo'wXs'wXu'wXw'wXy'wX}'wX!P'wX!e'wX!l'wX!q'wX!t'wX!y'wX#O'wX#P'wX#Q'wX#R'wX'Q'wX'Z'wX'^'wX'g'wX'r'wX'v'wX'x'wX'y'wX'z'wX'{'wX'|'wX'}'wX(O'wX(P'wX(Q'wX(R'wXX'wXv'wX~O}1_O~O!P1aO~P#KkOX1bO~P#KkOv1cO~P#KkOS,^OT,^OZ,^O['cO_1dOd,^Oo,^Os,^Ou,^Ow'dOy,^O}'bO!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'v,_O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O(P,`O(Q,`O(R,aO~OX1fO~Oy,jO~O!e,sO!P(Va~P2gOPoOQ!QOSVOTVOZeO[lOd[OsVOtVOuVOw!PO}mO!U#bO!W#cO!X!^O!Z!YO!liO!qgO!tiO#Y!_O#r!ZO#{![O$O!]O$b!`O$d!bO$f!cO'Q#VO'ZkO'^UO'gcO'qiO(QdO!P&eX!e&eX~P)xO!e,sO!P(Va~OX&fa!e&fa!P&fa~P2gOX1kO~P2gO!P1mO!e(WO~OP!biZci!S!bi!e!bi!tci'qci'r!bi!O!bio!biy!bi!P!biX!bi!Z!bi#R!biv!bi~O'r(pOP!oi!S!oi!e!oi!O!oio!oiy!oi!P!oiX!oi!Z!oi#R!oiv!oi~O!j&bO!P&`X!e&`XX&`X~P<cO!e-TO!P'maX'ma~O!P1qO~Ov!RX!S!kX!e!RX~O!S1rO~O!e1sOv'oX~Ov1uO~O'T-XO~O!j1xO'T-XO~O(P*POP$Wi!e$Wi~O!S1yO'r(pOP$XX!e$XX~O!S1|O~Ov$_a!e$_a~P2gO!l(|O'Q#VO'T(xOv&hX!e&hX~O!e-oOv([a~Ov2QO~P,cOy2UO~O#p2VO~Oy2WO$|*xO~Ow*vOy2WO}*wO$|*xO~Oo2aO~Ow!POy2fO#Q2hO$|*xO~O!S2jO~Ov2lO~O#Q2mOR%wi#p%wi(P%wiw%wi$f%wi$|%wi[%wio%wiy%wi}%wi!l%wi!q%wi!t%wi#O%wi#P%wi'g%wi'q%wi'r%wi'x%wi'y%wi'z%wi'{%wi'|%wi'}%wi(O%wi(Q%wi(R%wi(T%wi!P%wi!e%wiX%wiP%wiv%wi!S%wi#R%wi~Od2nO~O^2qO!j.sO!q2rO'Q#VO'Z%eO~O(P*PO!P%{X!e%{X~O!e2sO!P(tX~O!P2uO~OQ!QOZ%rO[%qO^2wO_%cO`TOaTOd%jOg%yO}%pO!j2xO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(Q%zO~PGaO^2yO!j2xO(P*OO~O!P%aX!e%aX~P#4kO^2yO~O(P*POR&Oi#p&Oiw&Oi$f&Oi$|&Oi[&Oio&Oiy&Oi}&Oi!l&Oi!q&Oi!t&Oi#O&Oi#P&Oi'g&Oi'q&Oi'r&Oi'x&Oi'y&Oi'z&Oi'{&Oi'|&Oi'}&Oi(O&Oi(Q&Oi(R&Oi(T&Oi!P&Oi!e&OiX&OiP&Oiv&Oi!S&Oi#R&Oi~O_%cO!Q!lO!P&yX!e&yX~P#DkO!e.yO!P(ua~OR3QO(P*PO~O!e3ROR(rX~OR3TO~O(P*POR&Pi#p&Piw&Pi$f&Pi$|&Pi[&Pio&Piy&Pi}&Pi!l&Pi!q&Pi!t&Pi#O&Pi#P&Pi'g&Pi'q&Pi'r&Pi'x&Pi'y&Pi'z&Pi'{&Pi'|&Pi'}&Pi(O&Pi(Q&Pi(R&Pi(T&Pi!P&Pi!e&PiX&PiP&Piv&Pi!S&Pi#R&Pi~O!P3UO~O$f3VO(P*PO~Ow$yO$f3VO$|*xO(P*PO~Ow!PO!Z!YO~O!Z3aO#R3_O'r(pO~O!j&bO'Q#VO~P<cOv3eO~Ov3eO!j&bO'Q`O~P<cO!O3hO'r(pO~Ow!PO~P#9vOo3kOy3jO(P*PO~O!P3oO~P%;pOv3rO~P%;pOR0uO!S+UO!e0sO~OR0uOo0wO!S+UO!e0sO~Oa/zO|!VO'Q#VO'T(RO~O!S3uO~O!e3wOv(dX~Ov3yO~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO~PGaO!e3|O(P*PO!P(fX~O!P4OO~O!S4PO(P*OO~O!S+UO(P*PO~O!e4ROw(aXy(aX~OQ4TO~Oy2WO~Oa/zO|!VO'Q#VO'T*oO~Oo4WOw*vO}*wOv%XX!e%XX~O!e4ZOv(hX~Ov4]O~O(P4_Oy(_Xw(_X$|(_XR(_Xo(_X!e(_X~Oy4aO(P*PO~OQ!QOSVOTVO[$gO^4bO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O!j4cO'Z%eO~P&,sO!S4eO'r(pO~O#V4gO~P%1}O!e4hO!P(kX~O!P4jO~O!P%aX!S!aX!e%aX'r!aX~P!KgO!j&bO~P&,sO!e4hO!P(kX!S'eX'r'eX~O^2yO!j2xO~Ow!POy2fO~O_4pO!Q/sO'T&iO'Z%eOR&lX!e&lX~OR4rO!e0sO~O!S4tO~Ow$yO$|*xO(P*PO~Oy4uO~P2gOo4vOy4uO(P*PO~Ov&uX!e&uX~P!3|O!e1POv(pa~Oo4|Oy4{O(P*PO~OSVOTVO_%cOsVOtVOuVOw!PO!Q!lO'^UOR&vX!e&vX~P#DkO!e1ZOR'Ya~O!y5SO~O!P5TO~P#KkO!S1^OX'wX#R'wX~O!e,sO!P(Vi~O!P&ea!e&ea~P2gOX5WO~P2gOP!bqZcq!S!bq!e!bq!tcq'qcq'r!bq!O!bqo!bqy!bq!P!bqX!bq!Z!bq#R!bqv!bq~O'r(pO!P&`a!e&`aX&`a~O!i-`O!j-_O!l5YO'T-XOv&aX!e&aX~O!e1sOv'oa~O!S5[O~O!S5`O'r(pOP$Xa!e$Xa~O(P*POP$Wq!e$Wq~Ov$^i!e$^i~P2gOw!POy5bO#Q5dO$|*xO~Oo5gOy5fO(P*PO~Oy5iO~Oy5iO$|*xO~Oy5mO(P*PO~Ow!POy5bO~Oo5tOy5sO(P*PO~O!S5vO~O!e2sO!P(ta~O^2yO!j2xO'Z%eO~OQ!QOZ%rO[%qO^.rO_%cO`TOaTOd%jOg%yO}%pO!j.sO!q.pO!t5zO#V5|O$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P&xX!e&xX~PGaOQ!QOZ%rO[%qO^6OO_%cO`TOaTOd%jOg%yO}%pO!j6PO!q%oO$f%wO%^%xO&W%{O'T%dO'Z%eO(P*OO(Q%zO~PGaO!P%aa!e%aa~P#4kO^6QO~O#Q6ROR%wq#p%wq(P%wqw%wq$f%wq$|%wq[%wqo%wqy%wq}%wq!l%wq!q%wq!t%wq#O%wq#P%wq'g%wq'q%wq'r%wq'x%wq'y%wq'z%wq'{%wq'|%wq'}%wq(O%wq(Q%wq(R%wq(T%wq!P%wq!e%wqX%wqP%wqv%wq!S%wq#R%wq~O(P*POR&Oq#p&Oqw&Oq$f&Oq$|&Oq[&Oqo&Oqy&Oq}&Oq!l&Oq!q&Oq!t&Oq#O&Oq#P&Oq'g&Oq'q&Oq'r&Oq'x&Oq'y&Oq'z&Oq'{&Oq'|&Oq'}&Oq(O&Oq(Q&Oq(R&Oq(T&Oq!P&Oq!e&OqX&OqP&Oqv&Oq!S&Oq#R&Oq~O(P*PO!P&ya!e&ya~OX6SO~P2gO'Z%eOR&wX!e&wX~O!e3ROR(ra~O$f6YO(P*PO~Ow![q~P#9vO#R6]O~O!Z3aO#R6]O'r(pO~Ov6bO~O#R6fO~Oy6gO!P6hO~O!P6hO~P%;pOy6kO~Ov6kOy6gO~Ov6kO~P%;pOy6mO~O!e3wOv(da~O!S6pO~Oa/zO|!VO'Q#VO'T(ROv&oX!e&oX~O!e3|O(P*PO!P(fa~OQ!QOZ%rO[%qO^%vO_%cO`TOa/zOd%jOg%yO|!VO}%pO!q%oO$f%wO%^%xO&W%{O'Q#VO'T%dO'Z%eO(Q%zO!P&pX!e&pX~PGaO!e3|O!P(fa~OQ!QOZ%rO[%qO^%vO_%cO`TOaTOd%jOg%yO}%pO!q%oO$f0VO%^%xO&W%{O'T%dO'Z%eO(Q%zOw&nX!e&nXy&nX~PGaO!e4ROw(aay(aa~O!e4ZOv(ha~Oo7SOv%Xa!e%Xa~Oo7SOw*vO}*wOv%Xa!e%Xa~Oa/zO|!VO'Q#VO'T*oOv&qX!e&qX~O(P*POy$xaw$xa$|$xaR$xao$xa!e$xa~O(P4_Oy(_aw(_a$|(_aR(_ao(_a!e(_a~O!P%aa!S!aX!e%aa'r!aX~P!KgOQ!QOSVOTVO[$gO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j&bO!l$lO!q$hO#V$lO'T$YO'^UO'g$[O~O^7ZO~P&JUO^6QO!j6PO~O!e4hO!P(ka~O!e4hO!P(ka!S'eX'r'eX~OQ!QOSVOTVO[$gO^0lO_$ZO`9yOa9yOd$aOsVOtVOuVO}$eO!i$qO!j0mO!l$lO!q0eO!t7_O'Q#VO'T$YO'Z%eO'^UO'g$[O~O#V7aO!P&sX!e&sX~P&L]O!S7cO'r(pO~Ow!POy5bO$|*xO(P*PO~O!S+UOR&la!e&la~Oo0wO!S+UOR&la!e&la~Oo0wOR&la!e&la~O(P*POR$yi!e$yi~Oy7fO~P2gOo7gOy7fO(P*PO~O(P*PORni!eni~O(P*POR&va!e&va~O(P*OOR&va!e&va~OS,^OT,^OZ,^O_,^Od,^Oo,^Os,^Ou,^Oy,^O!S,^O!e,^O!l,^O!q,[O!t,^O!y,^O#O,^O#P,^O#Q,^O#R,^O'Q,^O'Z%eO'^UO'g,ZO'r,[O'x,ZO'y,[O'z,[O'{,[O'|,]O'},]O(O,^O~O(P7iO(Q7iO(R7iO~P'!qO!P7kO~P#KkO!P&ei!e&ei~P2gO'r(pOv!hi!e!hi~O!S7mO~O(P*POP$Xi!e$Xi~Ov$^q!e$^q~P2gOw!POy7oO~Ow!POy7oO#Q7rO$|*xO~Oy7tO~Oy7uO~Oy7vO(P*PO~Ow!POy7oO$|*xO(P*PO~Oo7{Oy7zO(P*PO~O!e2sO!P(ti~O(P*PO!P%}X!e%}X~O!P%ai!e%ai~P#4kO^8OO~O!e8TO['bXv$`i}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[iS#[iT#[i[#[i^#[i_#[i`#[ia#[id#[is#[it#[iu#[iv$`i}#[i!i#[i!j#[i!l#[i!q#[i!t'bX#V#[i'Q#[i'T#[i'^#[i'g#[i'q'bX(Q'bX~P@[O#R#^a~P2gO#R8WO~O!Z3aO#R8XO'r(pO~Ov8[O~Oy8^O~P2gOy8`O~Oy6gO!P8aO~Ov8`Oy6gO~O!e3wOv(di~O(P*POv%Qi!e%Qi~O!e3|O!P(fi~O!e3|O(P*PO!P(fi~O(P*PO!P&pa!e&pa~O(P8hOw(bX!e(bXy(bX~O(P*PO!S$wiy$wiw$wi$|$wiR$wio$wi!e$wi~O!e4ZOv(hi~Ov%Xi!e%Xi~P2gOo8kOv%Xi!e%Xi~O!P%ai!S!aX!e%ai'r!aX~P!KgO(P*PO!P%`i!e%`i~O!e4hO!P(ki~O#V8nO~P&L]O!P&sa!S'eX!e&sa'r'eX~O(P*POR$zq!e$zq~Oy8pO~P2gOy7zO~P2gO(P8rO(Q8rO(R8rO~O(P8rO(Q8rO(R8rO~P'!qO'r(pOv!hq!e!hq~O(P*POP$Xq!e$Xq~Ow!POy8uO$|*xO(P*PO~Ow!POy8uO~Oy8xO~P2gOy8zO~P2gOo8|Oy8zO(P*PO~OQ#[qS#[qT#[q[#[q^#[q_#[q`#[qa#[qd#[qs#[qt#[qu#[qv$`q}#[q!i#[q!j#[q!l#[q!q#[q#V#[q'Q#[q'T#[q'^#[q'g#[q~O!e9PO['bXv$`q}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[Oo'bX!t'bX#O'bX#P'bX#p'bX'q'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(Q'bX(R'bX(T'bX~P'2fO#R9UO~O!Z3aO#R9UO'r(pO~Oy9WO~O(P*POv%Qq!e%Qq~O!e3|O!P(fq~O(P*PO!P&pi!e&pi~O(P8hOw(ba!e(bay(ba~Ov%Xq!e%Xq~P2gO!P&si!S'eX!e&si'r'eX~O(P*PO!P%`q!e%`q~Oy9]O~P2gO(P9^O(Q9^O(R9^O~O'r(pOv!hy!e!hy~Ow!POy9_O~Ow!POy9_O$|*xO(P*PO~Oy9aO~P2gOQ#[yS#[yT#[y[#[y^#[y_#[y`#[ya#[yd#[ys#[yt#[yu#[yv$`y}#[y!i#[y!j#[y!l#[y!q#[y#V#[y'Q#[y'T#[y'^#[y'g#[y~O!e9dO['bXv$`y}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[Oo'bX!t'bX#O'bX#P'bX#p'bX'q'bX'r'bX'x'bX'y'bX'z'bX'{'bX'|'bX'}'bX(O'bX(P'bX(Q'bX(R'bX(T'bX~P'9eO!e9eO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[iS#[iT#[i[#[i^#[i_#[i`#[ia#[id#[is#[it#[iu#[i}#[i!i#[i!j#[i!l#[i!q#[i!t'bX#V#[i'Q#[i'T#[i'^#[i'g#[i'q'bX(Q'bX~P@[O#R9hO~O(P*PO!P&pq!e&pq~Ov%Xy!e%Xy~P2gOw!POy9iO~Oy9jO~P2gOQ#[!RS#[!RT#[!R[#[!R^#[!R_#[!R`#[!Ra#[!Rd#[!Rs#[!Rt#[!Ru#[!Rv$`!R}#[!R!i#[!R!j#[!R!l#[!R!q#[!R#V#[!R'Q#[!R'T#[!R'^#[!R'g#[!R~O!e9kO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[qS#[qT#[q[#[q^#[q_#[q`#[qa#[qd#[qs#[qt#[qu#[q}#[q!i#[q!j#[q!l#[q!q#[q!t'bX#V#[q'Q#[q'T#[q'^#[q'g#[q'q'bX(Q'bX~P@[O!e9nO['bX}'bX!l'bX!q'bX!t'bX'g'bX'q'bX(Q'bX~P@[OQ#[yS#[yT#[y[#[y^#[y_#[y`#[ya#[yd#[ys#[yt#[yu#[y}#[y!i#[y!j#[y!l#[y!q#[y!t'bX#V#[y'Q#[y'T#[y'^#[y'g#[y'q'bX(Q'bX~P@[OwbX~P$|OwjX}jX!tbX'qbX~P!6mOZ'SXd'XXo'SXw'kX!t'SX'q'SX'r'SX~O['SXd'SXw'SX}'SX!l'SX!q'SX#O'SX#P'SX#p'SX'g'SX'x'SX'y'SX'z'SX'{'SX'|'SX'}'SX(O'SX(P'SX(Q'SX(R'SX(T'SX~P'GTOP'SX}'kX!S'SX!e'SX!O'SXy'SX!P'SXX'SX!Z'SX#R'SXv'SX~P'GTO^9qO_9qO`9qOa9qO'T9oO~O!j:OO~P!.cOPoOQ!QOSVOTVOZeOd9tOsVOtVOuVO!U#bO!W#cO!X:zO!Z!YO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sXo#sXw#sX}#sX!l#sX!q#sX!t#sX#O#sX#P#sX#p#sX'g#sX'q#sX'r#sX'x#sX'y#sX'z#sX'{#sX'|#sX'}#sX(O#sX(P#sX(Q#sX(R#sX(T#sX~P'IxO#Q$uO~P!.cO}'kXP'SX!S'SX!e'SX!O'SXy'SX!P'SXX'SX!Z'SX#R'SXv'SX~P'GTOo#qX#O#qX#P#qX#p#qX'r#qX'x#qX'y#qX'z#qX'{#qX'|#qX'}#qX(O#qX(P#qX(R#qX(T#qX~P!.cOo#zX#O#zX#P#zX#p#zX'r#zX'x#zX'y#zX'z#zX'{#zX'|#zX'}#zX(O#zX(P#zX(R#zX(T#zX~P!.cOPoOQ!QOSVOTVOZeOd9tOsVOtVOuVO!U#bO!W#cO!X:zO!Z!YO#Y!_O#r9zO#{9{O$O!]O$b!`O$d!bO$f!cO'ZkO'^UO[#sao#saw#sa}#sa!l#sa!q#sa!t#sa#O#sa#P#sa#p#sa'g#sa'q#sa'r#sa'x#sa'y#sa'z#sa'{#sa'|#sa'}#sa(O#sa(P#sa(Q#sa(R#sa(T#sa~P'IxOo:YO#O:YO#P:VOw#sa~P!B}Ow$Ua~P#9vOQ'XXd'XX}iX~OQlXdlX}jX~O^:sO_:sO`:sOa:sO'T:_O~OQ'XXd'XX}hX~Ow#qa~P#9vOw#za~P#9vO!S&_Oo#za#O#za#P#za#p#za'r#za'x#za'y#za'z#za'{#za'|#za'}#za(O#za(P#za(R#za(T#za~P!.cO#Q*eO~P!.cOw#ci~P#9vO[#}O}#zO'x#hO(O#|O(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!q#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'y#ei'z#ei'{#ei'|#ei'}#ei~O'g#ei(P#ei~P((}O'g#gO(P#gO~P((}O[#}O}#zO'g#gO'x#hO'y#iO'z#iO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'r#ei'{#ei'|#ei'}#ei~O!q#ei~P(*yO!q#jO~P(*yO[#}O}#zO!q#jO'g#gO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#P#ei#p#ei'q#ei'|#ei'}#ei~O'r#ei~P(,rO'r#lO~P(,rO[#}O}#zO!q#jO#P:VO'g#gO'r#lO'x#hO'y#iO'z#iO'{#kO(O#|O(P#gO(Q#hO(R#fO(T#hOo#eiw#ei!l#ei!t#ei#O#ei#p#ei'q#ei'|#ei~O'}#ei~P(.kO'}#mO~P(.kOo:YO#O:YO#P:VOw#ni~P$1xOo:YO#O:YO#P:VOw#si~P$3yOQ'XXd'XX}'kX~Ow#zi~P#9vOw$Ui~P#9vOd9}O~Ow#ca~P#9vOd:uO~OU'x_'v'P'O'^s!y'^'T'Z~",goto:"$Ku(vPPPPPPP(wPP)OPP)^PPPP)d-hP0f5aP7R7R8v7R>wD_DpPDvHQPPPPPPK`P! P! _PPPPP!!VP!$oP!$oPP!&oP!(rP!(w!)n!*f!*f!*f!(w!+]P!(w!.Q!.TPP!.ZP!(w!(w!(w!(wP!(w!(wP!(w!(w!.y!/dP!/dJ}J}J}PPPP!/d!.y!/sPP!$oP!0^!0a!0g!1h!1t!3t!3t!5r!7t!1t!1t!9p!;_!=O!>k!@U!Am!CS!De!1t!1tP!1tP!1t!1t!Et!1tP!Ge!1t!1tP!Ie!1tP!1t!7t!7t!1t!7t!1t!Kl!Mt!Mw!7t!1t!Mz!M}!M}!M}!NR!$oP!$oP!$oP! P! PP!N]! P! PP!Ni# }! PP! PP#!^##c##k#$Z#$_#$e#$e#$mP#&s#&s#&y#'o#'{! PP! PP#(]#(l! PP! PPP#(x#)W#)d#)|#)^! P! PP! P! P! PP#*S#*S#*Y#*`#*S#*S! P! PP#*m#*v#+Q#+Q#,x#.l#.x#.x#.{#.{5a5a5a5a5a5a5a5aP5a#/O#/U#/p#1{#2R#2b#6^#6d#6j#6|#7W#8w#9R#9b#9h#9n#9x#:S#:Y#:g#:m#:s#:}#;]#;g#=u#>R#>`#>f#>n#>u#?PPPPPPPP#?V#BaP#F^#Jx#Ls#Nr$&^P$&aPPP$)_$)h$)z$/U$1d$1m$3fP!(w$4`$7r$:i$>T$>^$>c$>fPPP$>i$A`$A|P$BaPPPPPPPPPP$BvP$EU$EX$E[$Eb$Ee$Eh$Ek$En$Et$HO$HR$HU$HX$H[$H_$Hb$He$Hh$Hk$Hn$Jt$Jw$Jz#*S$KW$K^$Ka$Kd$Kh$Kl$Ko$KrQ!tPT'V!s'Wi!SOlm!P!T$T$W$y%b)U*f/gQ'i#QR,n'l(OSOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!q!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%X%_%b&U&Y&[&b&u&z&|'P'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n+z,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1P1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:gS(z$v-oQ*p&eQ*t&hQ-k(yQ-y)ZW0Z+Q0Y4Z7UR4Y0[&w!RObfgilmop!O!P!T!Y!Z![!_!`!c!p#Q#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r$y%_%b&U&Y&[&b&u'l'}(W(Y(b(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,s,z-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f#r]Ofgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hb#[b#Q$y'l(b)S)U*Z-t!h$bo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m$b%k!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g!W:y!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR:|%n$_%u!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g$e%l!Q!n$O$u%n%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g'hZOY[fgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r%_%b%i%j&U&Y&[&b&u'a'}(W(Y(d(e(f(j(o(p(r(|)i)p)q*f*i*k*l+Z+n,s,z-R-T-g-m.i.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:`:a:e:f:g:t:u:x$^%l!Q!n$O$u%n%o%p%q%y%{&P&p&r(q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ&j!hQ&k!iQ&l!jQ&m!kQ&s!oQ)[%QQ)]%RQ)^%SQ)_%TQ)b%WQ+`&oS,R']1ZQ.W)`S/r*u4TR4n0s+yTOY[bfgilmop!O!P!Q!T!Y!Z![!_!`!c!n!p!q!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$O$T$W$`$a$e$g$h$q$r$u$y%X%_%b%i%j%n%o%p%q%y%{&P&U&Y&[&b&o&p&r&u&z&|'P']'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(q(r(|)S)U)i)p)q)s)x)y*O*P*R*V*Z*[*^*e*f*i*k*l*n*w*x+U+V+Z+h+n+o+z+},q,s,z-R-T-g-i-m-t-v.U.`.i.p.t.x.y.}/Z/[/^/b/d/g/{/}0`0e0g0m0r0w0}1O1P1Y1Z1h1r1y1|2a2h2j2m2s2v3V3_3a3f3h3k3u3{3|4R4U4W4_4c4e4h4t4v4|5[5`5d5g5t5v6R6Y6]6a6p6v6x7S7^7c7g7m7r7{8W8X8g8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:`:a:e:f:g:t:u:xQ'[!xQ'h#PQ)l%gU)r%m*T*WR.f)kQ,T']R5P1Z#t%s!Q!n$O$u%p%q&P&p&r(q)x)y*O*R*V*[*^*e*n*w+V+h+o+}-i-v.U.`.t.x.y/Z/[/{/}0`0r0w1O1Y1y2a2h2j2m2v3V3u3{3|4U4e4t5`5d5v6R6Y6p6v6x7c7r8gQ)x%oQ+_&oQ,U']n,^'b'c'd,c,f,h,l/m/n1_3n3q5T5U7kS.q)s2sQ/O*PQ/Q*SQ/q*uS0Q*x4RQ0a+U[0o+Z.j0g4h5y7^Q2v.pS4d0e2rQ4m0sQ5Q1ZQ6T3RQ6z4PQ7O4TQ7X4_R9Y8h&jVOfgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u']'}(W(Y(b(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1Z1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fU&g!g%P%[o,^'b'c'd,c,f,h,l/m/n1_3n3q5T5U7k$nsOfgilm!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y'}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9z9{:O:P:Q:R:S:T:U:V:W:X:Y:eS$tp9xS&O!W#bS&Q!X#cQ&`!bQ*_&RQ*a&VS*d&[:fQ*h&^Q,T']Q-j(wQ/i*jQ0p+[S2f.X0qQ3]/_Q3^/`Q3g/hQ3i/kQ5P1ZU5b2R2g4lU7o5c5e5rQ8]6dS8u7p7qS9_8v8wR9i9`i{Ob!O!P!T$y%_%b)S)U)i-thxOb!O!P!T$y%_%b)S)U)i-tW/v*v/t3w6qQ/}*wW0[+Q0Y4Z7UQ3{/{Q6x3|R8g6v!h$do!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ&d!dQ&f!fQ&n!mW&x!q%X&|1PQ'S!rQ)X$}Q)Y%OQ)a%VU)d%Y'T'UQ*s&hS+s&z'PS-Y(k1sQ-u)WQ-x)ZS.a)e)fS0x+c/sQ1S+zQ1W+{S1v-_-`Q2k.bQ3s/pQ5]1xR5h2V${sOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$zsOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR3]/_V&T!Y!`*i!i$lo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m!k$^o!c!p$e$g$h$q$r&U&b&u(b(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m!i$co!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m&e^Ofgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u'}(W(Y(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR(l$fQ-[(kR5Y1sQ(S#|S({$v-oS-Z(k1sQ-l(yW/u*v/t3w6qS1w-_-`Q3v/vR5^1xQ'e#Or,e'b'c'd'j'p)u,c,f,h,l/m/n1_3n3q5U6fR,o'mk,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ'f#Or,e'b'c'd'j'p)u,c,f,h,l/m/n1_3n3q5U6fR,p'mR*g&]X/c*f/d/g3f!}aOb!O!P!T#z$v$y%_%b'}(y)S)U)i)s*f*v*w+Q+Z,s-o-t.j/b/d/g/t/{0Y0g1h2s3f3w3|4Z4h5y6a6q6v7U7^Q3`/aQ6_3bQ8Y6`R9V8Z${rOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f#nfOfglmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h!T9u!Y!_!`*i*l/^3h9u9v9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:e:f#rfOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h!X9u!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$srOfglmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:e:f#U#oh#d$P$Q$V$s%^&W&X'q't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b}:P&S&]/k3[6d:[:]:c:d:h:j:k:l:m:n:o:p:q:r:v:w:{#W#ph#d$P$Q$V$s%^&W&X'q'r't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b!P:Q&S&]/k3[6d:[:]:c:d:h:i:j:k:l:m:n:o:p:q:r:v:w:{#S#qh#d$P$Q$V$s%^&W&X'q'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9b{:R&S&]/k3[6d:[:]:c:d:h:k:l:m:n:o:p:q:r:v:w:{#Q#rh#d$P$Q$V$s%^&W&X'q'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9by:S&S&]/k3[6d:[:]:c:d:h:l:m:n:o:p:q:r:v:w:{#O#sh#d$P$Q$V$s%^&W&X'q'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bw:T&S&]/k3[6d:[:]:c:d:h:m:n:o:p:q:r:v:w:{!|#th#d$P$Q$V$s%^&W&X'q'x'y'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bu:U&S&]/k3[6d:[:]:c:d:h:n:o:p:q:r:v:w:{!x#vh#d$P$Q$V$s%^&W&X'q'z'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bq:W&S&]/k3[6d:[:]:c:d:h:p:q:r:v:w:{!v#wh#d$P$Q$V$s%^&W&X'q'{'|(O(U([(`*b*c,r,w,y-n0z1i1l1}3P4w5V5a6^6e7R7e7h7s7y8j8q8{9[9bo:X&S&]/k3[6d:[:]:c:d:h:q:r:v:w:{$]#{h#`#d$P$Q$V$s%^&S&W&X&]'q'r's't'u'v'w'x'y'z'{'|(O(U([(`*b*c,r,w,y-n/k0z1i1l1}3P3[4w5V5a6^6d6e7R7e7h7s7y8j8q8{9[9b:[:]:c:d:h:i:j:k:l:m:n:o:p:q:r:v:w:{${jOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f$v!aOfgilmp!O!P!T!Y!Z!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ&Y![Q&Z!]R:e9{#rpOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hQ&[!^!W9x!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fR:f:zR$moR-f(rR$wqT(}$v-oQ/f*fS3d/d/gR6c3fQ3m/mQ3p/nQ6i3nR6l3qQ$zwQ)V${Q*q&fQ+f&qQ+i&sQ-w)YW.Z)b+j+k+lS/X*]+gW2b.W.[.].^U3W/Y/]0yU5o2c2d2eS6W3X3ZS7w5p5qS8Q6V6XQ8y7xS8}8R8SR9c9O^|O!O!P!T%_%b)iX)R$y)S)U-tQ&r!nQ*^&PQ*|&jQ+P&kQ+T&lQ+W&mQ+]&nQ+l&sQ-})[Q.Q)]Q.T)^Q.V)_Q.Y)aQ.^)bQ2S-uQ2e.WR4U0VU+a&o*u4TR4o0sQ+Y&mQ+k&sS.])b+l^0v+_+`/q/r4m4n7OS2d.W.^S4Q0R0SR5q2eS0R*x4RQ0a+UR7X4_U+d&o*u4TR4p0sQ*z&jQ+O&kQ+S&lQ+g&qQ+j&sS-{)[*|S.P)]+PS.S)^+TU.[)b+k+lQ/Y*]Q0X*{Q0q+[Q2X-|Q2Y-}Q2].QQ2_.TU2c.W.].^Q2g.XS3Z/]0yS5c2R4lQ5j2ZS5p2d2eQ6X3XS7q5e5rQ7x5qQ8R6VQ8v7pQ9O8SR9`8wQ0T*xR6|4RQ*y&jQ*}&kU-z)[*z*|U.O)]+O+PS2W-{-}S2[.P.QQ4X0ZQ5i2YQ5k2]R7T4YQ/w*vQ3t/tQ6r3wR8d6qQ*{&jS-|)[*|Q2Z-}Q4X0ZR7T4YQ+R&lU.R)^+S+TS2^.S.TR5l2_Q0]+QQ4V0YQ7V4ZR8l7UQ+[&nS.X)a+]S2R-u.YR5e2SQ0i+ZQ4f0gQ7`4hR8m7^Q.m)sQ0i+ZQ2p.jQ4f0gQ5|2sQ7`4hQ7}5yR8m7^Q0i+ZR4f0gX'O!q%X&|1PX&{!q%X&|1PW'O!q%X&|1PS+u&z'PR1U+z_|O!O!P!T%_%b)iQ%a!PS)h%_%bR.d)i$^%u!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ*U%yR*X%{$c%n!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gW)t%m%x*T*WQ.e)jR2{.vR.m)sR5|2sQ'W!sR,O'WQ!TOQ$TlQ$WmQ%b!P[%|!T$T$W%b)U/gQ)U$yR/g*f$b%i!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g[)n%i)p.i:`:t:xQ)p%jQ.i)qQ:`%nQ:t:aR:x:uQ!vUR'Y!vS!OO!TU%]!O%_)iQ%_!PR)i%b#rYOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i+n,s,z-m.}0}1h1|3_3a3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9hh!yY!|#U$`'a'n(d,q-R9s9|:gQ!|[b#Ub#Q$y'l(b)S)U*Z-t!h$`o!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ'a!}Q'n#ZQ(d$aQ,q'oQ-R(e!W9s!Y!_!`*i*l/^3h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ9|9tR:g9}Q-U(gR1p-UQ1t-[R5Z1tQ,c'bQ,f'cQ,h'dW1`,c,f,h5UR5U1_Q/d*fS3c/d3fR3f/gfbO!O!P!T$y%_%b)S)U)i-tp#Wb'}(y.j/b/t/{0Y0g1h5y6a6q6v7U7^Q'}#zS(y$v-oQ.j)sW/b*f/d/g3fQ/t*vQ/{*wQ0Y+QQ0g+ZQ1h,sQ5y2sQ6q3wQ6v3|Q7U4ZR7^4hQ,t(OQ1g,rT1j,t1gS(X$Q([Q(^$VU,x(X(^,}R,}(`Q(s$mR-h(sQ-p)OR2P-pQ3n/mQ3q/nT6j3n3qQ)S$yS-r)S-tR-t)UQ4`0aR7Y4``0t+^+_+`+a+d/q/r7OR4q0tQ8i6zR9Z8iQ4S0TR6}4SQ3x/wQ6n3tT6s3x6nQ3}/|Q6t3zU6y3}6t8eR8e6uQ4[0]Q7Q4VT7W4[7QhzOb!O!P!T$y%_%b)S)U)i-tQ$|xW%Zz$|%f)v$b%f!Q!n$O$u%o%p%q%y%{&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR)v%nS4i0i0nS7]4f4gT7b4i7]W&z!q%X&|1PS+r&z+zR+z'PQ1Q+wR4z1QU1[,S,T,UR5R1[S3S/Q7OR6U3SQ2t.mQ5x2pT5}2t5xQ.z)zR3O.z^_O!O!P!T%_%b)iY#Xb$y)S)U-t$l#_fgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!h$io!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mS'j#Q'lQ-P(bR/V*Z&v!RObfgilmop!O!P!T!Y!Z![!_!`!c!p#Q#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r$y%_%b&U&Y&[&b&u'l'}(W(Y(b(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,s,z-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f[!{Y[#U#Z9s9tW&{!q%X&|1P['`!|!}'n'o9|9}S(c$`$aS+t&z'PU,X'a,q:gS-Q(d(eQ1T+zR1n-RS%t!Q&oQ&q!nQ(V$OQ(w$uS)w%o.pQ)z%pQ)}%qS*]&P&rQ+e&pQ,S']Q-d(qQ.l)sU.w)x)y2vS/O*O*PQ/P*RQ/T*VQ/W*[Q/]*^Q/`*eQ/l*nQ/|*wS0S*x4RQ0a+UQ0c+VQ0y+hQ0{+oQ1X+}Q1{-iQ2T-vQ2`.UQ2i.`Q2z.tQ2|.xQ2}.yQ3X/ZQ3Y/[S3z/{/}Q4^0`Q4l0rQ4s0wQ4x1OQ4}1YQ5O1ZQ5_1yQ5n2aQ5r2hQ5u2jQ5w2mQ5{2sQ6V3VQ6o3uQ6u3{Q6w3|Q7P4UQ7X4_Q7[4eQ7d4tQ7n5`Q7p5dQ7|5vQ8P6RQ8S6YQ8c6pS8f6v6xQ8o7cQ8w7rR9X8g$^%m!Q!n$O$u%o%p%q&P&o&p&r'](q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gQ)j%nQ*T%yR*W%{$y%h!Q!n$O$u%i%j%n%o%p%q%y%{&P&o&p&r'](q)p)q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.i.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g:`:a:t:u:x'pWOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%_%b&U&Y&[&b&u'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:g$x%g!Q!n$O$u%i%j%n%o%p%q%y%{&P&o&p&r'](q)p)q)s)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.i.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8g:`:a:t:u:x_&y!q%X&z&|'P+z1PR,V']$zrOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!j$]o!c!p$e$g$h$q$r&U&b&u(b(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mQ,T']R5P1Z_}O!O!P!T%_%b)i^|O!O!P!T%_%b)iQ#YbX)R$y)S)U-tbhO!O!T3_6]8W8X9U9hS#`f9uQ#dgQ$PiQ$QlQ$VmQ$spW%^!P%_%b)iU&S!Y!`*iQ&W!ZQ&X![Q&]!_Q'q#eQ'r#oS's#p:QQ't#qQ'u#rQ'v#sQ'w#tQ'x#uQ'y#vQ'z#wQ'{#xQ'|#yQ(O#zQ(U#}Q([$TQ(`$WQ*b&YQ*c&[Q,r'}Q,w(WQ,y(YQ-n(|Q/k*lQ0z+nQ1i,sQ1l,zQ1}-mQ3P.}Q3[/^Q4w0}Q5V1hQ5a1|Q6^3aQ6d3hQ6e3kQ7R4WQ7e4vQ7h4|Q7s5gQ7y5tQ8j7SQ8q7gQ8{7{Q9[8kQ9b8|Q:[9wQ:]9xQ:c9zQ:d9{Q:h:OQ:i:PQ:j:RQ:k:SQ:l:TQ:m:UQ:n:VQ:o:WQ:p:XQ:q:YQ:r:ZQ:v:eQ:w:fR:{9v^tO!O!P!T%_%b)i$`#afgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3a3h3k4W4v4|5g5t7S7g7{8k8|9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ6[3_Q8V6]Q9R8WQ9T8XQ9g9UR9m9hQ&V!YQ&^!`R/h*iQ$joQ&a!cQ&t!pU(g$e$g(jS(n$h0eQ(u$qQ(v$rQ*`&UQ*m&bQ+p&uQ-S(fS-b(o4cQ-c(pQ-e(rW/a*f/d/g3fQ/j*kW0f+Z0g4h7^Q1o-TQ1z-gQ3b/bQ4k0mQ5X1rQ7l5[Q8Z6aR8t7m!h$_o!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mR-P(b'qXOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%_%b&U&Y&[&b&u'a'l'n'o'}(W(Y(b(d(e(f(j(o(p(r(|)S)U)i*Z*f*i*k*l+Z+n,q,s,z-R-T-g-m-t.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9s9t9u9v9w9x9z9{9|9}:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f:g$zqOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!i$fo!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7m&d^Ofgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u'}(W(Y(f(j(o(p(r(|)i*f*i*k*l+Z+n,s,z-T-g-m.}/^/b/d/g0e0g0m0}1h1r1|3_3a3f3h3k4W4c4h4v4|5[5g5t6]6a7S7^7g7m7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f[!zY[$`$a9s9t['_!|!}(d(e9|9}W)o%i%j:`:aU,W'a-R:gW.h)p)q:t:uT2o.i:xQ(i$eQ(m$gR-W(jV(h$e$g(jR-^(kR-](k$znOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['}(W(Y(|)i*i*l+n,s,z-m.}/^0}1h1|3_3a3h3k4W4v4|5g5t6]7S7g7{8W8X8k8|9U9h9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:f!i$ko!c!p$e$g$h$q$r&U&b&u(f(j(o(p(r*f*k+Z-T-g/b/d/g0e0g0m1r3f4c4h5[6a7^7mS'g#O'pj,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ,m'jQ.u)uR8_6f`,b'b'c'd,c,f,h1_5UQ1e,lX3l/m/n3n3qj,a'b'c'd,c,f,h,l/m/n1_3n3q5UQ7j5TR8s7k^uO!O!P!T%_%b)i$`#afgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['}(W(Y(|*i*l+n,s,z-m.}/^0}1h1|3a3h3k4W4v4|5g5t7S7g7{8k8|9u9v9w9x9z9{:O:P:Q:R:S:T:U:V:W:X:Y:Z:e:fQ6Z3_Q8U6]Q9Q8WQ9S8XQ9f9UR9l9hR(Q#zR(P#zQ$SlR(]$TR$ooR$noR)Q$vR)P$vQ)O$vR2O-ohwOb!O!P!T$y%_%b)S)U)i-t$l!lz!Q!n$O$u$|%f%n%o%p%q%y%{&P&o&p&r'](q)s)v)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR${xR0b+UR0W*xR0U*xR6{4PR/y*vR/x*vR0P*wR0O*wR0_+QR0^+Q%XyObxz!O!P!Q!T!n$O$u$y$|%_%b%f%n%o%p%q%y%{&P&o&p&r'](q)S)U)i)s)v)x)y*O*P*R*V*[*^*e*n*w*x+U+V+h+o+}-i-t-v.U.`.p.t.x.y/Z/[/{/}0`0r0w1O1Y1Z1y2a2h2j2m2s2v3V3u3{3|4R4U4_4e4t5`5d5v6R6Y6p6v6x7c7r8gR0k+ZR0j+ZQ'R!qQ)c%XQ+w&|R4y1PX'Q!q%X&|1PR+y&|R+x&|T/S*S4TT/R*S4TR.o)sR.n)sR){%p",nodeNames:"⚠ | < > RawString Float LineComment BlockComment SourceFile ] InnerAttribute ! [ MetaItem self Metavariable super crate Identifier ScopedIdentifier :: QualifiedScope AbstractType impl SelfType MetaType TypeIdentifier ScopedTypeIdentifier ScopeIdentifier TypeArgList TypeBinding = Lifetime String Escape Char Boolean Integer } { Block ; ConstItem Vis pub ( in ) const BoundIdentifier : UnsafeBlock unsafe AsyncBlock async move IfExpression if LetDeclaration let LiteralPattern ArithOp MetaPattern SelfPattern ScopedIdentifier TuplePattern ScopedTypeIdentifier , StructPattern FieldPatternList FieldPattern ref mut FieldIdentifier .. RefPattern SlicePattern CapturedPattern ReferencePattern & MutPattern RangePattern ... OrPattern MacroPattern ParenthesizedTokens TokenBinding Identifier TokenRepetition ArithOp BitOp LogicOp UpdateOp CompareOp -> => ArithOp BracketedTokens BracedTokens _ else MatchExpression match MatchBlock MatchArm Attribute Guard UnaryExpression ArithOp DerefOp LogicOp ReferenceExpression TryExpression BinaryExpression ArithOp ArithOp BitOp BitOp BitOp BitOp LogicOp LogicOp AssignmentExpression TypeCastExpression as ReturnExpression return RangeExpression CallExpression ArgList AwaitExpression await FieldExpression GenericFunction BreakExpression break LoopLabel ContinueExpression continue IndexExpression ArrayExpression TupleExpression MacroInvocation UnitExpression ClosureExpression ParamList Parameter Parameter ParenthesizedExpression StructExpression FieldInitializerList ShorthandFieldInitializer FieldInitializer BaseFieldInitializer MatchArm WhileExpression while LoopExpression loop ForExpression for MacroInvocation MacroDefinition macro_rules MacroRule EmptyStatement ModItem mod DeclarationList AttributeItem ForeignModItem extern StructItem struct TypeParamList ConstrainedTypeParameter TraitBounds HigherRankedTraitBound RemovedTraitBound OptionalTypeParameter ConstParameter WhereClause where LifetimeClause TypeBoundClause FieldDeclarationList FieldDeclaration OrderedFieldDeclarationList UnionItem union EnumItem enum EnumVariantList EnumVariant TypeItem type FunctionItem default fn ParamList Parameter SelfParameter VariadicParameter VariadicParameter ImplItem TraitItem trait AssociatedType LetDeclaration UseDeclaration use ScopedIdentifier UseAsClause ScopedIdentifier UseList ScopedUseList UseWildcard ExternCrateDeclaration StaticItem static ExpressionStatement ExpressionStatement GenericType FunctionType ForLifetimes ParamList VariadicParameter Parameter VariadicParameter Parameter ReferenceType PointerType TupleType UnitType ArrayType MacroInvocation EmptyType DynamicType dyn BoundedType",maxTerm:359,nodeProps:[["isolate",-4,4,6,7,33,""],["group",-42,4,5,14,15,16,17,18,19,33,35,36,37,40,51,53,56,101,107,111,112,113,122,123,125,127,128,130,132,133,134,137,139,140,141,142,143,144,148,149,155,157,159,"Expression",-16,22,24,25,26,27,222,223,230,231,232,233,234,235,236,237,239,"Type",-20,42,161,162,165,166,169,170,172,188,190,194,196,204,205,207,208,209,217,218,220,"Statement",-17,49,60,62,63,64,65,68,74,75,76,77,78,80,81,83,84,99,"Pattern"],["openedBy",9,"[",38,"{",47,"("],["closedBy",12,"]",39,"}",45,")"]],propSources:[hq],skippedNodes:[0,6,7,240],repeatNodeCount:32,tokenData:"$%h_R!XOX$nXY5gYZ6iZ]$n]^5g^p$npq5gqr7Xrs9cst:Rtu;Tuv>vvwAQwxCbxy!+Tyz!,Vz{!-X{|!/_|}!0g}!O!1i!O!P!3v!P!Q!8[!Q!R!Bw!R![!Dr![!]#+q!]!^#-{!^!_#.}!_!`#1b!`!a#3o!a!b#6S!b!c#7U!c!}#8W!}#O#:T#O#P#;V#P#Q#Cb#Q#R#Dd#R#S#8W#S#T$n#T#U#8W#U#V#El#V#f#8W#f#g#Ic#g#o#8W#o#p$ S#p#q$!U#q#r$$f#r${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$nU$u]'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU%uV'_Q'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S&aV'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S&yVOz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`S'cVOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[S'{UOz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`S(bUOz(t{!P(t!P!Q(_!Q;'S(t;'S;=`*a<%lO(tS(wVOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^S)eV'PS'OSOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^S)}UOz(tz{)z{!P(t!Q;'S(t;'S;=`*a<%lO(tS*dP;=`<%l(tS*jP;=`<%l)^S*pP;=`<%l'`S*vP;=`<%l&[S+OO'PSU+T]'_QOY+|YZ-xZr+|rs'`sz+|z{+O{!P+|!P!Q4y!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|U,R]'_QOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU-P]'_QOY+|YZ-xZr+|rs'`sz+|z{.d{!P+|!P!Q/Z!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|U-}V'_QOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[Q.iV'_QOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.dQ/TO'_QQ/WP;=`<%l.dU/`]'_QOY0XYZ3uZr0Xrs(tsz0Xz{.d{!P0X!P!Q/Z!Q#O0X#O#P(t#P;'S0X;'S;=`4a<%lO0XU0^]'_QOY1VYZ2XZr1Vrs)^sz1Vz{2w{!P1V!P!Q/Z!Q#O1V#O#P)^#P;'S1V;'S;=`4g<%lO1VU1`]'_Q'PS'OSOY1VYZ2XZr1Vrs)^sz1Vz{2w{!P1V!P!Q/Z!Q#O1V#O#P)^#P;'S1V;'S;=`4g<%lO1VU2bV'_Q'PS'OSOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^U2|]'_QOY0XYZ3uZr0Xrs(tsz0Xz{2w{!P0X!P!Q.d!Q#O0X#O#P(t#P;'S0X;'S;=`4a<%lO0XU3zV'_QOz)^z{)z{!P)^!P!Q(_!Q;'S)^;'S;=`*g<%lO)^U4dP;=`<%l0XU4jP;=`<%l1VU4pP;=`<%l+|U4vP;=`<%l$nU5QV'_Q'PSOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.d_5p]'_Q&|X'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_6rV'_Q&|X'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_7b_ZX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_8j]#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_9lV']Q'OS'^XOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_:[]'QX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_;^i'_Q'vW'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!c$n!c!}<{!}#O$n#O#P&[#P#R$n#R#S<{#S#T$n#T#o<{#o${$n${$|<{$|4w$n4w5b<{5b5i$n5i6S<{6S;'S$n;'S;=`4s<%lO$n_=Uj'_Q_X'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![<{![!c$n!c!}<{!}#O$n#O#P&[#P#R$n#R#S<{#S#T$n#T#o<{#o${$n${$|<{$|4w$n4w5b<{5b5i$n5i6S<{6S;'S$n;'S;=`4s<%lO$n_?P_(TP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_@X]#OX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_AZa!qX'_Q'OSOY$nYZ%nZr$nrs&[sv$nvwB`wz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Bi]'}X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Cik'_Q'OSOYE^YZGfZrE^rsHvswE^wxFdxzE^z{Ih{!PE^!P!QKl!Q!cE^!c!}Lp!}#OE^#O#P!!l#P#RE^#R#SLp#S#TE^#T#oLp#o${E^${$|Lp$|4wE^4w5bLp5b5iE^5i6SLp6S;'SE^;'S;=`!*}<%lOE^_Ee_'_Q'OSOY$nYZ%nZr$nrs&[sw$nwxFdxz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Fm]'_Q'OSsXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_GmX'_Q'OSOw&[wxHYxz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]HaV'OSsXOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]H{X'OSOw&[wxHYxz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_Im_'_QOY+|YZ-xZr+|rs'`sw+|wxJlxz+|z{+O{!P+|!P!Q4y!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_Js]'_QsXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_Kq_'_QOY+|YZ-xZr+|rs'`sw+|wxJlxz+|z{.d{!P+|!P!Q/Z!Q#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_Lyl'_Q'OS'ZXOY$nYZ%nZr$nrs&[sw$nwxFdxz$nz{+O{!P$n!P!Q,z!Q![Nq![!c$n!c!}Nq!}#O$n#O#P&[#P#R$n#R#SNq#S#T$n#T#oNq#o${$n${$|Nq$|4w$n4w5bNq5b5i$n5i6SNq6S;'S$n;'S;=`4s<%lO$n_Nzj'_Q'OS'ZXOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![Nq![!c$n!c!}Nq!}#O$n#O#P&[#P#R$n#R#SNq#S#T$n#T#oNq#o${$n${$|Nq$|4w$n4w5bNq5b5i$n5i6SNq6S;'S$n;'S;=`4s<%lO$n]!!qZ'OSOzHvz{!#d{!PHv!P!Q!$n!Q#iHv#i#j!%Z#j#lHv#l#m!'V#m;'SHv;'S;=`!*w<%lOHv]!#gXOw'`wx!$Sxz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`]!$XVsXOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[]!$qWOw'`wx!$Sxz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`]!%`^'OSOz&[z{&v{!P&[!P!Q'x!Q![!&[![!c&[!c!i!&[!i#T&[#T#Z!&[#Z#o&[#o#p!({#p;'S&[;'S;=`*s<%lO&[]!&a['OSOz&[z{&v{!P&[!P!Q'x!Q![!'V![!c&[!c!i!'V!i#T&[#T#Z!'V#Z;'S&[;'S;=`*s<%lO&[]!'[['OSOz&[z{&v{!P&[!P!Q'x!Q![!(Q![!c&[!c!i!(Q!i#T&[#T#Z!(Q#Z;'S&[;'S;=`*s<%lO&[]!(V['OSOz&[z{&v{!P&[!P!Q'x!Q![Hv![!c&[!c!iHv!i#T&[#T#ZHv#Z;'S&[;'S;=`*s<%lO&[]!)Q['OSOz&[z{&v{!P&[!P!Q'x!Q![!)v![!c&[!c!i!)v!i#T&[#T#Z!)v#Z;'S&[;'S;=`*s<%lO&[]!){^'OSOz&[z{&v{!P&[!P!Q'x!Q![!)v![!c&[!c!i!)v!i#T&[#T#Z!)v#Z#q&[#q#rHv#r;'S&[;'S;=`*s<%lO&[]!*zP;=`<%lHv_!+QP;=`<%lE^_!+^]}X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!,`]!PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!-`_(QX'_QOY+|YZ-xZr+|rs'`sz+|z{+O{!P+|!P!Q4y!Q!_+|!_!`!._!`#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_!.f]#OX'_QOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!/h_(PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!0p]!eX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!1r`'gX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`!a!2t!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!2}]#QX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!4P^(OX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!O$n!O!P!4{!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!5U`!lX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!O$n!O!P!6W!P!Q,z!Q!_$n!_!`!7Y!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!6a]!tX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nV!7c]'qP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!8c_'_Q'xXOY+|YZ-xZr+|rs'`sz+|z{!9b{!P+|!P!Q!:O!Q!_+|!_!`!._!`#O+|#O#P'`#P;'S+|;'S;=`4m<%lO+|_!9iV&}]'_QOY.dYZ/OZr.ds#O.d#P;'S.d;'S;=`/T<%lO.d_!:V]'_QUXOY!;OYZ3uZr!;Ors!>jsz!;Oz{!Aq{!P!;O!P!Q!:O!Q#O!;O#O#P!>j#P;'S!;O;'S;=`!Bk<%lO!;O_!;V]'_QUXOY!<OYZ2XZr!<Ors!=Ssz!<Oz{!@q{!P!<O!P!Q!:O!Q#O!<O#O#P!=S#P;'S!<O;'S;=`!Bq<%lO!<O_!<Z]'_QUX'PS'OSOY!<OYZ2XZr!<Ors!=Ssz!<Oz{!@q{!P!<O!P!Q!:O!Q#O!<O#O#P!=S#P;'S!<O;'S;=`!Bq<%lO!<O]!=]XUX'PS'OSOY!=SYZ)^Zz!=Sz{!=x{!P!=S!P!Q!?[!Q;'S!=S;'S;=`!@k<%lO!=S]!=}XUXOY!>jYZ(tZz!>jz{!=x{!P!>j!P!Q!?|!Q;'S!>j;'S;=`!@e<%lO!>j]!>oXUXOY!=SYZ)^Zz!=Sz{!=x{!P!=S!P!Q!?[!Q;'S!=S;'S;=`!@k<%lO!=S]!?aXUXOY!>jYZ(tZz!>jz{!?|{!P!>j!P!Q!?[!Q;'S!>j;'S;=`!@e<%lO!>jX!@RSUXOY!?|Z;'S!?|;'S;=`!@_<%lO!?|X!@bP;=`<%l!?|]!@hP;=`<%l!>j]!@nP;=`<%l!=S_!@x]'_QUXOY!;OYZ3uZr!;Ors!>jsz!;Oz{!@q{!P!;O!P!Q!Aq!Q#O!;O#O#P!>j#P;'S!;O;'S;=`!Bk<%lO!;OZ!AxX'_QUXOY!AqYZ/OZr!Aqrs!?|s#O!Aq#O#P!?|#P;'S!Aq;'S;=`!Be<%lO!AqZ!BhP;=`<%l!Aq_!BnP;=`<%l!;O_!BtP;=`<%l!<O_!CQjuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![!Dr![#O$n#O#P&[#P#R$n#R#S!Dr#S#U$n#U#V#!}#V#]$n#]#^!FZ#^#c$n#c#d#%u#d#i$n#i#j!FZ#j#l$n#l#m#(g#m;'S$n;'S;=`4s<%lO$n_!D{duX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![!Dr![#O$n#O#P&[#P#R$n#R#S!Dr#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_!Fbg'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R$n!R!S!Gy!S!T$n!T!U!K_!U!W$n!W!X!Le!X!Y$n!Y!Z!J]!Z#O$n#O#P&[#P#g$n#g#h!Mk#h;'S$n;'S;=`4s<%lO$n_!HQa'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!S$n!S!T!IV!T!W$n!W!X!J]!X#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!I^_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y$n!Y!Z!J]!Z#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Jf]uX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Kf_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!S$n!S!T!J]!T#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Ll_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!U$n!U!V!J]!V#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_!Mr_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#]$n#]#^!Nq#^;'S$n;'S;=`4s<%lO$n_!Nx_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#n$n#n#o# w#o;'S$n;'S;=`4s<%lO$n_#!O_'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P#X$n#X#Y!J]#Y;'S$n;'S;=`4s<%lO$n_##Ua'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R#$Z!R!S#$Z!S#O$n#O#P&[#P#R$n#R#S#$Z#S;'S$n;'S;=`4s<%lO$n_#$deuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!R#$Z!R!S#$Z!S#O$n#O#P&[#P#R$n#R#S#$Z#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#%|`'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y#'O!Y#O$n#O#P&[#P#R$n#R#S#'O#S;'S$n;'S;=`4s<%lO$n_#'XduX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!Y#'O!Y#O$n#O#P&[#P#R$n#R#S#'O#S#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#(nd'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#)|![!c$n!c!i#)|!i#O$n#O#P&[#P#R$n#R#S#)|#S#T$n#T#Z#)|#Z;'S$n;'S;=`4s<%lO$n_#*VhuX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#)|![!c$n!c!i#)|!i#O$n#O#P&[#P#R$n#R#S#)|#S#T$n#T#Z#)|#Z#]$n#]#^!FZ#^#i$n#i#j!FZ#j;'S$n;'S;=`4s<%lO$n_#+z_!SX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![$n![!]#,y!]#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#-S]dX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#.U]yX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#/W`#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!^$n!^!_#0Y!_!`8a!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#0c_'yX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#1k`oX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`!a#2m!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#2v]#RX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#3x`#PX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`8a!`!a#4z!a#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#5T_'zX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#6]](RX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nV#7_]'pP'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#8cj'_Q'OS!yW'TPOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$n_#:^][X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$nU#;[Z'OSOz#;}z{#<k{!P#;}!P!Q#=V!Q#i#;}#i#j#=n#j#l#;}#l#m#?j#m;'S#;};'S;=`#C[<%lO#;}U#<UVrQ'OSOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[U#<pVrQOz'`z{&v{!P'`!P!Q*y!Q;'S'`;'S;=`*m<%lO'`U#=[UrQOz'`{!P'`!P!Q(_!Q;'S'`;'S;=`*m<%lO'`U#=s^'OSOz&[z{&v{!P&[!P!Q'x!Q![#>o![!c&[!c!i#>o!i#T&[#T#Z#>o#Z#o&[#o#p#A`#p;'S&[;'S;=`*s<%lO&[U#>t['OSOz&[z{&v{!P&[!P!Q'x!Q![#?j![!c&[!c!i#?j!i#T&[#T#Z#?j#Z;'S&[;'S;=`*s<%lO&[U#?o['OSOz&[z{&v{!P&[!P!Q'x!Q![#@e![!c&[!c!i#@e!i#T&[#T#Z#@e#Z;'S&[;'S;=`*s<%lO&[U#@j['OSOz&[z{&v{!P&[!P!Q'x!Q![#;}![!c&[!c!i#;}!i#T&[#T#Z#;}#Z;'S&[;'S;=`*s<%lO&[U#Ae['OSOz&[z{&v{!P&[!P!Q'x!Q![#BZ![!c&[!c!i#BZ!i#T&[#T#Z#BZ#Z;'S&[;'S;=`*s<%lO&[U#B`^'OSOz&[z{&v{!P&[!P!Q'x!Q![#BZ![!c&[!c!i#BZ!i#T&[#T#Z#BZ#Z#q&[#q#r#;}#r;'S&[;'S;=`*s<%lO&[U#C_P;=`<%l#;}_#Ck]XX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#Dm_'{X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_#Ewl'_Q'OS!yW'TPOY$nYZ%nZr$nrs#Gosw$nwx#H]xz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$n]#GvV'OS'^XOz&[z{&v{!P&[!P!Q'x!Q;'S&[;'S;=`*s<%lO&[_#Hd_'_Q'OSOYE^YZGfZrE^rsHvswE^wxFdxzE^z{Ih{!PE^!P!QKl!Q#OE^#O#P!!l#P;'SE^;'S;=`!*}<%lOE^_#Ink'_Q'OS!yW'TPOY$nYZ%nZr$nrs&[st#Kctz$nz{+O{!P$n!P!Q,z!Q![#8W![!c$n!c!}#8W!}#O$n#O#P&[#P#R$n#R#S#8W#S#T$n#T#o#8W#o${$n${$|#8W$|4w$n4w5b#8W5b5i$n5i6S#8W6S;'S$n;'S;=`4s<%lO$nV#Kji'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!c$n!c!}#MX!}#O$n#O#P&[#P#R$n#R#S#MX#S#T$n#T#o#MX#o${$n${$|#MX$|4w$n4w5b#MX5b5i$n5i6S#MX6S;'S$n;'S;=`4s<%lO$nV#Mbj'_Q'OS'TPOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q![#MX![!c$n!c!}#MX!}#O$n#O#P&[#P#R$n#R#S#MX#S#T$n#T#o#MX#o${$n${$|#MX$|4w$n4w5b#MX5b5i$n5i6S#MX6S;'S$n;'S;=`4s<%lO$n_$ ]]wX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_$!_a'rX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q!_$n!_!`@O!`#O$n#O#P&[#P#p$n#p#q$#d#q;'S$n;'S;=`4s<%lO$n_$#m]'|X'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n_$$o]vX'_Q'OSOY$nYZ%nZr$nrs&[sz$nz{+O{!P$n!P!Q,z!Q#O$n#O#P&[#P;'S$n;'S;=`4s<%lO$n",tokenizers:[cq,uq,lq,0,1,2,3],topRules:{SourceFile:[0,8]},specialized:[{term:281,get:t=>fq[t]||-1}],tokenPrec:15596}),$q=Pt.define({name:"rust",parser:dq.configure({props:[Xt.add({IfExpression:Ot({except:/^\s*({|else\b)/}),"String BlockComment":()=>null,AttributeItem:t=>t.continue(),"Statement MatchArm":Ot()}),yt.add(t=>{if(/(Block|edTokens|List)$/.test(t.name))return en;if(t.name=="BlockComment")return e=>({from:e.from+2,to:e.to-2})})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:\{|\})$/,closeBrackets:{stringPrefixes:["b","r","br"]}}});function pq(){return new Zt($q)}const uQ=1,Qq=2,mq=3,gq=82,Pq=76,Sq=117,bq=85,Xq=97,yq=122,xq=65,wq=90,kq=95,Ku=48,hQ=34,Tq=40,fQ=41,vq=32,dQ=62,_q=new ke(t=>{if(t.next==Pq||t.next==bq?t.advance():t.next==Sq&&(t.advance(),t.next==Ku+8&&t.advance()),t.next!=gq||(t.advance(),t.next!=hQ))return;t.advance();let e="";for(;t.next!=Tq;){if(t.next==vq||t.next<=13||t.next==fQ)return;e+=String.fromCharCode(t.next),t.advance()}for(t.advance();;){if(t.next<0)return t.acceptToken(uQ);if(t.next==fQ){let i=!0;for(let n=0;i&&n<e.length;n++)t.peek(n+1)!=e.charCodeAt(n)&&(i=!1);if(i&&t.peek(e.length+1)==hQ)return t.acceptToken(uQ,2+e.length)}t.advance()}}),Rq=new ke(t=>{if(t.next==dQ)t.peek(1)==dQ&&t.acceptToken(Qq,1);else{let e=!1,i=0;for(;;i++){if(t.next>=xq&&t.next<=wq)e=!0;else{if(t.next>=Xq&&t.next<=yq)return;if(t.next!=kq&&!(t.next>=Ku&&t.next<=Ku+9))break}t.advance()}e&&i>1&&t.acceptToken(mq)}},{extend:!0}),Yq=bt({"typedef struct union enum class typename decltype auto template operator friend noexcept namespace using requires concept import export module __attribute__ __declspec __based":$.definitionKeyword,"extern MsCallModifier MsPointerModifier extern static register thread_local inline const volatile restrict _Atomic mutable constexpr constinit consteval virtual explicit VirtualSpecifier Access":$.modifier,"if else switch for while do case default return break continue goto throw try catch":$.controlKeyword,"co_return co_yield co_await":$.controlKeyword,"new sizeof delete static_assert":$.operatorKeyword,"NULL nullptr":$.null,this:$.self,"True False":$.bool,"TypeSize PrimitiveType":$.standard($.typeName),TypeIdentifier:$.typeName,FieldIdentifier:$.propertyName,"CallExpression/FieldExpression/FieldIdentifier":$.function($.propertyName),"ModuleName/Identifier":$.namespace,PartitionName:$.labelName,StatementIdentifier:$.labelName,"Identifier DestructorName":$.variableName,"CallExpression/Identifier":$.function($.variableName),"CallExpression/ScopedIdentifier/Identifier":$.function($.variableName),"FunctionDeclarator/Identifier FunctionDeclarator/DestructorName":$.function($.definition($.variableName)),NamespaceIdentifier:$.namespace,OperatorName:$.operator,ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,AssignOp:$.definitionOperator,UpdateOp:$.updateOperator,LineComment:$.lineComment,BlockComment:$.blockComment,Number:$.number,String:$.string,"RawString SystemLibString":$.special($.string),CharLiteral:$.character,EscapeSequence:$.escape,"UserDefinedLiteral/Identifier":$.literal,PreProcArg:$.meta,"PreprocDirectiveName #include #ifdef #ifndef #if #define #else #endif #elif":$.processingInstruction,MacroName:$.special($.name),"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,"< >":$.angleBracket,". ->":$.derefOperator,", ;":$.separator}),Zq={__proto__:null,bool:36,char:36,int:36,float:36,double:36,void:36,size_t:36,ssize_t:36,intptr_t:36,uintptr_t:36,charptr_t:36,int8_t:36,int16_t:36,int32_t:36,int64_t:36,uint8_t:36,uint16_t:36,uint32_t:36,uint64_t:36,char8_t:36,char16_t:36,char32_t:36,char64_t:36,const:70,volatile:72,restrict:74,_Atomic:76,mutable:78,constexpr:80,constinit:82,consteval:84,struct:88,__declspec:92,final:148,override:148,public:152,private:152,protected:152,virtual:154,extern:160,static:162,register:164,inline:166,thread_local:168,__attribute__:172,__based:178,__restrict:180,__uptr:180,__sptr:180,_unaligned:180,__unaligned:180,noexcept:194,requires:198,TRUE:796,true:796,FALSE:798,false:798,typename:218,class:220,template:234,throw:248,__cdecl:256,__clrcall:256,__stdcall:256,__fastcall:256,__thiscall:256,__vectorcall:256,try:260,catch:264,export:282,import:286,case:296,default:298,if:308,else:314,switch:318,do:322,while:324,for:330,return:334,break:338,continue:342,goto:346,co_return:350,co_yield:354,using:362,typedef:366,namespace:380,new:398,delete:400,co_await:402,concept:406,enum:410,static_assert:414,friend:422,union:424,explicit:430,operator:444,module:456,signed:518,unsigned:518,long:518,short:518,decltype:528,auto:530,sizeof:566,NULL:572,nullptr:586,this:588},zq={__proto__:null,"<":765},qq={__proto__:null,">":135},Uq={__proto__:null,operator:388,new:576,delete:582},Vq=St.deserialize({version:14,states:"$;xQ!QQVOOP'gOUOOO([OWO'#CdO,UQUO'#CgO,`QUO'#FjO-vQbO'#CxO.XQUO'#CxO0WQUO'#K`O0_QUO'#CwO0jOpO'#DvO0rQ!dO'#D]OOQR'#JP'#JPO5[QVO'#GUO5iQUO'#JWOOQQ'#JW'#JWO8}QUO'#KsO<hQUO'#KsO?OQVO'#E^O?`QUO'#E^OOQQ'#Ed'#EdOOQQ'#Ee'#EeO?eQVO'#EfO@[QVO'#EiOBXQUO'#FPOByQUO'#FhOOQR'#Fj'#FjOCOQUO'#FjOOQR'#LW'#LWOOQR'#LV'#LVOEWQVO'#KVOF{QUO'#L]OGYQUO'#KwOGnQUO'#L]OH`QUO'#L_OOQR'#HU'#HUOOQR'#HV'#HVOOQR'#HW'#HWOOQR'#LS'#LSOOQR'#J`'#J`Q!QQVOOOHnQVO'#FOOIZQUO'#EhOIbQUOOOK^QVO'#HgOKnQUO'#HgONYQUO'#KwONdQUO'#KwOOQQ'#Kw'#KwO!!bQUO'#KwOOQQ'#Jr'#JrO!!oQUO'#HxOOQQ'#K`'#K`O!&aQUO'#K`O!&}QUO'#KVO!(}QVO'#I]O!(}QVO'#I`OCTQUO'#KVOOQQ'#Ip'#IpOOQQ'#KV'#KVO!-QQUO'#K`OOQR'#K_'#K_O!-XQUO'#DZO!/pQUO'#KtOOQQ'#Kt'#KtO!/wQUO'#KtO!0OQUO'#ETO!0TQUO'#EWO!0YQUO'#FRO8}QUO'#FPO!QQVO'#F^O!0_Q#vO'#F`O!0jQUO'#FkO!0rQUO'#FpO!0wQVO'#FrO!0rQUO'#FuO!3vQUO'#FvO!3{QVO'#FxO!4VQUO'#FzO!4[QUO'#F|O!4aQUO'#GOO!4fQVO'#GQO!(}QVO'#GSO!4mQUO'#GpO!4{QUO'#GYO!(}QVO'#FeO!6YQUO'#FeO!6_QVO'#G`O!6fQUO'#GaO!6qQUO'#GnO!6vQUO'#GrO!6{QUO'#GzO!7mQ&lO'#HiO!:pQUO'#GuO!;QQUO'#HXO!;]QUO'#HZO!;eQUO'#DXO!;eQUO'#HuO!;eQUO'#HvO!;|QUO'#HwO!<_QUO'#H|O!=SQUO'#H}O!>xQVO'#IbO!(}QVO'#IdO!?SQUO'#IgO!?ZQVO'#IjP!AQO!LQO'#CaP!A]{,UO'#CbP!6q{,UO'#CbP!Ah{7[O'#CbP!6q{,UO'#CbP!Am{,UO'#CbP!AxOSO'#IzPOOO)CEo)CEoOOOO'#I}'#I}O!BSOWO,59OOOQR,59O,59OO!(}QVO,59VOOQQ,59X,59XOOQR'#Do'#DoO!(}QVO,5;ROOQR,5<U,5<UO!B_QUO,59ZO!(}QVO,5>qOOQR'#IX'#IXOOQR'#IY'#IYOOQR'#IZ'#IZOOQR'#I['#I[O!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!(}QVO,5>rO!D^QVO,5>zOOQQ,5?W,5?WO!FPQVO'#CjO!IxQUO'#CzOOQQ,59d,59dOOQQ,59c,59cOOQQ,5<},5<}O!JVQ&lO,5=mO!?SQUO,5?RO!LyQVO,5?UO!MQQbO,59dO!M]QVO'#FYOOQQ,5?P,5?PO!MmQVO,59WO!MtO`O,5:bO!MyQbO'#D^O!N[QbO'#KdO!NjQbO,59wO!NrQbO'#CxO# TQUO'#CxO# YQUO'#K`O# dQUO'#CwOOQR-E<}-E<}O# oQUO,5AuO# vQVO'#EfO@[QVO'#EiOBXQUO,5;kOOQR,5<p,5<pO#$oQUO'#KVO#$vQUO'#KVO!(}QVO'#IUO8}QUO,5;kO#%ZQ&lO'#HiO#(bQUO'#CtO#+VQbO'#CxO#+[QUO'#CwO#.xQUO'#K`OOQQ-E=U-E=UO#1]QUO,5A_O#1gQUO'#K`O#1qQUO,5A_OOQR,5Au,5AuOOQQ,5>l,5>lO#3uQUO'#CgO#4kQUO,5>pO#6^QUO'#IeOOQR'#JO'#JOO#6fQUO,5:xO#7SQUO,5:xO#7sQUO,5:xO#8hQUO'#CuO!0TQUO'#CmOOQQ'#JX'#JXO#7SQUO,5:xO#8pQUO,5;QO!4{QUO'#DOO#9yQUO,5;QO#:OQUO,5>QO#;[QUO'#DOO#;rQUO,5>{O#;wQUO'#K}O#=QQUO,5;TO#=YQVO,5;TO#=dQUO,5;TOOQQ,5;T,5;TO#?]QUO'#LbO#?dQUO,5>UO#?iQbO'#CxO#?tQUO'#GcO#?yQUO'#E^O#@jQUO,5;kO#ARQUO'#LTO#AZQUO,5;rOKnQUO'#HfOBXQUO'#HgO#A`QUO'#KwO!6qQUO'#HjO#BWQUO'#CuO!0wQVO,5<SOOQQ'#Cg'#CgOOQR'#Ji'#JiO#B]QVO,5=`OOQQ,5?Z,5?ZO#DfQbO'#CxO#DqQUO'#GcOOQQ'#Jj'#JjOOQQ-E=h-E=hOGYQUO,5AwOGnQUO,5AwO#DvQUO,5AyO#ERQUO'#G|OOQR,5Aw,5AwO#DvQUO,5AwO#E^QUO'#HOO#EfQUO,5AyOOQR,5Ay,5AyOOQR,5Az,5AzO#EtQVO,5AzOOQR-E=^-E=^O#GnQVO,5;jOOQR,5;j,5;jO#IoQUO'#EjO#JtQUO'#EwO#KkQVO'#ExO#M}QUO'#EvO#NVQUO'#EyO$ UQUO'#EzOOQQ'#LQ'#LQO$ {QUO,5;SO$#RQUO'#EvOOQQ,5;S,5;SO$$OQUO,5;SO$%qQUO,5:yO$([QVO,5>PO$(fQUO'#E[O$(sQUO,5>ROOQQ,5>S,5>SO$,aQVO'#C|OOQQ-E=p-E=pOOQQ,5>d,5>dOOQQ,59a,59aO$,kQUO,5>wO$.kQUO,5>zO!6qQUO,59uO$/OQUO,5;qO$/]QUO,5<{O!0TQUO,5:oOOQQ,5:r,5:rO$/hQUO,5;mO$/mQUO'#KsOBXQUO,5;kOOQR,5;x,5;xO$0^QUO'#FbO$0lQUO'#FbO$0qQUO,5;zO$4[QVO'#FmO!0wQVO,5<VO!0rQUO,5<VO!0YQUO,5<[O$4cQVO'#GUO$7_QUO,5<^O!0wQVO,5<aO$:uQVO,5<bO$;SQUO,5<dOOQR,5<d,5<dO$<]QUO,5<dOOQR,5<f,5<fOOQR,5<h,5<hOOQQ'#Fi'#FiO$<bQUO,5<jO$<gQUO,5<lOOQR,5<l,5<lO$=mQUO,5<nO$>sQUO,5<rO$?OQUO,5=[O$?TQUO,5=[O!4{QUO,5<tO$?]QUO,5<tO$?qQUO,5<PO$@wQVO,5<PO$CYQUO,5<zOOQR,5<z,5<zOOQR,5<{,5<{O$?TQUO,5<{O$D`QUO,5<{O$DkQUO,5=YO!(}QVO,5=^O!(}QVO,5=fO#NsQUO,5=mOOQQ,5>T,5>TO$FpQUO,5>TO$FzQUO,5>TO$GPQUO,5>TO$GUQUO,5>TO!6qQUO,5>TO$ISQUO'#K`O$IZQUO,5=oO$IfQUO,5=aOKnQUO,5=oO$J`QUO,5=sOOQR,5=s,5=sO$JhQUO,5=sO$LsQVO'#H[OOQQ,5=u,5=uO!;`QUO,5=uO%#nQUO'#KpO%#uQUO'#KaO%$ZQUO'#KpO%$eQUO'#DyO%$vQUO'#D|O%'sQUO'#KaOOQQ'#Ka'#KaO%)fQUO'#KaO%#uQUO'#KaO%)kQUO'#KaOOQQ,59s,59sOOQQ,5>a,5>aOOQQ,5>b,5>bO%)sQUO'#HzO%){QUO,5>cOOQQ,5>c,5>cO%-gQUO,5>cO%-rQUO,5>hO%1^QVO,5>iO%1eQUO,5>|O# vQVO'#EfO%4kQUO,5>|OOQQ,5>|,5>|O%5[QUO,5?OO%7`QUO,5?RO!<_QUO,5?RO%9[QUO,5?UO%<wQVO,5?UPOOO'#I|'#I|P%=OO!LQO,58{POOO,58{,58{P!Am{,UO,58|P%=Z{,UO,58|P%=i{7[O,58|P%=o{,UO,58|PO{O'#Jv'#JvP%=t{,UO'#LiPOOO'#Li'#LiP%=z{,UO'#LiPOOO,58|,58|POOO,5?f,5?fP%>POSO,5?fOOOO-E<{-E<{OOQR1G.j1G.jO%>WQUO1G.qO%?^QUO1G0mOOQQ1G0m1G0mO%@jQUO'#CpO%ByQbO'#CxO%CUQUO'#CsO%CZQUO'#CsO%C`QUO1G.uO#BWQUO'#CrOOQQ1G.u1G.uO%EcQUO1G4]O%FiQUO1G4^O%H[QUO1G4^O%I}QUO1G4^O%KpQUO1G4^O%McQUO1G4^O& UQUO1G4^O&!wQUO1G4^O&$jQUO1G4^O&&]QUO1G4^O&(OQUO1G4^O&)qQUO1G4^O&+dQUO'#KUO&,mQUO'#KUO&,uQUO,59UOOQQ,5=P,5=PO&.}QUO,5=PO&/XQUO,5=PO&/^QUO,5=PO&/cQUO,5=PO!6qQUO,5=PO#NsQUO1G3XO&/mQUO1G4mO!<_QUO1G4mO&1iQUO1G4pO&3[QVO1G4pOOQQ1G/O1G/OOOQQ1G.}1G.}OOQQ1G2i1G2iO!JVQ&lO1G3XO&3cQUO'#LUO@[QVO'#EiO&4lQUO'#F]OOQQ'#Jb'#JbO&4qQUO'#FZO&4|QUO'#LUO&5UQUO,5;tO&5ZQUO1G.rOOQQ1G.r1G.rOOQR1G/|1G/|O&6|Q!dO'#JQO&7RQbO,59xO&9dQ!eO'#D`O&9kQ!dO'#JSO&9pQbO,5AOO&9pQbO,5AOOOQR1G/c1G/cO&9{QbO1G/cO&:QQ&lO'#GeO&;OQbO,59dOOQR1G7a1G7aO#@jQUO1G1VO&;ZQUO1G1^OBXQUO1G1VO&=lQUO'#CzO#+VQbO,59dO&A_QUO1G6yOOQR-E<|-E<|O&BqQUO1G0dO#6fQUO1G0dOOQQ-E=V-E=VO#7SQUO1G0dOOQQ1G0l1G0lO&CfQUO,59jOOQQ1G3l1G3lO&C|QUO,59jO&DdQUO,59jO!MmQVO1G4gO!(}QVO'#JZO&EOQUO,5AiOOQQ1G0o1G0oO!(}QVO1G0oO!6qQUO'#JoO&EWQUO,5A|OOQQ1G3p1G3pOOQR1G1V1G1VO&ITQVO'#FOO!MmQVO,5;sOOQQ,5;s,5;sOBXQUO'#JdO&KPQUO,5AoO&KXQVO'#E[OOQR1G1^1G1^O&MvQUO'#LbOOQR1G1n1G1nOOQR-E=g-E=gOOQR1G7c1G7cO#DvQUO1G7cOGYQUO1G7cO#DvQUO1G7eOOQR1G7e1G7eO&NOQUO'#G}O&NWQUO'#L^OOQQ,5=h,5=hO&NfQUO,5=jO&NkQUO,5=kOOQR1G7f1G7fO#EtQVO1G7fO&NpQUO1G7fO' vQVO,5=kOOQR1G1U1G1UO$/UQUO'#E]O'!lQUO'#E]OOQQ'#LP'#LPO'#VQUO'#LOO'#bQUO,5;UO'#jQUO'#ElO'#}QUO'#ElO'$bQUO'#EtOOQQ'#J]'#J]O'$gQUO,5;cO'%^QUO,5;cO'&XQUO,5;dO''_QVO,5;dOOQQ,5;d,5;dO''iQVO,5;dO''_QVO,5;dO''pQUO,5;bO'(mQUO,5;eO'(xQUO'#KvO')QQUO,5:vO')VQUO,5;fOOQQ1G0n1G0nOOQQ'#J^'#J^O''pQUO,5;bO!4{QUO'#E}OOQQ,5;b,5;bO'*QQUO'#E`O'+zQUO'#E{OHuQUO1G0nO',PQUO'#EbOOQQ'#JY'#JYO'-iQUO'#KxOOQQ'#Kx'#KxO'.cQUO1G0eO'/ZQUO1G3kO'0aQVO1G3kOOQQ1G3k1G3kO'0kQVO1G3kO'0rQUO'#LeO'2OQUO'#K^O'2^QUO'#K]O'2iQUO,59hO'2qQUO1G/aO'2vQUO'#FPOOQR1G1]1G1]OOQR1G2g1G2gO$?TQUO1G2gO'3QQUO1G2gO'3]QUO1G0ZOOQR'#Ja'#JaO'3bQVO1G1XO'9ZQUO'#FTO'9`QUO1G1VO!6qQUO'#JeO'9nQUO,5;|O$0lQUO,5;|OOQQ'#Fc'#FcOOQQ,5;|,5;|O'9|QUO1G1fOOQR1G1f1G1fO':UQUO,5<XO$/UQUO'#FWOBXQUO'#FWO':]QUO,5<XO!(}QVO,5<XO':eQUO,5<XO':jQVO1G1qO!0wQVO1G1qOOQR1G1v1G1vO'@YQUO1G1xOOQR1G1{1G1{O'@_QUO1G1|OBXQUO1G2]O'AhQVO1G1|O'C|QUO1G1|O'DRQUO'#GWO8}QUO1G2]OOQR1G2O1G2OOOQR1G2U1G2UOOQR1G2W1G2WOOQR1G2Y1G2YO'DWQUO1G2^O!4{QUO1G2^OOQR1G2v1G2vO'D`QUO1G2vO$?]QUO1G2`OOQQ'#Cv'#CvO'DeQUO'#G[O'E`QUO'#G[O'EeQUO'#LXO'EsQUO'#G_OOQQ'#LY'#LYO'FRQUO1G2`O'FWQVO1G1kO'HiQVO'#GUOBXQUO'#FWOOQR'#Jf'#JfO'FWQVO1G1kO'HsQUO'#FvOOQR1G2f1G2fO'HxQUO1G2gO'H}QUO'#JhO'3QQUO1G2gO!(}QVO1G2tO'IVQUO1G2xO'J`QUO1G3QO'KfQUO1G3XOOQQ1G3o1G3oO'KzQUO1G3oOOQR1G3Z1G3ZO'LPQUO'#K`O'2vQUO'#LZOGnQUO'#L]OOQR'#Gy'#GyO#DvQUO'#L_OOQR'#HQ'#HQO'LZQUO'#GvO'$bQUO'#GuOOQR1G2{1G2{O'MWQUO1G2{O'M}QUO1G3ZO'NYQUO1G3_O'N_QUO1G3_OOQR1G3_1G3_O'NgQUO'#H]OOQR'#H]'#H]O( pQUO'#H]O!(}QVO'#H`O!(}QVO'#H_OOQR'#La'#LaO( uQUO'#LaOOQR'#Jl'#JlO( zQVO,5=vOOQQ,5=v,5=vO(!RQUO'#H^O(!ZQUO'#HZOOQQ1G3a1G3aO(!eQUO,5@{OOQQ,5@{,5@{O%)fQUO,5@{O%)kQUO,5@{O%$eQUO,5:eO(&SQUO'#KqO(&bQUO'#KqOOQQ,5:e,5:eOOQQ'#JT'#JTO(&mQUO'#D}O(&wQUO'#KwOGnQUO'#L]O('sQUO'#D}OOQQ'#Hp'#HpOOQQ'#Hr'#HrOOQQ'#Hs'#HsOOQQ'#Kr'#KrOOQQ'#JV'#JVO('}QUO,5:hOOQQ,5:h,5:hO((zQUO'#L]O()XQUO'#HtO()oQUO,5@{O()vQUO'#H{O(*RQUO'#LdO(*ZQUO,5>fO(*`QUO'#LcOOQQ1G3}1G3}O(.VQUO1G3}O(.^QUO1G3}O(.eQUO1G4TO(/kQUO1G4TO(/pQUO,5BSO!6qQUO1G4hO!(}QVO'#IiOOQQ1G4m1G4mO(/uQUO1G4mO(1xQVO1G4pPOOO-E<z-E<zPOOO1G.g1G.gPOOO1G.h1G.hP!Am{,UO1G.hP(3xQUO'#LkP(4T{,UO1G.hP(4Y{7[O1G.hPO{O-E=t-E=tPOOO,5BT,5BTP(4b{,UO,5BTPOOO1G5Q1G5QO!(}QVO7+$]O(4gQUO'#CzOOQQ,59_,59_O(4rQbO,59dO(4}QbO,59_OOQQ,59^,59^OOQQ7+)w7+)wO!MmQVO'#JuO(5YQUO,5@pOOQQ1G.p1G.pOOQQ1G2k1G2kO(5bQUO1G2kO(5gQUO7+(sOOQQ7+*X7+*XO(7{QUO7+*XO(8SQUO7+*XO(1xQVO7+*[O#NsQUO7+(sO(8aQVO'#JcO(8tQUO,5ApO(8|QUO,5;vOOQQ'#Cp'#CpOOQQ,5;w,5;wO!(}QVO'#F[OOQQ-E=`-E=`O!MmQVO,5;uOOQQ1G1`1G1`OOQQ,5?l,5?lOOQQ-E=O-E=OOOQR'#Dg'#DgOOQR'#Di'#DiOOQR'#Dl'#DlO(:VQ!eO'#KeO(:^QMkO'#KeO(:eQ!eO'#KeOOQR'#Ke'#KeOOQR'#JR'#JRO(:lQ!eO,59zOOQQ,59z,59zO(:sQbO,5?nOOQQ-E=Q-E=QO(;RQbO1G6jOOQR7+$}7+$}OOQR7+&q7+&qOOQR7+&x7+&xO'9`QUO7+&qO(;^QUO7+&OO#6fQUO7+&OO(<RQUO1G/UO(<iQUO1G/UO(=TQUO7+*ROOQQ7+*V7+*VO(>vQUO,5?uOOQQ-E=X-E=XO(@PQUO7+&ZOOQQ,5@Z,5@ZOOQQ-E=m-E=mO(@UQUO'#LUO@[QVO'#EiO(AbQUO1G1_OOQQ1G1_1G1_O(BkQUO,5@OOOQQ,5@O,5@OOOQQ-E=b-E=bO(CPQUO'#KvOOQR7+,}7+,}O#DvQUO7+,}OOQR7+-P7+-PO(C^QUO,5=iO#ERQUO'#JkO(CoQUO,5AxOOQR1G3U1G3UOOQR1G3V1G3VO(C}QUO7+-QOOQR7+-Q7+-QO(EuQUO,5:wO(GdQUO'#EwO!(}QVO,5;VO(HVQUO,5:wO(HaQUO'#EpO(HrQUO'#EzOOQQ,5;Z,5;ZO#KkQVO'#ExO(IYQUO,5:wO(IaQUO'#EyO#GuQUO'#J[O(JyQUO,5AjOOQQ1G0p1G0pO(KUQUO,5;WO!<_QUO,5;^O(KoQUO,5;_O(K}QUO,5;WO(NaQUO,5;`OOQQ-E=Z-E=ZO(NiQUO1G0}OOQQ1G1O1G1OO) dQUO1G1OO)!jQVO1G1OO)!qQVO1G1OO)!{QUO1G0|OOQQ1G0|1G0|OOQQ1G1P1G1PO)#xQUO'#JpO)$SQUO,5AbOOQQ1G0b1G0bOOQQ-E=[-E=[O)$[QUO,5;iO!<_QUO,5;iO)%XQVO,5:zO)%`QUO,5;gO$ {QUO7+&YOOQQ7+&Y7+&YO!(}QVO'#EfO)%gQUO,5:|OOQQ'#Ky'#KyOOQQ-E=W-E=WOOQQ,5Ad,5AdOOQQ'#Jm'#JmO))[QUO7+&PPOQQ7+&P7+&POOQQ7+)V7+)VO)*SQUO7+)VO)+YQVO7+)VOOQQ,5>m,5>mO$)hQVO'#JtO)+aQUO,5@wOOQQ1G/S1G/SOOQQ7+${7+${O)+lQUO7+(RO)+qQUO7+(ROOQR7+(R7+(RO$?TQUO7+(ROOQQ7+%u7+%uOOQR-E=_-E=_O!0YQUO,5;oOOQQ,5@P,5@POOQQ-E=c-E=cO$0lQUO1G1hOOQQ1G1h1G1hOOQR7+'Q7+'QOOQR1G1s1G1sOBXQUO,5;rO),_QUO,5<YO),fQUO1G1sO)-oQUO1G1sO!0wQVO7+']O)-tQVO7+']O)3dQUO7+'dO)3iQVO7+'hO)5}QUO7+'wO)6XQUO7+'hO)7_QVO7+'hOKnQUO7+'wO$>vQUO,5<rO!4{QUO7+'xO)7fQUO7+'xOOQR7+(b7+(bO)7kQUO7+'zO)7pQUO,5<vO'DeQUO,5<vO)8hQUO,5<vO'DeQUO,5<vOOQQ,5<w,5<wO)8yQVO,5<xO'EsQUO'#JgO)9TQUO,5AsO)9]QUO,5<yOOQR7+'z7+'zO)9hQVO7+'VO)6QQUO'#LTOOQR-E=d-E=dO);yQVO,5<bOOQQ,5@S,5@SO!6qQUO,5@SOOQQ-E=f-E=fO)>bQUO7+(`O)?hQUO7+(dO)?mQVO7+(dOOQQ7+(l7+(lOOQQ7+)Z7+)ZO)?uQUO'#KpO)@PQUO'#KpOOQR,5=b,5=bO)@^QUO,5=bO!;eQUO,5=bO!;eQUO,5=bO!;eQUO,5=bOOQR7+(g7+(gOOQR7+(u7+(uOOQR7+(y7+(yOOQR,5=w,5=wO)@cQUO,5=zO)AiQUO,5=yOOQR,5A{,5A{OOQR-E=j-E=jOOQQ1G3b1G3bO)BoQUO,5=xO)BtQVO'#EfOOQQ1G6g1G6gO%)fQUO1G6gO%)kQUO1G6gOOQQ1G0P1G0POOQQ-E=R-E=RO)E]QUO,5A]O(&SQUO'#JUO)EhQUO,5A]O)EhQUO,5A]O)EpQUO,5:iO8}QUO,5:iOOQQ,5>],5>]O)EzQUO,5AwO)FRQUO'#EVO)G]QUO'#EVO)GvQUO,5:iO)HQQUO'#HlO)HQQUO'#HmOOQQ'#Ku'#KuO)HoQUO'#KuO!(}QVO'#HnOOQQ,5:i,5:iO)IaQUO,5:iO!MmQVO,5:iOOQQ-E=T-E=TOOQQ1G0S1G0SOOQQ,5>`,5>`O)IfQUO1G6gO!(}QVO,5>gO)MTQUO'#JsO)M`QUO,5BOOOQQ1G4Q1G4QO)MhQUO,5A}OOQQ,5A},5A}OOQQ7+)i7+)iO*#VQUO7+)iOOQQ7+)o7+)oO*(UQVO1G7nO**WQUO7+*SO**]QUO,5?TO*+cQUO7+*[POOO7+$S7+$SP*-UQUO'#LlP*-^QUO,5BVP*-c{,UO7+$SPOOO1G7o1G7oO*-hQUO<<GwOOQQ1G.y1G.yOOQQ'#IT'#ITO*/ZQUO,5@aOOQQ,5@a,5@aOOQQ-E=s-E=sOOQQ7+(V7+(VOOQQ<<Ms<<MsO*0dQUO<<MsO*2gQUO<<MvO*4YQUO<<L_O*4nQUO,5?}OOQQ,5?},5?}OOQQ-E=a-E=aOOQQ1G1b1G1bO*5wQUO,5;vO*6}QUO1G1aOOQQ1G1a1G1aOOQR,5AP,5APO*8WQ!eO,5APO*8_QMkO,5APO*8fQ!eO,5APOOQR-E=P-E=POOQQ1G/f1G/fO*8mQ!eO'#DwOOQQ1G5Y1G5YOOQR<<J]<<J]O*8tQUO<<IjO*9iQUO7+$pOOQQ<<Iu<<IuO(8aQVO,5;ROOQR<=!i<=!iOOQQ1G3T1G3TOOQQ,5@V,5@VOOQQ-E=i-E=iOOQR<=!l<=!lO*:fQUO1G0cO*:mQUO'#EzO*:}QUO1G0cO*;UQUO'#JOO*<lQUO1G0qO!(}QVO1G0qOOQQ,5;[,5;[OOQQ,5;],5;]OOQQ,5?v,5?vOOQQ-E=Y-E=YO!<_QUO1G0xO*={QUO1G0xOOQQ1G0y1G0yO*>^QUO'#ElOOQQ1G0z1G0zOOQQ7+&j7+&jO*>rQUO7+&jO*?xQVO7+&jOOQQ7+&h7+&hOOQQ,5@[,5@[OOQQ-E=n-E=nO*@tQUO1G1TO*AOQUO1G1TO*AiQUO1G0fOOQQ1G0f1G0fO*BoQUO'#LRO*BwQUO1G1ROOQQ<<It<<ItOOQQ'#Hb'#HbO',PQUO,5={OOQQ'#Hd'#HdO',PQUO,5=}OOQQ-E=k-E=kPOQQ<<Ik<<IkPOQQ-E=l-E=lOOQQ<<Lq<<LqO*B|QUO'#LgO*DYQUO'#LfOOQQ,5@`,5@`OOQQ-E=r-E=rOOQR<<Km<<KmO$?TQUO<<KmO*DhQUO<<KmOOQR1G1Z1G1ZOOQQ7+'S7+'SO!MmQVO1G1tO*DmQUO1G1tOOQR7+'_7+'_OOQR<<Jw<<JwO!0wQVO<<JwOOQR<<KO<<KOO*DxQUO<<KSO*FOQVO<<KSOKnQUO<<KcO!MmQVO<<KcO*FVQUO<<KSO!0wQVO<<KSO*G`QUO<<KSO*GeQUO<<KcO*GpQUO<<KdOOQR<<Kd<<KdOOQR<<Kf<<KfO*GuQUO1G2bO)7pQUO1G2bO'DeQUO1G2bO*HWQUO1G2dO*I^QVO1G2dOOQQ1G2d1G2dO*IhQVO1G2dO*IoQUO,5@ROOQQ-E=e-E=eOOQQ1G2e1G2eO*I}QUO1G1|O*KWQVO1G1|O*K_QUO1G1|OOQQ1G5n1G5nOOQR<<Kz<<KzOOQR<<LO<<LOO*KdQVO<<LOO*KoQUO<<LOOOQR1G2|1G2|O*KtQUO1G2|O*K{QUO1G3eOOQR1G3d1G3dOOQQ7+,R7+,RO%)fQUO7+,RO*LWQUO1G6wO*LWQUO1G6wO(&SQUO,5?pO*L`QUO,5?pOOQQ-E=S-E=SO*LkQUO1G0TOOQQ1G0T1G0TO*LuQUO1G0TO!MmQVO1G0TO*LzQUO1G0TOOQQ1G3w1G3wO*MUQUO,5:qO)FRQUO,5:qO*MrQUO,5:qO)FRQUO,5:qO$$TQUO,5:uO*NaQVO,5>VO)HQQUO'#JqO*NkQUO1G0TO*N|QVO1G0TOOQQ1G3u1G3uO+ TQUO,5>WO+ `QUO,5>XO+ }QUO,5>YO+#TQUO1G0TO%)kQUO7+,RO+$ZQUO1G4ROOQQ,5@_,5@_OOQQ-E=q-E=qOOQQ<<MT<<MTOOQQ<<Mn<<MnO+%dQUO1G4oP+'gQUO'#JwP+'oQUO,5BWPO{O1G7q1G7qPOOO<<Gn<<GnOOQQANC_ANC_OOQR1G6k1G6kO+'wQ!eO,5:cOOQQ,5:c,5:cO+(OQUO1G0mO+)[QUO7+&]O+*kQUO7+&dO+*|QUO,5;WOOQQ<<JU<<JUO++[QUO7+&oOOQQ7+&Q7+&QO!4{QUO'#J_O+,VQUO,5AmOOQQ7+&m7+&mOOQQ1G3g1G3gO+,_QUO1G3iOOQQ,5>n,5>nO+0SQUOANAXOOQRANAXANAXO+0XQUO7+'`OOQRAN@cAN@cO+1eQVOAN@nO+1lQUOAN@nO!0wQVOAN@nO+2uQUOAN@nO+2zQUOAN@}O+3VQUOAN@}O+4]QUOAN@}OOQRAN@nAN@nO!MmQVOAN@}OOQRANAOANAOO+4bQUO7+'|O)7pQUO7+'|OOQQ7+(O7+(OO+4sQUO7+(OO+5yQVO7+(OO+6QQVO7+'hO+6XQUOANAjOOQR7+(h7+(hOOQR7+)P7+)PO+6^QUO7+)PO+6cQUO7+)POOQQ<= m<= mO+6kQUO7+,cO+6sQUO1G5[OOQQ1G5[1G5[O+7OQUO7+%oOOQQ7+%o7+%oO+7aQUO7+%oO*N|QVO7+%oOOQQ7+)a7+)aO+7fQUO7+%oO+8lQUO7+%oO!MmQVO7+%oO+8vQUO1G0]O*MUQUO1G0]O)FRQUO1G0]OOQQ1G0a1G0aO+9eQUO1G3qO+:kQVO1G3qOOQQ1G3q1G3qO+:uQVO1G3qO+:|QUO,5@]OOQQ-E=o-E=oOOQQ1G3r1G3rO%)fQUO<= mOOQQ7+*Z7+*ZPOQQ,5@c,5@cPOQQ-E=u-E=uOOQQ1G/}1G/}OOQQ,5?y,5?yOOQQ-E=]-E=]OOQRG26sG26sO+;eQUOG26YO!0wQVOG26YO+<nQUOG26YOOQRG26YG26YO!MmQVOG26iO!0wQVOG26iO+<sQUOG26iO+=yQUOG26iO+>OQUO<<KhOOQQ<<Kj<<KjOOQRG27UG27UOOQR<<Lk<<LkO+>aQUO<<LkOOQQ7+*v7+*vOOQQ<<IZ<<IZO+>fQUO<<IZO!MmQVO<<IZO+>kQUO<<IZO+?qQUO<<IZO*N|QVO<<IZOOQQ<<L{<<L{O+@SQUO7+%wO*MUQUO7+%wOOQQ7+)]7+)]O+@qQUO7+)]O+AwQVO7+)]OOQQANEXANEXO!0wQVOLD+tOOQRLD+tLD+tO+BOQUOLD,TO+CUQUOLD,TOOQRLD,TLD,TO!0wQVOLD,TOOQRANBVANBVOOQQAN>uAN>uO+CZQUOAN>uO+DaQUOAN>uO!MmQVOAN>uO+DfQUO<<IcOOQQ<<Lw<<LwOOQR!$( `!$( `O!0wQVO!$( oOOQR!$( o!$( oOOQQG24aG24aO+ETQUOG24aO+FZQUOG24aOOQR!)9EZ!)9EZOOQQLD){LD){O+F`QUO'#CgO(gQUO'#CgO+J]QUO'#CzO+L|QUO'#CzO!FZQUO'#CzO+MuQUO'#CzO+NYQUO'#CzO,#{QUO'#CzO,$]QUO'#CzO,$jQUO'#CzO,$uQbO,59dO,%QQbO,59dO,%]QbO,59dO,%hQbO'#CxO,%yQbO'#CxO,&[QbO'#CxO,&mQUO'#CgO,)QQUO'#CgO,)_QUO'#CgO,,SQUO'#CgO,/VQUO'#CgO,/gQUO'#CgO,3`QUO'#CgO,3gQUO'#CgO,4gQUO'#CgO,6pQUO,5:xO#?yQUO,5:xO#?yQUO,5:xO#=iQUO'#LbO,7^QbO'#CxO,7iQbO'#CxO,7tQbO'#CxO,8PQbO'#CxO#7SQUO'#E^O,8[QUO'#E^O,9iQUO'#HgO,:ZQbO'#CxO,:fQbO'#CxO,:qQUO'#CwO,:vQUO'#CwO,:{QUO'#CpO,;ZQbO,59dO,;fQbO,59dO,;qQbO,59dO,;|QbO,59dO,<XQbO,59dO,<dQbO,59dO,<oQbO,59dO,6pQUO1G0dO,<zQUO1G0dO#?yQUO1G0dO,8[QUO1G0dO,?XQUO'#K`O,?iQUO'#CzO,?wQbO,59dO,6pQUO7+&OO,<zQUO7+&OO,@SQUO'#EwO,@uQUO'#EzO,AfQUO'#E^O,AkQUO'#GcO,ApQUO'#CwO,AuQUO'#CxO,AzQUO'#CxO,BPQUO'#CwO,BUQUO'#GcO,BZQUO'#K`O,BwQUO'#K`O,CRQUO'#CwO,C^QUO'#CwO,CiQUO'#CwO,<zQUO,5:xO,8[QUO,5:xO,8[QUO,5:xO,CtQUO'#K`O,DXQbO'#CxO,DdQUO'#CsO,DiQUO'#E^",stateData:",E_~O(oOSSOSRPQVPQ'ePQ'gPQ'hPQ'iPQ'jPQ'kPQ'lPQ'mPQ(pPQ~O*aOS~OPmO]eOb!]Oe!POmTOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!TxO!VfO!X!XO!Y!WO!i!YO!opO!r!`O!s!aO!t!aO!u!bO!v!aO!x!cO!{!dO#V#QO#a#VO#b#TO#i#OO#p!xO#t!fO#v!eO$R!gO$T!hO$Y!vO$Z!wO$`!iO$e!jO$g!kO$h!lO$k!mO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO${!tO$}!uO%U!yO%_#ZO%`#[O%a#YO%c!zO%e#UO%g!{O%l#SO%o!|O%v!}O%|#PO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(wRO)VYO)YaO)[|O)]{O)_iO)`!ZO)bXO)ncO)odO~OR#cOV#^O'e#_O'g#`O'h#aO'i#aO'j#bO'k#bO'l#`O'm#`O(p#]O~OX#eO(t#gO(v#eO~O]ZX]jXejXmhXqZXqjXsjXtjXujXvjXwjXxjXyjXzjX!OjX!TjX!VZX!VjX!XZX!YZX![ZX!^ZX!_ZX!aZX!bZX!eZX!fZX!gZX!hZX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX(zZX({$]X(|ZX(}ZX)YZX)YjX)ZZX)[ZX)[jX)]ZX)]jX)^ZX)_ZX)`ZX)pZX~O)_jX!UZX~P(gO]$PO!V#nO!X#}O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO(|#mO(}#mO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_#lO)`$OO~Oe$TO%Y$UO'[$VO'_$WO)O$QO~Om$XO~O!T$YO])SXe)SXs)SXt)SXu)SXv)SXw)SXx)SXy)SXz)SX!O)SX!V)SX!r)SX!s)SX!t)SX!u)SX!v)SX!x)SX!{)SX%v)SX&r)SX&s)SX(w)SX)Y)SX)[)SX)])SX)_)SX~Om$XO~P.^Om$XO!g$[O)p$[O~OX$]O)c$]O~O!R$^O)U)WP)`)WP~OPmO]$gOb!]Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!TxO!V$hO!X!XO!Y!WO!i!YO!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO#V#QO#a#VO#b#TO#v!eO$Y!vO$Z!wO$`!iO$e!jO$g!kO$h!lO$k!mO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)VYO)Y$mO)]$mO)_iO)`!ZO)bXO)ncO)odO~Om$aO#t$nO(wRO~P0}O](^Xb'zXe(^Xm'zXm(^Xs'zXs(^Xt'zXt(^Xu'zXu(^Xv'zXv(^Xw'zXw(^Xx'zXx(^Xy'zXy(^Xz'zXz(^X|'zX!O'zX!V(^X!o(^X!r'zX!r(^X!s'zX!s(^X!t'zX!t(^X!u'zX!u(^X!v'zX!v(^X!x'zX!x(^X!{(^X#a'zX#b'zX%e'zX%l'zX%o(^X%v(^X&m'zX&r'zX&s'zX(w'zX(w(^X)Y(^X)[(^X)](^X~Ob!TOm$qOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO#a#VO#b#TO%e#UO%l#SO&m!RO&r#WO&s!TO(w$pO~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!O!_O!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO&r#WO&s$yO])gXe)gXm)gX!V)gX!{)gX%v)gX(w)gX)Y)gX)[)gX)])gX~O)_$xO~P:qOPmO]eOe!POs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!VfO!X!XO!Y!WO!i!YO!{!dO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)YaO)[|O)]{O)`!ZO)bXO)ncO)odO~Ob%SOm;RO!|%TO(w$zO~P<oO)Y%UO~Ob!]Om$aO|#RO#a#VO#b#TO%e#UO%l#SO&m!RO&r#WO&s!TO(w;UO~P<oOPmO]$gOb%SOm;RO!V$hO!W%aO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]%_O)`!ZO)bXO)ncO)odO)p%^O~O]%jOe!POm%dO!V%mO!{!dO%v$oO(w;VO)Y%fO)[%kO)]%kO~O({%oO~O)_#lO~O(w%pO](yX!V(yX!X(yX!Y(yX^(yX)_(yX)`(yX!g(yX)p(yX[(yX!W(yX({(yX!U(yXQ(yX!d(yX~OP%qO(uQO~PCTO]%jOe!POs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V%mO!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO!{!dO%o!|O%v!}O)Y;gO)[|O)]|O~Om%tO!o%yO(w$zO~PEbO!TxO#v!eO({%{O)p&OO])kX!V)kX~O]%jOe!POm%tO!V%mO!{!dO%v!}O(w$zO)Y;gO)[|O)]|O~O!TxO#v!eO)_&RO)p&SO~O!U&VO~P!QO]&[O!TxO!V&YO)Y&XO)[&]O)]&]O~Oq&WO~PHuO]&eO!V&dO~OPmO]eOe!PO!VfO!X!XO!Y!WO!i!YO!{!dO#V#QO%_#ZO%`#[O%a#YO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)YaO)[|O)]{O)`!ZO)bXO)ncO)odO~Ob%SOm;RO%v$oO(w$zO~PIjO]%jOe!POm;cO!V%mO!{!dO%v$oO(w$zO)Y;gO)[|O)]|O~Oq&hO](yX])kX!V(yX!V)kX!X(yX!Y(yX^(yX)_(yX)`(yX[(yX[)kX!U(yX~O!g$[O)p$[O~PL`O!g(yX)p(yX~PL`O](yX!V(yX!X(yX!Y(yX^(yX)_(yX)`(yX!g(yX)p(yX[(yX!U(yX~O])kX!V)kX[)kX~PNnOb&jO&m!RO]&lXe&lXm&lXs&lXt&lXu&lXv&lXw&lXx&lXy&lXz&lX!O&lX!V&lX!r&lX!s&lX!t&lX!u&lX!v&lX!x&lX!{&lX%v&lX&r&lX&s&lX(w&lX)Y&lX)[&lX)]&lX)_&lX[&lX!T&lX!X&lX!Y&lXY(yX)Z(yX)[(yX)](yX)^(yX)_(yX)`(yX[(yX!W(yX({(yX!U(yXQ(yX!d(yX~OPmO]$gOb%SOm;RO!V$hO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~O])SXe)SXm)SXs)SXt)SXu)SXv)SXw)SXx)SXy)SXz)SX!O)SX!V)SX!r)SX!s)SX!t)SX!u)SX!v)SX!x)SX!{)SX%v)SX&r)SX&s)SX(w)SX)Y)SX)[)SX)])SX)_)SX[)SXQ)SX!d)SX!h)SX)`)SX)p)SX~O]$PO~P!*tO]&nO~O])hXb)hXe)hXm)hXs)hXt)hXu)hXv)hXw)hXx)hXy)hXz)hX|)hX!O)hX!V)hX!o)hX!r)hX!s)hX!t)hX!u)hX!v)hX!x)hX!{)hX#a)hX#b)hX%e)hX%l)hX%o)hX%v)hX&m)hX&r)hX&s)hX(w)hX)Y)hX)[)hX)])hX~O(uQO~P!-^O%U&pO~P!-^O]&qO~O]$PO~O!TxO~O$W&yO(w%pO({&xO~O]&zOx&|O~O]&zO~OPmO]$gOb%SOm;RO!TxO!V$hO!X!XO!Y!WO!i!YO#V#QO#p!xO#v!eO$Y!vO$Z!wO$`!iO$e!jO$g!kO$h!lO$k!mO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w:tO)VYO)Y$mO)]$mO)_iO)`!ZO)bXO)ncO)odO~O]'RO~O!T$YO)_'TO~P!(}O)_'VO~O)_'WO~O(w'XO~O)_'[O~P!(}Om;eO%U'`O%e'`O(w;WO~Ob!TOm$qOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO#a#VO#b#TO%e#UO%l#SO&m!RO&r#WO&s!TO(w$pO~O({'dO~O)_'fO~P!(}O!TxO(w%pO)p'hO~O(w%pO~O]'kO~O]'lOe%nXm%nX!V%nX!{%nX%v%nX(w%nX)Y%nX)[%nX)]%nX~O]'pO!V'qO!X'nO!g'nO%Z'nO%['nO%]'nO%^'nO%_'rO%`'rO%a'nO(}'oO)p'nO*O'sO~P8}O]%jOb!TOe!POs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!V%mO!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO!{!dO#a#VO#b#TO%e#UO%l#SO&m!RO&r#WO&s!TO)Y;gO)[|O)]|O~Om;fOq&WO%v$oO(w;XO~P!8mO(w%pO({'xO)_'yO~O]&eO!T'{O~Om$qO!O!_O!T(SO!l(XO(w$pO({(RO)VYO~Om$qO|(`O!T(]O#b(`O(w$pO~Ob!TOm$qO|#RO#a#VO#b#TO%e#UO%l#SO&m!RO&r#WO&s!TO(w$pO~O](bO~OPmOb%SOm;RO!V$hO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]$mO)bXO)ncO)odO~O](dO)`(eO~P!=XO]$PO~P!<_OPmO]$gOb%SOm;RO!V(kO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~O(q(lO(r(lO(s(nO~OY(oO(uQO(w%pO~O'f(rO~OS(vO(p#]O*^(uO~O]$PO(o(yO~Q'nXX#eO(t({O(v#eO~Oe)VOm)QO&r#WO(w)PO~O!Y'Sa!['Sa!^'Sa!_'Sa!a'Sa!b'Sa!e'Sa!f'Sa!h'Sa(z'Sa)Y'Sa)Z'Sa)['Sa)]'Sa)^'Sa)_'Sa)`'Sa!g'Sa)p'Sa['Sa!W'Sa({'Sa!U'SaQ'Sa!d'Sa~OPmOb%SOm;RO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)bXO)ncO)odO]'Sa!V'Sa!X'Sa(|'Sa(}'Sa~P!BmO!T$YO[(xP~P!(}O]oX]%WXeoXmnXqoXq%WXsoXtoXuoXvoXwoXxoXyoXzoX!OoX!ToX!VoX!V%WX!X%WX!Y%WX![%WX!^%WX!_%WX!a%WX!b%WX!e%WX!f%WX!gnX!h%WX!roX!soX!toX!uoX!voX!xoX!{oX%voX&roX&soX(woX(z%WX(|%WX(}%WX)YoX)Y%WX)Z%WX)[oX)[%WX)]oX)]%WX)^%WX)_%WX)`%WX)pnX[%WX~O)_oX[oX!U%WX~P!FZO])iO!V)jO!X)gO!g)gO%Z)gO%[)gO%])gO%^)gO%_)kO%`)kO%a)gO(})hO)p)gO*O)lO~P8}OPmO]$gOb%SOm;RO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~O!V)qO~P!KVOe)tO%Y)uO)O$QO~O!T$YO!V)wO(|)xO!U)xP~P!KVO!T$YO~P!(}O)a*PO~Om*QO]!QX!h!QX)U!QX)`!QX~O]*SO!h*TO)U)WX)`)WX~O)U*WO)`*XO~Oe$TO%Y*YO'[$VO'_$WO)O$QO~Om*ZO~Om*ZO[)SX~P.^Om*ZO!g$[O)p$[O~O)_*[O~P:qOPmO]$gOb!]Om$aOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;UO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~Oq&hO~P!&}Oq&hO!W(yX({(yXQ(yX!d(yX~PNnO]'pO!V'qO!X'nO!g'nO%Z'nO%['nO%]'nO%^'nO%_'rO%`'rO%a'nO(}'oO)p'nO*O'sO~O]jXejXmhXqjXsjXtjXujXvjXwjXxjXyjXzjX!OjX!VjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX)YjX)[jX)]jX!TjX!hjX)`jX)pjX[jX~O!ljX({jX)_jX!XjX!YjX![jX!^jX!_jX!ajX!bjX!ejX!fjX(zjX(|jX(}jX)ZjX)^jX!gjX!WjXQjX!djX!UjX#vjX#TjX#VjX#pjXbjX|jX!ojX#ajX#bjX#ijX#tjX${jX%cjX%ejX%kjX%ljX%ojX&mjX)VjX~P#&XO)O*`O~Om*aO~O])SXe)SXs)SXt)SXu)SXv)SXw)SXx)SXy)SXz)SX!O)SX!V)SX!r)SX!s)SX!t)SX!u)SX!v)SX!x)SX!{)SX%v)SX&r)SX&s)SX(w)SX)Y)SX)[)SX)])SX)_)SX!T)SX!X)SX!Y)SX![)SX!^)SX!_)SX!a)SX!b)SX!e)SX!f)SX!h)SX(z)SX(|)SX(})SX)Z)SX)^)SX)`)SX!g)SX)p)SX[)SX!W)SXQ)SX!d)SX({)SX!U)SX#v)SX~Om*aO~P#+aOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!O!_O!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO])gae)gam)ga!V)ga!{)ga%v)ga(w)ga)Y)ga)[)ga)])gaQ)ga!d)ga!h)ga)`)ga)p)ga[)ga!T)ga({)ga)_)ga~O&r#WO&s$yO~P#/POq&hOm)SX~P#+aO&r)ga~P#/PO]ZXmhXqZXqjX!TjX!VZX!XZX!YZX![ZX!^ZX!_ZX!aZX!bZX!eZX!fZX!gZX!hZX(zZX(|ZX(}ZX)YZX)ZZX)[ZX)]ZX)^ZX)_ZX)`ZX)pZX[ZX~O!WZX({ZX!UZXQZX!dZX~P#1xO]$PO!V#nO!X#}O(|#mO(}#mO~O!Y&xa![&xa!^&xa!_&xa!a&xa!b&xa!e&xa!f&xa!g&xa!h&xa(z&xa)Y&xa)Z&xa)[&xa)]&xa)^&xa)_&xa)`&xa)p&xa[&xa!W&xa({&xa!U&xaQ&xa!d&xa~P#4YOm;oO!T$YO~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O~PKnOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!|%TO~PKnO]&eO!V&dO[#Qa!T#Qa!h#Qa#v#Qa)_#Qa)p#QaQ#Qa!d#Qa({#Qa~Oq&hO!T$YO~O[*hO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[*hO~O[*jO]&eO!V&dO~O]&[Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V&YO&r#WO&s$yO)Y&XO)[&]O)]&]O~O[rXQrX!drX!hrX)`rX)_rX~P#:ZO[*mO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h*nO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!W)qX~P#4YO!W*pO!h*qO~O!W*pO!h*qO~P!(}O!W*pO~Oq&hO!g$[O!h*rO)p$[O](yX!V(yX!W(yX!W*UX!X(yX!Y(yX^(yX)`(yX~O!h(yX~P#=iO!W*tO~Oe$TO%Y*YO)O:yO~Om;rO~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!|%TO~PBXO]*{O!T*vO!V&dO!h*yO#v!eO)p*wO)_)wX~O!h*yO)_)wX~O)_*|O~Oq&hO])kX!T)kX!V)kX!h)kX#v)kX)_)kX)p)kX[)kXQ)kX!d)kX({)kX~Oq&hO~OP%qO(uQO]%ha!V%ha!X%ha!Y%ha![%ha!^%ha!_%ha!a%ha!b%ha!e%ha!f%ha!h%ha(w%ha(z%ha(|%ha(}%ha)Y%ha)Z%ha)[%ha)]%ha)^%ha)_%ha)`%ha!g%ha)p%ha[%ha!W%ha({%ha!U%haQ%ha!d%ha~Oe$TO%Y$UO)O:vO~Om;OO~O!TxO#v!eO)p&OO~Om<cO&r#WO(w;nO~O$Z+YO%`+ZO~O!TxO#v!eO)_+[O)p+]O~OPmO]$gOb%SOm;RO!V$hO!X!XO!Y!WO!i!YO#V#QO$Z+YO%_#ZO%`+_O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~O!U+`O~P!QOb!TOm$qOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO#a+fO#b+gO#i+hO%e#UO%l#SO&m!RO&r#WO&s!TO(w$pO)VYO~OQ)rP!d)rP~P#GuO]&[Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V&YO)Y&XO)[&]O)]&]O~O[#kX!T#kX#v#kX)_#kX)p#kXQ#kX!d#kX!h#kX)`#kX!x#kX({#kX~P#IyOPmO]$gOb%SOm;ROs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V$hO!W+nO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y+oO)]$mO)`!ZO)bXO)ncO)odO~O]&eO!V+pO~O]&[O!V&YO)VYO)Y&XO)[&]O)]&]O)`+sO[)jP~P8}O]&[O!V&YO)Y&XO)[&]O)]&]O~O[#nX!T#nX#v#nX)_#nX)p#nXQ#nX!d#nX!h#nX)`#nX!x#nX({#nX~P#NsO!TxO])tX!V)tX~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O#T+{O#p+|O(}+yO)[+wO)]+wO~O]#jX!T#jX!V#jX[#jX#v#jX)_#jX)p#jXQ#jX!d#jX!h#jX)`#jX!x#jX({#jX~P$!WO#V,OO~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!l,PO#T+{O#V,OO#p+|O(}+yO)[,PO)],PO])lP!T)lP!V)lP#v)lP({)lP)p)lP[)lP!h)lP)_)lP~O!x)lPQ)lP!d)lP~P$$TOPmO]$gOb%SOm;ROs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V$hO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)]$mO)`!ZO)bXO)ncO)odO~O!W,VO)Y,WO~P$&OO)VYO)`+sO[)jP~P8}O]&eO!V&dO[&Za!T&Za!h&Za#v&Za)_&Za)p&ZaQ&Za!d&Za({&Za~OPmO]$gOb!]Om;TOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;YO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~OQ)PP!d)PP~P$)hO]$PO!V#nO(|#mO(}#mO!X'Pa!Y'Pa!['Pa!^'Pa!_'Pa!a'Pa!b'Pa!e'Pa!f'Pa!h'Pa(z'Pa)Y'Pa)Z'Pa)['Pa)]'Pa)^'Pa)_'Pa)`'Pa!g'Pa)p'Pa['Pa!W'Pa({'Pa!U'PaQ'Pa!d'Pa~O]$PO!V#nO!X#}O(|#mO(}#mO~P!BmO!TxO#t!fO)VYO~P8}O!TxO(w%pO)p,aO~O#x,fO~OQ)gX!d)gX!h)gX)`)gX)p)gX[)gX!T)gX({)gX)_)gX~P:qO({,jO(|,hO)V$UX)_$UX~O(w,kO~O)VYO)_,nO~OPmO]$gOb!]Om;SOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!V$hO!X!XO!Y!WO!i!YO!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)VYO)Y$mO)]$mO)_iO)`!ZO)bXO)ncO)odO~O(w;ZO~P$0yOPmO]$gOb%SOm;RO!TxO!V$hO!X!XO!Y!WO!i!YO#V#QO#v!eO$Y!vO$Z!wO$`!iO$e!jO$g!kO$h!lO$k!mO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w:tO)VYO)Y$mO)]$mO)_iO)`!ZO)bXO)ncO)odO~O$h,xO~OPmO]$gOb!]Om;SOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!V$hO!X!XO!Y!WO!i!YO!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO#V#QO#a#VO#b#TO$}!uO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)VYO)Y$mO)]$mO)`!ZO)bXO)ncO)odO~O${-OO(w;UO)_,|O~P$7dO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_-QO)`$OO~P#4YO)_-QO~O)_-RO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_-SO)`$OO~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_-TO)`$OO~P#4YOq&hO)VYO)p-VO~O)_-WO~Om;eO(w;WO~O]-_O!{!dO&r#WO&s$yO(w-ZO)Y-[O~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO({-bO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!TxO$`!iO$e!jO$g!kO$h!lO$k-gO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO$}!uO(w:uOe$Xa!o$Xa!{$Xa#i$Xa#p$Xa#t$Xa#v$Xa$R$Xa$T$Xa$Y$Xa$Z$Xa${$Xa%U$Xa%c$Xa%g$Xa%o$Xa%|$Xa(l$Xa)[$Xa!U$Xa$c$Xa~P$0yO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_-hO)`$OO~P#4YOm-jO!TxO)p,aO~O)p-lO~O]&]a!X&]a!Y&]a![&]a!^&]a!_&]a!a&]a!b&]a!e&]a!f&]a!h&]a(z&]a(|&]a(}&]a)Z&]a)[&]a)]&]a)^&]a)_&]a)`&]a!g&]a)p&]a[&]a!W&]a!T&]a#v&]a({&]a!U&]aQ&]a!d&]a~O)Y-pO!V&]a~P$DpO[-pO~O!W-pO~O!V-qO)Y&]a~P$DpO])SXe)SXs)SXt)SXu)SXv)SXw)SXx)SXy)SXz)SX!O)SX!V)SX!r)SX!s)SX!t)SX!u)SX!v)SX!x)SX!{)SX%v)SX&r)SX&s)SX(w)SX)Y)SX)[)SX)])SX~Om;tO~P$G`O]&eO!V&dO)_-rO~Om;jO!o-uO#V,OO#i-zO#t!fO${-OO%c!zO%k-yO%o!|O%v!}O(w;[O)VYO~P!8mO!n.OO(w,kO~O)VYO)_.QO~OPmO]$gOb%SOm;RO!T.VO!V$hO!X!XO!Y!WO!i!YO#V.^O#a.]O%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO(}.UO)Y$mO)]$mO)_.SO)`!ZO)bXO)ncO)odO~O!U.[O~P$JpO])dXe)dXs)dXt)dXu)dXv)dXw)dXx)dXy)dXz)dX!O)dX!T)dX!V)dX!l)dX!r)dX!s)dX!t)dX!u)dX!v)dX!x)dX!{)dX%v)dX&r)dX&s)dX(w)dX({)dX)Y)dX)[)dX)])dX)_)dX[)dX!h)dX)`)dX!X)dX!Y)dX![)dX!^)dX!_)dX!a)dX!b)dX!e)dX!f)dX(z)dX(|)dX(})dX)Z)dX)^)dX!g)dX)p)dX!W)dXQ)dX!d)dX#T)dX#V)dX#p)dX#v)dXb)dX|)dX!o)dX#a)dX#b)dX#i)dX#t)dX${)dX%c)dX%e)dX%k)dX%l)dX%o)dX&m)dX)V)dX!U)dX~Om*aO~P$LzOm$qO!T(SO!l.cO(w$pO({(RO)VYO~Oq&hOm)dX~P$LzOm$qO!n.hO!o.hO(w$pO)VYO~Om;kO!U.sO!n.uO!o.tO#i-zO${!tO$}!uO%g!{O%k-yO%o!|O%v!}O(w;^O)VYO~P!8mO!T(SO!l.cO({(RO])TXe)TXm)TXs)TXt)TXu)TXv)TXw)TXx)TXy)TXz)TX!O)TX!V)TX!r)TX!s)TX!t)TX!u)TX!v)TX!x)TX!{)TX%v)TX&r)TX&s)TX(w)TX)Y)TX)[)TX)])TX~O)_)TX[)TX!X)TX!Y)TX![)TX!^)TX!_)TX!a)TX!b)TX!e)TX!f)TX!h)TX(z)TX(|)TX(})TX)Z)TX)^)TX)`)TX!g)TX)p)TX!W)TXQ)TX!d)TX!U)TX#v)TX~P%%sO!T(SO~O!T(SO({(RO~O(w%pO!U*WP~O!T(]O({.zO]&kae&kam&kas&kat&kau&kav&kaw&kax&kay&kaz&ka!O&ka!V&ka!r&ka!s&ka!t&ka!u&ka!v&ka!x&ka!{&ka%v&ka&r&ka&s&ka(w&ka)Y&ka)[&ka)]&ka)_&ka[&ka!X&ka!Y&ka![&ka!^&ka!_&ka!a&ka!b&ka!e&ka!f&ka!h&ka(z&ka(|&ka(}&ka)Z&ka)^&ka)`&ka!g&ka)p&ka!W&kaQ&ka!d&ka!U&ka#v&ka~Om$qO!T(]O(w$pO~O&r#WO&s$yO]&pae&pam&pas&pat&pau&pav&paw&pax&pay&paz&pa!O&pa!V&pa!r&pa!s&pa!t&pa!u&pa!v&pa!x&pa!{&pa%v&pa(w&pa)Y&pa)[&pa)]&pa)_&pa[&pa!T&pa!X&pa!Y&pa![&pa!^&pa!_&pa!a&pa!b&pa!e&pa!f&pa!h&pa(z&pa(|&pa(}&pa)Z&pa)^&pa)`&pa!g&pa)p&pa!W&paQ&pa!d&pa({&pa!U&pa#v&pa~O&s/PO~P!(}O!Y#sO![#tO!f#|O)Y#oO!^'Ua!_'Ua!a'Ua!b'Ua!e'Ua!h'Ua(z'Ua)Z'Ua)['Ua)]'Ua)^'Ua)_'Ua)`'Ua!g'Ua)p'Ua['Ua!W'Ua({'Ua!U'UaQ'Ua!d'Ua~P#4YO!V'dX!X'dX!Y'dX!['dX!^'dX!_'dX!a'dX!b'dX!e'dX!f'dX!h'dX(z'dX(|'dX(}'dX)Y'dX)Z'dX)['dX)]'dX)^'dX)`'dX['dX~O]/RO)_'dX!g'dX)p'dX!W'dX({'dX!U'dXQ'dX!d'dX~P%3WO!Y#sO![#tO!f#|O)Y#oO!^'Wa!_'Wa!a'Wa!b'Wa!e'Wa!h'Wa(z'Wa)Z'Wa)['Wa)]'Wa)^'Wa)_'Wa)`'Wa!g'Wa)p'Wa['Wa!W'Wa({'Wa!U'WaQ'Wa!d'Wa~P#4YO]$PO!T$YO!V/SO&r#WO&s$yO~O!X'Za!Y'Za!['Za!^'Za!_'Za!a'Za!b'Za!e'Za!f'Za!h'Za(z'Za(|'Za(}'Za)Y'Za)Z'Za)['Za)]'Za)^'Za)_'Za)`'Za!g'Za)p'Za['Za!W'Za({'Za!U'ZaQ'Za!d'Za~P%6}O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h'^a)_'^a!g'^a)p'^a['^a!W'^a({'^a!U'^aQ'^a!d'^a~P#4YOPmO]$gOb%SOm;RO!V$hO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)Y$mO)]%_O)`!ZO)bXO)ncO)odO)p%^O~O!W/VO~P%:}O(q(lO(r(lO(s/XO~OS(vO]$PO(p#]O*^(uO~O]/[O'f/]O*^/YO~OS/aO(p#]O*^/`O~O]$PO~Q'na!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO({/cO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO)_#Zi[#Zi~P#4YO]dXmhXqdXqjX!VdX!XdX!YdX![dX!^dX!_dX!adX!bdX!edX!fdX!gdX!hdX(zdX(|dX(}dX)YdX)ZdX)[dX)]dX)^dX)_dX)`dX)pdX[dX!WdX({dX!TdX#vdX!UdXQdX!ddX~Oe/eO%Y*YO)O/dO~Om/fO~Om/gO~Oq&hO]ci!Vci!Xci!Yci![ci!^ci!_ci!aci!bci!eci!fci!gci!hci(zci(|ci(}ci)Yci)Zci)[ci)]ci)^ci)_ci)`ci)pci[ci!Wci({ci!UciQci!dci~O!W/iO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO![#tO)Y#oO!Y&zi!^&zi!_&zi!a&zi!b&zi!e&zi!f&zi!h&zi(z&zi)Z&zi)[&zi)]&zi)^&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y&zi![&zi!^&zi!_&zi!a&zi!b&zi!e&zi!f&zi!h&zi(z&zi)Y&zi)Z&zi)[&zi)]&zi)^&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O)Y#oO)]#rO)^#jO!h&zi(z&zi)Z&zi)[&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O)Y#oO)[#pO)]#rO)^#jO!h&zi(z&zi)Z&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!_#xO!a#zO!b#{O!e#{O!f#|O)Y#oO)]#rO)^#jO!^&zi!h&zi(z&zi)Z&zi)[&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!a#zO!b#{O!e#{O!f#|O)Y#oO)]#rO)^#jO!^&zi!_&zi!h&zi(z&zi)Z&zi)[&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!a#zO!b#{O!e#{O!f#|O)Y#oO)^#jO!^&zi!_&zi!h&zi(z&zi)Z&zi)[&zi)]&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!b#{O!e#{O!f#|O)Y#oO)^#jO!^&zi!_&zi!a&zi!h&zi(z&zi)Z&zi)[&zi)]&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!f#|O)Y#oO!^&zi!_&zi!a&zi!b&zi!e&zi!h&zi(z&zi)Z&zi)[&zi)]&zi)^&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO)Y#oO!^&zi!_&zi!a&zi!b&zi!e&zi!f&zi!h&zi(z&zi)Z&zi)[&zi)]&zi)^&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O)Y#oO)Z#qO)[#pO)]#rO)^#jO!h&zi(z&zi)_&zi)`&zi!g&zi)p&zi[&zi!W&zi({&zi!U&ziQ&zi!d&zi~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h/jO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO[(xX~P#4YO!h/jO[(xX~O[/lO~O]%Xaq%Xa!X%Xa!Y%Xa![%Xa!^%Xa!_%Xa!a%Xa!b%Xa!e%Xa!f%Xa!h%Xa(z%Xa(|%Xa(}%Xa)Z%Xa)[%Xa)]%Xa)^%Xa)_%Xa)`%Xa!g%Xa)p%Xa[%Xa!W%Xa!T%Xa#v%Xa({%Xa!U%XaQ%Xa!d%Xa~O)Y/mO!V%Xa~P&,zO[/mO~O!W/mO~O!V/nO)Y%Xa~P&,zO!X'Zi!Y'Zi!['Zi!^'Zi!_'Zi!a'Zi!b'Zi!e'Zi!f'Zi!h'Zi(z'Zi(|'Zi(}'Zi)Y'Zi)Z'Zi)['Zi)]'Zi)^'Zi)_'Zi)`'Zi!g'Zi)p'Zi['Zi!W'Zi({'Zi!U'ZiQ'Zi!d'Zi~P%6}O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h'^i)_'^i!g'^i)p'^i['^i!W'^i({'^i!U'^iQ'^i!d'^i~P#4YO!W/sO~P%:}O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h/uO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!U)xX~P#4YO(w/xO~O!V/zO(|)xO)p/|O~O!h/uO!U)xX~O!U/}O~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h`i(z`i)_`i!g`i)p`i[`i!W`i({`i!U`iQ`i!d`i~P#4YO!R0OO~Om*QO]!Qa!h!Qa)U!Qa)`!Qa~OP0WO]0VOm0WO!R0WO!T0TO!V0UO!X0WO!Y0WO![0WO!^0WO!_0WO!a0WO!b0WO!e0WO!f0WO!g0WO!h0WO!i0WO(uQO({0WO(|0WO(}0WO)Y0QO)Z0RO)[0RO)]0SO)^#jO)_0WO)`0WO)bXO~O[0ZO~P&7dO!R$^O~O!h*TO)U)Wa)`)Wa~O)U0_O~O])iO!V)jO!X)gO!g)gO%Z)gO%[)gO%])gO%^)gO%_)kO%`)kO%a)gO(})hO)p)gO*O)lO~Oe)tO%Y*YO)O$QO~O)_0aO~O]oXeoXmnXqoXsoXtoXuoXvoXwoXxoXyoXzoX!OoX!VoX!roX!soX!toX!uoX!voX!xoX!{oX%voX&roX&soX(woX)YoX)[oX)]oX!ToX!hoX)`oX[oXQoX!doX~O!loX({oX)_oX!XoX!YoX![oX!^oX!_oX!aoX!boX!eoX!foX(zoX(|oX(}oX)ZoX)^oX!goX)poX!WoX!UoX#voX#ToX#VoX#poXboX|oX!ooX#aoX#boX#ioX#toX${oX%coX%eoX%koX%loX%ooX&moX)VoX~P&;`Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!O!_O!r!aO!s!aO!t!aO!u!aO!v!aO!x!cO~O])gie)gim)gi!V)gi!{)gi%v)gi(w)gi)Y)gi)[)gi)])giQ)gi!d)gi!h)gi)`)gi)p)gi[)gi!T)gi&r)gi({)gi)_)gi~P&@^O]&eO!V&dO[#Qi!T#Qi!h#Qi#v#Qi)_#Qi)p#QiQ#Qi!d#Qi({#Qi~O[raQra!dra!hra)`ra)_ra~P#:ZO[raQra!dra!hra)`ra)_ra~P#IyO]&eO!V+pO[raQra!dra!hra)`ra)_ra~O!h*nO!W)qa~O!h*rO!W*Ua~OPmOb!]Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O|#RO!O!_O!X!XO!Y!WO!i!YO!s!aO!t!aO!v!aO!x!cO#V#QO#a#VO#b#TO#v!eO$Y!vO$Z!wO$`!iO$e!jO$g!kO$h!lO$k!mO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO%_#ZO%`#[O%a#YO%e#UO%l#SO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO)VYO)_iO)`!ZO)bXO)ncO)odO~O]eOe!POmTO!T*vO!U&VO!V0oO!opO!r!`O!u!bO!{!dO#i#OO#p!xO#t!fO$R!gO$T!hO${!tO$}!uO%U!yO%c!zO%g!{O%o!|O%v!}O%|#PO(wRO(|)xO)YaO)[|O)]{O~P&E`O!h*yO)_)wa~OPmO]$gOb!]Om;TO|#RO!T$YO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;]O)VYO)Y$mO)]$mO)`0uO)bXO)ncO)odO[(xP[)jP~P&@^O!h*rO!W*UX~O]$PO!T$YO~O!h0zO!T*QX#v*QX)p*QX~O)_0|O~O)_0}O~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_1PO)`$OO~P#4YO)_0}O~P!?ZO]1ZOe!POm%dO!V1XO!{!dO%v$oO(w$zO)Y1RO)`1UO~O)[1VO)]1VO)p1SOQ#PX!d#PX!h#PX[#PX~P' }O!h1[OQ)rX!d)rX~OQ1^O!d1^O~O)`1aO)p1`OQ#`X!d#`X!h#`X~P!<_O)`1aO)p1`OQ#`X!d#`X!h#`X~P!;eOq&WO~O[#ka!T#ka#v#ka)_#ka)p#kaQ#ka!d#ka!h#ka)`#ka!x#ka({#ka~P#IyO]&eO!V+pO[#ka!T#ka#v#ka)_#ka)p#kaQ#ka!d#ka!h#ka)`#ka!x#ka({#ka~O!W1fO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W1fO)Y1hO~P$&OO!W1fO~P!(}O]#ja!T#ja!V#ja[#ja#v#ja)_#ja)p#jaQ#ja!d#ja!h#ja)`#ja!x#ja({#ja~P$!WO[1lO]&eO!V+pO~O!h1mO[)jX~O[1oO~O]&eO!V+pO[#na!T#na#v#na)_#na)p#naQ#na!d#na!h#na)`#na!x#na({#na~O]1sOs#SXt#SXu#SXv#SXw#SXx#SXy#SXz#SX!T#SX!V#SX#T#SX#p#SX(}#SX)[#SX)]#SX!l#SX!x#SX#V#SX#v#SX({#SX)p#SX[#SX!h#SX)_#SXQ#SX!d#SX)`#SX~O]1tO~O]1wOm$qO!V$hO#V#QO(w$pO)ncO)odO~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!l,PO#T+{O#V,OO#p+|O(}+yO)[,PO)],PO~O])lX!T)lX!V)lX!x)lX#v)lX({)lX)p)lX[)lX!h)lX)_)lXQ)lX!d)lX~P',hO!x!cO]#Ri!T#Ri!V#Ri#v#Ri({#Ri)p#Ri[#Ri!h#Ri)_#RiQ#Ri!d#Ri~O!W2PO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W2PO)Y2RO~P$&OO!W2PO~P!(}O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OOQ*XX!d*XX!h*XX~P#4YO)`2SOQ)QX!d)QX!h)QX~O!h2TOQ)PX!d)PX~OQ2VO!d2VO~O[2WO~O#t$nO)VYO~P8}Om-jO!TxO)p2[O~O[2]O~O#x,fOP#ui]#uib#uie#uim#uis#uit#uiu#uiv#uiw#uix#uiy#uiz#ui|#ui!O#ui!T#ui!V#ui!X#ui!Y#ui!i#ui!o#ui!r#ui!s#ui!t#ui!u#ui!v#ui!x#ui!{#ui#V#ui#a#ui#b#ui#i#ui#p#ui#t#ui#v#ui$R#ui$T#ui$Y#ui$Z#ui$`#ui$e#ui$g#ui$h#ui$k#ui$m#ui$o#ui$q#ui$s#ui$u#ui$w#ui${#ui$}#ui%U#ui%_#ui%`#ui%a#ui%c#ui%e#ui%g#ui%l#ui%o#ui%v#ui%|#ui&m#ui&r#ui&s#ui'Q#ui'R#ui'V#ui'Y#ui'a#ui'b#ui(l#ui(u#ui(w#ui)V#ui)Y#ui)[#ui)]#ui)_#ui)`#ui)b#ui)n#ui)o#ui!U#ui$c#ui!n#ui%k#ui~O]&eO~O]&eO!TxO!V&dO#v!eO~O({2bO(|,hO)V$Ua)_$Ua~O)VYO)_2dO~O[2eO~P,`O[2eO)_#lO~O[2eO~O$c2jOP$_i]$_ib$_ie$_im$_is$_it$_iu$_iv$_iw$_ix$_iy$_iz$_i|$_i!O$_i!T$_i!V$_i!X$_i!Y$_i!i$_i!o$_i!r$_i!s$_i!t$_i!u$_i!v$_i!x$_i!{$_i#V$_i#a$_i#b$_i#i$_i#p$_i#t$_i#v$_i$R$_i$T$_i$Y$_i$Z$_i$`$_i$e$_i$g$_i$h$_i$k$_i$m$_i$o$_i$q$_i$s$_i$u$_i$w$_i${$_i$}$_i%U$_i%_$_i%`$_i%a$_i%c$_i%e$_i%g$_i%l$_i%o$_i%v$_i%|$_i&m$_i&r$_i&s$_i'Q$_i'R$_i'V$_i'Y$_i'a$_i'b$_i(l$_i(u$_i(w$_i)V$_i)Y$_i)[$_i)]$_i)_$_i)`$_i)b$_i)n$_i)o$_i!U$_i~O]1wO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_2mO)`$OO~P#4YOPmO]$gOb!]Om;SO|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;UO)Y$mO)]$mO)_2pO)`!ZO)bXO)ncO)odO~P&@^O)_2mO~O(w-ZO~O)VYO)p2sO~O)_2uO~O]-_Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!{!dO!|%TO(w-ZO)Y-[O~O)Y2zO~O]&eO!V2|O!h2}O)_){X~O]-_O!{!dO(w-ZO)Y-[O~O)_3QO~O!TxO$`!iO$e!jO$g!kO$h!lO$k-gO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO$}!uO(w:uOe$Xi!o$Xi!{$Xi#i$Xi#p$Xi#t$Xi#v$Xi$R$Xi$T$Xi$Y$Xi$Z$Xi${$Xi%U$Xi%c$Xi%g$Xi%o$Xi%|$Xi(l$Xi)[$Xi!U$Xi$c$Xi~P$0yOm;SO(w:uO~P0}O]3UO~O)_2ZO~O!u3WO(w%pO~O[3ZO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h3[O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[3]O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO]&eO!V+pO!T%ui#v%ui)_%ui)p%ui~O!W3^O~Om;QO)_)SX~P$G`Ob!TOm$qO|3dO#a#VO#b3cO#t!fO%e#UO%l3eO&m!RO&r#WO&s!TO(w$pO)VYO~P&@^Om;jO!o-uO#i-zO#t!fO${-OO%c!zO%k-yO%o!|O%v!}O(w;[O)VYO~P!8mO]&eO!V&dO)_3gO~O)_3hO~O)VYO)_3hO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_3iO)`$OO~P#4YO)_3iO~O)_3lO~O!U3nO~P$JpOm$qO(w$pO~O]3pO!T'{O~P',SO!T(SO!l3sO({(RO])Tae)Tam)Tas)Tat)Tau)Tav)Taw)Tax)Tay)Taz)Ta!O)Ta!V)Ta!r)Ta!s)Ta!t)Ta!u)Ta!v)Ta!x)Ta!{)Ta%v)Ta&r)Ta&s)Ta(w)Ta)Y)Ta)[)Ta)])Ta)_)Ta[)Ta!X)Ta!Y)Ta![)Ta!^)Ta!_)Ta!a)Ta!b)Ta!e)Ta!f)Ta!h)Ta(z)Ta(|)Ta(})Ta)Z)Ta)^)Ta)`)Ta!g)Ta)p)Ta!W)TaQ)Ta!d)Ta!U)Ta#v)Ta~Om$qO!n.hO!o.hO(w$pO~O!h3wO)`3yO!T)eX~O!o3{O)VYO~P8}O)_3|O~PGYO]4ROm)QO!T$YO!{!dO%v$oO&r#WO(w)PO({4VO)Y4OO)[4SO)]4SO~O)_4WO)p4YO~P('OOm;kO!U4[O!n.uO!o.tO#i-zO${!tO$}!uO%g!{O%k-yO%o!|O%v!}O(w;^O)VYO~P!8mOm;kO%v!}O(w;^O~P!8mO({4]O~Om$qO!T(SO(w$pO({(RO)VYO~O!l3sO~P()^O)p4_O!U&oX!h&oX~O!h4`O!U*WX~O!U4bO~Ob4dOm$qO&m!RO(w$pO~O!T(]O]&kie&kim&kis&kit&kiu&kiv&kiw&kix&kiy&kiz&ki!O&ki!V&ki!r&ki!s&ki!t&ki!u&ki!v&ki!x&ki!{&ki%v&ki&r&ki&s&ki(w&ki)Y&ki)[&ki)]&ki)_&ki[&ki!X&ki!Y&ki![&ki!^&ki!_&ki!a&ki!b&ki!e&ki!f&ki!h&ki(z&ki(|&ki(}&ki)Z&ki)^&ki)`&ki!g&ki)p&ki!W&kiQ&ki!d&ki!U&ki#v&ki~O({&ki~P(*nO({.zO~P(*nO[4gO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[4gO~O[4hO~O]$PO!T$YO!V'Zi!X'Zi!Y'Zi!['Zi!^'Zi!_'Zi!a'Zi!b'Zi!e'Zi!f'Zi!h'Zi(z'Zi(|'Zi(}'Zi)Y'Zi)Z'Zi)['Zi)]'Zi)^'Zi)_'Zi)`'Zi!g'Zi)p'Zi['Zi!W'Zi({'Zi!U'ZiQ'Zi!d'Zi~OPmOb%SOm;RO!X!XO!Y!WO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)`!ZO)bXO)ncO)odO]#]aq#]a!T#]a!V#]a)Y#]a)[#]a)]#]a~O(w%pO)`4mO[*`P~O*^4lO~O'f4oO*^4lO~O*^4pO~OmnXqoXq&wX~Oe4rO%Y*YO)O/dO~Oe4rO%Y*YO)O4sO~O!h/jO[(xa~O!W4wO~O]&eO!V+pO!T%uq#v%uq)_%uq)p%uq~O]$PO!T$YO!X'Zq!Y'Zq!['Zq!^'Zq!_'Zq!a'Zq!b'Zq!e'Zq!f'Zq!h'Zq(z'Zq(|'Zq(}'Zq)Y'Zq)Z'Zq)['Zq)]'Zq)^'Zq)_'Zq)`'Zq!g'Zq)p'Zq['Zq!W'Zq({'Zq!U'ZqQ'Zq!d'Zq~O!V'Zq~P(5{O!V/SO&r#WO&s$yO~P(5{O!T$YO!V)wO(|)xO!U(VX!h(VX~P!KVO!h/uO!U)xa~O!W5PO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h*nO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!U5TO~P&7dO!W5TO~P&7dO[5TO~P&7dO[5YO~P&7dO]5ZO!h'va)U'va)`'va~O!h*TO)U)Wi)`)Wi~O]&eO!V&dO[#Qq!T#Qq!h#Qq#v#Qq)_#Qq)p#QqQ#Qq!d#Qq({#Qq~O[riQri!dri!hri)`ri)_ri~P#IyO]&eO!V+pO[riQri!dri!hri)`ri)_ri~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h'Tq)_'Tq!g'Tq)p'Tq['Tq!W'Tq({'Tq!U'TqQ'Tq!d'Tq~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!W'}a!h'}a~P#4YO!W5`O~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h5aO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_#lO)`$OO!U)xX~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h#{i)_#{i~P#4YO]*{O!T$YO!V&dO)p*wO!h(Wa)_(Wa~O!h1mO[)jX]'dX~P%3WO)`5cO!T%qa!h%qa#v%qa)p%qa~O!h0zO!T*Qa#v*Qa)p*Qa~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_5fO)`$OO~P#4YO]1ZOe!POm;cO!V1XO!{!dO%v$oO(w$zO)Y<PO)[5hO)]5hO~OQ#Pa!d#Pa!h#Pa[#Pa~P(ETO]1ZOe!POs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V1XO!{!dO!|%TO%v$oO(w$zOQ#kX!d#kX!h#kX[#kX~Om%dO)Y1RO)[<QO)]<QO~P(FVO]&eOQ#Pa!d#Pa!h#Pa[#Pa~O!V&dO)p5lO~P(GtO(w%pOQ#dX!d#dX!h#dX[#dX~O)[<QO)]<QOQ#nX!d#nX!h#nX[#nX~P' }O!V+pO~P(GtO]1ZOb!TOe!POm;dO|#RO!V1XO!{!dO#a#VO#b#TO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO(w;XO)VYO)Y<PO)[5hO)]5hO)`+sO[)jP~P&@^O!h1[OQ)ra!d)ra~Oq&hO)p5qOQ#`am)SX!d#`a!h#`a)`)SX~P$G`O(w-ZOQ#ga!d#ga!h#ga~Oq&hO)p5qOQ#`a])dXe)dXm)dXs)dXt)dXu)dXv)dXw)dXx)dXy)dXz)dX!O)dX!T)dX!V)dX!d#`a!h#`a!l)dX!r)dX!s)dX!t)dX!u)dX!v)dX!x)dX!{)dX%v)dX&r)dX&s)dX(w)dX({)dX)Y)dX)[)dX)])dX)`)dX~O#a5tO#b5tO~O]&eO!V+pO[#ki!T#ki#v#ki)_#ki)p#kiQ#ki!d#ki!h#ki)`#ki!x#ki({#ki~O!W5vO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W5vO~P!(}O!W5vO)Y5xO~P$&OO]#ji!T#ji!V#ji[#ji#v#ji)_#ji)p#jiQ#ji!d#ji!h#ji)`#ji!x#ji({#ji~P$!WO)VYO)`5zO~P8}O!h1mO[)ja~O&r#WO&s$yO!T#qa!x#qa#v#qa({#qa)p#qa[#qa!h#qa)_#qaQ#qa!d#qa)`#qa~P#NsO[6PO~P!(}O[)uP~P!4{O)Z6VO)[6TO]#Ua!T#Ua!V#Ua)Y#Ua)]#Uas#Uat#Uau#Uav#Uaw#Uax#Uay#Uaz#Ua!l#Ua!x#Ua#T#Ua#V#Ua#p#Ua#v#Ua({#Ua(}#Ua)p#Uab#Uae#Uam#Ua|#Ua!O#Ua!o#Ua!r#Ua!s#Ua!t#Ua!u#Ua!v#Ua!{#Ua#a#Ua#b#Ua#i#Ua#t#Ua${#Ua%c#Ua%e#Ua%k#Ua%l#Ua%o#Ua%v#Ua&m#Ua&r#Ua&s#Ua(w#Ua)V#Ua)_#Ua[#Ua!h#UaQ#Ua!d#Ua~O!x!cO]#Rq!T#Rq!V#Rq#v#Rq({#Rq)p#Rq[#Rq!h#Rq)_#RqQ#Rq!d#Rq~O!W6[O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W6[O~P!(}O!h2TOQ)Pa!d)Pa~O)_6aO~Om-jO!TxO)p6bO~O]*{O!T$YO!V&dO!h*yO)_)wX~O)p6fO~P)+|O[6hO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[6hO~O$c6jOP$_q]$_qb$_qe$_qm$_qs$_qt$_qu$_qv$_qw$_qx$_qy$_qz$_q|$_q!O$_q!T$_q!V$_q!X$_q!Y$_q!i$_q!o$_q!r$_q!s$_q!t$_q!u$_q!v$_q!x$_q!{$_q#V$_q#a$_q#b$_q#i$_q#p$_q#t$_q#v$_q$R$_q$T$_q$Y$_q$Z$_q$`$_q$e$_q$g$_q$h$_q$k$_q$m$_q$o$_q$q$_q$s$_q$u$_q$w$_q${$_q$}$_q%U$_q%_$_q%`$_q%a$_q%c$_q%e$_q%g$_q%l$_q%o$_q%v$_q%|$_q&m$_q&r$_q&s$_q'Q$_q'R$_q'V$_q'Y$_q'a$_q'b$_q(l$_q(u$_q(w$_q)V$_q)Y$_q)[$_q)]$_q)_$_q)`$_q)b$_q)n$_q)o$_q!U$_q~O)_6kO~OPmO]$gOb!]Om;SO|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;UO)Y$mO)]$mO)_6mO)`!ZO)bXO)ncO)odO~P&@^O({6oO)p*wO~P)+|O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_6mO)`$OO~P#4YO[6qO~P!(}O)_6uO~O)_6vO~O]-_Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!{!dO(w-ZO)Y-[O~O]&eO!V2|O!h%Oa)_%Oa[%Oa~O!W6|O)Y6}O~P$&OO!h2}O)_){a~O[7QO]&eO!V2|O~O!TxO$`!iO$e!jO$g!kO$h!lO$k-gO$m!nO$o!oO$q!pO$s!qO$u!rO$w!sO$}!uO(w:uOe$Xq!o$Xq!{$Xq#i$Xq#p$Xq#t$Xq#v$Xq$R$Xq$T$Xq$Y$Xq$Z$Xq${$Xq%U$Xq%c$Xq%g$Xq%o$Xq%|$Xq(l$Xq)[$Xq!U$Xq$c$Xq~P$0yOPmO]$gOb!]Om;SO|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;UO)VYO)Y$mO)]$mO)_7SO)`!ZO)bXO)ncO)odO~P&@^O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_7VO)`$OO~P#4YO)_7WO~OP7XO(uQO~Om*aO)_)dX~P$G`Oq&hOm)SX)_)dX~P$G`O)_7ZO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO)_&Sa~P#4YO!U7]O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO)_7^O~OPmO]$gOb!]Om;TO|#RO!V$hO!X!XO!Y!WO!i!YO#V#QO#a#VO#b#TO%_#ZO%`#[O%a#YO%e#UO%l#SO%v$oO&m!RO&r#WO&s!TO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w;]O)VYO)Y$mO)]$mO)`0uO)bXO)ncO)odO[)jP~P&@^O!h3wO)`7bO!T)ea~O!h3wO!T)ea~O)_7gO)p7iO~P('OO)_7kO~PGYO]4ROm)QOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!{!dO!|%TO%v$oO&r#WO(w)PO)Y4OO)[4SO)]4SO~O)Y7oO~O]&eO!T*vO!V7qO!h7rO#v!eO({4VO~O)_7gO)p7tO~P)GbO]4ROm)QO!{!dO%v$oO&r#WO(w)PO)Y4OO)[4SO)]4SO~Oq&hO])iX!T)iX!V)iX!h)iX#v)iX({)iX)_)iX)p)iX[)iX~O)_7gO~O!T(SO!l7zO({(RO])Tie)Tim)Tis)Tit)Tiu)Tiv)Tiw)Tix)Tiy)Tiz)Ti!O)Ti!V)Ti!r)Ti!s)Ti!t)Ti!u)Ti!v)Ti!x)Ti!{)Ti%v)Ti&r)Ti&s)Ti(w)Ti)Y)Ti)[)Ti)])Ti)_)Ti[)Ti!X)Ti!Y)Ti![)Ti!^)Ti!_)Ti!a)Ti!b)Ti!e)Ti!f)Ti!h)Ti(z)Ti(|)Ti(})Ti)Z)Ti)^)Ti)`)Ti!g)Ti)p)Ti!W)TiQ)Ti!d)Ti!U)Ti#v)Ti~O(w%pO!U(gX!h(gX~O!h4`O!U*Wa~Oq&hO]*Vae*Vam*Vas*Vat*Vau*Vav*Vaw*Vax*Vay*Vaz*Va!O*Va!T*Va!V*Va!r*Va!s*Va!t*Va!u*Va!v*Va!x*Va!{*Va%v*Va&r*Va&s*Va(w*Va)Y*Va)[*Va)]*Va)_*Va[*Va!X*Va!Y*Va![*Va!^*Va!_*Va!a*Va!b*Va!e*Va!f*Va!h*Va(z*Va(|*Va(}*Va)Z*Va)^*Va)`*Va!g*Va)p*Va!W*VaQ*Va!d*Va({*Va!U*Va#v*Va~O!T(]O]&kqe&kqm&kqs&kqt&kqu&kqv&kqw&kqx&kqy&kqz&kq!O&kq!V&kq!r&kq!s&kq!t&kq!u&kq!v&kq!x&kq!{&kq%v&kq&r&kq&s&kq(w&kq)Y&kq)[&kq)]&kq)_&kq[&kq!X&kq!Y&kq![&kq!^&kq!_&kq!a&kq!b&kq!e&kq!f&kq!h&kq(z&kq(|&kq(}&kq)Z&kq)^&kq)`&kq!g&kq)p&kq!W&kqQ&kq!d&kq({&kq!U&kq#v&kq~OPmOb%SOm;RO!T$YO!i!YO#V#QO%_#ZO%`#[O%a#YO%v$oO'Q!WO'R!WO'V#XO'Y![O'a![O'b![O(uQO(w$zO)bXO)ncO)odO~O]*[i!V*[i!X*[i!Y*[i![*[i!^*[i!_*[i!a*[i!b*[i!e*[i!f*[i!h*[i(z*[i(|*[i(}*[i)Y*[i)Z*[i)[*[i)]*[i)^*[i)_*[i)`*[i!g*[i)p*[i[*[i!W*[i({*[i!U*[iQ*[i!d*[i~P*&qO[8PO~O!W8QO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h'^q)_'^q!g'^q)p'^q['^q!W'^q({'^q!U'^qQ'^q!d'^q~P#4YO!h8RO[*`X~O[8TO~O*^8UO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h_y)__y!g_y)p_y[_y!W_y({_y!U_yQ_y!d_y~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO[(ia!h(ia~P#4YO]$PO!T$YO!V'Zy!X'Zy!Y'Zy!['Zy!^'Zy!_'Zy!a'Zy!b'Zy!e'Zy!f'Zy!h'Zy(z'Zy(|'Zy(}'Zy)Y'Zy)Z'Zy)['Zy)]'Zy)^'Zy)_'Zy)`'Zy!g'Zy)p'Zy['Zy!W'Zy({'Zy!U'ZyQ'Zy!d'Zy~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!h'^y)_'^y!g'^y)p'^y['^y!W'^y({'^y!U'^yQ'^y!d'^y~P#4YO]&eO!V+pO!T%uy#v%uy)_%uy)p%uy~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!U(Va!h(Va~P#4YO!W5PO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!U#}i!h#}i~P#4YO!U8WO~P&7dO!W8WO~P&7dO[8WO~P&7dO[8YO~P&7dO]&eO!V&dO[#Qy!T#Qy!h#Qy#v#Qy)_#Qy)p#QyQ#Qy!d#Qy({#Qy~O]&eO!V+pO[rqQrq!drq!hrq)`rq)_rq~O]&eOQ#Pi!d#Pi!h#Pi[#Pi~O!V+pO~P*:TOQ#nX!d#nX!h#nX[#nX~P(ETO!V&dO~P*:TOQ(PX](PXe'rXm'rXs(PXt(PXu(PXv(PXw(PXx(PXy(PXz(PX!V(PX!d(PX!h(PX!{'rX%v'rX(w'rX)Y(PX)[(PX)](PX[(PX~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OOQ#_i!d#_i!h#_i[#_i~P#4YO&r#WO&s$yOQ#fi!d#fi!h#fi~O(w-ZO)`1aO)p1`OQ#`X!d#`X!h#`X~O!W8_O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W8_O~P!(}O!T#qi!x#qi#v#qi({#qi)p#qi[#qi!h#qi)_#qiQ#qi!d#qi)`#qi~O]&eO!V+pO~P*@PO]&[O!V&YO&r#WO&s$yO)Y&XO)[&]O)]&]O~P*@PO[8aO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!h8bO[)uX~O[8dO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OOQ*ZX!d*ZX!h*ZX~P#4YO)`8gOQ*YX!d*YX!h*YX~O)_8iO~O[$bi!h#{a)_#{a~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_8lO)`$OO~P#4YO[8nO~P!(}O[8nO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[8nO~O]&eO!V&dO({8tO~O)_8uO~O]&eO!V2|O!h%Oi)_%Oi[%Oi~O!W8xO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W8xO)Y8zO~P$&OO!W8xO~P!(}O]&eO!V2|O!h(Za)_(Za~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_8{O)`$OO~P#4YO)_2pO~P!(}O)_8{O~OP%qO[8|O(uQO~O[8|O~O)_8}O~P%%sO#T9QO(}.UO)_9OO~O!h3wO!T)ei~O)`9UO!T'xa!h'xa~O)_9WO)p9YO~P)GbO)_9WO~O)_9WO)p9^O~P('OOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O~P)HQO]&eO!V7qO!T!ya!h!ya#v!ya({!ya)_!ya)p!ya[!ya~O!W9eO)Y9fO~P$&OO!T$YO!h7rO({4VO)_9WO)p9^O~O!T$YO~P#EtO[9iO]&eO!V7qO~O]&eO!V7qO!T&aa!h&aa#v&aa({&aa)_&aa)p&aa[&aa~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO)_&ba~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_9WO)`$OO~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!U&oi!h&oi~P#4YO!V/SO]']i!T']i!X']i!Y']i![']i!^']i!_']i!a']i!b']i!e']i!f']i!h']i(z']i(|']i(}']i)Y']i)Z']i)[']i)]']i)^']i)_']i)`']i!g']i)p']i[']i!W']i({']i!U']iQ']i!d']i~O(w%pO)`9lO~O!h8RO[*`a~O[9nO~P&7dO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO!U(Va)_#Zi~P#4YO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OOQ#_q!d#_q!h#_q[#_q~P#4YO&r#WO&s$yOQ#fq!d#fq!h#fq~O)p5qOQ#`a!d#`a!h#`a~O]&eO!V+pO!T#qq!x#qq#v#qq({#qq)p#qq[#qq!h#qq)_#qqQ#qq!d#qq)`#qq~O!h8bO[)ua~O)[6TO]&Vi!T&Vi!V&Vi)Y&Vi)Z&Vi)]&Vis&Vit&Viu&Viv&Viw&Vix&Viy&Viz&Vi!l&Vi!x&Vi#T&Vi#V&Vi#p&Vi#v&Vi({&Vi(}&Vi)p&Vib&Vie&Vim&Vi|&Vi!O&Vi!o&Vi!r&Vi!s&Vi!t&Vi!u&Vi!v&Vi!{&Vi#a&Vi#b&Vi#i&Vi#t&Vi${&Vi%c&Vi%e&Vi%k&Vi%l&Vi%o&Vi%v&Vi&m&Vi&r&Vi&s&Vi(w&Vi)V&Vi)_&Vi[&Vi!h&ViQ&Vi!d&Vi~O)_9qO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO[$bq!h#{i)_#{i~P#4YO[9sO~P!(}O[9sO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[9sO~O]&eO!V&dO({9vO~O[9wO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[9wO~O]&eO!V2|O!h%Oq)_%Oq[%Oq~O!W9{O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W9{O~P!(}O)_6mO~P!(}O)_9|O~O)_9}O~O(}.UO)_9}O~O!h3wO!T)eq~O)`:PO!T'xi!h'xi~O!T$YO!h7rO({4VO)_:QO)p:SO~O)_:QO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_:QO)`$OO~P#4YO)_:QO)p:VO~P)GbO]&eO!V7qO!T!yi!h!yi#v!yi({!yi)_!yi)p!yi[!yi~O!W:ZO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W:ZO)Y:]O~P$&OO!W:ZO~P!(}O]&eO!V7qO!T(ea!h(ea({(ea)_(ea)p(ea~O[:_O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O!h#kO(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[:_O~O[:dO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[:dO~O]&eO!V2|O!h%Oy)_%Oy[%Oy~O)_:eO~O)_:fO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_:fO)`$OO~P#4YO!T$YO!h7rO({4VO)_:fO)p:iO~O]&eO!V7qO!T!yq!h!yq#v!yq({!yq)_!yq)p!yq[!yq~O!W:kO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO!W:kO~P!(}O[:mO!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)`$OO~P#4YO[:mO~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_:oO)`$OO~P#4YO)_:oO~O]&eO!V7qO!T!yy!h!yy#v!yy({!yy)_!yy)p!yy[!yy~O!Y#sO![#tO!^#wO!_#xO!a#zO!b#{O!e#{O!f#|O(z#hO)Y#oO)Z#qO)[#pO)]#rO)^#jO)_:sO)`$OO~P#4YO)_:sO~O]ZXmhXqZXqjX!TjX!VZX!XZX!YZX![ZX!^ZX!_ZX!aZX!bZX!eZX!fZX!gZX!hZX(zZX({$]X(|ZX(}ZX)YZX)ZZX)[ZX)]ZX)^ZX)_ZX)`ZX)pZX~O]%WXmnXqoXq%WX!ToX!V%WX!X%WX!Y%WX![%WX!^%WX!_%WX!a%WX!b%WX!e%WX!f%WX!gnX!h%WX(z%WX(|%WX(}%WX)Y%WX)Z%WX)[%WX)]%WX)^%WX)`%WX)pnX[%WXQ%WX!d%WX~O)_%WX!W%WX({%WX!U%WX~P+H]O]oX]%WXeoXmnXqoXq%WXsoXtoXuoXvoXwoXxoXyoXzoX!OoX!VoX!V%WX!roX!soX!toX!uoX!voX!xoX!{oX%voX&roX&soX(woX)YoX)[oX)]oX[oX[%WX!hoX)`oX~O)_oX)poX~P+JmO]%WXmnXqoXq%WX!V%WX!h%WXQ%WX!d%WX[%WX~O!T%WX#v%WX)_%WX)p%WX({%WX~P+MWOQoXQ%WX!ToX!X%WX!Y%WX![%WX!^%WX!_%WX!a%WX!b%WX!doX!d%WX!e%WX!f%WX!gnX!h%WX(z%WX(|%WX(}%WX)Y%WX)Z%WX)[%WX)]%WX)^%WX)`%WX)pnX~P+JmO]oX]%WXmnXqoXq%WXsoXtoXuoXvoXwoXxoXyoXzoX!OoX!V%WX!roX!soX!toX!uoX!voX!xoX!{oX%voX&roX&soX(woX)YoX)[oX)]oX~O!ToX({oX)_oX)poX~P,!OOeoX!VoX)_%WX~P,!OOmnXqoX)_%WX~Oe)tO%Y)uO)O:vO~Oe)tO%Y)uO)O:{O~Oe)tO%Y)uO)O:wO~Oe$TO%Y*YO'[$VO'_$WO)O:vO~Oe$TO%Y*YO'[$VO'_$WO)O:xO~Oe$TO%Y*YO'[$VO'_$WO)O:zO~O[jX]jXsjXtjXujXvjXwjXxjXyjXzjX!VjX&rjX&sjX)YjX)[jX)]jXejX!OjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX(wjX~P#1xO]ZXmhXqZXqjX!VZX!hZX)_ZX)pZX~O!TZX#vZX({ZX~P,(fOmhXqjX)VjX)_ZX)pjX~O]ZX]jXejXmhXqZXqjXsjXtjXujXvjXwjXxjXyjXzjX!OjX!VZX!VjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX)YjX)[jX)]jX[ZX[jX!hjX)`jX)pjX~O)_ZX~P,)pO]ZX]jXmhXqZXqjXsjXtjXujXvjXwjXxjXyjXzjX!TjX!VZX!VjX!XZX!YZX![ZX!^ZX!_ZX!aZX!bZX!eZX!fZX!gZX!hZX!hjX&rjX&sjX(zZX(|ZX(}ZX)YZX)YjX)ZZX)[ZX)[jX)]ZX)]jX)^ZX)`ZX)`jX)pZX~OQZXQjX!dZX!djX~P,,ZO]jXejXsjXtjXujXvjXwjXxjXyjXzjX!OjX!VjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX)YjX)[jX)]jX~P#1xO]ZX]jXejXmhXqZXqjXsjXtjXujXvjXwjXxjXyjXzjX!OjX!VZX!VjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX)YjX)[jX)]jX~O)_jX~P,1]O[ZX[jXejX!OjX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX(wjX)pjX~P,,ZO]ZX]jXmhXqZXqjXsjXtjXujXvjXwjXxjXyjXzjX!OjX!TjX!VZX!rjX!sjX!tjX!ujX!vjX!xjX!{jX%vjX&rjX&sjX(wjX({jX)YjX)[jX)]jX)_jX)pjX~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O~PBXOe$TO%Y*YO)O:vO~Oe$TO%Y*YO)O:wO~Oe$TO%Y*YO)O:}O~Oe$TO%Y*YO)O:|O~O]%jOe!POm%dOs!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O!V%mO!{!dO!|%TO%v$oO(w$zO)Y;hO)[;iO)];iO~O]%jOe!POm%dO!V%mO!{!dO%v$oO(w$zO)Y;hO)[;iO)];iO~Oe$TO%Y$UO)O:wO~Oe$TO%Y$UO)O:{O~Om;QO~Om;PO~O]dXmhXqjX!TdX~Oe)tO%Y*YO)O:vO~Oe)tO%Y*YO)O:wO~Oe)tO%Y*YO)O:xO~Oe)tO%Y*YO)O:yO~Oe)tO%Y*YO)O:zO~Oe)tO%Y*YO)O:|O~Oe)tO%Y*YO)O:}O~Os!^Ot!^Ou!^Ov!^Ow!^Ox!^Oy!^Oz!^O~P,9iO])SXs)SXt)SXu)SXv)SXw)SXx)SXy)SXz)SX!O)SX!r)SX!s)SX!t)SX!u)SX!v)SX!x)SX!{)SX%v)SX&r)SX&s)SX(w)SX)Y)SX)[)SX)])SX)p)SX~Om;PO!T)SX({)SX)_)SX~P,=hO]&wXmnXqoX!T&wX~Oe4rO%Y*YO)O;{O~Om;cO)Y<PO)[5hO)]5hO~P(FVOe!POm%dO!{!dO%v$oO(w$zO~O]1ZO!V1XO)Y1RO)[<QO)]<QOQ#nX!d#nX!h#nX[#nX~P,@dO)Y;aO~Om;oO~Om;pO~Om;qO~Om;sO~Om;tO~Om;uO~Om;sO!T$YOQ)SX!d)SX!h)SX)`)SX[)SX)p)SX~P$G`Om;qO!T$YO~P$G`Om;oO!g$[O)p$[O~Om;qO!g$[O)p$[O~Om;sO!g$[O)p$[O~Om;pO[)SX!h)SX)`)SX)p)SX~P$G`Oe/eO%Y*YO)O;{O~Om;|O~O)Y<aO~OV'e'h'i'g(u)b!R(wS(p%Z!Y!['je%[!i'R!f]'f*a'k(|!^!_'l'm'l~",goto:"%7u*aPPPPP*b*lP*oPP.ePP4y7z7z;UP;U>`P>y?]?qFiMi!&m!-TP!3}!4r!5gP!6RPPPPPPPP!6lP!8UP!9g!;PP!;VPPPPPP!;YP!;YPP!;YPP!;fPPPPPP!=h!AOP!ARPP!Ao!BdPPPPP!BhP>|!CyPP>|!FQ!HR!Ha!Iv!KgP!KrP!LR!LR# c#$r#&Y#)f#,p!HR#,zPP!HR#-R#-X#,z#,z#-[P#-`#-}#-}#-}#-}!KgP#.h#.y#1`P#1tP#3aP#3e#3m#4b#4m#6{#7T#7T#3eP#3eP#7[#7bP#7lPP#8X#8v#9h#8XP#:Y#:fP#8XP#8XPP#8X#8XP#8XP#8XP#8XP#8XP#8XP#8XP#:i#7l#;VP#;lP#<R#<R#<R#<R#<`#3eP#<v#Ar#BaPPPPPPPP#CXP#CgP#CgP#Cs#GQ#;bPP#Ca#GdP#Gw#HS#HY#HY#Ca#IOP#3e#3e#3e#3e#3eP!LR#Ij#Iq#Iq#Iq#Iu# ]#JP# ]#JT!Ha!Ha!Ha#JW#Np!Ha>|>|>|$%i!Bd!Bd!Bd!Bd!Bd!Bd!6l!6l!6l$%|P$'i$'w!6l$'}PP!6l$*]$*`#CO$*c;U7z$-i$/d$1T$2s7zPP7z$4g7zP7z7zP7zP$7m7zP7zPP7z$7yPPPPPPPPP*lP$;R$;X$;_$=v$?|$@S$@j$@t$AP$A`$Af$Bt$Cs$Cz$DR$DX$Da$Dk$Dq$D|$ES$E]$Ee$Ep$Ev$FQ$FW$Fb$Fi$Fx$GO$GUP$G[$Gd$Gk$Gy$Ig$Im$Is$Iz$JTPPPPPPPPPPPP$JZ$J_PPPPP%#a$*]%#d%&l%(tPP%)R%)UPPPPPPPPPP%)b%*e%*k%*o%,f%-s%.f%.m%0|%1SPPP%1^%1i%1l%1r%2y%2|%3W%3b%3f%4j%5]%5c#CXP%5|%6^%6a%6q%6}%7R%7X%7_$*]$*`$*`%7b%7eP%7o%7rQ#dPZ(s#b(o(p(t/ZR#dP'`mO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mU%qm%r7XQ&o!`Q(o#^d0W*S0T0U0V0Y5U5V5W5Z8XR7X3[b}Oaewx{!g&U*v&v$k[!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|1S1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mS%bf0o#d%lgnp|#O$i%O%P%U%f%j%k%y&u'v'w(S*_*e*g*y+b,q,{-d-u-|.k.r.t0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<aS%sm!YS&w!h#PQ'_!tQ'i!yQ'j!zQ(o#aQ(p#^Q(q#_Q*}%mQ,]&nQ,b&pQ-X'`Q-i'hQ-p'sS.w(]4`Q/m)lQ0l*rQ2X,aQ2`,hQ3V-jQ4i/RQ4m/[Q5m1UQ6c2[Q7U3WQ8h6bQ9l8RR;b1X$|#iS!]${%S%V%]&l&m'S'Z']'c'e(c(g(j(|(})W)X)Y)Z)[)])^)_)`)a)b)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:pQ&r!dQ(i#ZQ(x#cQ)o$V[*x%g*]0r2g2n3SQ,c&qQ/T(hQ/Z(pQ/b(yS/p)n/UQ0y+VS4x/q/rR8V4y'a![O[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m'a!VO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mQ)T#mS+V%{0zQ/y)xk4U.l3z4O4R4S7j7l7m7o7r9`9a:YQ)V#mk4T.l3z4O4R4S7j7l7m7o7r9`9a:Yl)U#m.l3z4O4R4S7j7l7m7o7r9`9a:YT+V%{0z[UOwx!g&U*vW$b[e$g(d#l$r_!f!u!}#R#S#T#U#V#Z$U$V$n%W&W&[&e&o'a(P(R(W(`(i)o)u+a+f+g+y,O,^,p-P-V-t-y.].^.d.e.i.v.z1[1`1m1r1t2s3c3d3e3w3{5q6U6W7c8b![%eg$i%f%k&u*_*y+b,q,{-d1R1V2f;_;`;a;h;i;v;w;x;y;}<O<Q<_<`<aY%unp%y-u.kl)R#m.l3z4O4R4S7j7l7m7o7r9`9a:YS;l'v-|U;m(S.r.t&|<Saf{|!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$h$m%O%P%U%_%j%o&S&Y&d&{'O'Q'k'l'w'{(b(k)q)w*e*g*m*n*q*w+]+_+m+o+p,U,W,s,v-l.U.V.Z/S/V/c/j/s/u/z/|0d0o1Q1S1X1h1i1s1w2R2j2p2q2|4V4Y4_4h5a5h5l5x6f6j6m6n6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m;g<PQ<T1Zd<U&z'R'd,|-b-c-f2m3R3UW<V&h*{2T3pQ<W#O[<X!t'`'h,a2[6bT<d%{0z[VOwx!g&U*vW$c[e$g(dQ$r.z!j$s_!f!u!}#V#Z$U$V$n%W&W&[&e&o'a(i)o)u+a+f+y,^,p-P-V-t.i1[1`1m1r1t2s3{5q8b&^$|af{!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$h$m%_%o&S&Y&d&{'O'Q'k'l'{(b(k)q)w*m*n*q*w+]+_+m+o+p,U,W,s,v-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2j2p2|4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m![%eg$i%f%k&u*_*y+b,q,{-d1R1V2f;_;`;a;h;i;v;w;x;y;}<O<Q<_<`<aY%unp%y-u.kQ't#O|(O#R#S#T#U(P(R(W(`+g,O.].^.d.e.v3c3d3e3w6U6W7cl)R#m.l3z4O4R4S7j7l7m7o7r9`9a:YS-s'v-|Q3_-yU;z(S.r.tn<S|%O%P%U%j'w*e*g0d1Q2q5h6n;g<P[<X!t'`'h,a2[6bW<Y&h*{2T3pd<Z&z'R'd,|-b-c-f2m3R3UQ<b1ZT<d%{0z!Q!UO[ewx!g$g&U&h&z'R'd(d*v*{,|-b-c-f2T2m3R3U3p!v$v_!f!u!}#O#V#Z$U$V$n%W&W&[&e&o'a'v(S(i)o)u+a+y,^,p-P-V-t-|.i.r.t1Z1[1`1m1r1t2s3{5q8b&^%Raf{!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$h$m%_%o&S&Y&d&{'O'Q'k'l'{(b(k)q)w*m*n*q*w+]+_+m+o+p,U,W,s,v-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2j2p2|4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m$Q%ngnp|#m$i%O%P%U%f%j%k%y%{&u'`'h'w*_*e*g*y+b,a,q,{-d-u.k.l0d0z1Q1R1V2[2f2q3z4O4R4S5h6b6n7j7l7m7o7r9`9a:Y;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<aQ'^!tz(Q#R#S#T#U(P(R(W(`,O.].^.d.e.v3c3d3e3w6U6W7cf-`'b-Y-[-_2w2x2z2}6x6y8wQ1_+fQ1b+gQ2r-OQ3`-yQ4c.zQ5s1aR8^5t!Q!UO[ewx!g$g&U&h&z'R'd(d*v*{,|-b-c-f2T2m3R3U3p!x$v_!f!u!}#O#V#Z$U$V$n%W&W&[&e&o'a'v(S(i)o)u+a+f+y,^,p-P-V-t-|.i.r.t1Z1[1`1m1r1t2s3{5q8b&^%Raf{!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$h$m%_%o&S&Y&d&{'O'Q'k'l'{(b(k)q)w*m*n*q*w+]+_+m+o+p,U,W,s,v-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2j2p2|4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m$S%ngnp|!t#m$i%O%P%U%f%j%k%y%{&u'`'h'w*_*e*g*y+b,a,q,{-d-u.k.l0d0z1Q1R1V2[2f2q3z4O4R4S5h6b6n7j7l7m7o7r9`9a:Y;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<a|(Q#R#S#T#U(P(R(W(`+g,O.].^.d.e.v3c3d3e3w6U6W7cQ3`-yR4c.z[WOwx!g&U*vW$d[e$g(d#l$r_!f!u!}#R#S#T#U#V#Z$U$V$n%W&W&[&e&o'a(P(R(W(`(i)o)u+a+f+g+y,O,^,p-P-V-t-y.].^.d.e.i.v.z1[1`1m1r1t2s3c3d3e3w3{5q6U6W7c8b![%eg$i%f%k&u*_*y+b,q,{-d1R1V2f;_;`;a;h;i;v;w;x;y;}<O<Q<_<`<aY%unp%y-u.kl)R#m.l3z4O4R4S7j7l7m7o7r9`9a:YS;l'v-|U;m(S.r.tn<S|%O%P%U%j'w*e*g0d1Q2q5h6n;g<PQ<T1ZQ<W#O[<X!t'`'h,a2[6b&^<[af{!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$h$m%_%o&S&Y&d&{'O'Q'k'l'{(b(k)q)w*m*n*q*w+]+_+m+o+p,U,W,s,v-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2j2p2|4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:md<]&z'R'd,|-b-c-f2m3R3UW<^&h*{2T3pT<d%{0zp$RT$a$q%d%t)Q;R;S;T;c;d;e;f;j;k<co)r$X*Z*a/f;O;P;Q;o;p;q;r;s;t;u;|p$ST$a$q%d%t)Q;R;S;T;c;d;e;f;j;k<co)s$X*Z*a/f;O;P;Q;o;p;q;r;s;t;u;|^&g}!O$k$l%b%l;bd&k!U$v%R%n'^(Q1_1b3`4cV/h)T)U4US%[e$gQ,Y&hQ/Q(dQ2t-VQ6Q1tQ6^2TQ6t2sR9o8b#}!TO[_ewx!f!g!u!}#O#V#Z$U$V$g$n%W&U&W&[&e&h&o&z'R'a'd'v(S(d(i)o)u*v*{+a+f+y,^,p,|-P-V-b-c-f-t-y-|.i.r.t1Z1[1`1m1r1t2T2m2s3R3U3p3{5q8b#[^O[_`wx!f!g!}#O$U$f$n$u$w&U&W&[&e&o&t&z'R'd'v(S)u*b*v*{+a,^,p,|-P-b-c-f-t-y-|.i.r.t1Z1[1m2m3R3U3p3{_(W#R#S#T+g3c3d3e#}ZO[wx!g!k#R#S#T%o&U&W&[&e&o&y&z&{'O'Q'R'^'d'v'z(P(R(S(W*v*{+a+g,^,m,p,v-U-b-c-f-t-y-|.P.d.i.r.v1Z1[1m2j2r3R3U3c3d3e3p6j6q8n9s9w:_:d:mQ$_YR0[*TR*V$_e0W*S0T0U0V0Y5U5V5W5Z8X$f#{S%V%]'S'Z']'c'e(j(|(})W)Z)[)])^)_)`)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:pe0W*S0T0U0V0Y5U5V5W5Z8X'`!YO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:me0W*S0T0U0V0Y5U5V5W5Z8XR5[0[^(V#R#S#T+g3c3d3eY.b(P(T(W(X7[U3r.`.c.vS7`3s4^R9j7z^(U#R#S#T+g3c3d3e[.a(P(T(V(W(X7[W3q.`.b.c.vU7_3r3s4^S9R7`7zR:^9jT.p(S.rd]Owx!g&U'v(S*v-|.r!v^[_`!f!}#O$U$f$n$u$w&W&[&e&o&t&z'R'd)u*b*{+a,^,p,|-P-b-c-f-t-y.i.t1Z1[1m2m3R3U3p3{Q%vnT1|,S1}!jbOaenpwx{|!g#O%O%P%U%j%y&U'v'w(S*e*g*v-u-|.k.r.t0d1Q1Z2q5h6n;g<Pf-]'b-Y-[-_2w2x2z2}6x6y8wj4P.l3z4O4R4S7j7l7m7o7r9`9a:Yr<Rg$i%f%k&u*_*y,q,{-d2f;_;`;a;v;x;}i<e+b1R1V;h;i;w;y<O<Q<_<`<a!O&`y%Z&X&[&]'m)m*i*k+b+j+}/t0e1Q1R1V1Z1q5h5}<P<Qz&cz%Q%Y%g&f'u*]*d,g-}0b0c0r1T2g2n3S5^5i6s8pS'}#Q.^n+q&Z*l+k+r+u-o/o0f1Y1e4{5_5g5|8`Q2_,f^2{-^2y3P6w7O8v9ze7p4Q7f7n7v7w9]9_9g:X:jS+c&W1[Y+s&[&e*{1Z3pR5z1m#w!POaegnpwx{|!g#O$i%O%P%U%f%j%k%y&U&u'v'w(S*_*e*g*v*y+b,q,{-d-u-|.k.r.t0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<a`oOwx!g&U'v*v-|#U!Paeg{|#O$i%O%P%U%f%j%k&u'w*_*e*g*y+b,q,{-d0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<aU%xnp-uQ+S%yS.j(S.rT3}.k.tW+w&`+q+x1jV,P&c,Q7pQ+}&bU,P&c,Q7pQ-|'vT.X'{.Z'`![O[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mX1y,O.^6U6W'W!VO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/c/j/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mW1y,O.^6U6WR2l,x!WjO[wx!g!k%o&U&{'O'Q'd*v,v-b-c-f2j3R6j6q8n9s9w:_:d:mY%Xe$g(d1w3pQ'U!nS)O#k5aQ,r&zQ,}'RS.T'{.ZQ2i,sQ6r2pQ7T3UQ8o6mR9t8l'W![O[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/c/j/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mX1y,O.^6U6W'ayO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,O,U,W,s,v,|-b-c-f-l.U.V.Z.^/S/c/j/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6U6W6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mQ&byS'v#O-zR1c+hS+c&W1[R5u1cQ1W+bR5n1VR1W+bT+c&W1[z&^%Z&X&[&]'m)m*i*k+b+j/t0e1Q1R1V1Z1q5h5}<P<QQ&_yR1u+}!P&^y%Z&X&[&]'m)m*i*k+b+j+}/t0e1Q1R1V1Z1q5h5}<P<QQ+z&`S,R&c7pS1k+q+xQ1{,QR5y1j!WkO[wx!g!k%o&U&{'O'Q'd*v,v-b-c-f2j3R6j6q8n9s9w:_:d:mS%|o.jS&Qq-wQ&ayQ&s!eQ'g!yQ*u%gU+Q%x%}3}S+U%z&PQ+v&_Q,_&oS,`&p'iQ,w&}S0`*],gS0v+R+SQ0x+TQ1v+}S2Z,b-kQ5]0bQ5b0wQ6S1uQ6a2YQ6d2_Q7u4QQ9Z7fR:W9][uOwx!g&U*vQ,_&oQ-{'vQ3a-yR3f-|xlOwx!g!k%o&U&{'Q*v,v2j6j6q8n9s9w:_:d:mU$j['O-cS%|o.jS&Qq-wQ*u%gU+Q%x%}3}S+U%z&PS0`*],gS0v+R+SQ0x+TQ5]0bQ5b0wQ7u4QQ9Z7fR:W9]T,d&s,e]uOwx!g&U*v[uOwx!g&U*vQ,_&oQ,s&zQ,|'RW-e'd-b-f3RQ-{'vQ3a-yQ3f-|R7S3U[%hg$i,q,{-d2fR0s*y^$ZV!U$c$|%R<Y<ZQ'U!nS)e$P*{S){$Y*vQ*O$[Y*x%g*]0r2n3SQ/T(hS/p)n/US0h*m4hS0q*w6fQ0y+VQ4X.lQ4u/jS4x/q/rS4}/u5aQ5S/|Q6g2gU7h3z4Q4YQ8V4yQ8r6oY9X7f7i7j7s7tQ9y8tW:R9V9Y9]9^Q:b9vU:h:S:U:VR:q:iS){$Y*vT4}/u5aZ)y$Y)z*v/u5aQ&y!hR'z#PS,l&x'xQ2c,jR6e2bxlOwx!g!k%o&U&{'Q*v,v2j6j6q8n9s9w:_:d:mV$j['O-c!XkO[wx!g!k%o&U&{'O'Q'd*v,v-b-c-f2j3R6j6q8n9s9w:_:d:m!WhO[wx!g!k%o&U&{'O'Q'd*v,v-b-c-f2j3R6j6q8n9s9w:_:d:mR'Y!q!WkO[wx!g!k%o&U&{'O'Q'd*v,v-b-c-f2j3R6j6q8n9s9w:_:d:mR,s&zQ&{!iQ&}!jQ'Q!lR,v&|R,t&zxlOwx!g!k%o&U&{'Q*v,v2j6j6q8n9s9w:_:d:mX-e'd-b-f3R[uOwx!g&U*vQ-P'RQ-{'vS.p(S.rR3f-|[uOwx!g&U*vQ-P'RW-e'd-b-f3RT.p(S.rg-`'b-Y-[-_2w2x2z2}6x6y8wylOwx!g!k%o&U&{'Q*v,v2j6j6q8n9s9w:_:d:mb!OOaewx{!g&U*v&|$l[f!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m#d%lgnp|#O$i%O%P%U%f%j%k%y&u'v'w(S*_*e*g*y+b,q,{-d-u-|.k.r.t0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<aQ'_!tQ-X'`Q-i'hQ2X,aQ6c2[R8h6bj$TT$a%d%t;R;S;T;c;d;e;f;j;ki)t$X*Z;O;P;Q;o;p;q;r;s;t;uj$TT$a%d%t;R;S;T;c;d;e;f;j;kh)t$X*Z;O;P;Q;o;p;q;r;s;t;uS/e)Q<cV4r/f/g;|[uOwx!g&U*vQ-{'vR3f-|[uOwx!g&U*vT.p(S.r'`!YO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mR7Y3[[uOwx!g&U*vQ-{'vS.p(S.rR3f-|[pOwx!g&U*vQ%ynS-u'v-|T.k(S.rS%}o.jS+R%x3}R0w+SQ+W%{R5d0zS%|o.jS&Qq-wU+Q%x%}3}S+U%z&PS0v+R+SQ0x+TQ5b0wQ7u4QQ9Z7fR:W9]`qOwx!g&U(S*v.rS%zn-uU&Pp.k.tQ+T%yT-w'v-|S'|#Q.^R._'}T.W'{.ZS.X'{.ZQ9P7]R:O9QT6U1x8fR6W1x#d!Pgnp|#O$i%O%P%U%f%j%k%y&u'v'w(S*_*e*g*y+b,q,{-d-u-|.k.r.t0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<ab!QOaewx{!g&U*v&}![[f!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m#d!Pgnp|#O$i%O%P%U%f%j%k%y&u'v'w(S*_*e*g*y+b,q,{-d-u-|.k.r.t0d1Q1R1V1Z2f2q5h6n;_;`;a;g;h;i;v;w;x;y;}<O<P<Q<_<`<ab!QOaewx{!g&U*v&|![[f!W!X!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|#}$P$W$Y$[$g$h$m%_%o&S&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_4h5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mk4T.l3z4O4R4S7j7l7m7o7r9`9a:YQ4X.lS7h3z4QU9X7f7j7sS:R9V9]R:h:U#|!TO[_ewx!f!g!u!}#O#V#Z$U$V$g$n%W&U&W&[&e&h&o&z'R'a'd'v(S(d(i)o)u*v*{+a+f+y,^,p,|-P-V-b-c-f-t-y-|.i.r.t1Z1[1`1m1r1t2T2m2s3R3U3p3{5q8bR4d.zQ(_#US.{(^(`S4e.|.}R8O4fQ.x(]R7|4`#|!TO[_ewx!f!g!u!}#O#V#Z$U$V$g$n%W&U&W&[&e&h&o&z'R'a'd'v(S(d(i)o)u*v*{+a+f+y,^,p,|-P-V-b-c-f-t-y-|.i.r.t1Z1[1`1m1r1t2T2m2s3R3U3p3{5q8bp$y`$f$u%Z&t'b(a(h)n*i-Y/r1q5r5}8]q)S#m%{.l0z3z4O4R4S7j7l7m7o7r9`9a:YR,Z&hR6_2T'X!VO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/c/j/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:m$q#tS%V%]'S'Z']'c'e(c(g(j(|(})W)X)Z)[)])^)_)`)a)b)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:p$]#uS%V%]'S'Z']'c'e(j(|(})W)[)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:p$Z#vS%V%]'S'Z']'c'e(j(|(})W)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:p$c#yS%V%]'S'Z']'c'e(j(|(})W)Z)[)])^)c)d)p)v)}+^+l,T,X,o,z-m-n.R/O/w0g0i0n0p1O1g2Q2h2o3Y3j3k4j4k4q4t4z4|5Q5R5k5w6O6]6l6p6z7R7x7y7{8Z8[8j8m8q8y9[9c9r9x:T:[:a:g:p'X![O[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/c/j/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mQ/U(hQ/q)nQ4y/rR9k8Q']![O[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#h#k#n#s#t#u#v#w#x#y#z#{#|$P$W$Y$[$g$h$m%_%o&S&U&Y&d&h&z&{'O'Q'R'd'k'l'{(b(d(k)q)w*m*n*q*v*w*{+]+_+m+o+p,U,W,s,v,|-b-c-f-l.U.V.Z/S/V/c/j/s/u/z/|0o1S1X1h1i1s1w2R2T2j2m2p2|3R3U3p4V4Y4_5a5l5x6f6j6m6o6q6{6}7S7i7q7t8l8n8t8z8{9Y9^9d9f9s9v9w:S:V:]:_:d:i:mQ(m#]R/W(mQ#fQR(z#fU%Oa;g<Pb%We$g&h(d-V1t2T2s8bQ'a!u!Q*c%O%W'a*e*k+m,U0d0e1i2w6x6{7l8w9`9d:Y;_;v;w;}<O<_S*e%P%UQ*k%ZS+m&Y1XQ,U&dQ0d*gQ0e*iQ1i+pQ2w-[S6x2x2zQ6{2|Q7l4OQ8w6yS9`7m7oQ9d7qQ:Y9aQ;_%fS;v;`;aS;w<`<aQ;};xQ<O;yT<_1R;h[[Owx!g&U*vl$e['O(P+a,^,m,p-U-c-t.P.d.i.vl'O!k%o&{'Q,v2j6j6q8n9s9w:_:d:m^(P#R#S#T+g3c3d3e`+a&W&[&e*{1Z1[1m3pS,^&o-yQ,m&yU,p&z'R3US-U'^2rW-c'd-b-f3RS-t'v-|Q.P'zQ.d(RS.i(S.rR.v(WQ*R$^R0P*RQ0Y*SQ5U0TQ5V0UQ5W0VY5X0Y5U5V5W8XR8X5ZQ*U$_S0]*U0^R0^*VS.e(R.dS3u.e7cR7c3wQ3x.fS7a3v3yU7e3x7a9SR9S7bQ.r(SR4Z.r!|_O[wx!f!g!}#O$U$n&U&W&[&e&o&z'R'd'v(S)u*v*{+a,^,p,|-P-b-c-f-t-y-|.i.r.t1Z1[1m2m3R3U3p3{U$t_$w*bU$w`$f&tR*b$uU%Pa;g<Pd*f%P*g2x6y7m9a;`;x;y<`Q*g%UQ2x-[Q6y2zQ7m4OQ9a7oQ;`%fQ;x;aQ;y<aT<`1R;hS,Q&c7pR1z,QS*o%]/wR0j*oQ1]+dR5p1]U+j&X1R<PR1d+jQ+x&`Q1j+qT1p+x1jQ8c6QR9p8cQwOS&Tw&UT&Ux*vQ,e&sR2^,eW)z$Y*v/u5aR/{)zU/v)v){0nR5O/v[*z%g%h*]2g2n3SR0t*zQ,i&wR2a,iQ-f'dQ3R-bT3T-f3RQ3O-^R7P3OQ-k'iQ2Y,bT3X-k2YS%rm7XR+P%rdnOwx!g&U'v(S*v-|.rR%wnQ0{+WR5e0{Q.Z'{R3m.ZQ1},SR6X1}U*s%b*};bR0m*sS1n+s0uR5{1nQ7s4QQ9V7fU9h7s9V:UR:U9]$O!SO[_ewx!f!g!u!}#O#V#Z$U$V$g$n%W&U&W&[&e&h&o&z'R'a'd'v(S(d(i)o)u*v*{+a+f+y,^,p,|-P-V-b-c-f-t-y-|.i.r.t.z1Z1[1`1m1r1t2T2m2s3R3U3p3{5q8bR&i!SQ4a.xR7}4aQ2U,ZR6`2US/k)d)eR4v/kW(t#b(o(p/ZR/_(tQ8S4mR9m8ST)f$P*{!USO[wx!g!k%o&U&{'O'Q'd,v-b-c-f2j3R6j6q8n9s9w:_:d:mj${a{$m%_+o,W1h2R5x6}8z9f:]Y%Ve$g(d1w3pY%]f$h(k)q*qQ&l!WQ&m!XQ'S!nQ'Z!rQ']!sQ'c!vQ'e!xQ(c#XQ(g#YS(j#[+_Q(|#hQ(}#kQ)W#nQ)X#sQ)Y#tQ)Z#uQ)[#vQ)]#wQ)^#xQ)_#yQ)`#zQ)a#{Q)b#|Q)c#}S)d$P*{Q)p$WQ)v$YQ)}$[Q+^&SS+l&Y1XQ,T&dQ,X&hQ,o&zQ,z'RQ-m'kQ-n'lS.R'{.ZQ/O(bS/w)w0oS0g*m4hQ0i*nQ0n*vQ0p*wQ1O+]S1g+m+pQ2Q,UQ2h,sS2o,|7SQ3Y-lQ3j.UQ3k.VQ4j/SQ4k/VQ4q/cQ4t/jQ4z/sQ4|/uQ5Q/zQ5R/|Q5k1SQ5w1iQ6O1sQ6]2TS6l2m8{Q6p2pQ6z2|Q7R3UQ7x4VQ7y4YQ7{4_Q8Z5aQ8[5lQ8j6fQ8m6mQ8q6oQ8y6{S9[7i7tQ9c7qQ9r8lQ9x8tS:T9Y9^Q:[9dQ:a9vS:g:S:VR:p:iR,[&hd]Owx!g&U'v(S*v-|.r!v^[_`!f!}#O$U$f$n$u$w&W&[&e&o&t&z'R'd)u*b*{+a,^,p,|-P-b-c-f-t-y.i.t1Z1[1m2m3R3U3p3{#r$}ae!u$g%O%P%U%W%Z%f&Y&d&h'a(d*e*g*i*k+m+p,U-V-[0d0e1X1i1t2T2s2w2x2z2|4O6x6y6{7l7m7o7q8b8w9`9a9d:Y;_;`;a;g;h;v;w;x;y;}<O<_<`<aQ%vnS+i&X+jW+w&`+q+x1jU,P&c,Q7pQ1r+yT5j1R<P``Owx!g&U'v*v-|S$f[-tQ$u_b%Ze$g&h(d-V1t2T2s8b!h&t!f!}#O$U$n&W&[&e&o&z'R'd(S)u*{+a,^,p,|-P-b-c-f-y.i.r.t1Z1[1m2m3R3U3p3{Q'b!uS(a#V+fQ(h#ZS)n$V(iQ*i%WQ-Y'aQ/r)oQ1q+yQ5r1`Q5}1rR8]5qS(Y#R3dS(Z#S3eV([#T+g3cR$`Ye0X*S0T0U0V0Y5U5V5W5Z8XW(T#R#S#T+gQ(^#US.`(P(WS.f(R.dQ.}(`W1y,O.^6U6WQ3b-yQ3o.]Q3v.eQ4^.vU7[3c3d3eQ7d3wR9T7cQ.g(RR3t.dT.q(S.rdgOwx!g&U&o'v*v-y-|U$i[,^-tQ&u!fQ'm!}Q'w#OQ)m$UQ*_$n`+b&W&[&e*{1Z1[1m3pQ,q&zQ,{'RY-d'd-b-f3R3US.l(S.rQ/t)uQ1Q+aS2f,p-cS2q,|-PS3z.i.tQ6n2mR7j3{d]Owx!g&U'v(S*v-|.r!v^[_`!f!}#O$U$f$n$u$w&W&[&e&o&t&z'R'd)u*b*{+a,^,p,|-P-b-c-f-t-y.i.t1Z1[1m2m3R3U3p3{R%vnQ4Q.lQ7f3zQ7n4OQ7v4RQ7w4SQ9]7jU9_7l7m7oQ9g7rS:X9`9aR:j:YZ+t&[&e*{1Z3ppzOnpwx!g%y&U'v(S*v-u-|.k.r.t[%Qa%f1R;g;h<PU%Ye%j1ZQ%gg^&f{|%k1V5h;i<QQ'u#OQ*]$ib*d%O%P%U;_;`;a<_<`<aQ,g&uQ-}'wQ0b*_[0c*e*g;v;w;x;yQ0r*yQ1T+bQ2g,qQ2n,{S3S-d2fU5^0d;}<OQ5i1QQ6s2qR8p6nQ,S&cR9b7pS1x,O.^Q8e6UR8f6W[%`f$h(k)q)w0oR0k*qR+e&WQ+d&WR5o1[S&Zy+}Q*l%ZU+k&X1R<PS+r&[1ZW+u&]1V5h<QQ-o'mQ/o)mS0f*i*kQ1Y+bQ1e+jQ4{/tQ5_0eQ5g1QQ5|1qR8`5}R6R1tYvOwx&U*vR&v!gW%ig,q,{-dT*^$i2fT)|$Y*v[uOwx!g&U*vQ'P!kQ+O%oQ,u&{Q,y'QQ2k,vQ6i2jQ8k6jQ8s6qQ9u8nQ:`9sQ:c9wQ:l:_Q:n:dR:r:mxlOwx!g!k%o&U&{'Q*v,v2j6j6q8n9s9w:_:d:mU$j['O-cX-e'd-b-f3RQ-a'bR2v-YS-^'b-YQ2y-[Q3P-_U6w2w2x2zQ7O2}S8v6x6yR9z8w[rOwx!g&U*vS-v'v-|T.m(S.rR+X%{[sOwx!g&U*vS-x'v-|T.n(S.r[tOwx!g&U*vT.o(S.rT.Y'{.ZX%cf%m0o1XQ.|(^R4f.}R.y(]R(f#XQ(w#bS/Y(o(pR4l/ZR/^(qR4n/[",nodeNames:"⚠ RawString > MacroName LineComment BlockComment PreprocDirective #include String EscapeSequence SystemLibString Identifier ) ( ArgumentList ConditionalExpression AssignmentExpression CallExpression PrimitiveType FieldExpression FieldIdentifier DestructorName TemplateMethod ScopedFieldIdentifier NamespaceIdentifier TemplateType TypeIdentifier ScopedTypeIdentifier ScopedNamespaceIdentifier :: NamespaceIdentifier TypeIdentifier TemplateArgumentList < TypeDescriptor const volatile restrict _Atomic mutable constexpr constinit consteval StructSpecifier struct MsDeclspecModifier __declspec Attribute AttributeName Identifier AttributeArgs { } [ ] UpdateOp ArithOp ArithOp ArithOp LogicOp BitOp BitOp BitOp CompareOp CompareOp CompareOp > CompareOp BitOp UpdateOp , Number CharLiteral AttributeArgs VirtualSpecifier BaseClassClause Access virtual FieldDeclarationList FieldDeclaration extern static register inline thread_local AttributeSpecifier __attribute__ PointerDeclarator MsBasedModifier __based MsPointerModifier FunctionDeclarator ParameterList ParameterDeclaration PointerDeclarator FunctionDeclarator Noexcept noexcept RequiresClause requires True False ParenthesizedExpression CommaExpression LambdaExpression LambdaCaptureSpecifier TemplateParameterList OptionalParameterDeclaration TypeParameterDeclaration typename class VariadicParameterDeclaration VariadicDeclarator ReferenceDeclarator OptionalTypeParameterDeclaration VariadicTypeParameterDeclaration TemplateTemplateParameterDeclaration template AbstractFunctionDeclarator AbstractPointerDeclarator AbstractArrayDeclarator AbstractParenthesizedDeclarator AbstractReferenceDeclarator ThrowSpecifier throw TrailingReturnType CompoundStatement FunctionDefinition MsCallModifier TryStatement try CatchClause catch LinkageSpecification Declaration InitDeclarator InitializerList InitializerPair SubscriptDesignator FieldDesignator ExportDeclaration export ImportDeclaration import ModuleName PartitionName HeaderName CaseStatement case default LabeledStatement StatementIdentifier ExpressionStatement IfStatement if ConditionClause Declaration else SwitchStatement switch DoStatement do while WhileStatement ForStatement for ReturnStatement return BreakStatement break ContinueStatement continue GotoStatement goto CoReturnStatement co_return CoYieldStatement co_yield AttributeStatement ForRangeLoop AliasDeclaration using TypeDefinition typedef PointerDeclarator FunctionDeclarator ArrayDeclarator ParenthesizedDeclarator ThrowStatement NamespaceDefinition namespace ScopedIdentifier Identifier OperatorName operator ArithOp BitOp CompareOp LogicOp new delete co_await ConceptDefinition concept UsingDeclaration enum StaticAssertDeclaration static_assert ConcatenatedString TemplateDeclaration FriendDeclaration friend union FunctionDefinition ExplicitFunctionSpecifier explicit FieldInitializerList FieldInitializer DefaultMethodClause DeleteMethodClause FunctionDefinition OperatorCast operator TemplateInstantiation FunctionDefinition FunctionDefinition Declaration ModuleDeclaration module RequiresExpression RequirementList SimpleRequirement TypeRequirement CompoundRequirement ReturnTypeRequirement ConstraintConjuction LogicOp ConstraintDisjunction LogicOp ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator TemplateFunction OperatorName StructuredBindingDeclarator ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator BitfieldClause FunctionDefinition FunctionDefinition Declaration FunctionDefinition Declaration AccessSpecifier UnionSpecifier ClassSpecifier EnumSpecifier SizedTypeSpecifier TypeSize EnumeratorList Enumerator DependentType Decltype decltype auto PlaceholderTypeSpecifier ParameterPackExpansion ParameterPackExpansion FieldIdentifier PointerExpression SubscriptExpression BinaryExpression ArithOp LogicOp LogicOp BitOp UnaryExpression LogicOp BitOp UpdateExpression CastExpression SizeofExpression sizeof CoAwaitExpression CompoundLiteralExpression NULL NewExpression new NewDeclarator DeleteExpression delete ParameterPackExpansion nullptr this UserDefinedLiteral ParamPack #define PreprocArg #if #ifdef #ifndef #else #endif #elif PreprocDirectiveName Macro Program",maxTerm:431,nodeProps:[["group",-35,1,8,11,15,16,17,19,71,72,100,101,102,104,191,208,229,242,243,270,271,272,277,280,281,282,284,285,286,287,290,292,293,294,295,296,"Expression",-13,18,25,26,27,43,255,256,257,258,262,263,265,266,"Type",-19,126,129,147,150,152,153,158,160,163,164,166,168,170,172,174,176,178,179,188,"Statement"],["isolate",-3,4,8,10,""],["openedBy",12,"(",52,"{",54,"["],["closedBy",13,")",51,"}",53,"]"]],propSources:[Yq],skippedNodes:[0,3,4,5,6,7,10,297,298,299,300,301,302,303,304,305,306,308,348,349],repeatNodeCount:42,tokenData:"%LSMfR!UOX$eXY({YZ.gZ]$e]^+P^p$epq({qr.}rs0}st2ktu$euv!7dvw!9bwx!;exy!<Yyz!=Tz{!>O{|!?R|}!AV}!O!BQ!O!P!DX!P!Q#+y!Q!R#5[!R![#JY![!]$4w!]!^$6s!^!_$7n!_!`%$h!`!a%%i!a!b%(o!b!c$e!c!n%)j!n!o%+R!o!w%)j!w!x%+R!x!}%)j!}#O%.O#O#P%/w#P#Q%?[#Q#R%AT#R#S%)j#S#T$e#T#i%)j#i#j%BW#j#o%)j#o#p%Cu#p#q%Dp#q#r%Fv#r#s%Gq#s;'S$e;'S;=`(u<%lO$e,j$nY)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e,f%eW)c`'f,UOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^,U&SU'f,UOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},U&kX'f,UOY%}YZ%}Z]%}]^'W^#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},U']V'f,UOY%}YZ%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},U'uP;=`<%l%},f'{P;=`<%l%^,Y(VW(vS'f,UOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O,Y(rP;=`<%l(O,j(xP;=`<%l$eMf)Y`)c`(vS(o<`'f,U*a1pOX$eXY({YZ*[Z]$e]^+P^p$epq({qr$ers%^sw$ewx(Ox#O$e#O#P,^#P;'S$e;'S;=`(u<%lO$e<`*aT(o<`XY*[YZ*[]^*[pq*[#O#P*p<`*sQYZ*[]^*y<`*|PYZ*[Gz+[`)c`(vS(o<`'f,UOX$eXY+PYZ*[Z]$e]^+P^p$epq+Pqr$ers%^sw$ewx(Ox#O$e#O#P,^#P;'S$e;'S;=`(u<%lO$eGf,cX'f,UOY%}YZ-OZ]%}]^-{^#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}Gf-V[(o<`'f,UOX%}XY-OYZ*[Z]%}]^-O^p%}pq-Oq#O%}#O#P,^#P;'S%};'S;=`'r<%lO%}Gf.QV'f,UOY%}YZ-OZ#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}MQ.nT*^1p(o<`XY*[YZ*[]^*[pq*[#O#P*pF`/[[%^#t'QQ)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`0Q!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`0_Y%]#t!a8O)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eKz1YY)c`(tS(u=j'f,UOY%^Zr%^rs1xsw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^/[2RW*O#t)c`'f,UOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^Gz2tf)c`(vS'f,UOX$eXY2kZp$epq2kqr$ers%^sw$ewx(Ox!c$e!c!}4Y!}#O$e#O#P&f#P#T$e#T#W4Y#W#X5m#X#Y>u#Y#]4Y#]#^NZ#^#o4Y#o;'S$e;'S;=`(u<%lO$eGz4eb)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGz5xd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y7W#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGz7cd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#Z8q#Z#o4Y#o;'S$e;'S;=`(u<%lO$eGz8|d)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#]4Y#]#^:[#^#o4Y#o;'S$e;'S;=`(u<%lO$eGz:gd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#b4Y#b#c;u#c#o4Y#o;'S$e;'S;=`(u<%lO$eGz<Qd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y=`#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGz=mb)c`(vS'e<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGz?Qf)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#`4Y#`#a@f#a#b4Y#b#cHV#c#o4Y#o;'S$e;'S;=`(u<%lO$eGz@qf)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#]4Y#]#^BV#^#g4Y#g#hEV#h#o4Y#o;'S$e;'S;=`(u<%lO$eGzBbd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#ZCp#Z#o4Y#o;'S$e;'S;=`(u<%lO$eGzC}b)c`(vS'f,U'l<`'m<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGzEbd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#YFp#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGzF}b)c`(vS'j<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGzHbd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#W4Y#W#XIp#X#o4Y#o;'S$e;'S;=`(u<%lO$eGzI{d)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#]4Y#]#^KZ#^#o4Y#o;'S$e;'S;=`(u<%lO$eGzKfd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#ZLt#Z#o4Y#o;'S$e;'S;=`(u<%lO$eGzMRb)c`(vS'f,U'k<`'m<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGzNff)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#Z! z#Z#b4Y#b#c!.[#c#o4Y#o;'S$e;'S;=`(u<%lO$eGz!!Xf)c`(vS'g<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#W4Y#W#X!#m#X#b4Y#b#c!(W#c#o4Y#o;'S$e;'S;=`(u<%lO$eGz!#xd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y!%W#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGz!%cd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#Z!&q#Z#o4Y#o;'S$e;'S;=`(u<%lO$eGz!'Ob)c`(vS'h<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGz!(cd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#W4Y#W#X!)q#X#o4Y#o;'S$e;'S;=`(u<%lO$eGz!)|d)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y!+[#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGz!+gd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#Z!,u#Z#o4Y#o;'S$e;'S;=`(u<%lO$eGz!-Sb)c`(vS'i<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eGz!.gd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#V4Y#V#W!/u#W#o4Y#o;'S$e;'S;=`(u<%lO$eGz!0Qd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#`4Y#`#a!1`#a#o4Y#o;'S$e;'S;=`(u<%lO$eGz!1kd)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#i4Y#i#j!2y#j#o4Y#o;'S$e;'S;=`(u<%lO$eGz!3Ud)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#W4Y#W#X!4d#X#o4Y#o;'S$e;'S;=`(u<%lO$eGz!4od)c`(vS'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y!5}#Y#o4Y#o;'S$e;'S;=`(u<%lO$eGz!6[b)c`(vSV<`'f,U'm<`OY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$eF`!7q[)c`(vS%Z#t![8O'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!8rY!g:t)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!9o])]8O)c`(vS%[#t'f,UOY$eZr$ers%^sv$evw!:hwx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!:uY)[8O%^#t)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCb!;pW)aW(vS)b8O'f,UOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(OLS!<eY)c`(vS]Kn'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e-^!=`Y[r)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!>][)Y8O)c`(vS%Z#t'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!?`^)c`(vS%Z#t!Y8O'f,UOY$eZr$ers%^sw$ewx(Ox{$e{|!@[|!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!@gY)c`!X:t(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCr!AbY!h8W)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!B__)c`(vS%Z#t!Y8O'f,UOY$eZr$ers%^sw$ewx(Ox}$e}!O!@[!O!_$e!_!`!8g!`!a!C^!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`!CiY(}:t)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCr!Dd^)c`(vS'f,U(|8OOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!E`!P!Q$e!Q![!GY![#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCr!Ei[)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!F_!P#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCr!FjY)`8W)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCj!Gen)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx!Icx!Q$e!Q![!GY![!g$e!g!h#$w!h!i#*Y!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#X$e#X#Y#$w#Y#Z#*Y#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCY!IjY(vS'f,UOY(OZr(Ors%}s!Q(O!Q![!JY![#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(OCY!Jcn(vS!i8O'f,UOY(OZr(Ors%}sw(Owx!Icx!Q(O!Q![!JY![!g(O!g!h!La!h!i##`!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#X(O#X#Y!La#Y#Z##`#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY!Ljl(vS!i8O'f,UOY(OZr(Ors%}s{(O{|!Nb|}(O}!O!Nb!O!Q(O!Q![# e![!c(O!c!h# e!h!i# e!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#Y# e#Y#Z# e#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY!Ni^(vS'f,UOY(OZr(Ors%}s!Q(O!Q![# e![!c(O!c!i# e!i#O(O#O#P&f#P#T(O#T#Z# e#Z;'S(O;'S;=`(o<%lO(OCY# nj(vS!i8O'f,UOY(OZr(Ors%}sw(Owx!Nbx!Q(O!Q![# e![!c(O!c!h# e!h!i# e!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#Y# e#Y#Z# e#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY##id(vS!i8O'f,UOY(OZr(Ors%}s!h(O!h!i##`!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#Y(O#Y#Z##`#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCj#%Sn)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx(Ox{$e{|#'Q|}$e}!O#'Q!O!Q$e!Q![#(]![!c$e!c!h#(]!h!i#(]!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#Y#(]#Y#Z#(]#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#'Z`)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![#(]![!c$e!c!i#(]!i#O$e#O#P&f#P#T$e#T#Z#(]#Z;'S$e;'S;=`(u<%lO$eCj#(hj)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx!Nbx!Q$e!Q![#(]![!c$e!c!h#(]!h!i#(]!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#Y#(]#Y#Z#(]#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#*ef)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx(Ox!h$e!h!i#*Y!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#Y$e#Y#Z#*Y#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eMf#,W`)c`(vS%Z#t![8O'f,UOY$eZr$ers%^sw$ewx(Oxz$ez{#-Y{!P$e!P!Q#.T!Q!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eMf#-eY)c`(vS(pAz'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eMf#.`Y)c`(vSSAz'f,UOY#.TZr#.Trs#/Osw#.Twx#4]x#O#.T#O#P#0[#P;'S#.T;'S;=`#5U<%lO#.TMb#/XW)c`SAz'f,UOY#/OZw#/Owx#/qx#O#/O#O#P#0[#P;'S#/O;'S;=`#4V<%lO#/OMQ#/xUSAz'f,UOY#/qZ#O#/q#O#P#0[#P;'S#/q;'S;=`#1l<%lO#/qMQ#0cXSAz'f,UOY#/qYZ%}Z]#/q]^#1O^#O#/q#O#P#1r#P;'S#/q;'S;=`#1l<%lO#/qMQ#1VVSAz'f,UOY#/qYZ%}Z#O#/q#O#P#0[#P;'S#/q;'S;=`#1l<%lO#/qMQ#1oP;=`<%l#/qMQ#1y]SAz'f,UOY#/qYZ%}Z]#/q]^#1O^#O#/q#O#P#1r#P#b#/q#b#c#/q#c#f#/q#f#g#2r#g;'S#/q;'S;=`#1l<%lO#/qMQ#2yUSAz'f,UOY#/qZ#O#/q#O#P#3]#P;'S#/q;'S;=`#1l<%lO#/qMQ#3dZSAz'f,UOY#/qYZ%}Z]#/q]^#1O^#O#/q#O#P#1r#P#b#/q#b#c#/q#c;'S#/q;'S;=`#1l<%lO#/qMb#4YP;=`<%l#/OMU#4fW(vSSAz'f,UOY#4]Zr#4]rs#/qs#O#4]#O#P#0[#P;'S#4];'S;=`#5O<%lO#4]MU#5RP;=`<%l#4]Mf#5XP;=`<%l#.TCj#5gt)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx#7wx!O$e!O!P#B}!P!Q$e!Q![#JY![!g$e!g!h#$w!h!i#*Y!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#U$e#U#V#Li#V#X$e#X#Y#$w#Y#Z#*Y#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j#l$e#l#m$0p#m;'S$e;'S;=`(u<%lO$eCY#8OY(vS'f,UOY(OZr(Ors%}s!Q(O!Q![#8n![#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(OCY#8wp(vS!i8O'f,UOY(OZr(Ors%}sw(Owx#7wx!O(O!O!P#:{!P!Q(O!Q![#8n![!g(O!g!h!La!h!i##`!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#X(O#X#Y!La#Y#Z##`#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY#;Un(vS!i8O'f,UOY(OZr(Ors%}s!Q(O!Q![#=S![!c(O!c!g#=S!g!h#@d!h!i#=S!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#X#=S#X#Y#@d#Y#Z#=S#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY#=]p(vS!i8O'f,UOY(OZr(Ors%}sw(Owx#?ax!Q(O!Q![#=S![!c(O!c!g#=S!g!h#@d!h!i#=S!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#X#=S#X#Y#@d#Y#Z#=S#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY#?h^(vS'f,UOY(OZr(Ors%}s!Q(O!Q![#=S![!c(O!c!i#=S!i#O(O#O#P&f#P#T(O#T#Z#=S#Z;'S(O;'S;=`(o<%lO(OCY#@mt(vS!i8O'f,UOY(OZr(Ors%}sw(Owx#?ax{(O{|!Nb|}(O}!O!Nb!O!Q(O!Q![#=S![!c(O!c!g#=S!g!h#@d!h!i#=S!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#X#=S#X#Y#@d#Y#Z#=S#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCj#CYp)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![#E^![!c$e!c!g#E^!g!h#Gm!h!i#E^!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#X#E^#X#Y#Gm#Y#Z#E^#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#Eip)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx#?ax!Q$e!Q![#E^![!c$e!c!g#E^!g!h#Gm!h!i#E^!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#X#E^#X#Y#Gm#Y#Z#E^#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#Gxt)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx#?ax{$e{|#'Q|}$e}!O#'Q!O!Q$e!Q![#E^![!c$e!c!g#E^!g!h#Gm!h!i#E^!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#X#E^#X#Y#Gm#Y#Z#E^#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#Jep)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx#7wx!O$e!O!P#B}!P!Q$e!Q![#JY![!g$e!g!h#$w!h!i#*Y!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#X$e#X#Y#$w#Y#Z#*Y#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj#Lr_)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!O$e!O!P#Mq!P!Q$e!Q!R#Np!R![#JY![#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCj#Mz[)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![!GY![#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCj#N{t)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx#7wx!O$e!O!P#B}!P!Q$e!Q![#JY![!g$e!g!h#$w!h!i#*Y!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#U$e#U#V$#]#V#X$e#X#Y#$w#Y#Z#*Y#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j#l$e#l#m$$[#m;'S$e;'S;=`(u<%lO$eCj$#f[)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![#JY![#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCj$$e`)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![$%g![!c$e!c!i$%g!i#O$e#O#P&f#P#T$e#T#Z$%g#Z;'S$e;'S;=`(u<%lO$eCj$%rr)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx$'|x!O$e!O!P#B}!P!Q$e!Q![$%g![!c$e!c!g$%g!g!h$.Q!h!i$%g!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#X$%g#X#Y$.Q#Y#Z$%g#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCY$(T^(vS'f,UOY(OZr(Ors%}s!Q(O!Q![$)P![!c(O!c!i$)P!i#O(O#O#P&f#P#T(O#T#Z$)P#Z;'S(O;'S;=`(o<%lO(OCY$)Yr(vS!i8O'f,UOY(OZr(Ors%}sw(Owx$'|x!O(O!O!P#:{!P!Q(O!Q![$)P![!c(O!c!g$)P!g!h$+d!h!i$)P!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#X$)P#X#Y$+d#Y#Z$)P#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCY$+mu(vS!i8O'f,UOY(OZr(Ors%}sw(Owx$'|x{(O{|!Nb|}(O}!O!Nb!O!P#:{!P!Q(O!Q![$)P![!c(O!c!g$)P!g!h$+d!h!i$)P!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#X$)P#X#Y$+d#Y#Z$)P#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(OCj$.]u)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx$'|x{$e{|#'Q|}$e}!O#'Q!O!P#B}!P!Q$e!Q![$%g![!c$e!c!g$%g!g!h$.Q!h!i$%g!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#X$%g#X#Y$.Q#Y#Z$%g#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$eCj$0yc)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!O$e!O!P#Mq!P!Q$e!Q!R$2U!R![$%g![!c$e!c!i$%g!i#O$e#O#P&f#P#T$e#T#Z$%g#Z;'S$e;'S;=`(u<%lO$eCj$2av)c`(vS!i8O'f,UOY$eZr$ers%^sw$ewx$'|x!O$e!O!P#B}!P!Q$e!Q![$%g![!c$e!c!g$%g!g!h$.Q!h!i$%g!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#U$%g#U#V$%g#V#X$%g#X#Y$.Q#Y#Z$%g#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j#l$e#l#m$$[#m;'S$e;'S;=`(u<%lO$eGz$5S[({9b)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox![$e![!]$5x!]#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eFh$6TYm:|)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eCj$7OY)_8O)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eM^$7{_q8O%]#t)c`(vS'f,UOY$8zYZ$9|Zr$8zrs$:ksw$8zwx$Jax!^$8z!^!_$MX!_!`% f!`!a%#m!a#O$8z#O#P$<r#P;'S$8z;'S;=`$MR<%lO$8z3h$9T])c`(vS'f,UOY$8zYZ$9|Zr$8zrs$:ksw$8zwx$Jax!`$8z!`!a$LU!a#O$8z#O#P$<r#P;'S$8z;'S;=`$MR<%lO$8z!b$:PTO!`$9|!`!a$:`!a;'S$9|;'S;=`$:e<%lO$9|!b$:eO$W!b!b$:hP;=`<%l$9|3d$:rZ)c`'f,UOY$:kYZ$9|Zw$:kwx$;ex!`$:k!`!a$If!a#O$:k#O#P$<r#P;'S$:k;'S;=`$JZ<%lO$:k3S$;jX'f,UOY$;eYZ$9|Z!`$;e!`!a$<V!a#O$;e#O#P$<r#P;'S$;e;'S;=`$AY<%lO$;e3S$<`U$W!bY&j'f,UOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}3S$<w['f,UOY$;eYZ$;eZ]$;e]^$=m^!`$;e!`!a$A`!a#O$;e#O#P$HO#P;'S$;e;'S;=`$Hv;=`<%l$F[<%lO$;e3S$=rX'f,UOY$;eYZ$>_Z!`$;e!`!a$<V!a#O$;e#O#P$<r#P;'S$;e;'S;=`$AY<%lO$;e-h$>dX'f,UOY$>_YZ$9|Z!`$>_!`!a$?P!a#O$>_#O#P$?j#P;'S$>_;'S;=`$AS<%lO$>_-h$?WU$W!b'f,UOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}-h$?oZ'f,UOY$>_YZ$>_Z]$>_]^$@b^!`$>_!`!a$?P!a#O$>_#O#P$?j#P;'S$>_;'S;=`$AS<%lO$>_-h$@gX'f,UOY$>_YZ$>_Z!`$>_!`!a$?P!a#O$>_#O#P$?j#P;'S$>_;'S;=`$AS<%lO$>_-h$AVP;=`<%l$>_3S$A]P;=`<%l$;e3S$AgW$W!b'f,UOY$BPZ!`$BP!`!a$Bn!a#O$BP#O#P$CX#P;'S$BP;'S;=`$Dn<%lO$BP1p$BUW'f,UOY$BPZ!`$BP!`!a$Bn!a#O$BP#O#P$CX#P;'S$BP;'S;=`$Dn<%lO$BP1p$BuUY&j'f,UOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}1p$C^Y'f,UOY$BPYZ$BPZ]$BP]^$C|^#O$BP#O#P$Dt#P;'S$BP;'S;=`$El;=`<%l$F[<%lO$BP1p$DRX'f,UOY$BPYZ%}Z!`$BP!`!a$Bn!a#O$BP#O#P$CX#P;'S$BP;'S;=`$Dn<%lO$BP1p$DqP;=`<%l$BP1p$DyZ'f,UOY$BPYZ%}Z]$BP]^$C|^!`$BP!`!a$Bn!a#O$BP#O#P$CX#P;'S$BP;'S;=`$Dn<%lO$BP1p$EoXOY$F[Z!`$F[!`!a$Fw!a#O$F[#O#P$F|#P;'S$F[;'S;=`$Gx;=`<%l$BP<%lO$F[&j$F_WOY$F[Z!`$F[!`!a$Fw!a#O$F[#O#P$F|#P;'S$F[;'S;=`$Gx<%lO$F[&j$F|OY&j&j$GPRO;'S$F[;'S;=`$GY;=`O$F[&j$G]XOY$F[Z!`$F[!`!a$Fw!a#O$F[#O#P$F|#P;'S$F[;'S;=`$Gx;=`<%l$F[<%lO$F[&j$G{P;=`<%l$F[3S$HTZ'f,UOY$;eYZ$>_Z]$;e]^$=m^!`$;e!`!a$<V!a#O$;e#O#P$<r#P;'S$;e;'S;=`$AY<%lO$;e3S$HyXOY$F[Z!`$F[!`!a$Fw!a#O$F[#O#P$F|#P;'S$F[;'S;=`$Gx;=`<%l$;e<%lO$F[3d$IqW$W!bY&j)c`'f,UOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^3d$J^P;=`<%l$:k3W$JhZ(vS'f,UOY$JaYZ$9|Zr$Jars$;es!`$Ja!`!a$KZ!a#O$Ja#O#P$<r#P;'S$Ja;'S;=`$LO<%lO$Ja3W$KfW$W!bY&j(vS'f,UOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O3W$LRP;=`<%l$Ja3h$LcY$W!bY&j)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3h$MUP;=`<%l$8zM^$Mf^)c`(vS%[#t!f8O'f,UOY$8zYZ$9|Zr$8zrs$:ksw$8zwx$Jax!_$8z!_!`$Nb!`!a$LU!a#O$8z#O#P$<r#P;'S$8z;'S;=`$MR<%lO$8zM^$Nm]!g:t)c`(vS'f,UOY$8zYZ$9|Zr$8zrs$:ksw$8zwx$Jax!`$8z!`!a$LU!a#O$8z#O#P$<r#P;'S$8z;'S;=`$MR<%lO$8zM^% s]%]#t!b8O)c`(vS'f,UOY$8zYZ$9|Zr$8zrs$:ksw$8zwx$Jax!`$8z!`!a%!l!a#O$8z#O#P$<r#P;'S$8z;'S;=`$MR<%lO$8zM^%!}Y%]#t!b8O$W!bY&j)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2U%#xYY&j)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%$s[)p#v)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`0Q!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%%v]%]#t)c`(vS!d8O'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`%&o!`!a%'l!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%&|Y%]#t!b8O)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%'y[)c`(vS%[#t!f8O'f,UOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e,l%(zY(zQ)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eMf%)yb)c`)OW(vS!R7|(w*t'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![%)j![!c$e!c!}%)j!}#O$e#O#P&f#P#R$e#R#S%)j#S#T$e#T#o%)j#o;'S$e;'S;=`(u<%lO$eMf%+bb)c`)OW(vS!R7|(w*t'f,UOY$eZr$ers%,jsw$ewx%-]x!Q$e!Q![%)j![!c$e!c!}%)j!}#O$e#O#P&f#P#R$e#R#S%)j#S#T$e#T#o%)j#o;'S$e;'S;=`(u<%lO$eIQ%,sW)c`(u=j'f,UOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^CY%-fW(vS)b8O'f,UOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(OF`%.ZZ!V:t)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox!}$e!}#O%.|#O#P&f#P;'S$e;'S;=`(u<%lO$e,l%/XY)VQ)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eGz%/|a'f,UOY%1RYZ%1lZ]%1R]^%2k^!Q%1R!Q![%3X![!w%1R!w!x%4i!x#O%1R#O#P%;o#P#i%1R#i#j%8T#j#l%1R#l#m%<c#m;'S%1R;'S;=`%?U<%lO%1R,j%1YUXd'f,UOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}Gz%1u[Xd(o<`'f,UOX%}XY-OYZ*[Z]%}]^-O^p%}pq-Oq#O%}#O#P,^#P;'S%};'S;=`'r<%lO%}Gz%2rVXd'f,UOY%}YZ-OZ#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},j%3`WXd'f,UOY%}Z!Q%}!Q![%3x![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},j%4PWXd'f,UOY%}Z!Q%}!Q![%1R![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},j%4n['f,UOY%}Z!Q%}!Q![%5d![!c%}!c!i%5d!i#O%}#O#P&f#P#T%}#T#Z%5d#Z;'S%};'S;=`'r<%lO%},j%5i['f,UOY%}Z!Q%}!Q![%6_![!c%}!c!i%6_!i#O%}#O#P&f#P#T%}#T#Z%6_#Z;'S%};'S;=`'r<%lO%},j%6d['f,UOY%}Z!Q%}!Q![%7Y![!c%}!c!i%7Y!i#O%}#O#P&f#P#T%}#T#Z%7Y#Z;'S%};'S;=`'r<%lO%},j%7_['f,UOY%}Z!Q%}!Q![%8T![!c%}!c!i%8T!i#O%}#O#P&f#P#T%}#T#Z%8T#Z;'S%};'S;=`'r<%lO%},j%8Y['f,UOY%}Z!Q%}!Q![%9O![!c%}!c!i%9O!i#O%}#O#P&f#P#T%}#T#Z%9O#Z;'S%};'S;=`'r<%lO%},j%9T['f,UOY%}Z!Q%}!Q![%9y![!c%}!c!i%9y!i#O%}#O#P&f#P#T%}#T#Z%9y#Z;'S%};'S;=`'r<%lO%},j%:O['f,UOY%}Z!Q%}!Q![%:t![!c%}!c!i%:t!i#O%}#O#P&f#P#T%}#T#Z%:t#Z;'S%};'S;=`'r<%lO%},j%:y['f,UOY%}Z!Q%}!Q![%1R![!c%}!c!i%1R!i#O%}#O#P&f#P#T%}#T#Z%1R#Z;'S%};'S;=`'r<%lO%},j%;vXXd'f,UOY%}YZ%}Z]%}]^'W^#O%}#O#P&f#P;'S%};'S;=`'r<%lO%},j%<h['f,UOY%}Z!Q%}!Q![%=^![!c%}!c!i%=^!i#O%}#O#P&f#P#T%}#T#Z%=^#Z;'S%};'S;=`'r<%lO%},j%=c['f,UOY%}Z!Q%}!Q![%>X![!c%}!c!i%>X!i#O%}#O#P&f#P#T%}#T#Z%>X#Z;'S%};'S;=`'r<%lO%},j%>`[Xd'f,UOY%}Z!Q%}!Q![%>X![!c%}!c!i%>X!i#O%}#O#P&f#P#T%}#T#Z%>X#Z;'S%};'S;=`'r<%lO%},j%?XP;=`<%l%1RCr%?gZ!W7^)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P#Q%@Y#Q;'S$e;'S;=`(u<%lO$e-d%@eY)Ux)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%Ab[)c`(vS%[#t'f,U!_8OOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eMf%Bgd)c`)OW(vS!R7|(w*t'f,UOY$eZr$ers%,jsw$ewx%-]x!Q$e!Q!Y%)j!Y!Z%+R!Z![%)j![!c$e!c!}%)j!}#O$e#O#P&f#P#R$e#R#S%)j#S#T$e#T#o%)j#o;'S$e;'S;=`(u<%lO$eCj%DQY!T8O)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$eF`%D}^)c`(vS%[#t'f,U!^8OOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P#p$e#p#q%Ey#q;'S$e;'S;=`(u<%lO$eF`%FWY)Z8O%^#t)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e-^%GRY!Ur)c`(vS'f,UOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e/j%HOc)c`(vS%[#t'RQ'f,UOX$eXY%IZZp$epq%IZqr$ers%^sw$ewx(Ox!c$e!c!}%Jo!}#O$e#O#P&f#P#R$e#R#S%Jo#S#T$e#T#o%Jo#o;'S$e;'S;=`(u<%lO$e,t%Idc)c`(vS'f,UOX$eXY%IZZp$epq%IZqr$ers%^sw$ewx(Ox!c$e!c!}%Jo!}#O$e#O#P&f#P#R$e#R#S%Jo#S#T$e#T#o%Jo#o;'S$e;'S;=`(u<%lO$e,t%Jzb)c`(vSeY'f,UOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![%Jo![!c$e!c!}%Jo!}#O$e#O#P&f#P#R$e#R#S%Jo#S#T$e#T#o%Jo#o;'S$e;'S;=`(u<%lO$e",tokenizers:[_q,Rq,1,2,3,4,5,6,7,8,9,10,new ta("j~RQYZXz{^~^O(r~~aP!P!Qd~iO(s~~",25,355)],topRules:{Program:[0,307]},dynamicPrecedences:{17:1,65:1,87:1,94:1,119:1,184:1,187:-10,240:-10,241:1,244:-1,246:-10,247:1,262:-1,267:2,268:2,306:-10,370:3,423:1,424:3,425:1,426:1},specialized:[{term:361,get:t=>Zq[t]||-1},{term:33,get:t=>zq[t]||-1},{term:66,get:t=>qq[t]||-1},{term:368,get:t=>Uq[t]||-1}],tokenPrec:24916}),Wq=Pt.define({name:"cpp",parser:Vq.configure({props:[Xt.add({IfStatement:Ot({except:/^\s*({|else\b)/}),TryStatement:Ot({except:/^\s*({|catch)\b/}),LabeledStatement:Dh,CaseStatement:t=>t.baseIndent+t.unit,BlockComment:()=>null,CompoundStatement:Di({closing:"}"}),Statement:Ot({except:/^{/})}),yt.add({"DeclarationList CompoundStatement EnumeratorList FieldDeclarationList InitializerList":en,BlockComment(t){return{from:t.from+2,to:t.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/,closeBrackets:{stringPrefixes:["L","u","U","u8","LR","UR","uR","u8R","R"]}}});function jq(){return new Zt(Wq)}const Cq=bt({null:$.null,instanceof:$.operatorKeyword,this:$.self,"new super assert open to with void":$.keyword,"class interface extends implements enum var":$.definitionKeyword,"module package import":$.moduleKeyword,"switch while for if else case default do break continue return try catch finally throw":$.controlKeyword,"requires exports opens uses provides public private protected static transitive abstract final strictfp synchronized native transient volatile throws":$.modifier,IntegerLiteral:$.integer,FloatingPointLiteral:$.float,"StringLiteral TextBlock":$.string,CharacterLiteral:$.character,LineComment:$.lineComment,BlockComment:$.blockComment,BooleanLiteral:$.bool,PrimitiveType:$.standard($.typeName),TypeName:$.typeName,Identifier:$.variableName,"MethodName/Identifier":$.function($.variableName),Definition:$.definition($.variableName),ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,AssignOp:$.definitionOperator,UpdateOp:$.updateOperator,Asterisk:$.punctuation,Label:$.labelName,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,".":$.derefOperator,", ;":$.separator}),Eq={__proto__:null,true:34,false:34,null:42,void:46,byte:48,short:48,int:48,long:48,char:48,float:48,double:48,boolean:48,extends:62,super:64,class:76,this:78,new:84,public:100,protected:102,private:104,abstract:106,static:108,final:110,strictfp:112,default:114,synchronized:116,native:118,transient:120,volatile:122,throws:150,implements:160,interface:166,enum:176,instanceof:238,open:267,module:269,requires:274,transitive:276,exports:278,to:280,opens:282,uses:284,provides:286,with:288,package:292,import:296,if:308,else:310,while:314,for:318,var:325,assert:332,switch:336,case:342,do:346,break:350,continue:354,return:358,throw:364,try:368,catch:372,finally:380},Gq=St.deserialize({version:14,states:"##jQ]QPOOQ$wQPOOO(bQQO'#H^O*iQQO'#CbOOQO'#Cb'#CbO*pQPO'#CaO*xOSO'#CpOOQO'#Hc'#HcOOQO'#Cu'#CuO,eQPO'#D_O-OQQO'#HmOOQO'#Hm'#HmO/gQQO'#HhO/nQQO'#HhOOQO'#Hh'#HhOOQO'#Hg'#HgO1rQPO'#DUO2PQPO'#GnO4wQPO'#D_O5OQPO'#DzO*pQPO'#E[O5qQPO'#E[OOQO'#DV'#DVO7SQQO'#HaO9^QQO'#EeO9eQPO'#EdO9jQPO'#EfOOQO'#Hb'#HbO7jQQO'#HbO:pQQO'#FhO:wQPO'#ExO:|QPO'#E}O:|QPO'#FPOOQO'#Ha'#HaOOQO'#HY'#HYOOQO'#Gh'#GhOOQO'#HX'#HXO<^QPO'#FiOOQO'#HW'#HWOOQO'#Gg'#GgQ]QPOOOOQO'#Hs'#HsO<cQPO'#HsO<hQPO'#D{O<hQPO'#EVO<hQPO'#EQO<pQPO'#HpO=RQQO'#EfO*pQPO'#C`O=ZQPO'#C`O*pQPO'#FcO=`QPO'#FeO=kQPO'#FkO=kQPO'#FnO<hQPO'#FsO=pQPO'#FpO:|QPO'#FwO=kQPO'#FyO]QPO'#GOO=uQPO'#GQO>QQPO'#GSO>]QPO'#GUO=kQPO'#GWO:|QPO'#GXO>dQPO'#GZO?QQQO'#HiO?mQQO'#CuO?tQPO'#HxO@SQPO'#D_O@rQPO'#DpO?wQPO'#DqO@|QPO'#HxOA_QPO'#DpOAgQPO'#IROAlQPO'#E`OOQO'#Hr'#HrOOQO'#Gm'#GmQ$wQPOOOAtQPO'#HsOOQO'#H^'#H^OCsQQO,58{OOQO'#H['#H[OOOO'#Gi'#GiOEfOSO,59[OOQO,59[,59[OOQO'#Hi'#HiOFVQPO,59eOGXQPO,59yOOQO-E:f-E:fO*pQPO,58zOG{QPO,58zO*pQPO,5;}OHQQPO'#DQOHVQPO'#DQOOQO'#Gk'#GkOIVQQO,59jOOQO'#Dm'#DmOJqQPO'#HuOJ{QPO'#DlOKZQPO'#HtOKcQPO,5<_OKhQPO,59^OLRQPO'#CxOOQO,59c,59cOLYQPO,59bOLeQQO'#H^ONgQQO'#CbO!!iQPO'#D_O!#nQQO'#HmO!$OQQO,59pO!$VQPO'#DvO!$eQPO'#H|O!$mQPO,5:`O!$rQPO,5:`O!%YQPO,5;nO!%eQPO'#ITO!%pQPO,5;eO!%uQPO,5=YOOQO-E:l-E:lOOQO,5:f,5:fO!']QPO,5:fO!'dQPO,5:vO?tQPO,5<_O*pQPO,5:vO<hQPO,5:gO<hQPO,5:qO<hQPO,5:lO<hQPO,5<_O!'zQPO,59qO:|QPO,5:}O!(RQPO,5;QO:|QPO,59TO!(aQPO'#DXOOQO,5;O,5;OOOQO'#El'#ElOOQO'#Eo'#EoO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;UO:|QPO,5;fOOQO,5;i,5;iOOQO,5<S,5<SO!(hQPO,5;bO!(yQPO,5;dO!(hQPO'#CyO!)QQQO'#HmO!)`QQO,5;kO]QPO,5<TOOQO-E:e-E:eOOQO,5>_,5>_O!*sQPO,5:gO!+RQPO,5:qO!+ZQPO,5:lO!+fQPO,5>[O!$VQPO,5>[O!'iQPO,59UO!+qQQO,58zO!+yQQO,5;}O!,RQQO,5<PO*pQPO,5<PO:|QPO'#DUO]QPO,5<VO]QPO,5<YO!,ZQPO'#FrO]QPO,5<[O]QPO,5<aO!,kQQO,5<cO!,uQPO,5<eO!,zQPO,5<jOOQO'#Fj'#FjOOQO,5<l,5<lO!-PQPO,5<lOOQO,5<n,5<nO!-UQPO,5<nO!-ZQQO,5<pOOQO,5<p,5<pO>gQPO,5<rO!-bQQO,5<sO!-iQPO'#GdO!.oQPO,5<uO>gQPO,5<}O!2mQPO,59jO!2zQPO'#HuO!3RQPO,59xO!3WQPO,5>dO?tQPO,59xO!3cQPO,5:[OAlQPO,5:zO!3kQPO'#DrO?wQPO'#DrO!3vQPO'#HyO!4OQPO,5:]O?tQPO,5>dO!(hQPO,5>dOAgQPO,5>mOOQO,5:[,5:[O!$rQPO'#DtOOQO,5>m,5>mO!4TQPO'#EaOOQO,5:z,5:zO!7UQPO,5:zO!(hQPO'#DxOOQO-E:k-E:kOOQO,5:y,5:yO*pQPO,58}O!7ZQPO'#ChOOQO1G.k1G.kOOOO-E:g-E:gOOQO1G.v1G.vO!+qQQO1G.fO*pQPO1G.fO!7eQQO1G1iOOQO,59l,59lO!7mQPO,59lOOQO-E:i-E:iO!7rQPO,5>aO!8ZQPO,5:WO<hQPO'#GpO!8bQPO,5>`OOQO1G1y1G1yOOQO1G.x1G.xO!8{QPO'#CyO!9kQPO'#HmO!9uQPO'#CzO!:TQPO'#HlO!:]QPO,59dOOQO1G.|1G.|OLYQPO1G.|O!:sQPO,59eO!;QQQO'#H^O!;cQQO'#CbOOQO,5:b,5:bO<hQPO,5:cOOQO,5:a,5:aO!;tQQO,5:aOOQO1G/[1G/[O!;yQPO,5:bO!<[QPO'#GsO!<oQPO,5>hOOQO1G/z1G/zO!<wQPO'#DvO!=YQPO1G/zO!(hQPO'#GqO!=_QPO1G1YO:|QPO1G1YO<hQPO'#GyO!=gQPO,5>oOOQO1G1P1G1POOQO1G0Q1G0QO!=oQPO'#E]OOQO1G0b1G0bO!>`QPO1G1yO!'dQPO1G0bO!*sQPO1G0RO!+RQPO1G0]O!+ZQPO1G0WOOQO1G/]1G/]O!>eQQO1G.pO9eQPO1G0jO*pQPO1G0jO<pQPO'#HpO!@[QQO1G.pOOQO1G.p1G.pO!@aQQO1G0iOOQO1G0l1G0lO!@hQPO1G0lO!@sQQO1G.oO!AZQQO'#HqO!AhQPO,59sO!BzQQO1G0pO!DfQQO1G0pO!DmQQO1G0pO!FUQQO1G0pO!F]QQO1G0pO!GbQQO1G0pO!I]QQO1G0pO!IdQQO1G0pO!IkQQO1G0pO!IuQQO1G1QO!I|QQO'#HmOOQO1G0|1G0|O!KSQQO1G1OOOQO1G1O1G1OOOQO1G1o1G1oO!KjQPO'#D[O!(hQPO'#D|O!(hQPO'#D}OOQO1G0R1G0RO!KqQPO1G0RO!KvQPO1G0RO!LOQPO1G0RO!LZQPO'#EXOOQO1G0]1G0]O!LnQPO1G0]O!LsQPO'#ETO!(hQPO'#ESOOQO1G0W1G0WO!MmQPO1G0WO!MrQPO1G0WO!MzQPO'#EhO!NRQPO'#EhOOQO'#Gx'#GxO!NZQQO1G0mO# }QQO1G3vO9eQPO1G3vO#$PQPO'#FXOOQO1G.f1G.fOOQO1G1i1G1iO#$WQPO1G1kOOQO1G1k1G1kO#$cQQO1G1kO#$kQPO1G1qOOQO1G1t1G1tO+QQPO'#D_O-OQQO,5<bO#(cQPO,5<bO#(tQPO,5<^O#({QPO,5<^OOQO1G1v1G1vOOQO1G1{1G1{OOQO1G1}1G1}O:|QPO1G1}O#,oQPO'#F{OOQO1G2P1G2PO=kQPO1G2UOOQO1G2W1G2WOOQO1G2Y1G2YOOQO1G2[1G2[OOQO1G2^1G2^OOQO1G2_1G2_O#,vQQO'#H^O#-aQQO'#CbO-OQQO'#HmO#-zQQOOO#.hQQO'#EeO#.VQQO'#HbO!$VQPO'#GeO#.oQPO,5=OOOQO'#HQ'#HQO#.wQPO1G2aO#2uQPO'#G]O>gQPO'#GaOOQO1G2a1G2aO#2zQPO1G2iO#6xQPO,5>gOOQO1G/d1G/dOOQO1G4O1G4OO#7ZQPO1G/dOOQO1G/v1G/vOOQO1G0f1G0fO!7UQPO1G0fOOQO,5:^,5:^O!(hQPO'#DsO#7`QPO,5:^O?wQPO'#GrO#7kQPO,5>eOOQO1G/w1G/wOAgQPO'#H{O#7sQPO1G4OO?tQPO1G4OOOQO1G4X1G4XO!#YQPO'#DvO!!iQPO'#D_OOQO,5:{,5:{O#8OQPO,5:{O#8OQPO,5:{O#8VQQO'#HaO#9hQQO'#HbO#9rQQO'#EbO#9}QPO'#EbO#:VQPO'#IOOOQO,5:d,5:dOOQO1G.i1G.iO#:bQQO'#EeO#:rQQO'#H`O#;SQPO'#FTOOQO'#H`'#H`O#;^QPO'#H`O#;{QPO'#IWO#<TQPO,59SOOQO7+$Q7+$QO!+qQQO7+$QOOQO7+'T7+'TOOQO1G/W1G/WO#<YQPO'#DoO#<dQQO'#HvOOQO'#Hv'#HvOOQO1G/r1G/rOOQO,5=[,5=[OOQO-E:n-E:nO#<tQWO,58{O#<{QPO,59fOOQO,59f,59fO!(hQPO'#HoOKmQPO'#GjO#=ZQPO,5>WOOQO1G/O1G/OOOQO7+$h7+$hOOQO1G/{1G/{O#=cQQO1G/{OOQO1G/}1G/}O#=hQPO1G/{OOQO1G/|1G/|O<hQPO1G/}OOQO,5=_,5=_OOQO-E:q-E:qOOQO7+%f7+%fOOQO,5=],5=]OOQO-E:o-E:oO:|QPO7+&tOOQO7+&t7+&tOOQO,5=e,5=eOOQO-E:w-E:wO#=mQPO'#EUO#={QPO'#EUOOQO'#Gw'#GwO#>dQPO,5:wOOQO,5:w,5:wOOQO7+'e7+'eOOQO7+%|7+%|OOQO7+%m7+%mO!KqQPO7+%mO!KvQPO7+%mO!LOQPO7+%mOOQO7+%w7+%wO!LnQPO7+%wOOQO7+%r7+%rO!MmQPO7+%rO!MrQPO7+%rOOQO7+&U7+&UOOQO'#Ee'#EeO9eQPO7+&UO9eQPO,5>[O#?TQPO7+$[OOQO7+&T7+&TOOQO7+&W7+&WO:|QPO'#GlO#?cQPO,5>]OOQO1G/_1G/_O:|QPO7+&lO#?nQQO,59eO#@tQPO,59vOOQO,59v,59vOOQO,5:h,5:hOOQO'#EP'#EPOOQO,5:i,5:iO#@{QPO'#EYO<hQPO'#EYO#A^QPO'#IPO#AiQPO,5:sO?tQPO'#HxO!(hQPO'#HxO#AqQPO'#DpOOQO'#Gu'#GuO#AxQPO,5:oOOQO,5:o,5:oOOQO,5:n,5:nOOQO,5;S,5;SO#BrQQO,5;SO#ByQPO,5;SOOQO-E:v-E:vOOQO7+&X7+&XOOQO7+)b7+)bO#CQQQO7+)bOOQO'#G|'#G|O#DqQPO,5;sOOQO,5;s,5;sO#DxQPO'#FYO*pQPO'#FYO*pQPO'#FYO*pQPO'#FYO#EWQPO7+'VO#E]QPO7+'VOOQO7+'V7+'VO]QPO7+']O#EhQPO1G1|O?tQPO1G1|O#EvQQO1G1xO!(aQPO1G1xO#E}QPO1G1xO#FUQQO7+'iOOQO'#HP'#HPO#F]QPO,5<gOOQO,5<g,5<gO#FdQPO'#HsO:|QPO'#F|O#FlQPO7+'pO#FqQPO,5=PO?tQPO,5=PO#FvQPO1G2jO#HPQPO1G2jOOQO1G2j1G2jOOQO-E;O-E;OOOQO7+'{7+'{O!<[QPO'#G_O>gQPO,5<wOOQO,5<{,5<{O#HXQPO7+(TOOQO7+(T7+(TO#LVQPO1G4ROOQO7+%O7+%OOOQO7+&Q7+&QO#LhQPO,5:_OOQO1G/x1G/xOOQO,5=^,5=^OOQO-E:p-E:pOOQO7+)j7+)jO#LsQPO7+)jO!:bQPO,5:aOOQO1G0g1G0gO#MOQPO1G0gO#MVQPO,59qO#MkQPO,5:|O9eQPO,5:|O!(hQPO'#GtO#MpQPO,5>jO#M{QPO,59TO#NSQPO'#IVO#N[QPO,5;oO*pQPO'#G{O#NaQPO,5>rOOQO1G.n1G.nOOQO<<Gl<<GlO#NiQPO'#HwO#NqQPO,5:ZOOQO1G/Q1G/QOOQO,5>Z,5>ZOOQO,5=U,5=UOOQO-E:h-E:hO#NvQPO7+%gOOQO7+%g7+%gOOQO7+%i7+%iOOQO<<J`<<J`O$ ^QPO'#H^O$ eQPO'#CbO$ lQPO,5:pO$ qQPO,5:xO#=mQPO,5:pOOQO-E:u-E:uOOQO1G0c1G0cOOQO<<IX<<IXO!KqQPO<<IXO!KvQPO<<IXOOQO<<Ic<<IcOOQO<<I^<<I^O!MmQPO<<I^OOQO<<Ip<<IpO$ vQQO<<GvO9eQPO<<IpO*pQPO<<IpOOQO<<Gv<<GvO$#mQQO,5=WOOQO-E:j-E:jO$#zQQO<<JWOOQO1G/b1G/bOOQO,5:t,5:tO$$bQPO,5:tO$$pQPO,5:tO$%RQPO'#GvO$%iQPO,5>kO$%tQPO'#EZOOQO1G0_1G0_O$%{QPO1G0_O?tQPO,5:pOOQO-E:s-E:sOOQO1G0Z1G0ZOOQO1G0n1G0nO$&QQQO1G0nOOQO<<L|<<L|OOQO-E:z-E:zOOQO1G1_1G1_O$&XQQO,5;tOOQO'#G}'#G}O#DxQPO,5;tOOQO'#IX'#IXO$&aQQO,5;tO$&rQQO,5;tOOQO<<Jq<<JqO$&zQPO<<JqOOQO<<Jw<<JwO:|QPO7+'hO$'PQPO7+'hO!(aQPO7+'dO$'_QPO7+'dO$'dQQO7+'dOOQO<<KT<<KTOOQO-E:}-E:}OOQO1G2R1G2ROOQO,5<h,5<hO$'kQQO,5<hOOQO<<K[<<K[O:|QPO1G2kO$'rQPO1G2kOOQO,5=n,5=nOOQO7+(U7+(UO$'wQPO7+(UOOQO-E;Q-E;QO$)fQWO'#HhO$)QQWO'#HhO$)mQPO'#G`O<hQPO,5<yO!$VQPO,5<yOOQO1G2c1G2cOOQO<<Ko<<KoO$*OQPO1G/yOOQO<<MU<<MUOOQO7+&R7+&RO$*ZQPO1G0jO$*fQQO1G0hOOQO1G0h1G0hO$*nQPO1G0hOOQO,5=`,5=`OOQO-E:r-E:rO$*sQQO1G.oOOQO1G1[1G1[O$*}QPO'#GzO$+[QPO,5>qOOQO1G1Z1G1ZO$+dQPO'#FUOOQO,5=g,5=gOOQO-E:y-E:yO$+iQPO'#GoO$+vQPO,5>cOOQO1G/u1G/uOOQO<<IR<<IROOQO1G0[1G0[O$,OQPO1G0dO$,TQPO1G0[O$,YQPO1G0dOOQOAN>sAN>sO!KqQPOAN>sOOQOAN>xAN>xOOQOAN?[AN?[O9eQPOAN?[OOQO1G0`1G0`O$,_QPO1G0`OOQO,5=b,5=bOOQO-E:t-E:tO$,mQPO,5:uOOQO7+%y7+%yOOQO7+&Y7+&YOOQO1G1`1G1`O$,tQQO1G1`OOQO-E:{-E:{O$,|QQO'#IYO$,wQPO1G1`O$&gQPO1G1`O*pQPO1G1`OOQOAN@]AN@]O$-XQQO<<KSO:|QPO<<KSO$-`QPO<<KOOOQO<<KO<<KOO!(aQPO<<KOOOQO1G2S1G2SO$-eQQO7+(VO:|QPO7+(VOOQO<<Kp<<KpP!-iQPO'#HSO!$VQPO'#HRO$-oQPO,5<zO$-zQPO1G2eO<hQPO1G2eO9eQPO7+&SO$.PQPO7+&SOOQO7+&S7+&SOOQO,5=f,5=fOOQO-E:x-E:xO#M{QPO,5;pOOQO,5=Z,5=ZOOQO-E:m-E:mO$.UQPO7+&OOOQO7+%v7+%vO$.dQPO7+&OOOQOG24_G24_OOQOG24vG24vOOQO7+%z7+%zOOQO7+&z7+&zO*pQPO'#HOO$.iQPO,5>tO$.qQPO7+&zO$.vQQO'#IZOOQOAN@nAN@nO$/RQQOAN@nOOQOAN@jAN@jO$/YQPOAN@jO$/_QQO<<KqO$/iQPO,5=mOOQO-E;P-E;POOQO7+(P7+(PO$/zQPO7+(PO$0PQPO<<InOOQO<<In<<InO$0UQPO<<IjOOQO<<Ij<<IjO#M{QPO<<IjO$0UQPO<<IjO$0dQQO,5=jOOQO-E:|-E:|OOQO<<Jf<<JfO$0oQPO,5>uOOQOG26YG26YOOQOG26UG26UOOQO<<Kk<<KkOOQOAN?YAN?YOOQOAN?UAN?UO#M{QPOAN?UO$0wQPOAN?UO$0|QPOAN?UO$1[QPOG24pOOQOG24pG24pO#M{QPOG24pOOQOLD*[LD*[O$1aQPOLD*[OOQO!$'Mv!$'MvO*pQPO'#CaO$1fQQO'#H^O$1yQQO'#CbO!(hQPO'#Cy",stateData:"$2i~OPOSQOS%yOS~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op!POv{OwkOz!OO}cO!PvO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO![!`O!]yO!^yO!_yO!u}O!z|O#fpO#roO#tpO#upO#y!RO#z!QO$W!SO$Y!TO$`!UO$c!VO$e!XO$h!WO$l!YO$n!ZO$s![O$u!]O$w!^O$y!_O$|!aO%O!bO%}TO&PRO&RQO&XUO&tdO~Og^Oh^Ov{O}cO!P!mO!SyO!TyO!UyO!VyO!W!pO!XyO!YyO!ZzO!]yO!^yO!_yO!u}O!z|O%}TO&P!cO&R!dO&_!hO&tdO~OWiXW&QXZ&QXuiXu&QX!P&QX!b&QX#]&QX#_&QX#a&QX#b&QX#d&QX#e&QX#f&QX#g&QX#h&QX#i&QX#k&QX#o&QX#r&QX%}iX&PiX&RiX&^&QX&_iX&_&QX&n&QX&viX&v&QX&x!aX~O#p$^X~P&bOWUXW&]XZUXuUXu&]X!PUX!bUX#]UX#_UX#aUX#bUX#dUX#eUX#fUX#gUX#hUX#iUX#kUX#oUX#rUX%}&]X&P&]X&R&]X&^UX&_UX&_&]X&nUX&vUX&v&]X&x!aX~O#p$^X~P(iO&PSO&R!qO~O&W!vO&Y!tO~Og^Oh^O!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO!]yO!^yO!_yO%}TO&P!wO&RWOg!RXh!RX$h!RX&P!RX&R!RX~O#y!|O#z!{O$W!}Ov!RX!u!RX!z!RX&t!RX~P+QOW#XOu#OO%}TO&P#SO&R#SO&v&aX~OW#[Ou&[X%}&[X&P&[X&R&[X&v&[XY&[Xw&[X&n&[X&q&[XZ&[Xq&[X&^&[X!P&[X#_&[X#a&[X#b&[X#d&[X#e&[X#f&[X#g&[X#h&[X#i&[X#k&[X#o&[X#r&[X}&[X!r&[X#p&[Xs&[X|&[X~O&_#YO~P-dO&_&[X~P-dOZ`O_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO!]yO!^yO!_yO#fpO#roO#tpO#upO%}TO&XUO~O&P#^O&R#]OY&pP~P/uO%}TOg%bXh%bXv%bX!S%bX!T%bX!U%bX!V%bX!W%bX!X%bX!Y%bX!Z%bX!]%bX!^%bX!_%bX!u%bX!z%bX$h%bX&P%bX&R%bX&t%bX&_%bX~O!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO!]yO!^yO!_yOg!RXh!RXv!RX!u!RX!z!RX&P!RX&R!RX&t!RX&_!RX~O$h!RX~P3gO|#kO~P]Og^Oh^Ov#pO!u#rO!z#qO&P!wO&RWO&t#oO~O$h#sO~P5VOu#uO&v#vO!P&TX#_&TX#a&TX#b&TX#d&TX#e&TX#f&TX#g&TX#h&TX#i&TX#k&TX#o&TX#r&TX&^&TX&_&TX&n&TX~OW#tOY&TX#p&TXs&TXq&TX|&TX~P5xO!b#wO#]#wOW&UXu&UX!P&UX#_&UX#a&UX#b&UX#d&UX#e&UX#f&UX#g&UX#h&UX#i&UX#k&UX#o&UX#r&UX&^&UX&_&UX&n&UX&v&UXY&UX#p&UXs&UXq&UX|&UX~OZ#XX~P7jOZ#xO~O&v#vO~O#_#|O#a#}O#b$OO#d$QO#e$RO#f$SO#g$TO#h$UO#i$UO#k$YO#o$VO#r$WO&^#zO&_#zO&n#{O~O!P$XO~P9oO&x$ZO~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO#fpO#roO#tpO#upO%}TO&P0qO&R0pO&XUO~O#p$_O~O![$aO~O&P#SO&R#SO~Og^Oh^O&P!wO&RWO&_#YO~OW$gO&v#vO~O#z!{O~O!W$kO&PSO&R!qO~OZ$lO~OZ$oO~O!P$vO&P$uO&R$uO~O!P$xO&P$uO&R$uO~O!P${O~P:|OZ%OO}cO~OW&]Xu&]X%}&]X&P&]X&R&]X&_&]X~OZ!aX~P>lOWiXuiX%}iX&PiX&RiX&_iX~OZ!aX~P?XOu#OO%}TO&P#SO&R#SO~O%}TO~P3gOg^Oh^Ov#pO!u#rO!z#qO&_!hO&t#oO~O&P!cO&R!dO~P@ZOg^Oh^O%}TO&P!cO&R!dO~O}cO!P%aO~OZ%bO~O}%dO!m%gO~O}cOg&gXh&gXv&gX!S&gX!T&gX!U&gX!V&gX!W&gX!X&gX!Y&gX!Z&gX!]&gX!^&gX!_&gX!u&gX!z&gX%}&gX&P&gX&R&gX&_&gX&t&gX~OW%jOZ%kOgTahTa%}Ta&PTa&RTa~OvTa!STa!TTa!UTa!VTa!WTa!XTa!YTa!ZTa!]Ta!^Ta!_Ta!uTa!zTa#yTa#zTa$WTa$hTa&tTa&_TauTaYTaqTa|Ta!PTa~PC[O&W%nO&Y!tO~Ou#OO%}TOqma&^maYma&nma!Pma~O&vma}ma!rma~PEnO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO!]yO!^yO!_yO~Og!Rah!Rav!Ra!u!Ra!z!Ra$h!Ra&P!Ra&R!Ra&t!Ra&_!Ra~PFdO#z%pO~Os%rO~Ou%sO%}TO~Ou#OO%}ra&Pra&Rra&vraYrawra&nra&qra!Pra&^raqra~OWra#_ra#ara#bra#dra#era#fra#gra#hra#ira#kra#ora#rra&_ra#prasra|ra~PH_Ou#OO%}TOq&iX!P&iX!b&iX~OY&iX#p&iX~PJ`O!b%vOq!`X!P!`XY!`X~Oq%wO!P&hX~O!P%yO~Ov%zO~Og^Oh^O%}0oO&P!wO&RWO&b%}O~O&^&`P~PKmO%}TO&P!wO&RWO~OW&QXYiXY!aXY&QXZ&QXq!aXu&QXwiX!b&QX#]&QX#_&QX#a&QX#b&QX#d&QX#e&QX#f&QX#g&QX#h&QX#i&QX#k&QX#o&QX#r&QX&^&QX&_&QX&niX&n&QX&qiX&viX&v&QX&x!aX~P?XOWUXYUXY!aXY&]XZUXq!aXuUXw&]X!bUX#]UX#_UX#aUX#bUX#dUX#eUX#fUX#gUX#hUX#iUX#kUX#oUX#rUX&^UX&_UX&nUX&n&]X&q&]X&vUX&v&]X&x!aX~P>lOg^Oh^O%}TO&P!wO&RWOg!RXh!RX&P!RX&R!RX~PFdOu#OOw&XO%}TO&P&UO&R&TO&q&WO~OW#XOY&aX&n&aX&v&aX~P!#YOY&ZO~P9oOg^Oh^O&P!wO&RWO~Oq&]OY&pX~OY&_O~Og^Oh^O%}TO&P!wO&RWOY&pP~PFdOY&dO&n&bO&v#vO~Oq&eO&x$ZOY&wX~OY&gO~O%}TOg%bah%bav%ba!S%ba!T%ba!U%ba!V%ba!W%ba!X%ba!Y%ba!Z%ba!]%ba!^%ba!_%ba!u%ba!z%ba$h%ba&P%ba&R%ba&t%ba&_%ba~O|&hO~P]O}&iO~Op&uOw&vO&PSO&R!qO&_#YO~Oz&tO~P!'iOz&xO&PSO&R!qO&_#YO~OY&eP~P:|Og^Oh^O%}TO&P!wO&RWO~O}cO~P:|OW#XOu#OO%}TO&v&aX~O#r$WO!P#sa#_#sa#a#sa#b#sa#d#sa#e#sa#f#sa#g#sa#h#sa#i#sa#k#sa#o#sa&^#sa&_#sa&n#saY#sa#p#sas#saq#sa|#sa~Oo'_O}'^O!r'`O&_!hO~O}'eO!r'`O~Oo'iO}'hO&_!hO~OZ#xOu'mO%}TO~OW%jO}'sO~OW%jO!P'uO~OW'vO!P'wO~O$h!WO&P0qO&R0pO!P&eP~P/uO!P(SO#p(TO~P9oO}(UO~O$c(WO~O!P(XO~O!P(YO~O!P(ZO~P9oO!P(]O~P9oOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdO%Q(hO%U(iOZ$}a_$}a`$}aa$}ab$}ac$}ae$}ag$}ah$}ap$}av$}aw$}az$}a}$}a!P$}a!S$}a!T$}a!U$}a!V$}a!W$}a!X$}a!Y$}a!Z$}a![$}a!]$}a!^$}a!_$}a!u$}a!z$}a#f$}a#r$}a#t$}a#u$}a#y$}a#z$}a$W$}a$Y$}a$`$}a$c$}a$e$}a$h$}a$l$}a$n$}a$s$}a$u$}a$w$}a$y$}a$|$}a%O$}a%w$}a%}$}a&P$}a&R$}a&X$}a&t$}a|$}a$a$}a$q$}a~O}ra!rra'Ora~PH_OZ%bO~PJ`O!P(mO~O!m%gO}&la!P&la~O}cO!P(pO~Oo(tOq!fX&^!fX~Oq(vO&^&mX~O&^(xO~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op)UOv{Ow)TOz!OO|)PO}cO!PvO![!`O!u}O!z|O#fpO#roO#tpO#upO#y!RO#z!QO$W!SO$Y!TO$`!UO$c!VO$e!XO$h!WO$l!YO$n!ZO$s![O$u!]O$w!^O$y!_O$|!aO%O!bO%}TO&PRO&RQO&XUO&_#YO&tdO~PFdO}%dO~O})]OY&zP~P:|OW%jO!P)dO~Os)eO~Ou#OO%}TOq&ia!P&ia!b&iaY&ia#p&ia~O})fO~P:|Oq%wO!P&ha~Og^Oh^O%}0oO&P!wO&RWO~O&b)mO~P!8jOu#OO%}TOq&aX&^&aXY&aX&n&aX!P&aX~O}&aX!r&aX~P!9SOo)oOp)oOqnX&^nX~Oq)pO&^&`X~O&^)rO~Ou#OOw)tO%}TO&PSO&R!qO~OYma&nma&vma~P!:bOW&QXY!aXq!aXu!aX%}!aX~OWUXY!aXq!aXu!aX%}!aX~OW)wO~Ou#OO%}TO&P#SO&R#SO&q)yO~Og^Oh^O%}TO&P!wO&RWO~PFdOq&]OY&pa~Ou#OO%}TO&P#SO&R#SO&q&WO~OY)|O~OY*PO&n&bO~Oq&eOY&wa~Og^Oh^Ov{O|*XO!u}O%}TO&P!wO&RWO&tdO~PFdO!P*YO~OW^iZ#XXu^i!P^i!b^i#]^i#_^i#a^i#b^i#d^i#e^i#f^i#g^i#h^i#i^i#k^i#o^i#r^i&^^i&_^i&n^i&v^iY^i#p^is^iq^i|^i~OW*iO~Os*jO~P9oOz*kO&PSO&R!qO~O!P]iY]i#p]is]iq]i|]i~P9oOq*lOY&eX!P&eX~P9oOY*nO~O#f$SO#g$TO#k$YO#r$WO!P#^i#_#^i#a#^i#b#^i#d#^i#e#^i#o#^i&^#^i&_#^i&n#^iY#^i#p#^is#^iq#^i|#^i~O#h$UO#i$UO~P!AmO#_#|O#d$QO#e$RO#f$SO#g$TO#h$UO#i$UO#k$YO#r$WO&^#zO&_#zO&n#{O!P#^i#b#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O#a#^i~P!CUO#a#}O~P!CUO#_#|O#f$SO#g$TO#h$UO#i$UO#k$YO#r$WO&^#zO&_#zO!P#^i#a#^i#b#^i#d#^i#e#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O&n#^i~P!DtO&n#{O~P!DtO#f$SO#g$TO#k$YO#r$WO!P#^i#a#^i#b#^i#e#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O#_#|O#d$QO#h$UO#i$UO&^#zO&_#zO&n#{O~P!FdO#k$YO#r$WO!P#^i#_#^i#a#^i#b#^i#d#^i#e#^i#f#^i#h#^i#i#^i#o#^i&^#^i&_#^i&n#^iY#^i#p#^is#^iq#^i|#^i~O#g$TO~P!G{O#g#^i~P!G{O#h#^i#i#^i~P!AmO#p*oO~P9oO#_&aX#a&aX#b&aX#d&aX#e&aX#f&aX#g&aX#h&aX#i&aX#k&aX#o&aX#r&aX&_&aX#p&aXs&aX|&aX~P!9SO!P#liY#li#p#lis#liq#li|#li~P9oO|*rO~P$wO}'^O~O}'^O!r'`O~Oo'_O}'^O!r'`O~O%}TO&P#SO&R#SO|&sP!P&sP~PFdO}'eO~Og^Oh^Ov{O|+PO!P*}O!u}O!z|O%}TO&P!wO&RWO&_!hO&tdO~PFdO}'hO~Oo'iO}'hO~Os+RO~P:|Ou+TO%}TO~Ou'mO})fO%}TOW#Zi!P#Zi#_#Zi#a#Zi#b#Zi#d#Zi#e#Zi#f#Zi#g#Zi#h#Zi#i#Zi#k#Zi#o#Zi#r#Zi&^#Zi&_#Zi&n#Zi&v#ZiY#Zi#p#Zis#Ziq#Zi|#Zi~O}'^OW&diu&di!P&di#_&di#a&di#b&di#d&di#e&di#f&di#g&di#h&di#i&di#k&di#o&di#r&di&^&di&_&di&n&di&v&diY&di#p&dis&diq&di|&di~O#}+]O$P+^O$R+^O$S+_O$T+`O~O|+[O~P##nO$Z+aO&PSO&R!qO~OW+bO!P+cO~O$a+dOZ$_i_$_i`$_ia$_ib$_ic$_ie$_ig$_ih$_ip$_iv$_iw$_iz$_i}$_i!P$_i!S$_i!T$_i!U$_i!V$_i!W$_i!X$_i!Y$_i!Z$_i![$_i!]$_i!^$_i!_$_i!u$_i!z$_i#f$_i#r$_i#t$_i#u$_i#y$_i#z$_i$W$_i$Y$_i$`$_i$c$_i$e$_i$h$_i$l$_i$n$_i$s$_i$u$_i$w$_i$y$_i$|$_i%O$_i%w$_i%}$_i&P$_i&R$_i&X$_i&t$_i|$_i$q$_i~Og^Oh^O$h#sO&P!wO&RWO~O!P+hO~P:|O!P+iO~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op!POv{OwkOz!OO}cO!PvO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!Z+nO![!`O!]yO!^yO!_yO!u}O!z|O#fpO#roO#tpO#upO#y!RO#z!QO$W!SO$Y!TO$`!UO$c!VO$e!XO$h!WO$l!YO$n!ZO$q+oO$s![O$u!]O$w!^O$y!_O$|!aO%O!bO%}TO&PRO&RQO&XUO&tdO~O|+mO~P#)QOW&QXY&QXZ&QXu&QX!P&QX&viX&v&QX~P?XOWUXYUXZUXuUX!PUX&vUX&v&]X~P>lOW#tOu#uO&v#vO~OW&UXY%XXu&UX!P%XX&v&UX~OZ#XX~P#.VOY+uO!P+sO~O%Q(hO%U(iOZ$}i_$}i`$}ia$}ib$}ic$}ie$}ig$}ih$}ip$}iv$}iw$}iz$}i}$}i!P$}i!S$}i!T$}i!U$}i!V$}i!W$}i!X$}i!Y$}i!Z$}i![$}i!]$}i!^$}i!_$}i!u$}i!z$}i#f$}i#r$}i#t$}i#u$}i#y$}i#z$}i$W$}i$Y$}i$`$}i$c$}i$e$}i$h$}i$l$}i$n$}i$s$}i$u$}i$w$}i$y$}i$|$}i%O$}i%w$}i%}$}i&P$}i&R$}i&X$}i&t$}i|$}i$a$}i$q$}i~OZ+xO~O%Q(hO%U(iOZ%Vi_%Vi`%Via%Vib%Vic%Vie%Vig%Vih%Vip%Viv%Viw%Viz%Vi}%Vi!P%Vi!S%Vi!T%Vi!U%Vi!V%Vi!W%Vi!X%Vi!Y%Vi!Z%Vi![%Vi!]%Vi!^%Vi!_%Vi!u%Vi!z%Vi#f%Vi#r%Vi#t%Vi#u%Vi#y%Vi#z%Vi$W%Vi$Y%Vi$`%Vi$c%Vi$e%Vi$h%Vi$l%Vi$n%Vi$s%Vi$u%Vi$w%Vi$y%Vi$|%Vi%O%Vi%w%Vi%}%Vi&P%Vi&R%Vi&X%Vi&t%Vi|%Vi$a%Vi$q%Vi~Ou#OO%}TO}&oa!P&oa!m&oa~O!P,OO~Oo(tOq!fa&^!fa~Oq(vO&^&ma~O!m%gO}&li!P&li~O|,XO~P]OW,ZO~P5xOW&UXu&UX#_&UX#a&UX#b&UX#d&UX#e&UX#f&UX#g&UX#h&UX#i&UX#k&UX#o&UX#r&UX&^&UX&_&UX&n&UX&v&UX~OZ#xO!P&UX~P#8^OW$gOZ#xO&v#vO~Op,]Ow,]O~Oq,^O}&rX!P&rX~O!b,`O#]#wOY&UXZ#XX~P#8^OY&SXq&SX|&SX!P&SX~P9oO})]O|&yP~P:|OY&SXg%[Xh%[X%}%[X&P%[X&R%[Xq&SX|&SX!P&SX~Oq,cOY&zX~OY,eO~O})fO|&kP~P:|Oq&jX!P&jX|&jXY&jX~P9oO&bTa~PC[Oo)oOp)oOqna&^na~Oq)pO&^&`a~OW,mO~Ow,nO~Ou#OO%}TO&P,rO&R,qO~Og^Oh^Ov#pO!u#rO&P!wO&RWO&t#oO~Og^Oh^Ov{O|,wO!u}O%}TO&P!wO&RWO&tdO~PFdOw-SO&PSO&R!qO&_#YO~Oq*lOY&ea!P&ea~O#_ma#ama#bma#dma#ema#fma#gma#hma#ima#kma#oma#rma&_ma#pmasma|ma~PEnO|-WO~P$wOZ#xO}'^Oq!|X|!|X!P!|X~Oq-[O|&sX!P&sX~O|-_O!P-^O~O&_!hO~P5VOg^Oh^Ov{O|-cO!P*}O!u}O!z|O%}TO&P!wO&RWO&_!hO&tdO~PFdOs-dO~P9oOs-dO~P:|O}'^OW&dqu&dq!P&dq#_&dq#a&dq#b&dq#d&dq#e&dq#f&dq#g&dq#h&dq#i&dq#k&dq#o&dq#r&dq&^&dq&_&dq&n&dq&v&dqY&dq#p&dqs&dqq&dq|&dq~O|-hO~P##nO!W-lO$O-lO&PSO&R!qO~O!P-oO~O$Z-pO&PSO&R!qO~O!b%vO#p-rOq!`X!P!`X~O!P-tO~P9oO!P-tO~P:|O!P-wO~P9oO|-yO~P#)QO![$aO#p-zO~O!P-|O~O!b-}O~OY.QOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdOY.QO!P.RO~O%Q(hO%U(iOZ%Vq_%Vq`%Vqa%Vqb%Vqc%Vqe%Vqg%Vqh%Vqp%Vqv%Vqw%Vqz%Vq}%Vq!P%Vq!S%Vq!T%Vq!U%Vq!V%Vq!W%Vq!X%Vq!Y%Vq!Z%Vq![%Vq!]%Vq!^%Vq!_%Vq!u%Vq!z%Vq#f%Vq#r%Vq#t%Vq#u%Vq#y%Vq#z%Vq$W%Vq$Y%Vq$`%Vq$c%Vq$e%Vq$h%Vq$l%Vq$n%Vq$s%Vq$u%Vq$w%Vq$y%Vq$|%Vq%O%Vq%w%Vq%}%Vq&P%Vq&R%Vq&X%Vq&t%Vq|%Vq$a%Vq$q%Vq~Ou#OO%}TO}&oi!P&oi!m&oi~O&n&bOq!ga&^!ga~O!m%gO}&lq!P&lq~O|.^O~P]Op.`Ow&vOz&tO&PSO&R!qO&_#YO~O!P.aO~Oq,^O}&ra!P&ra~O})]O~P:|Oq.gO|&yX~O|.iO~Oq,cOY&za~Oq.mO|&kX~O|.oO~Ow.pO~Oq!aXu!aX!P!aX!b!aX%}!aX~OZ&QX~P#N{OZUX~P#N{O!P.qO~OZ.rO~OW^yZ#XXu^y!P^y!b^y#]^y#_^y#a^y#b^y#d^y#e^y#f^y#g^y#h^y#i^y#k^y#o^y#r^y&^^y&_^y&n^y&v^yY^y#p^ys^yq^y|^y~OY%`aq%`a!P%`a~P9oO!P#nyY#ny#p#nys#nyq#ny|#ny~P9oO}'^Oq!|a|!|a!P!|a~OZ#xO}'^Oq!|a|!|a!P!|a~O%}TO&P#SO&R#SOq%jX|%jX!P%jX~PFdOq-[O|&sa!P&sa~O|!}X~P$wO|/PO~Os/QO~P9oOW%jO!P/RO~OW%jO$Q/WO&PSO&R!qO!P&|P~OW%jO$U/XO~O!P/YO~O!b%vO#p/[Oq!`X!P!`X~OY/^O~O!P/_O~P9oO#p/`O~P9oO!b/bO~OY/cOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdOW#[Ou&[X%}&[X&P&[X&R&[X'O&[X~O&_#YO~P$)QOu#OO%}TO'O/eO&P%SX&R%SX~O&n&bOq!gi&^!gi~Op/iO&PSO&R!qO~OW*iOZ#xO~O!P/kO~OY&SXq&SX~P9oO})]Oq%nX|%nX~P:|Oq.gO|&ya~O!b/nO~O})fOq%cX|%cX~P:|Oq.mO|&ka~OY/qO~O!P/rO~OZ/sO~O}'^Oq!|i|!|i!P!|i~O|!}a~P$wOW%jO!P/wO~OW%jOq/xO!P&|X~OY/|O~P9oOY0OO~OY%Xq!P%Xq~P9oO'O/eO&P%Sa&R%Sa~OY0TO~O!P0WO~Ou#OO!P0YO!Z0ZO%}TO~OY0[O~Oq/xO!P&|a~O!P0_O~OW%jOq/xO!P&}X~OY0aO~P9oOY0bO~OY%Xy!P%Xy~P9oOu#OO%}TO&P%ua&R%ua'O%ua~OY0cO~O!P0dO~Ou#OO!P0eO!Z0fO%}TO~OW%jOq%ra!P%ra~Oq/xO!P&}a~O!P0jO~Ou#OO!P0jO!Z0kO%}TO~O!P0lO~O!P0nO~O#p&QXY&QXs&QXq&QX|&QX~P&bO#pUXYUXsUXqUX|UX~P(iO`Q_P#g%y&P&Xc&X~",goto:"#+S'OPPPP'P'd*x.OP'dPP.d.h0PPPPPP1nP3ZPP4v7l:[<z=d?[PPP?bPA{PPPBu3ZPDqPPElPFcFkPPPPPPPPPPPPGvH_PKjKrLOLjLpLvNiNmNmNuP! U!!^!#R!#]P!#r!!^P!#x!$S!!y!$cP!%S!%^!%d!!^!%g!%mFcFc!%q!%{!&O3Z!'m3Z3Z!)iP.hP!)mPP!*_PPPPPP.hP.h!+O.hPP.hP.hPP.h!,g!,qPP!,w!-QPPPPPPPP'PP'PPP!-U!-U!-i!-UPP!-UP!-UP!.S!.VP!-U!.m!-UP!-UP!.p!.sP!-UP!-UP!-UP!-UP!-U!-UP!-UP!.wP!.}!/Q!/WP!-U!/d!/gP!/o!0R!4T!4Z!4a!5g!5m!5{!7R!7X!7_!7i!7o!7u!7{!8R!8X!8_!8e!8k!8q!8w!8}!9T!9_!9e!9o!9uPPP!9{!-U!:pP!>WP!?[P!Ap!BW!E]3ZPPP!F|!Jm!MaPP#!P#!SP#$`#$f#&V#&f#&n#'p#(Y#)T#)^#)a#)oP#)r#*OP#*V#*^P#*aP#*lP#*o#*r#*u#*y#+PstOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y'urOPXY`acopx!Y![!_!a!e!f!h!i!o!x#P#T#Y#[#_#`#e#i#l#n#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$]$_$e$l$m$n$o$p$q%O%S%V%Z%^%_%b%d%g%k%u%v%{%|&R&S&[&]&`&b&d&i'X'^'_'`'e'h'i'm'n'p'{'|(O(T(U(`(l(t(v({(})O)Q)R)])f)o)p*P*T*W*l*o*p*q*z*{+O+T+d+f+h+i+l+o+r+s+x+},W,Y,^,`,u-[-^-a-r-t-}.R.V.g.m/O/[/_/b/d/n/q0R0X0Z0[0f0h0k0r#xhO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kt!sT!Q!S!T!{!}$k%p+]+^+_+`-k-m/W/X/x0oQ#mdS&Y#`(}Q&l#oU&q#t$g,ZQ&x#vW(b%O+s.R/dU)Y%j'v+bQ)Z%kS)u&S,WU*f&s-R._Q*k&yQ,t*TQ-P*iQ.j,cR.t,uu!sT!Q!S!T!{!}$k%p+]+^+_+`-k-m/W/X/x0oT%l!r)l#{qO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k#zlO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kX(c%O+s.R/d$TVO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0k$TkO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0k&O[OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rQ&Q#[Q)s&RV.T+x.X/e&O[OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rV.T+x.X/e&O]OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rV.U+x.X/eS#Z[.TS$f!O&tS&s#t$gQ&y#vQ)V%dQ-R*iR._,Z$kZO`copx!Y![!_!a#Y#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$_$l$m$n$o$p$q%O%d%g%k%v&b&d'_'`'i'm(O(T(U(t)Q)R)])f)o)p*P*l*o+T+d+h+i+l+o+s,Y,^,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ&O#YR,k)p&P_OPX`ceopx!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0r!o#QY!e!x#R#T#`#n$]%R%S%V%^%u%|&S&[&`'X'|(`(l({(}*T*p*z+f+r+},W,u-a.V/q0R0X0[0h$SkO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ$m!UQ$n!VQ$s!ZQ$|!`R+p(WQ#yiS'q$e*hQ*e&rQ+X'rS,[)T)UQ-O*gQ-Y*vQ.b,]Q.x-QQ.{-ZQ/j.`Q/u.yR0V/iQ'a$bW*[&m'b'c'dQ+W'qU,x*]*^*_Q-X*vQ-f+XS.u,y,zS.z-Y-ZQ/t.vR/v.{]!mP!o'^*q-^/OreOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!gP!o'^*q-^/OW#b`#e%b&]Q'}$oW(d%O+s.R/dS*U&i*WS*w'e-[S*|'h+OR.X+xh#VY!W!e#n#s%V'|*T*z+f,u-aQ)j%wQ)v&WR,o)y#xnOcopx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k^!kP!g!o'^*q-^/Ov#TY!W#`#n#s%w&W&[&`'|(`(})y*T+f+r,u.W/hQ#g`Q$b{Q$c|Q$d}W%S!e%V*z-aS%Y!h(vQ%`!iQ&m#pQ&n#qQ&o#rQ(u%ZS(y%^({Q*R&eS*v'e-[R-Z*wU)h%v)f.mR+V'p[!mP!o'^*q-^/OT*}'h+O^!iP!g!o'^*q-^/OQ'd$bQ'l$dQ*_&mQ*d&oV*{'h*|+OQ%[!hR,S(vQ(s%YR,R(u#znO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kQ%c!kS(l%S(yR(|%`T#e`%bU#c`#e%bR)z&]Q%f!lQ(n%UQ(r%XQ,U(zR.],VrvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OQ%P!bQ%a!jQ%i!pQ'[$ZQ([$|Q(k%QQ(p%WQ+z(iR.Y+yrtOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OS*V&i*WT*}'h+OQ'c$bS*^&m'dR,z*_Q'b$bQ'g$cU*]&m'c'dQ*a&nS,y*^*_R.v,zQ*u'`R+Q'iQ'k$dS*c&o'lR,}*dQ'j$dU*b&o'k'lS,|*c*dR.w,}rtOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OT*}'h+OQ'f$cS*`&n'gR,{*aQ*x'eR.|-[R-`*yQ&j#mR*Z&lT*V&i*WQ%e!lS(q%X%fR,P(rR)R%dWk%O+s.R/d#{lO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k$SiO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kU&r#t$g,ZS*g&s._Q-Q*iR.y-RT'o$e'p!_#|m#a$r$z$}&w&z&{'O'P'Q'R'S'W'Z)[)g+S+g+j-T-V-e-v-{.e/Z/a/}0Q!]$Pm#a$r$z$}&w&z&{'O'P'R'S'W'Z)[)g+S+g+j-T-V-e-v-{.e/Z/a/}0Q#{nO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0ka)^%k)],`.g/n0Z0f0kQ)`%kR.k,cQ't$hQ)b%oR,f)cT+Y's+ZsvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YruOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YQ$w!]R$y!^R$p!XrvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YR(O$oR$q!XR(V$sT+k(U+lX(f%P(g(k+{R+y(hQ.W+xR/h.XQ(j%PQ+w(gQ+|(kR.Z+{R%Q!bQ(e%OV.P+s.R/dQxOQ#lcW$`x#l)Q,YQ)Q%dR,Y)RrXOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Yn!fP!o#e&]&i'^'e'h*W*q+O+x-[-^/Ol!zX!f#P#_#i$[%Z%_%{&R'n'{)O0r!j#PY!e!x#T#`#n$]%S%V%^%u%|&S&[&`'X'|(`(l({(}*T*p*z+f+r+},W,u-a.V/q0R0X0[0hQ#_`Q#ia#d$[op!Y!_!a#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$l%g%k%v&b&d'_'`'i'm(O(T(t)])f)o*P*l*o+T+h+i+o,^,`-r-t-}.g.m/[/_/b/n0Z0f0kS%Z!h(vS%_!i*{S%{#Y)pQ&R#[S'n$e'pY'{$o%O+s.R/dQ)O%bR0r$YQ!uUR%m!uQ)q&OR,l)q^#RY#`$]'X'|(`*px%R!e!x#n%V%^%|&S&[&`({(}*T*z+f+r,W,u-a.V0R[%t#R%R%u+}0X0hS%u#T%SQ+}(lQ0X/qR0h0[Q*m&{R-U*mQ!oPU%h!o*q/OQ*q'^R/O-^!pbOP`cx![!o#e#l$_$m$n$o$p$q%O%b%d&]&i'^'e'h(U)Q)R*W*q+O+d+l+s+x,Y-[-^.R/O/dY!yX!f#_'{)OT#jb!yQ.n,gR/p.nQ%x#VR)k%xQ&c#fS*O&c.[R.[,QQ(w%[R,T(wQ&^#cR){&^Q,_)WR.d,_Q+O'hR-b+OQ-]*xR.}-]Q*W&iR,v*WQ'p$eR+U'pQ&f#gR*S&fQ.h,aR/m.hQ,d)`R.l,dQ+Z'sR-g+ZQ-k+]R/T-kQ/y/US0^/y0`R0`/{Q+l(UR-x+lQ(g%PS+v(g+{R+{(kQ/f.VR0S/fQ+t(eR.S+t`wOcx#l%d)Q)R,YQ$t![Q']$_Q'y$mQ'z$nQ(Q$pQ(R$qS+k(U+lR-q+d'dsOPXY`acopx!Y![!_!a!e!f!h!i!o!x#P#T#Y#[#_#`#e#i#l#n#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$]$_$e$l$m$n$o$p$q%O%S%V%Z%^%_%b%d%g%u%v%{%|&R&S&[&]&`&b&d&i'X'^'_'`'e'h'i'm'n'p'{'|(O(T(U(`(l(t(v({(})O)Q)R)f)o)p*P*T*W*l*o*p*q*z*{+O+T+d+f+h+i+l+o+r+s+x+},W,Y,^,u-[-^-a-r-t-}.R.V.m/O/[/_/b/d/q0R0X0[0h0ra)_%k)],`.g/n0Z0f0kQ!rTQ$h!QQ$i!SQ$j!TQ%o!{Q%q!}Q'x$kQ)c%pQ)l0oS-i+]+_Q-m+^Q-n+`Q/S-kS/U-m/WQ/{/XR0]/x%uSOT`cdopx!Q!S!T!Y![!_!a!{!}#`#l#o#t#u#v#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$g$k$l$m$n$o$p$q%O%d%j%k%p%v&S&d&s&y'm'v(O(T(U(})Q)R)])f*P*T*i*l*o+T+]+^+_+`+b+d+h+i+l+o+s,W,Y,Z,`,c,u-R-k-m-r-t-}.R._.g.m/W/X/[/_/b/d/n/x0Z0f0k0oQ)a%kQ,a)]S.f,`/nQ/l.gQ0g0ZQ0i0fR0m0krmOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YS#a`$lQ$WoQ$^pQ$r!YQ$z!_Q$}!aQ&w#uQ&z#wY&{#x$o+h-t/_Q&}#|Q'O#}Q'P$OQ'Q$PQ'R$QQ'S$RQ'T$SQ'U$TQ'V$UQ'W$VQ'Z$Z^)[%k)].g/n0Z0f0kU)g%v)f.mQ*Q&dQ+S'mQ+g(OQ+j(TQ,p*PQ-T*lQ-V*oQ-e+TQ-v+iQ-{+oQ.e,`Q/Z-rQ/a-}Q/}/[R0Q/b#xgO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kW(a%O+s.R/dR)S%drYOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!eP!o'^*q-^/OW!xX$[%{'{Q#``Q#ne#S$]op!Y!_!a#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$l%k%v&d'm(O(T)])f*P*l*o+T+h+i+o,`-r-t-}.g.m/[/_/b/n0Z0f0kQ%V!gS%^!i*{d%|#Y%g&b'_'`'i(t)o)p,^Q&S#_Q&[#bS&`#e&]Q'X$YQ'|$oW(`%O+s.R/dQ({%_Q(}%bS*T&i*WQ*p0rS*z'h+OQ+f'}Q+r(dQ,W)OQ,u*UQ-a*|S.V+x.XR0R/e&O_OPX`ceopx!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0rQ$e!OQ'r$fR*h&t&ZWOPX`ceopx!O!Y![!_!a!g!i!o#Y#[#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&R&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0rR&P#Y$QjOcopx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ#f`Q&O#YQ'Y$YU)W%g'`'iQ)}&bQ*s'_Q,Q(tQ,j)oQ,k)pR.c,^Q)n%}R,i)m$SfO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kT&p#t,ZQ&|#xQ(P$oQ-u+hQ/]-tR0P/_]!nP!o'^*q-^/O#PaOPX`bcx![!f!o!y#_#e#l$_$m$n$o$p$q%O%b%d&]&i'^'e'h'{(U)O)Q)R*W*q+O+d+l+s+x,Y-[-^.R/O/dU#WY!W'|Q%T!eU&k#n#s+fQ(o%VS,s*T*zT.s,u-aj#UY!W!e#n#s%V%w&W)y*T*z,u-aU&V#`&`(}Q)x&[Q+e'|Q+q(`Q-s+fQ.O+rQ/g.WR0U/hQ)i%vQ,g)fR/o.mR,h)f`!jP!o'^'h*q+O-^/OT%W!g*|R%]!hW%U!e%V*z-aQ(z%^R,V({S#d`%bR&a#eQ)X%gT*t'`'iR*y'e[!lP!o'^*q-^/OR%X!gR#h`R,b)]R)a%kT-j+]-kQ/V-mR/z/WR/z/X",nodeNames:"⚠ LineComment BlockComment Program ModuleDeclaration MarkerAnnotation Identifier ScopedIdentifier . Annotation ) ( AnnotationArgumentList AssignmentExpression FieldAccess IntegerLiteral FloatingPointLiteral BooleanLiteral CharacterLiteral StringLiteral TextBlock null ClassLiteral void PrimitiveType TypeName ScopedTypeName GenericType TypeArguments AnnotatedType Wildcard extends super , ArrayType ] Dimension [ class this ParenthesizedExpression ObjectCreationExpression new ArgumentList } { ClassBody ; FieldDeclaration Modifiers public protected private abstract static final strictfp default synchronized native transient volatile VariableDeclarator Definition AssignOp ArrayInitializer MethodDeclaration TypeParameters TypeParameter TypeBound FormalParameters ReceiverParameter FormalParameter SpreadParameter Throws throws Block ClassDeclaration Superclass SuperInterfaces implements InterfaceTypeList InterfaceDeclaration interface ExtendsInterfaces InterfaceBody ConstantDeclaration EnumDeclaration enum EnumBody EnumConstant EnumBodyDeclarations AnnotationTypeDeclaration AnnotationTypeBody AnnotationTypeElementDeclaration StaticInitializer ConstructorDeclaration ConstructorBody ExplicitConstructorInvocation ArrayAccess MethodInvocation MethodName MethodReference ArrayCreationExpression Dimension AssignOp BinaryExpression CompareOp CompareOp LogicOp LogicOp BitOp BitOp BitOp ArithOp ArithOp ArithOp BitOp InstanceofExpression instanceof LambdaExpression InferredParameters TernaryExpression LogicOp : UpdateExpression UpdateOp UnaryExpression LogicOp BitOp CastExpression ElementValueArrayInitializer ElementValuePair open module ModuleBody ModuleDirective requires transitive exports to opens uses provides with PackageDeclaration package ImportDeclaration import Asterisk ExpressionStatement LabeledStatement Label IfStatement if else WhileStatement while ForStatement for ForSpec LocalVariableDeclaration var EnhancedForStatement ForSpec AssertStatement assert SwitchStatement switch SwitchBlock SwitchLabel case DoStatement do BreakStatement break ContinueStatement continue ReturnStatement return SynchronizedStatement ThrowStatement throw TryStatement try CatchClause catch CatchFormalParameter CatchType FinallyClause finally TryWithResourcesStatement ResourceSpecification Resource ClassContent",maxTerm:276,nodeProps:[["isolate",-4,1,2,18,19,""],["group",-26,4,47,76,77,82,87,92,145,147,150,151,153,156,158,161,163,165,167,172,174,176,178,180,181,183,191,"Statement",-25,6,13,14,15,16,17,18,19,20,21,22,39,40,41,99,100,102,103,106,118,120,122,125,127,130,"Expression",-7,23,24,25,26,27,29,34,"Type"],["openedBy",10,"(",44,"{"],["closedBy",11,")",45,"}"]],propSources:[Cq],skippedNodes:[0,1,2],repeatNodeCount:28,tokenData:"#'f_R!_OX%QXY'fYZ)bZ^'f^p%Qpq'fqr*|rs,^st%Qtu4euv5zvw7[wx8rxyAZyzAwz{Be{|CZ|}Dq}!OE_!O!PFx!P!Q! r!Q!R!,h!R![!0`![!]!>p!]!^!@Q!^!_!@n!_!`!BX!`!a!B{!a!b!Di!b!c!EX!c!}!LT!}#O!Mj#O#P%Q#P#Q!NW#Q#R!Nt#R#S4e#S#T%Q#T#o4e#o#p# h#p#q#!U#q#r##n#r#s#$[#s#y%Q#y#z'f#z$f%Q$f$g'f$g#BY4e#BY#BZ#$x#BZ$IS4e$IS$I_#$x$I_$I|4e$I|$JO#$x$JO$JT4e$JT$JU#$x$JU$KV4e$KV$KW#$x$KW&FU4e&FU&FV#$x&FV;'S4e;'S;=`5t<%lO4eS%VV&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QS%qO&YSS%tVOY&ZYZ%lZr&Zrs&ys;'S&Z;'S;=`'`<%lO&ZS&^VOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QS&vP;=`<%l%QS&|UOY&ZYZ%lZr&Zs;'S&Z;'S;=`'`<%lO&ZS'cP;=`<%l&Z_'mk&YS%yZOX%QXY'fYZ)bZ^'f^p%Qpq'fqr%Qrs%qs#y%Q#y#z'f#z$f%Q$f$g'f$g#BY%Q#BY#BZ'f#BZ$IS%Q$IS$I_'f$I_$I|%Q$I|$JO'f$JO$JT%Q$JT$JU'f$JU$KV%Q$KV$KW'f$KW&FU%Q&FU&FV'f&FV;'S%Q;'S;=`&s<%lO%Q_)iY&YS%yZX^*Xpq*X#y#z*X$f$g*X#BY#BZ*X$IS$I_*X$I|$JO*X$JT$JU*X$KV$KW*X&FU&FV*XZ*^Y%yZX^*Xpq*X#y#z*X$f$g*X#BY#BZ*X$IS$I_*X$I|$JO*X$JT$JU*X$KV$KW*X&FU&FV*XV+TX#tP&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`;'S%Q;'S;=`&s<%lO%QU+wV#_Q&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT,aXOY,|YZ%lZr,|rs3Ys#O,|#O#P2d#P;'S,|;'S;=`3S<%lO,|T-PXOY-lYZ%lZr-lrs.^s#O-l#O#P.x#P;'S-l;'S;=`2|<%lO-lT-qX&YSOY-lYZ%lZr-lrs.^s#O-l#O#P.x#P;'S-l;'S;=`2|<%lO-lT.cVcPOY&ZYZ%lZr&Zrs&ys;'S&Z;'S;=`'`<%lO&ZT.}V&YSOY-lYZ/dZr-lrs1]s;'S-l;'S;=`2|<%lO-lT/iW&YSOY0RZr0Rrs0ns#O0R#O#P0s#P;'S0R;'S;=`1V<%lO0RP0UWOY0RZr0Rrs0ns#O0R#O#P0s#P;'S0R;'S;=`1V<%lO0RP0sOcPP0vTOY0RYZ0RZ;'S0R;'S;=`1V<%lO0RP1YP;=`<%l0RT1`XOY,|YZ%lZr,|rs1{s#O,|#O#P2d#P;'S,|;'S;=`3S<%lO,|T2QUcPOY&ZYZ%lZr&Zs;'S&Z;'S;=`'`<%lO&ZT2gVOY-lYZ/dZr-lrs1]s;'S-l;'S;=`2|<%lO-lT3PP;=`<%l-lT3VP;=`<%l,|T3_VcPOY&ZYZ%lZr&Zrs3ts;'S&Z;'S;=`'`<%lO&ZT3yR&WSXY4SYZ4`pq4SP4VRXY4SYZ4`pq4SP4eO&XP_4lb&YS&PZOY%QYZ%lZr%Qrs%qst%Qtu4eu!Q%Q!Q![4e![!c%Q!c!}4e!}#R%Q#R#S4e#S#T%Q#T#o4e#o$g%Q$g;'S4e;'S;=`5t<%lO4e_5wP;=`<%l4eU6RX#hQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QU6uV#]Q&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV7cZ&nR&YSOY%QYZ%lZr%Qrs%qsv%Qvw8Uw!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QU8]V#aQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT8wZ&YSOY9jYZ%lZr9jrs:xsw9jwx%Qx#O9j#O#P<S#P;'S9j;'S;=`AT<%lO9jT9oX&YSOY%QYZ%lZr%Qrs%qsw%Qwx:[x;'S%Q;'S;=`&s<%lO%QT:cVbP&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT:{XOY&ZYZ%lZr&Zrs&ysw&Zwx;hx;'S&Z;'S;=`'`<%lO&ZT;mVbPOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT<XZ&YSOY<zYZ%lZr<zrs=rsw<zwx9jx#O<z#O#P9j#P;'S<z;'S;=`?^<%lO<zT=PZ&YSOY<zYZ%lZr<zrs=rsw<zwx:[x#O<z#O#P%Q#P;'S<z;'S;=`?^<%lO<zT=uZOY>hYZ%lZr>hrs?dsw>hwx;hx#O>h#O#P&Z#P;'S>h;'S;=`@}<%lO>hT>kZOY<zYZ%lZr<zrs=rsw<zwx:[x#O<z#O#P%Q#P;'S<z;'S;=`?^<%lO<zT?aP;=`<%l<zT?gZOY>hYZ%lZr>hrs@Ysw>hwx;hx#O>h#O#P&Z#P;'S>h;'S;=`@}<%lO>hP@]VOY@YZw@Ywx@rx#O@Y#P;'S@Y;'S;=`@w<%lO@YP@wObPP@zP;=`<%l@YTAQP;=`<%l>hTAWP;=`<%l9j_AbVZZ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVBOVYR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVBnX$ZP&YS#gQOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QVCbZ#fR&YSOY%QYZ%lZr%Qrs%qs{%Q{|DT|!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QVD[V#rR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVDxVqR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVEf[#fR&YSOY%QYZ%lZr%Qrs%qs}%Q}!ODT!O!_%Q!_!`6n!`!aF[!a;'S%Q;'S;=`&s<%lO%QVFcV&xR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_GPZWY&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!PGr!P!Q%Q!Q![IQ![;'S%Q;'S;=`&s<%lO%QVGwX&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!PHd!P;'S%Q;'S;=`&s<%lO%QVHkV&qR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QTIXc&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![!f%Q!f!gJd!g!hKQ!h!iJd!i#R%Q#R#SNz#S#W%Q#W#XJd#X#YKQ#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QTJkV&YS`POY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QTKV]&YSOY%QYZ%lZr%Qrs%qs{%Q{|LO|}%Q}!OLO!O!Q%Q!Q![Lp![;'S%Q;'S;=`&s<%lO%QTLTX&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![;'S%Q;'S;=`&s<%lO%QTLwc&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![!f%Q!f!gJd!g!h%Q!h!iJd!i#R%Q#R#SNS#S#W%Q#W#XJd#X#Y%Q#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QTNXZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![#R%Q#R#SNS#S;'S%Q;'S;=`&s<%lO%QT! PZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![#R%Q#R#SNz#S;'S%Q;'S;=`&s<%lO%Q_! y]&YS#gQOY%QYZ%lZr%Qrs%qsz%Qz{!!r{!P%Q!P!Q!)e!Q!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%Q_!!wX&YSOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{;'S!!r;'S;=`!'s<%lO!!r_!#iT&YSOz!#xz{!$[{;'S!#x;'S;=`!$y<%lO!#xZ!#{TOz!#xz{!$[{;'S!#x;'S;=`!$y<%lO!#xZ!$_VOz!#xz{!$[{!P!#x!P!Q!$t!Q;'S!#x;'S;=`!$y<%lO!#xZ!$yOQZZ!$|P;=`<%l!#x_!%SXOY!%oYZ!#dZr!%ors!'ysz!%oz{!(i{;'S!%o;'S;=`!)_<%lO!%o_!%rXOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{;'S!!r;'S;=`!'s<%lO!!r_!&dZ&YSOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{!P!!r!P!Q!'V!Q;'S!!r;'S;=`!'s<%lO!!r_!'^V&YSQZOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!'vP;=`<%l!!r_!'|XOY!%oYZ!#dZr!%ors!#xsz!%oz{!(i{;'S!%o;'S;=`!)_<%lO!%o_!(lZOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{!P!!r!P!Q!'V!Q;'S!!r;'S;=`!'s<%lO!!r_!)bP;=`<%l!%o_!)lV&YSPZOY!)eYZ%lZr!)ers!*Rs;'S!)e;'S;=`!+X<%lO!)e_!*WVPZOY!*mYZ%lZr!*mrs!+_s;'S!*m;'S;=`!,b<%lO!*m_!*rVPZOY!)eYZ%lZr!)ers!*Rs;'S!)e;'S;=`!+X<%lO!)e_!+[P;=`<%l!)e_!+dVPZOY!*mYZ%lZr!*mrs!+ys;'S!*m;'S;=`!,b<%lO!*mZ!,OSPZOY!+yZ;'S!+y;'S;=`!,[<%lO!+yZ!,_P;=`<%l!+y_!,eP;=`<%l!*mT!,ou&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!/S!P!Q%Q!Q![!0`![!d%Q!d!e!3j!e!f%Q!f!gJd!g!hKQ!h!iJd!i!n%Q!n!o!2U!o!q%Q!q!r!5h!r!z%Q!z!{!7`!{#R%Q#R#S!2r#S#U%Q#U#V!3j#V#W%Q#W#XJd#X#YKQ#Y#ZJd#Z#`%Q#`#a!2U#a#c%Q#c#d!5h#d#l%Q#l#m!7`#m;'S%Q;'S;=`&s<%lO%QT!/Za&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![!f%Q!f!gJd!g!hKQ!h!iJd!i#W%Q#W#XJd#X#YKQ#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QT!0gi&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!/S!P!Q%Q!Q![!0`![!f%Q!f!gJd!g!hKQ!h!iJd!i!n%Q!n!o!2U!o#R%Q#R#S!2r#S#W%Q#W#XJd#X#YKQ#Y#ZJd#Z#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!2]V&YS_POY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT!2wZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!0`![#R%Q#R#S!2r#S;'S%Q;'S;=`&s<%lO%QT!3oY&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q!R!4_!R!S!4_!S;'S%Q;'S;=`&s<%lO%QT!4f`&YS_POY%QYZ%lZr%Qrs%qs!Q%Q!Q!R!4_!R!S!4_!S!n%Q!n!o!2U!o#R%Q#R#S!3j#S#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!5mX&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q!Y!6Y!Y;'S%Q;'S;=`&s<%lO%QT!6a_&YS_POY%QYZ%lZr%Qrs%qs!Q%Q!Q!Y!6Y!Y!n%Q!n!o!2U!o#R%Q#R#S!5h#S#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!7e_&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!P!8d!P!Q%Q!Q![!:r![!c%Q!c!i!:r!i#T%Q#T#Z!:r#Z;'S%Q;'S;=`&s<%lO%QT!8i]&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!9b![!c%Q!c!i!9b!i#T%Q#T#Z!9b#Z;'S%Q;'S;=`&s<%lO%QT!9gc&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!9b![!c%Q!c!i!9b!i!r%Q!r!sKQ!s#R%Q#R#S!8d#S#T%Q#T#Z!9b#Z#d%Q#d#eKQ#e;'S%Q;'S;=`&s<%lO%QT!:yi&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!<h!P!Q%Q!Q![!:r![!c%Q!c!i!:r!i!n%Q!n!o!2U!o!r%Q!r!sKQ!s#R%Q#R#S!=r#S#T%Q#T#Z!:r#Z#`%Q#`#a!2U#a#d%Q#d#eKQ#e;'S%Q;'S;=`&s<%lO%QT!<ma&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!9b![!c%Q!c!i!9b!i!r%Q!r!sKQ!s#T%Q#T#Z!9b#Z#d%Q#d#eKQ#e;'S%Q;'S;=`&s<%lO%QT!=w]&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!:r![!c%Q!c!i!:r!i#T%Q#T#Z!:r#Z;'S%Q;'S;=`&s<%lO%QV!>wX#pR&YSOY%QYZ%lZr%Qrs%qs![%Q![!]!?d!];'S%Q;'S;=`&s<%lO%QV!?kV&vR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV!@XV!PR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!@uY&_Z&YSOY%QYZ%lZr%Qrs%qs!^%Q!^!_!Ae!_!`+p!`;'S%Q;'S;=`&s<%lO%QU!AlX#iQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QV!B`X!bR&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`;'S%Q;'S;=`&s<%lO%QV!CSY&^R&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`!a!Cr!a;'S%Q;'S;=`&s<%lO%QU!CyY#iQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`!a!Ae!a;'S%Q;'S;=`&s<%lO%Q_!DrV&bX#oQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!E`X%}Z&YSOY%QYZ%lZr%Qrs%qs#]%Q#]#^!E{#^;'S%Q;'S;=`&s<%lO%QV!FQX&YSOY%QYZ%lZr%Qrs%qs#b%Q#b#c!Fm#c;'S%Q;'S;=`&s<%lO%QV!FrX&YSOY%QYZ%lZr%Qrs%qs#h%Q#h#i!G_#i;'S%Q;'S;=`&s<%lO%QV!GdX&YSOY%QYZ%lZr%Qrs%qs#X%Q#X#Y!HP#Y;'S%Q;'S;=`&s<%lO%QV!HUX&YSOY%QYZ%lZr%Qrs%qs#f%Q#f#g!Hq#g;'S%Q;'S;=`&s<%lO%QV!HvX&YSOY%QYZ%lZr%Qrs%qs#Y%Q#Y#Z!Ic#Z;'S%Q;'S;=`&s<%lO%QV!IhX&YSOY%QYZ%lZr%Qrs%qs#T%Q#T#U!JT#U;'S%Q;'S;=`&s<%lO%QV!JYX&YSOY%QYZ%lZr%Qrs%qs#V%Q#V#W!Ju#W;'S%Q;'S;=`&s<%lO%QV!JzX&YSOY%QYZ%lZr%Qrs%qs#X%Q#X#Y!Kg#Y;'S%Q;'S;=`&s<%lO%QV!KnV&tR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!L[b&RZ&YSOY%QYZ%lZr%Qrs%qst%Qtu!LTu!Q%Q!Q![!LT![!c%Q!c!}!LT!}#R%Q#R#S!LT#S#T%Q#T#o!LT#o$g%Q$g;'S!LT;'S;=`!Md<%lO!LT_!MgP;=`<%l!LT_!MqVuZ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV!N_VsR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QU!N{X#eQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QV# oV}R&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_#!_Z'OX#dQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`#p%Q#p#q##Q#q;'S%Q;'S;=`&s<%lO%QU##XV#bQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV##uV|R&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT#$cV#uP&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_#%Ru&YS%yZ&PZOX%QXY'fYZ)bZ^'f^p%Qpq'fqr%Qrs%qst%Qtu4eu!Q%Q!Q![4e![!c%Q!c!}4e!}#R%Q#R#S4e#S#T%Q#T#o4e#o#y%Q#y#z'f#z$f%Q$f$g'f$g#BY4e#BY#BZ#$x#BZ$IS4e$IS$I_#$x$I_$I|4e$I|$JO#$x$JO$JT4e$JT$JU#$x$JU$KV4e$KV$KW#$x$KW&FU4e&FU&FV#$x&FV;'S4e;'S;=`5t<%lO4e",tokenizers:[0,1,2,3],topRules:{Program:[0,3],ClassContent:[1,194]},dynamicPrecedences:{27:1,232:-1,243:-1},specialized:[{term:231,get:t=>Eq[t]||-1}],tokenPrec:7144}),Aq=Pt.define({name:"java",parser:Gq.configure({props:[Xt.add({IfStatement:Ot({except:/^\s*({|else\b)/}),TryStatement:Ot({except:/^\s*({|catch|finally)\b/}),LabeledStatement:Dh,SwitchBlock:t=>{let e=t.textAfter,i=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return t.baseIndent+(i?0:n?1:2)*t.unit},Block:Di({closing:"}"}),BlockComment:()=>null,Statement:Ot({except:/^{/})}),yt.add({"Block SwitchBlock ClassBody ElementValueArrayInitializer ModuleBody EnumBody ConstructorBody InterfaceBody ArrayInitializer":en,BlockComment(t){return{from:t.from+2,to:t.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/}});function Nq(){return new Zt(Aq)}const Iq=1,Lq=2,Dq=275,Mq=3,Bq=276,$Q=277,Fq=278,Hq=4,Kq=5,Jq=6,eU=7,pQ=8,tU=9,iU=10,nU=11,OU=12,rU=13,aU=14,oU=15,sU=16,lU=17,cU=18,uU=19,hU=20,fU=21,dU=22,$U=23,pU=24,QU=25,mU=26,gU=27,PU=28,SU=29,bU=30,XU=31,yU=32,xU=33,wU=34,kU=35,TU=36,vU=37,_U=38,RU=39,YU=40,ZU=41,zU=42,qU=43,UU=44,VU=45,WU=46,jU=47,CU=48,EU=49,GU=50,AU=51,NU=52,IU=53,LU=54,DU=55,MU=56,BU=57,FU=58,HU=59,KU=60,JU=61,eV=62,mc=63,tV=64,iV=65,nV=66,OV={abstract:Hq,and:Kq,array:Jq,as:eU,true:pQ,false:pQ,break:tU,case:iU,catch:nU,clone:OU,const:rU,continue:aU,declare:sU,default:oU,do:lU,echo:cU,else:uU,elseif:hU,enddeclare:fU,endfor:dU,endforeach:$U,endif:pU,endswitch:QU,endwhile:mU,enum:gU,extends:PU,final:SU,finally:bU,fn:XU,for:yU,foreach:xU,from:wU,function:kU,global:TU,goto:vU,if:_U,implements:RU,include:YU,include_once:ZU,instanceof:zU,insteadof:qU,interface:UU,list:VU,match:WU,namespace:jU,new:CU,null:EU,or:GU,print:AU,readonly:NU,require:IU,require_once:LU,return:DU,switch:MU,throw:BU,trait:FU,try:HU,unset:KU,use:JU,var:eV,public:mc,private:mc,protected:mc,while:tV,xor:iV,yield:nV,__proto__:null};function QQ(t){let e=OV[t.toLowerCase()];return e??-1}function mQ(t){return t==9||t==10||t==13||t==32}function dX(t){return t>=97&&t<=122||t>=65&&t<=90}function Cr(t){return t==95||t>=128||dX(t)}function gc(t){return t>=48&&t<=55||t>=97&&t<=102||t>=65&&t<=70}const rV={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},aV=new ke(t=>{if(t.next==40){t.advance();let e=0;for(;mQ(t.peek(e));)e++;let i="",n;for(;dX(n=t.peek(e));)i+=String.fromCharCode(n),e++;for(;mQ(t.peek(e));)e++;t.peek(e)==41&&rV[i.toLowerCase()]&&t.acceptToken(Iq)}else if(t.next==60&&t.peek(1)==60&&t.peek(2)==60){for(let n=0;n<3;n++)t.advance();for(;t.next==32||t.next==9;)t.advance();let e=t.next==39;if(e&&t.advance(),!Cr(t.next))return;let i=String.fromCharCode(t.next);for(;t.advance(),!(!Cr(t.next)&&!(t.next>=48&&t.next<=55));)i+=String.fromCharCode(t.next);if(e){if(t.next!=39)return;t.advance()}if(t.next!=10&&t.next!=13)return;for(;;){let n=t.next==10||t.next==13;if(t.advance(),t.next<0)return;if(n){for(;t.next==32||t.next==9;)t.advance();let O=!0;for(let r=0;r<i.length;r++){if(t.next!=i.charCodeAt(r)){O=!1;break}t.advance()}if(O)return t.acceptToken(Lq)}}}}),oV=new ke(t=>{t.next<0&&t.acceptToken(Fq)}),sV=new ke((t,e)=>{t.next==63&&e.canShift($Q)&&t.peek(1)==62&&t.acceptToken($Q)});function lV(t){let e=t.peek(1);if(e==110||e==114||e==116||e==118||e==101||e==102||e==92||e==36||e==34||e==123)return 2;if(e>=48&&e<=55){let i=2,n;for(;i<5&&(n=t.peek(i))>=48&&n<=55;)i++;return i}if(e==120&&gc(t.peek(2)))return gc(t.peek(3))?4:3;if(e==117&&t.peek(2)==123)for(let i=3;;i++){let n=t.peek(i);if(n==125)return i==2?0:i+1;if(!gc(n))break}return 0}const cV=new ke((t,e)=>{let i=!1;for(;!(t.next==34||t.next<0||t.next==36&&(Cr(t.peek(1))||t.peek(1)==123)||t.next==123&&t.peek(1)==36);i=!0){if(t.next==92){let n=lV(t);if(n){if(i)break;return t.acceptToken(Mq,n)}}else if(!i&&(t.next==91||t.next==45&&t.peek(1)==62&&Cr(t.peek(2))||t.next==63&&t.peek(1)==45&&t.peek(2)==62&&Cr(t.peek(3)))&&e.canShift(Bq))break;t.advance()}i&&t.acceptToken(Dq)}),uV=bt({"Visibility abstract final static":$.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":$.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":$.controlKeyword,"and or xor yield unset clone instanceof insteadof":$.operatorKeyword,"function fn class trait implements extends const enum global interface use var":$.definitionKeyword,"include include_once require require_once namespace":$.moduleKeyword,"new from echo print array list as":$.keyword,null:$.null,Boolean:$.bool,VariableName:$.variableName,"NamespaceName/...":$.namespace,"NamedType/...":$.typeName,Name:$.name,"CallExpression/Name":$.function($.variableName),"LabelStatement/Name":$.labelName,"MemberExpression/Name":$.propertyName,"MemberExpression/VariableName":$.special($.propertyName),"ScopedExpression/ClassMemberName/Name":$.propertyName,"ScopedExpression/ClassMemberName/VariableName":$.special($.propertyName),"CallExpression/MemberExpression/Name":$.function($.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":$.function($.propertyName),"MethodDeclaration/Name":$.function($.definition($.variableName)),"FunctionDefinition/Name":$.function($.definition($.variableName)),"ClassDeclaration/Name":$.definition($.className),UpdateOp:$.updateOperator,ArithOp:$.arithmeticOperator,"LogicOp IntersectionType/&":$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,ControlOp:$.controlOperator,AssignOp:$.definitionOperator,"$ ConcatOp":$.operator,LineComment:$.lineComment,BlockComment:$.blockComment,Integer:$.integer,Float:$.float,String:$.string,ShellExpression:$.special($.string),"=> ->":$.punctuation,"( )":$.paren,"#[ [ ]":$.squareBracket,"${ { }":$.brace,"-> ?->":$.derefOperator,", ; :: : \\":$.separator,"PhpOpen PhpClose":$.processingInstruction}),hV={__proto__:null,static:325,STATIC:325,class:351,CLASS:351},fV=St.deserialize({version:14,states:"%#[Q`OWOOQhQaOOP%oO`OOOOO#t'#Hh'#HhO%tO#|O'#DuOOO#u'#Dx'#DxQ&SOWO'#DxO&XO$VOOOOQ#u'#Dy'#DyO&lQaO'#D}O'[QdO'#EQO+QQdO'#IqO+_QdO'#ERO-RQaO'#EXO/bQ`O'#EUO/gQ`O'#E_O2UQaO'#E_O2]Q`O'#EgO2bQ`O'#EqO-RQaO'#EqO2mQpO'#FOO2rQ`O'#FOOOQS'#Iq'#IqO2wQ`O'#ExOOQS'#Ih'#IhO5SQdO'#IeO9UQeO'#F]O-RQaO'#FlO-RQaO'#FmO-RQaO'#FnO-RQaO'#FoO-RQaO'#FoO-RQaO'#FrOOQO'#Ir'#IrO9cQ`O'#FxOOQO'#Ht'#HtO9kQ`O'#HXO:VQ`O'#FsO:bQ`O'#HfO:mQ`O'#GPO:uQaO'#GQO-RQaO'#G`O-RQaO'#GcO;bOrO'#GfOOQS'#JP'#JPOOQS'#JO'#JOOOQS'#Ie'#IeO/bQ`O'#GmO/bQ`O'#GoO/bQ`O'#GtOhQaO'#GvO;iQ`O'#GwO;nQ`O'#GzO:]Q`O'#G}O;sQeO'#HOO;sQeO'#HPO;sQeO'#HQO;}Q`O'#HRO<SQ`O'#HTO<XQaO'#HUO>hQ`O'#HVO:]Q`O'#HWO>mQ`O'#HWO;}Q`O'#HXO:]Q`O'#HZO:]Q`O'#H[O:]Q`O'#H]O>rQ`O'#H`O>}Q`O'#HaO<XQaO'#HeOOQ#u'#Ic'#IcOOQ#u'#Hj'#HjQhQaOOO:]Q`O'#HYO:QQ`O'#HYO?]O#|O'#DsPOOO)CDT)CDTOOO#t-E;f-E;fOOO#u,5:d,5:dOOO#u'#Hi'#HiO&XO$VOOO?hQ$VO'#IbOOOO'#Ib'#IbQOOOOOOOQ#y,5:i,5:iO?oQaO,5:iOOQ#u,5:k,5:kO?vQaO,5:nO?}QaO,5;VO@UQpO,5;WOBsQaO'#EuOOQS,5;`,5;`OBzQ`O,5;pOOQP'#Fd'#FdO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xO-RQaO,5;xOOQ#u'#Iv'#IvOOQS,5<z,5<zOOQ#u,5:m,5:mODsQ`O,5:sODzQ`O'#FsOESQ`O'#FsOE[Q`O,5:pOEaQaO'#E`OOQS,5:y,5:yOGeQ`O'#IjO<XQaO'#EbO<XQaO'#IjOOQS'#Ij'#IjOGlQ`O'#IiOGtQ`O,5:yO/lQaO,5:yOGyQaO'#EhOOQS,5;R,5;ROOQS,5;],5;]OHTQ`O,5;]OHsQdO'#FQOJxQ`O'#HrO2mQpO,5;jOOQS,5;j,5;jOJ}QpO,5;jOKSQtO'#EQOKaQpO,5;dO2wQ`O'#E|OOQS'#E}'#E}OOQS'#Ip'#IpOKlQaO,5:xO-RQaO,5;uOOQS,5;w,5;wO-RQaO,5;wOKsQdO,5<WOLTQdO,5<XOLeQdO,5<YOLuQdO,5<ZON|QdO,5<ZO! TQdO,5<^O! eQ`O'#FyO! pQ`O'#IuO! xQ`O,5<dOOQO-E;r-E;rO! }Q`O'#I}O:]Q`O,5=rO!!VQ`O,5=rO;}Q`O,5=sO:]Q`O,5=wO:]Q`O,5=tO!![Q`O,5=tOOQS'#EQ'#EQO!!aQ`O'#FuO!!wQ`O,5<_O!#SQ`O,5<_O!#[Q`O,5?iO!#aQ`O,5<_O!#iQ`O,5<kO!#qQdO'#GYO!$PQdO'#I|O!$[QdO,5>QO!$dQ`O,5<kO!#[Q`O,5<kO!$lQdO,5<lO!$|Q`O,5<lO!%[Q`O,5<lO!%rQdO,5<zO!'wQdO,5<}O!(XOrO'#IPOOOQ'#JS'#JSO-RQaO'#GkOOOQ'#IP'#IPO!(yOrO,5=QOOQS,5=Q,5=QO!)QQaO,5=XO!)XQ`O,5=ZO!)aQeO,5=`O!)kQ`O,5=bO!)pQaO'#GxO!)aQeO,5=cO<XQaO'#G{O!)aQeO,5=fO!$[QdO,5=iO+_QdO,5=jOOQ#u,5=j,5=jO+_QdO,5=kOOQ#u,5=k,5=kO+_QdO,5=lOOQ#u,5=l,5=lO!)wQ`O,5=mO:]Q`O,5=oO!*PQdO'#JUOOQS'#JU'#JUO!$[QdO,5=pO!+iQaO,5=qO!-xQ`O'#GWO!-}QdO'#I{O!$[QdO,5=rOOQ#u,5=s,5=sO!.YQ`O,5=uO!.]Q`O,5=vO!.bQ`O,5=wO!.mQdO,5=zOOQ#u,5=z,5=zO2mQpO,5={O!.xQ`O,5={O!.}QdO'#JVO!$[QdO,5={O!/]Q`O,5={O!/eQdO'#IgO!$[QdO,5>POOQ#u-E;h-E;hO!1QQ`O,5=tOOO#u,5:_,5:_O!1]O#|O,5:_OOO#u-E;g-E;gOOOO,5>|,5>|OOQ#y1G0T1G0TO!1eQ`O1G0YO-RQaO1G0YO!2wQ`O1G0qOOQS1G0q1G0qOOQS'#Eo'#EoOOQS'#Il'#IlO-RQaO'#IlOOQS1G0r1G0rO!4ZQ`O'#IoO!5pQ`O'#IqO!5}QaO'#EwOOQO'#Io'#IoO!6XQ`O'#InO!6aQ`O,5;aO-RQaO'#FXOOQS'#FW'#FWOOQS1G1[1G1[O!6fQdO1G1dO!8kQdO1G1dO!:WQdO1G1dO!;sQdO1G1dO!=`QdO1G1dO!>{QdO1G1dO!@hQdO1G1dO!BTQdO1G1dO!CpQdO1G1dO!E]QdO1G1dO!FxQdO1G1dO!HeQdO1G1dO!JQQdO1G1dO!KmQdO1G1dO!MYQdO1G1dO!NuQdO1G1dOOQT1G0_1G0_O!#[Q`O,5<_O#!bQaO'#EYOOQS1G0[1G0[O#!iQ`O,5:zOEdQaO,5:zO#!nQaO,5;OO#!uQdO,5:|O#$tQdO,5?UO#&sQaO'#HmO#'TQ`O,5?TOOQS1G0e1G0eO#']Q`O1G0eO#'bQ`O'#IkO#(zQ`O'#IkO#)SQ`O,5;SOG|QaO,5;SOOQS1G0w1G0wOOQO,5>^,5>^OOQO-E;p-E;pOOQS1G1U1G1UO#)pQdO'#FQO#+uQ`O'#HsOJ}QpO1G1UO2wQ`O'#HpO#+zQtO,5;eO2wQ`O'#HqO#,iQtO,5;gO#-WQaO1G1OOOQS,5;h,5;hO#/gQtO'#FQO#/tQdO1G0dO-RQaO1G0dO#1aQdO1G1aO#2|QdO1G1cOOQO,5<e,5<eO#3^Q`O'#HuO#3lQ`O,5?aOOQO1G2O1G2OO:]Q`O,5?iO!$[QdO1G3^O:]Q`O1G3^OOQ#u1G3_1G3_O#3tQ`O1G3cO!1QQ`O1G3`O:]Q`O1G3`O#4PQpO'#FvO#4_Q`O'#FvO#4oQ`O'#FvO#4zQ`O'#FvO#5SQ`O'#FzO#5XQ`O'#F{OOQO'#It'#ItO#5`Q`O'#IsO#5hQ`O,5<aOOQS1G1y1G1yO2wQ`O1G1yO#5mQ`O1G1yO#5rQ`O1G1yO!#[Q`O1G5TO#5}QdO1G5TO!#[Q`O1G1yO#6]Q`O1G2VO!#[Q`O1G2VO<XQaO,5<tO#6eQdO'#H}O#6sQdO,5?hOOQ#u1G3l1G3lO-RQaO1G2VO2wQ`O1G2VO#7OQdO1G2WO9cQ`O'#GSO9cQ`O'#GTO#9bQ`O'#GUOOQS1G2W1G2WO!.]Q`O1G2WO!1TQ`O1G2WO!1QQ`O1G2WO!$|Q`O1G2WO:]O`O,5=RO#:[O`O,5=RO#:gO!bO,5=SO#:uQ`O,5=VOOOQ-E;}-E;}OOQS1G2l1G2lO#:|QaO'#GnO#;gQ$VO1G2sO#@gQ`O1G2sO#@rQ`O'#GpO#@}Q`O'#GsOOQ#u1G2u1G2uO#AYQ`O1G2uOOQ#u'#Gu'#GuOOQ#u'#JT'#JTOOQ#u1G2z1G2zO#A_Q`O1G2zO/bQ`O1G2|O#AdQaO,5=dO#AkQ`O,5=dOOQ#u1G2}1G2}O#ApQ`O1G2}O#AuQ`O,5=gOOQ#u1G3Q1G3QO#CXQ`O1G3QOOQ#u1G3T1G3TOOQ#u1G3U1G3UOOQ#u1G3V1G3VOOQ#u1G3W1G3WO#C^Q`O'#IUO;}Q`O'#IUO#CcQ$VO1G3XO#HiQ`O1G3ZO<XQaO'#ITO#HnQdO,5=eOOQ#u1G3[1G3[O#HyQ`O1G3]O<XQaO,5<rO#IOQdO'#H|O#I^QdO,5?gOOQ#u1G3^1G3^OOQ#u1G3a1G3aO!.]Q`O1G3aOOQ#u1G3b1G3bO#IiQ`O'#H^OOQ#u1G3c1G3cO#JfQ`O1G3cO#JkQ`O1G3cOOQ#u1G3f1G3fO#J|Q`O1G3gO#KRQpO1G3gO#KZQdO'#IWO#KlQdO,5?qO:]Q`O,5?qOOQ#u1G3g1G3gO2mQpO1G3gO#KwQ`O1G3gO!$[QdO1G3gO#K|QeO'#HkO#L^QdO,5?ROOQ#u1G3k1G3kOOQ#u1G3`1G3`O!.]Q`O1G3`O!1TQ`O1G3`OOO#u1G/y1G/yO-RQaO7+%tO#LlQdO7+%tOOQS7+&]7+&]O#NXQ`O,5?WO!+iQaO,5;bO#N`Q`O,5;cO$ uQaO'#HoO$!PQ`O,5?YOOQS1G0{1G0{O$!XQ`O,5;sO$!`Q`O'#EZO$!eQ`O'#IfO$!mQ`O,5:tOOQS1G0f1G0fO$!rQ`O1G0fO$!wQ`O1G0jO<XQaO1G0jOOQO,5>X,5>XOOQO-E;k-E;kOOQS7+&P7+&PO!+iQaO,5;TO$$^QaO'#HnO$$hQ`O,5?VOOQS1G0n1G0nO$$pQ`O1G0nPOQO'#FQ'#FQOOQO,5>_,5>_OOQO-E;q-E;qOOQS7+&p7+&pOOQS,5>[,5>[OOQS-E;n-E;nO$$uQtO,5>]OOQS-E;o-E;oO$%dQdO7+&jO$'iQtO'#FQO$'vQdO7+&OOOQS1G0j1G0jOOQO,5>a,5>aOOQO-E;s-E;sOOQ#u7+(x7+(xO!$[QdO7+(xOOQ#u7+(}7+(}O#JfQ`O7+(}O#JkQ`O7+(}OOQ#u7+(z7+(zO!.]Q`O7+(zO!1TQ`O7+(zO!1QQ`O7+(zO$)cQ`O,5<bO$)mQ`O,5<bO$)xQ`O,5<fO$)}QpO,5<bO$*]Q`O,5<bO!+iQaO,5<bOOQO,5<f,5<fO$*eQpO,5<gO$*pQ`O,5<gO$+OQ`O'#HwO$+iQ`O,5?_OOQS1G1{1G1{O$+qQpO7+'eO$+|Q`O'#GOO$,XQ`O7+'eOOQS7+'e7+'eO2wQ`O7+'eO#5mQ`O7+'eO$,aQdO7+*oO2wQ`O7+*oO$,oQ`O7+'eO-RQaO7+'qO2wQ`O7+'qO$,zQ`O7+'qO$-SQdO1G2`OOQS,5>i,5>iOOQS-E;{-E;{O$.lQdO7+'qO$.|QpO7+'qO$/XQdO'#IxOOQO,5<n,5<nOOQO,5<o,5<oO$/jQpO'#GXO$/uQ`O'#GXOOQO'#Iz'#IzOOQO'#H{'#H{O$0iQ`O'#GXO#JkQ`O'#GVO$1YQdO'#GXO!.mQdO'#GZO9cQ`O'#G[OOQO'#Iy'#IyOOQO'#Hz'#HzO$1eQ`O,5<pOOQ#y,5<p,5<pOOQS7+'r7+'rO!.]Q`O7+'rO!1TQ`O7+'rO!1QQ`O7+'rOOOQ1G2m1G2mO:]O`O1G2mO$2_O!bO1G2nO$2mO`O'#GiO$2rO`O1G2nOOOQ1G2q1G2qO$2wQaO,5=YO/bQ`O'#IQO$3bQ$VO7+(_OhQaO7+(_O/bQ`O'#IRO$8bQ`O7+(_O!$[QdO7+(_O$8mQ`O7+(_O$8rQaO'#GqO$;RQ`O'#GrOOQO'#IS'#ISO$;ZQ`O,5=[OOQ#u,5=[,5=[O$;fQ`O,5=_O!$[QdO7+(aO!$[QdO7+(fO!$[QdO7+(hO$;qQaO1G3OO$;xQ`O1G3OO$;}QaO1G3OO!$[QdO7+(iO<XQaO1G3RO!$[QdO7+(lO2wQ`O'#HSO;}Q`O,5>pOOQ#u,5>p,5>pOOQ#u-E<S-E<SO$<UQaO7+(uO$<mQdO,5>oOOQS-E<R-E<RO!$[QdO7+(wO$>VQdO1G2^OOQS,5>h,5>hOOQS-E;z-E;zOOQ#u7+({7+({O$?oQ`O'#GXO:]Q`O'#H_OOQO'#IV'#IVO$@fQ`O,5=xOOQ#u,5=x,5=xO$AcQ!bO'#EQO$AzQ!bO7+(}O$BYQpO7+)RO#KRQpO7+)RO$BbQ`O'#HbO!$[QdO7+)RO$BpQdO,5>rOOQS-E<U-E<UO$COQdO1G5]O$CZQ`O7+)RO#KRQpO7+)ROOQ#u7+)R7+)RO$C`QdO,5>VOOQS-E;i-E;iO$D{QdO<<I`OOQS1G4r1G4rO$FhQ`O1G0|OOQO,5>Z,5>ZOOQO-E;m-E;mOOQS1G1_1G1_O$8rQaO,5:uO$G}QaO'#HlO$H[Q`O,5?QOOQS1G0`1G0`OOQS7+&Q7+&QO$HdQ`O7+&UO$IyQ`O1G0oO$K`Q`O,5>YOOQO,5>Y,5>YOOQO-E;l-E;lOOQS7+&Y7+&YOOQS7+&U7+&UOOQ#u<<Ld<<LdOOQ#u<<Li<<LiO$AzQ!bO<<LiOOQ#u<<Lf<<LfO!.]Q`O<<LfO!1TQ`O<<LfO$LxQ`O1G1|O$MTQ`O1G2QO!+iQaO1G1|OOQO1G2Q1G2QO$MYQ`O1G1|O$MdQ`O1G1|O$NyQ`O1G2RO% XQ`O'#F|O!+iQaO1G2ROOQO1G2R1G2ROOQO,5>c,5>cOOQO-E;u-E;uOOQS<<KP<<KPO% aQ`O'#IwO% iQ`O'#IwO% nQ`O,5<jO2wQ`O<<KPO$+qQpO<<KPO% sQ`O<<KPO2wQ`O<<NZO% {QtO<<NZO#5mQ`O<<KPO%!^QdO<<K]O%!nQpO<<K]O-RQaO<<K]O2wQ`O<<K]O%!yQdO'#HyO%#bQdO,5?dO$1YQdO,5<sO$/jQpO,5<sO%#sQ`O,5<sO#JkQ`O,5<qO!.mQdO,5<uOOQO-E;y-E;yO%$dQ!bO,5<qO%$oQ!bO'#IqO!$[QdO,5<qOOQO,5<s,5<sOOQO,5<u,5<uO%$}QdO,5<vOOQO-E;x-E;xOOQ#y1G2[1G2[OOQS<<K^<<K^O!.]Q`O<<K^O!1TQ`O<<K^OOOQ7+(X7+(XO%%YO`O7+(YOOOO,5=T,5=TOOOQ7+(Y7+(YOhQaO,5>lOOQ#u-E<O-E<OOhQaO<<KyOOQ#u<<Ky<<KyO$8mQ`O,5>mOOQO-E<P-E<PO!$[QdO<<KyO$8mQ`O<<KyO%%_Q`O<<KyO%%dQ`O,5=]O%&yQaO,5=^OOQO-E<Q-E<QOOQ#u1G2v1G2vOOQ#u<<K{<<K{OOQ#u<<LQ<<LQOOQ#u<<LS<<LSOOQT7+(j7+(jO%'ZQ`O7+(jO%'`QaO7+(jO%'gQ`O7+(jOOQ#u<<LT<<LTO%'lQ`O7+(mO%)RQ`O7+(mOOQ#u<<LW<<LWO%)WQpO,5=nOOQ#u1G4[1G4[O%)fQ`O<<LaOOQ#u<<Lc<<LcO:]Q`O,5=yO%)kQdO,5=yOOQO-E<T-E<TOOQ#u1G3d1G3dO%)vQ!bO,5;eO%*XQ!bO,5;gO#JfQ`O<<LiO%*jQ!bO'#FQP%+OQpO<<LmO!$[QdO<<LmO%+WQ`O'#HcO9cQ`O'#HcO%+cQ`O'#JWO%+kQ`O,5=|OOQ#u<<Lm<<LmO:]Q`O1G4^O%+pQdO7+*wO$BYQpO<<LmO#KRQpO<<LmO%+{Q`O1G0aOOQO,5>W,5>WOOQO-E;j-E;jO!+iQaO,5;UOOQ#uANBTANBTO#JfQ`OANBTOOQ#uANBQANBQO!.]Q`OANBQO!+iQaO7+'hOOQO7+'l7+'lO%-bQ`O7+'hO%.wQ`O7+'hO%/SQ`O7+'lO!+iQaO7+'mOOQO7+'m7+'mO%/XQdO'#F}OOQO'#Hv'#HvO%/jQ`O,5<hOOQO,5<h,5<hO%/rQ`O7+'mO%1XQ`O'#HxO%1gQ`O,5?cO%1gQ`O,5?cOOQO1G2U1G2UO$+qQpOAN@kOOQSAN@kAN@kO2wQ`OAN@kO%1oQtOANCuO%2QQ`OAN@kO-RQaOAN@wO%2YQdOAN@wO%2jQpOAN@wOOQS,5>e,5>eOOQS-E;w-E;wOOQO1G2_1G2_O$1YQdO1G2_O$/jQpO1G2_O#JkQ`O1G2]O!.mQdO1G2aO%$dQ!bO1G2]O!$[QdO1G2]OOQO1G2a1G2aOOQO1G2]1G2]O%2uQaO'#G]OOQO1G2b1G2bOOQSAN@xAN@xO!.]Q`OAN@xOOOQ<<Kt<<KtOOQ#u1G4W1G4WOOQ#uANAeANAeOOQO1G4X1G4XO%4tQ`OANAeO!$[QdOANAeO%4yQaO1G2wO%5ZQaO1G2xOOQT<<LU<<LUO%5kQ`O<<LUO%5pQaO<<LUO-RQaO,5=hOOQT<<LX<<LXOOQO1G3Y1G3YO%5wQ`O1G3YO!)aQeOANA{O%5|QdO1G3eOOQO1G3e1G3eO%6XQ`O1G3eO%6aQ!bO,5>]O%6rQ!bO'#FQO!$[QdOANBXOOQ#uANBXANBXO:]Q`O,5=}O%7WQ`O,5=}O%7cQ`O'#IXO%7wQ`O,5?rOOQS1G3h1G3hOOQS7+)x7+)xP%+OQpOANBXO%8PQ`O1G0pOOQ#uG27oG27oOOQ#uG27lG27lO%9fQ`O<<KSO!+iQaO<<KSOOQO<<KW<<KWO%:{Q`O<<KXOOQO,5<i,5<iO-RQaO,5<iO%<bQ`O,5<iOOQO-E;t-E;tOOQO1G2S1G2SOOQO,5>d,5>dO%<jQ`O,5>dOOQO-E;v-E;vO%<oQ`O1G4}OOQSG26VG26VO$+qQpOG26VO2wQ`OG26VO%<wQdOG26cO-RQaOG26cOOQO7+'y7+'yO$1YQdO7+'yO%$dQ!bO7+'wO!$[QdO7+'wOOQO7+'{7+'{OOQO7+'w7+'wO%=XQ`OLD+}O%>hQ`O'#IqO%>rQ`O'#IhO!$[QdO'#IOO%@lQaO,5<wOOQO,5<w,5<wOOQSG26dG26dO!$[QdOG27POOQ#uG27PG27PO%BkQaO7+(cOOQTANApANApO%B{Q`OANApO%CQQ`O1G3SOOQO7+(t7+(tOOQ#uG27gG27gO%CXQ`OG27gOOQO7+)P7+)PO%C^Q`O7+)PO!$[QdO7+)POOQ#uG27sG27sOOQO1G3i1G3iO:]Q`O1G3iO%CfQ`O'#HdO9cQ`O'#HdOOQO,5>s,5>sOOQO-E<V-E<VP!$[QdOG27sO%CqQ`OAN@nO+_QdO1G2TOOQO1G2T1G2TO-RQaO1G2TOOQO1G4O1G4OOOQSLD+qLD+qO$+qQpOLD+qO%EWQdOLD+}OOQO<<Ke<<KeO!$[QdO<<KcOOQO<<Kc<<KcO:]Q`O,5<xO%EhQ`O,5<yOOQP,5>j,5>jOOQP-E;|-E;|OOQO1G2c1G2cOOQ#uLD,kLD,kOOQTG27[G27[O!$[QdOLD-RO!$[QdO<<LkOOQO<<Lk<<LkOOQO7+)T7+)TO:]Q`O,5>OO%EpQ`O,5>OPOQ#uLD-_LD-_OOQO7+'o7+'oO+_QdO7+'oOOQS!$( ]!$( ]OOQOAN@}AN@}OOQS1G2d1G2dOOQS1G2e1G2eO%E{QdO1G2eOOQ#u!$(!m!$(!mOOQOANBVANBVOOQO1G3j1G3jO:]Q`O1G3jOOQO<<KZ<<KZOOQS7+(P7+(POOQO7+)U7+)UO%FWQpO'#FOO%F]QpO'#FOO%FWQpO,5;jO%F]QpO,5;jO%FbQpO,5;jO%FgQpO,5;jO#JkQ`O'#E|O%FlQdO,5<lO%HbQaO,5;OO%FbQpO1G1UO%FgQpO1G1UO#JkQ`O'#HpO#JkQ`O'#HqO-RQaO1G0jO%HiQ`O'#FOO%HnQ`O'#FOO%HsQaO'#GQO#-WQaO'#G`O#-WQaO'#GcO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO#-WQaO,5;xO%H}QdO'#IjO%JmQdO'#IjO#-WQaO'#EbO#-WQaO'#IjO%LrQaO,5:xO#-WQaO,5;uO#-WQaO,5;wO%LyQdO,5<WO%NoQdO,5<XO&!eQdO,5<YO&$ZQdO,5<ZO&&PQdO,5<ZO&&aQdO,5<^O&(VQdO,5<}O#-WQaO1G0YO&){QdO1G1dO&+qQdO1G1dO&-gQdO1G1dO&/]QdO1G1dO&1RQdO1G1dO&2wQdO1G1dO&4mQdO1G1dO&6cQdO1G1dO&8XQdO1G1dO&9}QdO1G1dO&;sQdO1G1dO&=iQdO1G1dO&?_QdO1G1dO&ATQdO1G1dO&ByQdO1G1dO&DoQdO,5:|O&FeQdO,5?UO&HZQdO1G0dO#-WQaO1G0dO&JPQdO1G1aO&KuQdO1G1cO#-WQaO1G2VO#-WQaO7+%tO&MkQdO7+%tO' aQdO7+&OO#-WQaO7+'qO'#VQdO7+'qO'${QdO<<I`O'&qQdO<<K]O#-WQaO<<K]O#-WQaOAN@wO'(gQdOAN@wO'*]QdOG26cO#-WQaOG26cO',RQdOLD+}O'-wQaO,5;OO'/vQaO1G0jO'1rQdO'#IeO'2PQeO'#F]O'5vQeO'#F]O#-WQaO'#FlO'/vQaO'#FlO#-WQaO'#FmO'/vQaO'#FmO#-WQaO'#FnO'/vQaO'#FnO#-WQaO'#FoO'/vQaO'#FoO#-WQaO'#FoO'/vQaO'#FoO#-WQaO'#FrO'/vQaO'#FrO'9|QaO,5:nO':TQ`O,5<kO':]Q`O1G0YO'/vQaO1G1OO';oQ`O1G2VO';wQ`O7+'qO'<PQpO7+'qO'<[QpO<<K]O'<gQpOAN@wO'<rQaO'#GQO'/vQaO'#G`O'/vQaO'#GcO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO,5;xO'/vQaO'#EbO'/vQaO'#IjO'>tQaO,5:xO'/vQaO,5;uO'/vQaO,5;wO'@sQdO,5<WO'BxQdO,5<XO'D}QdO,5<YO'GSQdO,5<ZO'IXQdO,5<ZO'IxQdO,5<^O'K}QdO,5<}O'/vQaO1G0YO'NSQdO1G1dO(!XQdO1G1dO($^QdO1G1dO(&cQdO1G1dO((hQdO1G1dO(*mQdO1G1dO(,rQdO1G1dO(.wQdO1G1dO(0|QdO1G1dO(3RQdO1G1dO(5WQdO1G1dO(7]QdO1G1dO(9bQdO1G1dO(;gQdO1G1dO(=lQdO1G1dO(?qQdO,5:|O(AvQdO,5?UO(C{QdO1G0dO'/vQaO1G0dO(FQQdO1G1aO(HVQdO1G1cO'/vQaO1G2VO'/vQaO7+%tO(J[QdO7+%tO(LaQdO7+&OO'/vQaO7+'qO(NfQdO7+'qO)!kQdO<<I`O)$pQdO<<K]O'/vQaO<<K]O'/vQaOAN@wO)&uQdOAN@wO)(zQdOG26cO'/vQaOG26cO)+PQdOLD+}O)-UQaO,5;OO#-WQaO1G0jO)-]Q`O'#GPO)-eQpO,5;dO)-pQ`O,5<kO!#[Q`O,5<kO!#[Q`O1G2VO2wQ`O1G2VO2wQ`O7+'qO2wQ`O<<K]O)-xQdO,5<lO)/}QdO'#IjO)1vQdO'#IeO)2dQaO,5:nO)2kQ`O,5<kO)2sQ`O1G0YO)4VQ`O1G2VO)4_Q`O7+'qO)4gQpO7+'qO)4rQpO<<K]O)4}QpOAN@wO2wQ`O'#ExO<XQaO'#FlO<XQaO'#FmO<XQaO'#FnO<XQaO'#FoO<XQaO'#FoO<XQaO'#FrO)5YQaO'#GQO<XQaO'#G`O<XQaO'#GcO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO<XQaO,5;xO)5dQ`O'#FsO-RQaO'#EbO-RQaO'#IjO)5lQaO,5:xO<XQaO,5;uO<XQaO,5;wO)5sQdO,5<WO)7rQdO,5<XO)9qQdO,5<YO);pQdO,5<ZO)=oQdO,5<ZO)>YQdO,5<^O)@XQdO,5<lO)BWQdO,5<}O)DVQ`O'#JUO)ElQ`O'#IgO<XQaO1G0YO)GRQdO1G1dO)IQQdO1G1dO)KPQdO1G1dO)MOQdO1G1dO)N}QdO1G1dO*!|QdO1G1dO*${QdO1G1dO*&zQdO1G1dO*(yQdO1G1dO**xQdO1G1dO*,wQdO1G1dO*.vQdO1G1dO*0uQdO1G1dO*2tQdO1G1dO*4sQdO1G1dO*6rQaO,5;OO*6yQdO,5:|O*7ZQdO,5?UO*7kQaO'#HmO*7{Q`O,5?TO*8TQdO1G0dO<XQaO1G0dO*:SQdO1G1aO*<RQdO1G1cO<XQaO1G2VO!+iQaO'#ITO*>QQ`O,5=eO*>YQaO'#HkO*>dQ`O,5?RO<XQaO7+%tO*>lQdO7+%tO*@kQ`O1G0jO!+iQaO1G0jO*BQQdO7+&OO<XQaO7+'qO*DPQdO7+'qO*FOQ`O,5>oO*GeQ`O,5>VO*HzQdO<<I`O*JyQ`O7+&UO*L`QdO<<K]O<XQaO<<K]O<XQaOAN@wO*N_QdOAN@wO+!^QdOG26cO<XQaOG26cO+$]QdOLD+}O+&[QaO,5;OO<XQaO1G0jO+&cQdO'#IjO+'PQ`O'#GPO+'XQ`O,5<kO!#[Q`O,5<kO!#[Q`O1G2VO2wQ`O1G2VO2wQ`O7+'qO2wQ`O<<K]O+'aQdO'#IeO+'}QeO'#F]O+(nQeO'#F]O+*jQaO'#F]O+,SQaO'#F]O!+iQaO'#FlO!+iQaO'#FmO!+iQaO'#FnO!+iQaO'#FoO!+iQaO'#FoO!+iQaO'#FrO+-rQaO'#GQO!+iQaO'#G`O!+iQaO'#GcO+-|QaO,5:nO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO!+iQaO,5;xO+.TQ`O'#IjO$8rQaO'#EbO+/mQaOG26cO$8rQaO'#IjO+1iQ`O'#IiO+1qQaO,5:xO!+iQaO,5;uO!+iQaO,5;wO+1xQ`O,5<WO+3_Q`O,5<XO+4tQ`O,5<YO+6ZQ`O,5<ZO+7pQ`O,5<ZO+9VQ`O,5<^O+:lQ`O,5<kO+:tQ`O,5<lO+<ZQ`O,5<}O+=pQ`O1G0YO!+iQaO1G0YO+?SQ`O1G1dO+@iQ`O1G1dO+BOQ`O1G1dO+CeQ`O1G1dO+DzQ`O1G1dO+FaQ`O1G1dO+GvQ`O1G1dO+I]Q`O1G1dO+JrQ`O1G1dO+LXQ`O1G1dO+MnQ`O1G1dO, TQ`O1G1dO,!jQ`O1G1dO,$PQ`O1G1dO,%fQ`O1G1dO,&{Q`O1G0dO!+iQaO1G0dO,(bQ`O1G1aO,)wQ`O1G1cO,+^Q`O1G2VO$8rQaO,5<tO!+iQaO1G2VO!+iQaO7+%tO,+fQ`O7+%tO,,{Q`O7+&OO!+iQaO7+'qO,.bQ`O7+'qO,.jQ`O7+'qO,0PQpO7+'qO,0[Q`O<<I`O,1qQ`O<<K]O,3WQpO<<K]O!+iQaO<<K]O!+iQaOAN@wO,3cQ`OAN@wO,4xQpOAN@wO,5TQ`OG26cO!+iQaOG26cO,6jQ`OLD+}O,8PQaO,5;OO!+iQaO1G0jO,8WQ`O'#IjO$8rQaO'#FlO$8rQaO'#FmO$8rQaO'#FnO$8rQaO'#FoO$8rQaO'#FoO+/mQaO'#FoO$8rQaO'#FrO,9pQaO'#GQO,9zQaO'#GQO$8rQaO'#G`O+/mQaO'#G`O$8rQaO'#GcO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO$8rQaO,5;xO+/mQaO,5;xO,;|Q`O'#FsO!+iQaO'#EbO!+iQaO'#IjO,<UQaO,5:xO,<]QaO,5:xO$8rQaO,5;uO+/mQaO,5;uO$8rQaO,5;wO,>[QdO,5<WO,?}QdO,5<XO,ApQdO,5<YO,CcQdO,5<ZO,EUQdO,5<ZO,FwQ`O,5<ZO,HWQdO,5<^O,IyQdO,5<lO%=XQ`O,5<lO,KlQdO,5<}O$8rQaO1G0YO+/mQaO1G0YO,M_QdO1G1dO- QQ`O1G1dO-!aQdO1G1dO-$SQ`O1G1dO-%cQdO1G1dO-'UQ`O1G1dO-(eQdO1G1dO-*WQ`O1G1dO-+gQdO1G1dO--YQ`O1G1dO-.iQdO1G1dO-0[Q`O1G1dO-1kQdO1G1dO-3^Q`O1G1dO-4mQdO1G1dO-6`Q`O1G1dO-7oQdO1G1dO-9bQ`O1G1dO-:qQdO1G1dO-<dQ`O1G1dO-=sQdO1G1dO-?fQ`O1G1dO-@uQdO1G1dO-BhQ`O1G1dO-CwQdO1G1dO-EjQ`O1G1dO-FyQdO1G1dO-HlQ`O1G1dO-I{QdO1G1dO-KnQ`O1G1dO-L}Q`O,5:|O-NdQ`O,5?UO. yQdO1G0dO.#lQ`O1G0dO$8rQaO1G0dO+/mQaO1G0dO.${QdO1G1aO.&nQ`O1G1aO.'}QdO1G1cO$8rQaO1G2VO$8rQaO7+%tO+/mQaO7+%tO.)pQdO7+%tO.+cQ`O7+%tO.,rQdO7+&OO..eQ`O7+&OO$8rQaO7+'qO./tQdO7+'qO.1gQdO<<I`O.3YQ`O<<I`O.4iQdO<<K]O$8rQaO<<K]O$8rQaOAN@wO.6[QdOAN@wO.7}QdOG26cO$8rQaOG26cO.9pQdOLD+}O.;cQaO,5;OO.;jQaO,5;OO$8rQaO1G0jO+/mQaO1G0jO.=iQ`O'#IjO.>{QdO'#IjO.BbQ`O'#IeO.BoQ`O'#GPO.BwQaO,5:nO.COQ`O,5<kO.CWQdO'#GYO.CiQ`O,5<kO!#[Q`O,5<kO.CqQ`O1G0YO.ETQdO,5:|O.FvQdO,5?UO.HiQ`O1G2VO!#[Q`O1G2VO.HqQdO'#H}O.ISQdO,5?hO2wQ`O1G2VO2wQ`O7+'qO.IbQ`O7+'qO.IjQdO1G2`O.KVQpO7+'qO.KbQpO<<K]O2wQ`O<<K]O.KmQpOAN@wO.KxQdO'#IeO.LcQ`O'#IeO.NVQaO,5:nO.N^QaO,5:nO.NeQ`O,5<kO.NmQ`O7+'qO.NuQ`O1G0YO/!XQ`O1G0YO/#kQ`O1G2VO/#sQ`O7+'qO/#{QpO7+'qO/$WQpOAN@wO/$cQpO<<K]O/$nQpOAN@wO/$yQ`O'#GPO/%RQ`O'#FsO/%ZQ`O,5<kO/%cQdO'#I|O!#[Q`O,5<kO!#[Q`O1G2VO2wQ`O1G2VO2wQ`O7+'qO2wQ`O<<K]O/%qQ`O'#GPO/%yQ`O,5<kO/&RQ`O,5<kO!#[Q`O,5<kO!#[Q`O1G2VO!#[Q`O1G2VO2wQ`O1G2VO2wQ`O<<K]O2wQ`O7+'qO2wQ`O<<K]O/&ZQ`O'#FsO/&cQ`O'#FsO/&kQ`O'#Fs",stateData:"/'Q~O!eOS!fOS'SOS!hQQ~O!jTO'TRO~OPgOQ|OS!lOU_OW}OX!XO[mO]!_O^!WO`![Oa!SOb!]Ok!dOm!lOowOp!TOq!UOsuOt!gOu!VOv!POxkOykO|!bO}aO!O^O!P!eO!QxO!R}O!TpO!VlO!WlO!X!YO!Y!QO!ZzO![!cO!]!ZO!^!^O!_!fO!a!`O!b!RO!djO!nWO!pXO!z]O#X`O#dhO#fbO#gcO#sdO$[oO$dnO$eoO$hqO$krO$u!kO%TyO%U!OO%W}O%X}O%`|O'WYO'u{O~O!h!mO~O'TRO!j!iX&|!iX'Q!iX~O!j!pO~O!e!qO!f!qO!h!mO'Q!tO'S!qO~PhO!o!vO~PhO!n!tX#T!tX#s#vX'P!tX!y!tX#P!tX!p!tX~OT!tXz!tX!S!tX!c!tX!r!tX!w!tX!z!tX#X!tX#a!tX#b!tX#y!tX$R!tX$S!tX$T!tX$U!tX$V!tX$X!tX$Y!tX$Z!tX$[!tX$]!tX$^!tX$_!tX%T!tX#O!tX#Y!tX!o!tXV!tX#|!tX$O!tXw!tX{!tX~P&sOT'eXz'eX!S'eX!c'eX!w'eX!z'eX#T'eX#X'eX#a'eX#b'eX#y'eX$R'eX$S'eX$T'eX$U'eX$V'eX$X'eX$Y'eX$Z'eX$['eX$]'eX$^'eX$_'eX%T'eX~O!r!xO!n'eX'P'eX~P)dOT#SOz#QO!S#TO!c#UO!n#bO!w!yO!z!|O#T#PO#X!zO#a!{O#b!{O#y#OO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO'P#bO~OPgOQ|OU_OW}O[mOowOs#fOxkOykO}aO!O^O!QxO!R}O!TpO!VlO!WlO!ZzO!djO!z]O#X`O#dhO#fbO#gcO#sdO$[oO$dnO$eoO$hqO%TyO%U!OO%W}O%X}O%`|O'WYO'u{O~O!z]O~O!z#iO~OP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#T#mO#V#lO#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{O#Y']P~O#O#qO~P/lO!z#rO~O#d#tO#fbO#gcO~O'a#vO~O#s#zO~OU$OO!R$OO!w#}O#s3hO'W#{O~OT'XXz'XX!S'XX!c'XX!n'XX!w'XX!z'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX'P'XX!y'XX!o'XX~O#|$QO$O$RO~P3YOP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{OT$PXz$PX!S$PX!c$PX!n$PX!w$PX#a$PX#b$PX#y$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX'P$PX!y$PX!o$PX~Or$TO#T8eO#V8dO~P5^O#sdO'WYO~OS$fO]$aOk$dOm$fOs$`O!a$bO$krO$u$eO~O!z$hO#T$jO'W$gO~Oo$mOs$lO#d$nO~O!z$hO#T$rO~O!U$uO$u$tO~P-ROR${O!p$zO#d$yO#g$zO&}${O~O't$}O~P;PO!z%SO~O!z%UO~O!n#bO'P#bO~P-RO!pXO~O!z%`O~OP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{O~O!z%dO~O]$aO~O!pXO#sdO'WYO~O]%rOs%rO#s%nO'WYO~O!j%wO'Q%wO'TRO~O'Q%zO~PhO!o%{O~PhO!r%}O~P<XO#Y&PO~P<XO!p&SO#d&RO'a&QO~OPgOQ|OU_OW}O[:WOo?jOs#fOx:UOy:UO}aO!O^O!Q:[O!R}O!T:ZO!V:VO!W:VO!Z:^O!d:TO!z]O#V&WO#X`O#dhO#fbO#gcO#sdO$[:YO$d:XO$e:YO$hqO%T:]O%U!OO%W}O%X}O%`|O'WYO'u{O~O!y'bP~P@aO!p&[O#d&]O'W$gO~OT#SOz#QO!S#TO!c#UO!w!yO!z!|O#T#PO#X!zO#a!{O#b!{O#y#OO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO~O!y&oO~PCVO!z$hO#T&pO~Oo$mOs$lO~O!p&qO~O#O&tO#T=PO#V=OO!y']P~P<XOT8TOz8RO!S8UO!c8VO!w:_O!z!|O#T#PO#X!zO#a!{O#b!{O#y#OO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O'^X#Y'^X~O#P&uO~PEqO#O&xO#Y']X~O#Y&zO~O#O'PO!y'_P~P<XO!o'QO~PCVO!n#uX#T#uX#s#tX'P#uX!y#uX#P#uX!p#uX~OT#uXz#uX!S#uX!c#uX!w#uX!z#uX#X#uX#a#uX#b#uX#y#uX$R#uX$S#uX$T#uX$U#uX$V#uX$X#uX$Y#uX$Z#uX$[#uX$]#uX$^#uX$_#uX%T#uX#O#uX#Y#uX!o#uXV#uX!r#uX#|#uX$O#uXw#uX~PH[O#s'RO~O'a'UO~O#n!tX#V!tX#d!tX~P&sO!y']O#T'ZO#n'XO~O#T'aO~P-RO!n$`a'P$`a!y$`a!o$`a~PCVO!n$aa'P$aa!y$aa!o$aa~PCVO!n$ba'P$ba!y$ba!o$ba~PCVO!n$ca'P$ca!y$ca!o$ca~PCVO!z!|O#X!zO#a!{O#b!{O#y#OO%T#cOT$ca!S$ca!c$ca!n$ca!w$ca#T$ca$R$ca$S$ca$T$ca$U$ca$V$ca$X$ca$Y$ca$Z$ca$[$ca$]$ca$^$ca$_$ca'P$ca!y$ca!o$ca~Oz#QO~PMVO!n$fa'P$fa!y$fa!o$fa~PCVO!z!|O#O$mX#Y$mX~O#O'eO#Y'iX~O#Y'gO~O#T'hO'W$gO~O]'jO~O$u'nO~O!a'tO#T'rO#V'sO#d'qO$krO!y'gP~P2wO!_'zO!pXO!r'yO~O!z$hO'W$gO~O!z$hO~O!z$hO#T(OO~O!z$hO#T(QO~O#|(RO!n$|X#O$|X'P$|X~O#O(SO!n'pX'P'pX~O!n#bO'P#bO~O!r(WO#P(VO~O!n$ta'P$ta!y$ta!o$ta~PCVOl(YOw(ZO!p([O!z!|O~O$u(aO~O!z!|O#X!zO#a!{O#b!{O#y#OO~OT%Saz%Sa!S%Sa!c%Sa!n%Sa!w%Sa#T%Sa$R%Sa$S%Sa$T%Sa$U%Sa$V%Sa$X%Sa$Y%Sa$Z%Sa$[%Sa$]%Sa$^%Sa$_%Sa%T%Sa'P%Sa!y%Sa#O%Sa#P%Sa#Y%Sa!o%Sa!r%SaV%Sa#|%Sa$O%Sa!p%Sa~P!%aO!n%Va'P%Va!y%Va!o%Va~PCVO#X(dO#a(bO#b(bO'O(cOR&sX!p&sX#d&sX#g&sX&}&sX't&sX~O't(gO~P;PO!r(hO~PhO!p(kO!r(lO~O!r(hO'P(oO~PhO!b(sO~O!n(tO~P<XOZ)POn)QO~OT8TOz8RO!S8UO!c8VO!w:_O#O)TO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'xX'P'xX~P!%aOPgOQ|OU_OW}O[:WOo?jOs#fOx:UOy:UO}aO!O^O!Q:[O!R}O!T:ZO!V:VO!W:VO!Z:^O!d:TO!z]O#X`O#dhO#fbO#gcO#sdO$[:YO$d:XO$e:YO$hqO%T:]O%U!OO%W}O%X}O%`|O'WYO'u{O~O#|)XO~O#O)YO!n'oX'P'oX~Ol(YO!p([O~Ow(ZO!p)`O!r)cO~O!n#bO!pXO'P#bO~O#s)fO~OV)iO#O)gO!n'yX'P'yX~O#s)kO'WYO~OT8TOz8RO!S8UO!c8VO!w:_O#O)nO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'ZX'P'ZX#P'ZX~P!%aOl(YOw(ZO!p([O~O!j)tO'Q)tO~OT8TOz8RO!S8UO!c8VO!r)uO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO#Y)wO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'cX#O'cX~P!%aO!r)yO!y'eX#O'eX~P)dO!y#kX#O#kX~P!+iO#O){O!y'bX~O!y)}O~O%T#cOT$Qiz$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi$_$Qi'P$Qi!y$Qi#O$Qi#P$Qi#Y$Qi!o$Qi!r$QiV$Qi#|$Qi$O$Qi!p$Qi~P!%aOz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOT#SOz#QO!c#UO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO!S$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOT#SOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO!S$Qi!c$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$[#_O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Z#^O$[#_O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi'P$Qi!y$Qi!o$Qi~P!%aO_*PO~P<XO!y*SO~O#T*VO~P<XOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O#Ua#Y#Ua#P#Ua!n#Ua'P#Ua!r#Ua!y#Ua!o#UaV#Ua!p#Ua~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O'^a#Y'^a#P'^a!n'^a'P'^a!r'^a!y'^a!o'^aV'^a!p'^a~P!%aO#T#mO#V#lO#O&aX#Y&aX~P<XO#O&xO#Y']a~O#Y*YO~OT8TOz8RO!S8UO!c8VO!w:_O#O*[O#P*ZO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y'_X~P!%aO#O*[O!y'_X~O!y*^O~O!n#wX#T#wX#s#tX'P#wX!y#wX#P#wX!p#wX~OT#wXz#wX!S#wX!c#wX!w#wX!z#wX#X#wX#a#wX#b#wX#y#wX$R#wX$S#wX$T#wX$U#wX$V#wX$X#wX$Y#wX$Z#wX$[#wX$]#wX$^#wX$_#wX%T#wX#O#wX#Y#wX!o#wXV#wX!r#wX#|#wX$O#wXw#wX~P#)XO#s*aO~O#n'XO!y#ma#T#ma#V#ma#d#ma!p#ma#P#ma!n#ma'P#ma~O#T'ZO!y#oa#n#oa#V#oa#d#oa!p#oa#P#oa!n#oa'P#oa~OPgOQ|OU_OW}O[5jOo7dOs#fOx5fOy5fO}aO!O^O!Q3xO!R}O!T5pO!V5hO!W5hO!Z3zO!d5dO!z]O#X`O#dhO#fbO#gcO#sdO$[5nO$d5lO$e5nO$hqO%T3yO%U!OO%W}O%X}O%`|O'WYO'u{O~O#n#uX#V#uX#d#uX~PH[Oz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT#Qi!S#Qi!c#Qi!n#Qi'P#Qi!y#Qi!o#Qi~P!%aOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT#}i!S#}i!c#}i!n#}i'P#}i!y#}i!o#}i~P!%aO!n$Pi'P$Pi!y$Pi!o$Pi~PCVO#sdO'WYO#O&iX#Y&iX~O#O'eO#Y'ia~Ow(ZO!p)`O!r*rO~O#T*wO#V*yO#d*xO#n'XO~O#T*{O#V*yO#d*xO$krO~P2wO#|*|O!y$jX#O$jX~O#V*yO#d*xO~O#d*}O~O#d+PO~P2wO#O+QO!y'gX~O!y+SO~O!z+UO~O!_+YO!pXO!r+XO~O!r+[O!p'qi!n'qi'P'qi~O!r+_O#P+^O~O#d$nO!n&qX#O&qX'P&qX~O#O(SO!n'pa'P'pa~OT$tiz$ti!S$ti!c$ti!n$ti!w$ti!z$ti#T$ti#X$ti#a$ti#b$ti#y$ti#|#ha$O#ha$R$ti$S$ti$T$ti$U$ti$V$ti$X$ti$Y$ti$Z$ti$[$ti$]$ti$^$ti$_$ti%T$ti'P$ti!y$ti#O$ti#P$ti#Y$ti!o$ti!r$tiV$ti!p$ti~OS+kO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o+uO#d>xO$hqO$krO~P2wO#X+|O#a+{O#b+{O~O#d,OO%W,OO%^+}O'W$gO~O!o,PO~PCVOc%bXd%bXh%bXj%bXf%bXg%bXe%bX~PhOc,TOd,ROP%aiQ%aiS%aiU%aiW%aiX%ai[%ai]%ai^%ai`%aia%aib%aik%aim%aio%aip%aiq%ais%ait%aiu%aiv%aix%aiy%ai|%ai}%ai!O%ai!P%ai!Q%ai!R%ai!T%ai!V%ai!W%ai!X%ai!Y%ai!Z%ai![%ai!]%ai!^%ai!_%ai!a%ai!b%ai!d%ai!n%ai!p%ai!z%ai#X%ai#d%ai#f%ai#g%ai#s%ai$[%ai$d%ai$e%ai$h%ai$k%ai$u%ai%T%ai%U%ai%W%ai%X%ai%`%ai&|%ai'W%ai'u%ai'Q%ai!o%aih%aij%aif%aig%aiY%ai_%aii%aie%ai~Oc,XOd,UOh,WO~OY,YO_,ZO!o,^O~OY,YO_,ZOi%gX~Oi,`O~Oj,aO~O!n,cO~P<XO!n,eO~Of,fO~OT8TOV,gOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOg,hO~O!z,iO~OZ)POn)QOP%uiQ%uiS%uiU%uiW%uiX%ui[%ui]%ui^%ui`%uia%uib%uik%uim%uio%uip%uiq%uis%uit%uiu%uiv%uix%uiy%ui|%ui}%ui!O%ui!P%ui!Q%ui!R%ui!T%ui!V%ui!W%ui!X%ui!Y%ui!Z%ui![%ui!]%ui!^%ui!_%ui!a%ui!b%ui!d%ui!n%ui!p%ui!z%ui#X%ui#d%ui#f%ui#g%ui#s%ui$[%ui$d%ui$e%ui$h%ui$k%ui$u%ui%T%ui%U%ui%W%ui%X%ui%`%ui&|%ui'W%ui'u%ui'Q%ui!o%uic%uid%uih%uij%uif%uig%uiY%ui_%uii%uie%ui~O#|,mO~O#O)TO!n%ma'P%ma~O!y,pO~O'W$gO!n&pX#O&pX'P&pX~O#O)YO!n'oa'P'oa~OS+kOY,vO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o,yO#d>xO$hqO$krO~P2wO!p)`O~OU$OO!R$OO!w3nO#s3iO'W,zO~O#s,|O~O!p-OO'a'UO~O#sdO'WYO!n&zX#O&zX'P&zX~O#O)gO!n'ya'P'ya~O#s-UO~O!n&_X#O&_X'P&_X#P&_X~P<XO#O)nO!n'Za'P'Za#P'Za~Oz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT!vq!S!vq!c!vq!n!vq!w!vq'P!vq!y!vq!o!vq~P!%aO!o-ZO~PCVOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#ka#O#ka~P!%aO!y&cX#O&cX~P@aO#O){O!y'ba~O!o-_O~PCVO#P-`O~O#O-aO!o'YX~O!o-cO~O!y-dO~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O#Wi#Y#Wi~P!%aO!y&bX#O&bX~P<XO#O*[O!y'_a~O!y-jO~O#n'XO!y&ea#T&ea#V&ea#d&ea!p&ea#P&ea!n&ea'P&ea~OT#lqz#lq!S#lq!c#lq!n#lq!w#lq#T#lq#|#lq$O#lq$R#lq$S#lq$T#lq$U#lq$V#lq$X#lq$Y#lq$Z#lq$[#lq$]#lq$^#lq$_#lq%T#lq'P#lq!y#lq#O#lq#P#lq#Y#lq!o#lq!r#lqV#lq!p#lq~P!%aO#n#wX#V#wX#d#wX~P#)XOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT#Qq!S#Qq!c#Qq!n#Qq'P#Qq!y#Qq!o#Qq~P!%aO#V-sO#d-rO~P2wO#|-tO!y$ja#O$ja~O#d-uO~O#T-vO#V-sO#d-rO#n'XO~O#V-sO#d-rO~O#T'ZO#d-xO#n'XO~O!p-yO#|-zO!y$oa#O$oa~O!a'tO#T'rO#V'sO#d'qO$krO!y&kX#O&kX~P2wO#O+QO!y'ga~O!pXO#T'ZO#n'XO~O#T.QO#d.PO!y'kP~O!pXO!r.SO~O!r.VO!p'qq!n'qq'P'qq~O!_.XO!pXO!r.SO~O!r.]O#P.[O~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n$|i#O$|i'P$|i~P!%aO!n$sq'P$sq!y$sq!o$sq~PCVO#P.[O#T'ZO#n'XO~O#O.^Ow'lX!p'lX!n'lX'P'lX~O#T'ZO#d>xO#n'XO~OS+kO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO$krO~P2wOS+kO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO~P2wO!n#bO!p-yO'P#bO~OS+kO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o.mO#d>xO$hqO$krO~P2wO#d.rO%W.rO%^+}O'W$gO~O%W.sO~O#Y.tO~Oc%bad%bah%baj%baf%bag%bae%ba~PhOc.wOd,ROP%aqQ%aqS%aqU%aqW%aqX%aq[%aq]%aq^%aq`%aqa%aqb%aqk%aqm%aqo%aqp%aqq%aqs%aqt%aqu%aqv%aqx%aqy%aq|%aq}%aq!O%aq!P%aq!Q%aq!R%aq!T%aq!V%aq!W%aq!X%aq!Y%aq!Z%aq![%aq!]%aq!^%aq!_%aq!a%aq!b%aq!d%aq!n%aq!p%aq!z%aq#X%aq#d%aq#f%aq#g%aq#s%aq$[%aq$d%aq$e%aq$h%aq$k%aq$u%aq%T%aq%U%aq%W%aq%X%aq%`%aq&|%aq'W%aq'u%aq'Q%aq!o%aqh%aqj%aqf%aqg%aqY%aq_%aqi%aqe%aq~Oc.|Od,UOh.{O~O!r(hO~OP7wOQ|OU_OW}O[<ROo?sOs#fOx<POy<PO}aO!O^O!Q<WO!R}O!T<VO!V<QO!W<QO!Z<[O!d:RO!z]O#X`O#dhO#fbO#gcO#sdO$[<TO$d<SO$e<TO$hqO%T<YO%U!OO%W}O%X}O%`|O'WYO'u{O~O!n/PO!r/PO~OY,YO_,ZO!o/RO~OY,YO_,ZOi%ga~O!y/VO~P!+iO!n/XO~O!n/XO~P<XOQ|OW}O!R}O%W}O%X}O%`|O'u{O~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n&wa#O&wa'P&wa~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n$zi#O$zi'P$zi~P!%aOS+kOY/cO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO$krO~P2wOS+kOY,vO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o/fO#d>xO$hqO$krO~P2wOw!tX!p!tX#T!tX#n!tX#s#vX#|!tX'W!tX~Ow(ZO!p)`O#T3tO#n3sO~O!p-OO'a&fa~O]/nOs/nO#sdO'WYO~OV/rO!n&za#O&za'P&za~O#O)gO!n'yi'P'yi~O#s/tO~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n&_a#O&_a'P&_a#P&_a~P!%aOz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT!vy!S!vy!c!vy!n!vy!w!vy'P!vy!y!vy!o!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#ji#O#ji~P!%aO_*PO!o&`X#O&`X~P<XO#O-aO!o'Ya~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O#Wq#Y#Wq~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#]i#O#]i~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#P/yO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y&ba#O&ba~P!%aO#|0OO!y$ji#O$ji~O#d0PO~O#V0SO#d0RO~P2wOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ji#O$ji~P!%aO!p-yO#|0TO!y$oi#O$oi~O!o0YO'W$gO~O#O0[O!y'kX~O#d0^O~O!y0_O~O!pXO!r0bO~O#T'ZO#n'XO!p'qy!n'qy'P'qy~O!n$sy'P$sy!y$sy!o$sy~PCVO#P0eO#T'ZO#n'XO~O#sdO'WYOw&mX!p&mX#O&mX!n&mX'P&mX~O#O.^Ow'la!p'la!n'la'P'la~OS+kO]0mOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO~P2wO#T3tO#n3sO'W$gO~O#|)XO#T'eX#n'eX'W'eX~O!n#bO!p0sO'P#bO~O#Y0wO~Oh0|O~OT<aOz<]O!S<cO!c<eO!n0}O!r0}O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO~P!%aOY%fa_%fa!o%fai%fa~PhO!y1PO~O!y1PO~P!+iO!n1RO~OT8TOz8RO!S8UO!c8VO!w:_O!y1TO#P1SO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aO!y1TO~O!y1UO#T'ZO#d1VO#n'XO~O!y1WO~O!n#bO#|1ZO'P#bO~O#n3sOw#ma!p#ma#T#ma'W#ma~O#T3tOw#oa!p#oa#n#oa'W#oa~Ow#uX!p#uX#T#uX#n#uX#s#tX'W#uX~O!p-OO'a*`O~OV1`O!o&VX#O&VX~O#O1bO!o'zX~O!o1dO~O#O)gO!n'yq'P'yq~OT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!o!}i#O!}i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$jq#O$jq~P!%aO#|1kO!y$jq#O$jq~O#d1lO~O!n#bO!pXO!z$hO#P1oO'P#bO~O!o1rO'W$gO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$oq#O$oq~P!%aO#T1tO#d1sO!y&lX#O&lX~O#O0[O!y'ka~O#T'ZO#n'XO!p'q!R!n'q!R'P'q!R~O!pXO!r1yO~O!n$s!R'P$s!R!y$s!R!o$s!R~PCVO#P1{O#T'ZO#n'XO~OP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!V:rO!W:rO!Z:rO!d:SO!o2XO!z]O#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO%T<ZO%U!OO'WYO~P$<UOh2ZO~OY%ei_%ei!o%eii%ei~PhOY%fi_%fi!o%fii%fi~PhO!y2^O~O!y2^O~P!+iO!y2aO~O!n#bO#|2eO'P#bO~O%W2fO%`2fO~O#n3sOw&ea!p&ea#T&ea'W&ea~Ow#wX!p#wX#T#wX#n#wX#s#tX'W#wX~OV2iO!o&Va#O&Va~O]2kOs2kO#sdO'WYO!o&{X#O&{X~O#O1bO!o'za~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#^i#O#^i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$jy#O$jy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$oy#O$oy~P!%aO!pXO#P2rO~O#d2sO~O#O0[O!y'ki~O!n$s!Z'P$s!Z!y$s!Z!o$s!Z~PCVOT<bOz<^O!S<dO!c<fO!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cO~P!%aOV2{O{2zO~P)dOV2{O{2zOT'[Xz'[X!S'[X!c'[X!w'[X!z'[X#T'[X#X'[X#a'[X#b'[X#y'[X#|'[X$O'[X$R'[X$S'[X$T'[X$U'[X$V'[X$X'[X$Y'[X$Z'[X$['[X$]'[X$^'[X$_'[X%T'[X~OP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!V:rO!W:rO!Z:rO!d:SO!o3OO!z]O#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO%T<ZO%U!OO'WYO~P$<UOY%eq_%eq!o%eqi%eq~PhO!y3QO~O!y%pi~PCVOe3RO~O%W3SO%`3SO~OV3VO!o&WX#O&WX~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$j!R#O$j!R~P!%aO!n$s!c'P$s!c!y$s!c!o$s!c~PCVO!a3`O'W$gO~OV3dO!o&Wa#O&Wa~O'W$gO!n%Ri'P%Ri~O'a'_O~O'a/jO~O'a*iO~O'a1]O~OT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ta#|$ta$O$ta'P$ta!y$ta!o$ta#O$ta~P!%aO#T3uO~P-RO#s3lO~O#s3mO~O!U$uO$u$tO~P#-WOT8TOz8RO!S8UO!c8VO!w:_O#P3pO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'^X'P'^X!y'^X!o'^X~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#P5aO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O'^X#Y'^X#|'^X$O'^X!n'^X'P'^X!r'^X!y'^X!o'^XV'^X!p'^X~P!%aO#T5OO~P#-WOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$`a#|$`a$O$`a'P$`a!y$`a!o$`a#O$`a~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$aa#|$aa$O$aa'P$aa!y$aa!o$aa#O$aa~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ba#|$ba$O$ba'P$ba!y$ba!o$ba#O$ba~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ca#|$ca$O$ca'P$ca!y$ca!o$ca#O$ca~P!%aOz3{O#|$ca$O$ca#O$ca~PMVOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$fa#|$fa$O$fa'P$fa!y$fa!o$fa#O$fa~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n%Va#|%Va$O%Va'P%Va!y%Va!o%Va#O%Va~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!S$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!S$Qi!c$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$[4YO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Z4XO$[4YO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n#Ua#|#Ua$O#Ua'P#Ua!y#Ua!o#Ua#O#Ua~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n'^a#|'^a$O'^a'P'^a!y'^a!o'^a#O'^a~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#Qi!S#Qi!c#Qi!n#Qi#|#Qi$O#Qi'P#Qi!y#Qi!o#Qi#O#Qi~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#}i!S#}i!c#}i!n#}i#|#}i$O#}i'P#}i!y#}i!o#}i#O#}i~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$Pi#|$Pi$O$Pi'P$Pi!y$Pi!o$Pi#O$Pi~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT!vq!S!vq!c!vq!n!vq!w!vq#|!vq$O!vq'P!vq!y!vq!o!vq#O!vq~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#Qq!S#Qq!c#Qq!n#Qq#|#Qq$O#Qq'P#Qq!y#Qq!o#Qq#O#Qq~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$sq#|$sq$O$sq'P$sq!y$sq!o$sq#O$sq~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT!vy!S!vy!c!vy!n!vy!w!vy#|!vy$O!vy'P!vy!y!vy!o!vy#O!vy~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$sy#|$sy$O$sy'P$sy!y$sy!o$sy#O$sy~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!R#|$s!R$O$s!R'P$s!R!y$s!R!o$s!R#O$s!R~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!Z#|$s!Z$O$s!Z'P$s!Z!y$s!Z!o$s!Z#O$s!Z~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!c#|$s!c$O$s!c'P$s!c!y$s!c!o$s!c#O$s!c~P!%aOP7wOU_O[5kOo9xOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#T5bO#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYO~P$<UOP7wOU_O[5kOo9xOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYO~P$<UO#|4aO$O4bO#O'XX~P3YOP7wOU_O[5kOo9xOr4cOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#T4`O#V4_O#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYOT$PXz$PX!S$PX!c$PX!n$PX!w$PX#a$PX#b$PX#y$PX#|$PX$O$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX'P$PX!y$PX!o$PX#O$PX~P$<UOP7wOU_O[5kOo9xOr6dOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#T6aO#V6`O#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYOT$PXz$PX!S$PX!c$PX!w$PX#O$PX#P$PX#Y$PX#a$PX#b$PX#y$PX#|$PX$O$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX!n$PX'P$PX!r$PX!y$PX!o$PXV$PX!p$PX~P$<UO!r4kO~P<XO!r7iO#P5RO~OT8TOz8RO!S8UO!c8VO!r5SO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aO!r7jO#P5VO~O!r7kO#P5ZO~O#P5ZO#T'ZO#n'XO~O#P5[O#T'ZO#n'XO~O#P5_O#T'ZO#n'XO~OP7wOU_O[5kOo9xOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!U$uO!V5iO!W5iO!Z5}O!d5eO!z]O#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO$u$tO%T5|O%U!OO'WYO~P$<UOP7wOU_O[5kOo9xOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#T7PO#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYO~P$<UOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$`a#P$`a#Y$`a#|$`a$O$`a!n$`a'P$`a!r$`a!y$`a!o$`aV$`a!p$`a~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$aa#P$aa#Y$aa#|$aa$O$aa!n$aa'P$aa!r$aa!y$aa!o$aaV$aa!p$aa~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$ba#P$ba#Y$ba#|$ba$O$ba!n$ba'P$ba!r$ba!y$ba!o$baV$ba!p$ba~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$ca#P$ca#Y$ca#|$ca$O$ca!n$ca'P$ca!r$ca!y$ca!o$caV$ca!p$ca~P!%aOz6OO#O$ca#P$ca#Y$ca#|$ca$O$ca!r$caV$ca!p$ca~PMVOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$fa#P$fa#Y$fa#|$fa$O$fa!n$fa'P$fa!r$fa!y$fa!o$faV$fa!p$fa~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O%Va#P%Va#Y%Va#|%Va$O%Va!n%Va'P%Va!r%Va!y%Va!o%VaV%Va!p%Va~P!%aOz6OO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT6QOz6OO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO!S$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT6QOz6OO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO#T#PO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO#T#PO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO#T#PO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO#T#PO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$[6]O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$Z6[O$[6]O$^6_O$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz6OO$_6_O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O#Ua#P#Ua#Y#Ua#|#Ua$O#Ua!n#Ua'P#Ua!r#Ua!y#Ua!o#UaV#Ua!p#Ua~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O'^a#P'^a#Y'^a#|'^a$O'^a!n'^a'P'^a!r'^a!y'^a!o'^aV'^a!p'^a~P!%aOz6OO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT#Qi!S#Qi!c#Qi#O#Qi#P#Qi#Y#Qi#|#Qi$O#Qi!n#Qi'P#Qi!r#Qi!y#Qi!o#QiV#Qi!p#Qi~P!%aOz6OO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT#}i!S#}i!c#}i#O#}i#P#}i#Y#}i#|#}i$O#}i!n#}i'P#}i!r#}i!y#}i!o#}iV#}i!p#}i~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$Pi#P$Pi#Y$Pi#|$Pi$O$Pi!n$Pi'P$Pi!r$Pi!y$Pi!o$PiV$Pi!p$Pi~P!%aOz6OO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT!vq!S!vq!c!vq!w!vq#O!vq#P!vq#Y!vq#|!vq$O!vq!n!vq'P!vq!r!vq!y!vq!o!vqV!vq!p!vq~P!%aOz6OO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT#Qq!S#Qq!c#Qq#O#Qq#P#Qq#Y#Qq#|#Qq$O#Qq!n#Qq'P#Qq!r#Qq!y#Qq!o#QqV#Qq!p#Qq~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$sq#P$sq#Y$sq#|$sq$O$sq!n$sq'P$sq!r$sq!y$sq!o$sqV$sq!p$sq~P!%aOz6OO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cOT!vy!S!vy!c!vy!w!vy#O!vy#P!vy#Y!vy#|!vy$O!vy!n!vy'P!vy!r!vy!y!vy!o!vyV!vy!p!vy~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$sy#P$sy#Y$sy#|$sy$O$sy!n$sy'P$sy!r$sy!y$sy!o$syV$sy!p$sy~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$s!R#P$s!R#Y$s!R#|$s!R$O$s!R!n$s!R'P$s!R!r$s!R!y$s!R!o$s!RV$s!R!p$s!R~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$s!Z#P$s!Z#Y$s!Z#|$s!Z$O$s!Z!n$s!Z'P$s!Z!r$s!Z!y$s!Z!o$s!ZV$s!Z!p$s!Z~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$s!c#P$s!c#Y$s!c#|$s!c$O$s!c!n$s!c'P$s!c!r$s!c!y$s!c!o$s!cV$s!c!p$s!c~P!%aO#T7cO~P#-WO!z$hO#T7gO~O!y5uO#T'ZO#n'XO~O!z$hO#T7hO~OT6QOz6OO!S6RO!c6SO!w7oO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O$ta#P$ta#Y$ta#|$ta$O$ta!n$ta'P$ta!r$ta!y$ta!o$taV$ta!p$ta~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#P7bO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO!n'^X#|'^X$O'^X'P'^X!y'^X!o'^X#O'^X~P!%aO#|6bO$O6cO#O'XX#P'XX#Y'XX!r'XXV'XX!p'XX~P3YO!r6lO~P<XO!r9|O#P7SO~OT8TOz8RO!S8UO!c8VO!r7TO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aO!r9}O#P7WO~O!r:OO#P7[O~O#P7[O#T'ZO#n'XO~O#P7]O#T'ZO#n'XO~O#P7`O#T'ZO#n'XO~O!U$uO$u$tO~P<XOo7fOs$lO~O#T9ZO~P<XOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$`a#P$`a#Y$`a!n$`a'P$`a!r$`a!y$`a!o$`aV$`a!p$`a~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$aa#P$aa#Y$aa!n$aa'P$aa!r$aa!y$aa!o$aaV$aa!p$aa~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$ba#P$ba#Y$ba!n$ba'P$ba!r$ba!y$ba!o$baV$ba!p$ba~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$ca#P$ca#Y$ca!n$ca'P$ca!r$ca!y$ca!o$caV$ca!p$ca~P!%aOz8RO#O$ca#P$ca#Y$ca!r$caV$ca!p$ca~PMVOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$fa#P$fa#Y$fa!n$fa'P$fa!r$fa!y$fa!o$faV$fa!p$fa~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$ta#P$ta#Y$ta!n$ta'P$ta!r$ta!y$ta!o$taV$ta!p$ta~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O%Va#P%Va#Y%Va!n%Va'P%Va!r%Va!y%Va!o%VaV%Va!p%Va~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#O9_O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'xX~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#O9aO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'ZX~P!%aOz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT8TOz8RO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!S$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT8TOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$[8`O$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Z8_O$[8`O$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aO#T9fO~P!+iO!n#Ua'P#Ua!y#Ua!o#Ua~PCVO!n'^a'P'^a!y'^a!o'^a~PCVO#T=PO#V=OO!y&aX#O&aX~P<XO#O9WO!y']a~Oz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT#Qi!S#Qi!c#Qi#O#Qi#P#Qi#Y#Qi!n#Qi'P#Qi!r#Qi!y#Qi!o#QiV#Qi!p#Qi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT#}i!S#}i!c#}i#O#}i#P#}i#Y#}i!n#}i'P#}i!r#}i!y#}i!o#}iV#}i!p#}i~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$Pi#P$Pi#Y$Pi!n$Pi'P$Pi!r$Pi!y$Pi!o$PiV$Pi!p$Pi~P!%aO#O9_O!y%ma~O!y&_X#O&_X~P!+iO#O9aO!y'Za~Oz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT!vq!S!vq!c!vq!w!vq#O!vq#P!vq#Y!vq!n!vq'P!vq!r!vq!y!vq!o!vqV!vq!p!vq~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Wi#O#Wi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT#Qq!S#Qq!c#Qq#O#Qq#P#Qq#Y#Qq!n#Qq'P#Qq!r#Qq!y#Qq!o#QqV#Qq!p#Qq~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$sq#P$sq#Y$sq!n$sq'P$sq!r$sq!y$sq!o$sqV$sq!p$sq~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y&wa#O&wa~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y&_a#O&_a~P!%aOz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT!vy!S!vy!c!vy!w!vy#O!vy#P!vy#Y!vy!n!vy'P!vy!r!vy!y!vy!o!vyV!vy!p!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Wq#O#Wq~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$sy#P$sy#Y$sy!n$sy'P$sy!r$sy!y$sy!o$syV$sy!p$sy~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!R#P$s!R#Y$s!R!n$s!R'P$s!R!r$s!R!y$s!R!o$s!RV$s!R!p$s!R~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!Z#P$s!Z#Y$s!Z!n$s!Z'P$s!Z!r$s!Z!y$s!Z!o$s!ZV$s!Z!p$s!Z~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!c#P$s!c#Y$s!c!n$s!c'P$s!c!r$s!c!y$s!c!o$s!cV$s!c!p$s!c~P!%aO#T9vO~P<XO#P9uO!n'^X'P'^X!r'^X!y'^X!o'^XV'^X!p'^X~PEqO!z$hO#T9zO~O!z$hO#T9{O~O#|8fO$O8gO#O'XX#P'XX#Y'XX!r'XXV'XX!p'XX~P3YOr8hO#T#mO#V#lO#O$PX#P$PX#Y$PX!r$PXV$PX!p$PX~P5^Or=UO#T:sO#V:qOT$PXz$PX!S$PX!c$PX!n$PX!r$PX!w$PX#a$PX#b$PX#y$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX!o$PX#O$PX!p$PX'P$PX~P<XOr:rO#T:rO#V:rOT$PXz$PX!S$PX!c$PX!w$PX#a$PX#b$PX#y$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX~P<XOr:wO#T=PO#V=OOT$PXz$PX!S$PX!c$PX!w$PX!y$PX#O$PX#a$PX#b$PX#y$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX~P<XO!U$uO$u$tO~P!+iO!r8sO~P<XOT8TOz8RO!S8UO!c8VO!w:_O#P9TO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y'^X#O'^X~P!%aOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!V:rO!W:rO!Z:rO!d:SO!z]O#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO%T<ZO%U!OO'WYO~P$<UO#O9WO!y']X~O#T;eO~P!+iOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$`a#O$`a~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$aa#O$aa~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ba#O$ba~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ca#O$ca~P!%aOz:`O%T#cOT$ca!S$ca!c$ca!w$ca!y$ca#O$ca#T$ca$R$ca$S$ca$T$ca$U$ca$V$ca$X$ca$Y$ca$Z$ca$[$ca$]$ca$^$ca$_$ca~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$fa#O$fa~P!%aO!r?SO#P9^O~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ta#O$ta~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y%Va#O%Va~P!%aOT8TOz8RO!S8UO!c8VO!r9cO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!y$Qi#O$Qi~P!%aOT:bOz:`O!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!S$Qi!y$Qi#O$Qi~P!%aOT:bOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!S$Qi!c$Qi!y$Qi#O$Qi~P!%aOz:`O#T#PO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi~P!%aOz:`O#T#PO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi~P!%aOz:`O#T#PO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi$U$Qi~P!%aOz:`O#T#PO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz:`O$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz:`O$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi~P!%aOz:`O$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi~P!%aOz:`O$[:mO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi~P!%aOz:`O$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi~P!%aOz:`O$Z:lO$[:mO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi~P!%aOz:`O$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#Qi!S#Qi!c#Qi!y#Qi#O#Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#}i!S#}i!c#}i!y#}i#O#}i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$Pi#O$Pi~P!%aO!r?TO#P9hO~Oz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT!vq!S!vq!c!vq!w!vq!y!vq#O!vq~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#Qq!S#Qq!c#Qq!y#Qq#O#Qq~P!%aO!r?YO#P9oO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$sq#O$sq~P!%aO#P9oO#T'ZO#n'XO~Oz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT!vy!S!vy!c!vy!w!vy!y!vy#O!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$sy#O$sy~P!%aO#P9pO#T'ZO#n'XO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!R#O$s!R~P!%aO#P9sO#T'ZO#n'XO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!Z#O$s!Z~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!c#O$s!c~P!%aO#T;}O~P!+iOT8TOz8RO!S8UO!c8VO!w:_O#P;|O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y'^X#O'^X~P!%aO!U$uO$u$tO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!U$uO!V:rO!W:rO!Z:rO!d:SO!z]O#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO$u$tO%T<ZO%U!OO'WYO~P$<UOo9yOs$lO~O#T>VO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!V:rO!W:rO!Z:rO!d:SO!z]O#T>WO#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO%T<ZO%U!OO'WYO~P$<UOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$`a!r$`a!o$`a#O$`a!p$`a'P$`a~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$aa!r$aa!o$aa#O$aa!p$aa'P$aa~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$ba!r$ba!o$ba#O$ba!p$ba'P$ba~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$ca!r$ca!o$ca#O$ca!p$ca'P$ca~P!%aOz<]O%T#cOT$ca!S$ca!c$ca!n$ca!r$ca!w$ca#T$ca$R$ca$S$ca$T$ca$U$ca$V$ca$X$ca$Y$ca$Z$ca$[$ca$]$ca$^$ca$_$ca!o$ca#O$ca!p$ca'P$ca~P!%aOz<^O%T#cOT$ca!S$ca!c$ca!w$ca#T$ca$R$ca$S$ca$T$ca$U$ca$V$ca$X$ca$Y$ca$Z$ca$[$ca$]$ca$^$ca$_$ca~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$fa!r$fa!o$fa#O$fa!p$fa'P$fa~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$ta!r$ta!o$ta#O$ta!p$ta'P$ta~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n%Va!r%Va!o%Va#O%Va!p%Va'P%Va~P!%aOz<]O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi~P!%aOz<]O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi~P!%aOT<aOz<]O!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!S$Qi!n$Qi!r$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOT<bOz<^O!c<fO!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cO!S$Qi~P!%aOT<aOz<]O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!S$Qi!c$Qi!n$Qi!r$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOT<bOz<^O!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cO!S$Qi!c$Qi~P!%aOz<]O#T#PO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi$R$Qi$S$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O#T#PO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi$R$Qi$S$Qi~P!%aOz<]O#T#PO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi$R$Qi$S$Qi$T$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O#T#PO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi$R$Qi$S$Qi$T$Qi~P!%aOz<]O#T#PO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O#T#PO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi~P!%aOz<]O#T#PO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O#T#PO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz<]O$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz<]O$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi~P!%aOz<]O$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi~P!%aOz<]O$[<wO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$[<xO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi~P!%aOz<]O$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi~P!%aOz<]O$Z<uO$[<wO$^<{O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$Z<vO$[<xO$^<|O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi~P!%aOz<]O$_<{O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!r$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi!o$Qi#O$Qi!p$Qi'P$Qi~P!%aOz<^O$_<|O%T#cOT$Qi!S$Qi!c$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Ua#O#Ua~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'^a#O'^a~P!%aOz<]O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT#Qi!S#Qi!c#Qi!n#Qi!r#Qi!o#Qi#O#Qi!p#Qi'P#Qi~P!%aOz<^O!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT#Qi!S#Qi!c#Qi~P!%aOz<]O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT#}i!S#}i!c#}i!n#}i!r#}i!o#}i#O#}i!p#}i'P#}i~P!%aOz<^O!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT#}i!S#}i!c#}i~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$Pi!r$Pi!o$Pi#O$Pi!p$Pi'P$Pi~P!%aOz<]O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT!vq!S!vq!c!vq!n!vq!r!vq!w!vq!o!vq#O!vq!p!vq'P!vq~P!%aOz<^O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT!vq!S!vq!c!vq!w!vq~P!%aOz<]O!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT#Qq!S#Qq!c#Qq!n#Qq!r#Qq!o#Qq#O#Qq!p#Qq'P#Qq~P!%aOz<^O!w?_O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT#Qq!S#Qq!c#Qq~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$sq!r$sq!o$sq#O$sq!p$sq'P$sq~P!%aOz<]O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cOT!vy!S!vy!c!vy!n!vy!r!vy!w!vy!o!vy#O!vy!p!vy'P!vy~P!%aOz<^O#T#PO$R<`O$S<hO$T<jO$U<lO$V<nO$X<rO$Y<tO$Z<vO$[<xO$]<zO$^<|O$_<|O%T#cOT!vy!S!vy!c!vy!w!vy~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$sy!r$sy!o$sy#O$sy!p$sy'P$sy~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$s!R!r$s!R!o$s!R#O$s!R!p$s!R'P$s!R~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$s!Z!r$s!Z!o$s!Z#O$s!Z!p$s!Z'P$s!Z~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$s!c!r$s!c!o$s!c#O$s!c!p$s!c'P$s!c~P!%aO#T>pO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!Q<XO!T:rO!V:rO!W:rO!Z:rO!d:SO!z]O#T>qO#X`O#dhO#fbO#gcO#sdO$[<UO$d:rO$e<UO$hqO%T<ZO%U!OO'WYO~P$<UOT8TOz8RO!S8UO!c8VO!w:_O#P>oO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#P>nO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'^X!r'^X!o'^X#O'^X!p'^X'P'^X~P!%aOT'XXz'XX!S'XX!c'XX!w'XX!z'XX#O'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX~O#|:uO$O:vO!y'XX~P.@qO!z$hO#T>zO~O!r;SO~P<XO!z$hO#T?PO~O#|;iO!n$|X!p$|X#O$|X'P$|X~O!r?pO#P;jO~OT8TOz8RO!S8UO!c8VO!r;kO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n#Ua!r#Ua!o#Ua#O#Ua!p#Ua'P#Ua~P!%aOT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n'^a!r'^a!o'^a#O'^a!p'^a'P'^a~P!%aO!r?qO#P;nO~O#d>xO!n&qX!p&qX#O&qX'P&qX~O#O?QO!n'pa!p'pa'P'pa~O!r?rO#P;uO~OT<aOz<]O!S<cO!c<eO!w?^O#T#PO$R<_O$S<gO$T<iO$U<kO$V<mO$X<qO$Y<sO$Z<uO$[<wO$]<yO$^<{O$_<{O%T#cO!n$|i!p$|i#O$|i'P$|i~P!%aO#P;uO#T'ZO#n'XO~O#P;vO#T'ZO#n'XO~O#P;zO#T'ZO#n'XO~O#|=QO$O=SO!n'XX!r'XX!o'XX!p'XX'P'XX~P.@qO#|=RO$O=TOT'XXz'XX!S'XX!c'XX!w'XX!z'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX~O!r=aO~P<XO!r=bO~P<XO!r?yO#P>[O~O!r?zO#P:rO~OT8TOz8RO!S8UO!c8VO!r>]O!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!r>^O!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aO!r?{O#P>cO~O!r?|O#P>hO~O#P>hO#T'ZO#n'XO~O#P:rO#T'ZO#n'XO~O#P>iO#T'ZO#n'XO~O#P>lO#T'ZO#n'XO~O!z$hO#T?nO~Oo>wOs$lO~O!z$hO#T?oO~O#O?QO!n'pX!p'pX'P'pX~O!z$hO#T?vO~O!z$hO#T?wO~O!z$hO#T?xO~Oo?lOs$lO~Oo?uOs$lO~Oo?tOs$lO~O%X$]%W$k!e$^#d%`#g'u'W#f~",goto:"%1O'{PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP'|P(TPP(Z(^PPP(vP(^*o(^6cP6cPP>cFxF{PP6cGR! RP! UP! UPPGR! e! h! lGRGRPP! oP! rPPGR!)u!0q!0qGR!0uP!0u!0u!0u!2PP!;g!<T!<a!FP!F_P!Na!NdP6cP6c6cPPPPP!NgPPPPPPP6c6c6c6cPP6c6cP#&T#'|P#(Q#(t#'|#'|#(z#)^#)b6c6cP#)k#*R#*|#,Q#,W#,Q#,f#,Q#,Q#,z#,}#,}6cPP6cPP#-R#5S#5S#5WP#5^P(^#5b(^#5z#5}#5}#6T(^#6W(^(^#6^#6a(^#6j#6m(^(^(^(^(^#6p(^(^(^(^(^(^(^(^(^#6s#7V(^(^#7Z#7k#7n(^(^P#7q#7x#8O#8k#8u#8{#9V#9^#9d#:h#;j#;z#<d#=`#=f#=l#=r#=|#>S#>Y#>h#>n#>x#?O#?U#?[#?b#?l#?v#?|#@S#@^PPPPPPPP#@d#@hP#A^$(h$(k$(u$1R$1_$1t$1zP$1}$2Q$2W$5[$?Y$Gr$Gu$G{$HO$Kb$Ke$Kn$Kv$LQ$Li$MP$Mz%'}PP%0O%0S%0`%0u%0{Q!nQT!qV!rQUOR%x!mRVO}!hPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]|!hPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q%_!ZQ%h!aQ%m!eQ'k$cQ'x$iQ)d%lQ+W'{Q,k)QU.O+T+V+]Q.j+pQ/`,jS0a.T.UQ0q.dQ1n0VS1w0`0dQ2Q0nQ2q1pQ2t1xR3[2u|ZPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]2lf]`cgjklmnoprxyz!W!X!Y!]!e!f!g!y!z#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r#}$Q$R$T$h$z%S%U%d%r%}&S&W&[&q&t&u&x'P'X'Z']'a'e'p't'y(R(V(W(Y(Z([(t)T)X)`)c)g)n)u)y*V*Z*[*r*w*|+Q+X+[+^+_+j+m+q+t,Y,c,e,g,i,u,x-O-`-a-t-v-z.S.V.[.].^.b/X/n/y0O0T0b0e1R1S1b1k1o1y1{2k2r3n3p3s3t3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7i7j7k7o7w7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v9|9}:O:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?S?T?Y?^?_?p?q?r?y?z?{?|S$ku$`Q%W!V^%e!_$a'j)Y.f0o2OQ%i!bQ%j!cQ%k!dQ%v!kS&V!|){Q&]#OQ'l$dQ'm$eS'|$j'hQ)S%`Q*v'nQ+z(bQ,O(dQ-S)iU.g+n.c0mQ.q+{Q.r+|Q/d,vS0V-y0XQ1X/cQ1e/rS2T0s2WQ2h1`Q3U2iQ3^2zQ3_2{Q3c3VQ3f3`R3g3d0{!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_Q#h^Q%O!PQ%P!QQ%Q!RQ,b(sQ.u,RR.y,UR&r#hQ*Q&qR/w-a0{hPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R#j_k#n`j#i#q&t&x5d5e9W:Q:R:S:TR#saT&}#r'PR-h*[R&R!{0zhPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R#tb-x!}[#e#k#u$U$V$W$X$Y$Z$v$w%X%Z%]%a%s%|&O&U&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&v&w&|'`'b'c(e(x)v)x)z*O*U*h*j+a+d,n,q-W-Y-[-e-f-g-w.Y/O/[/v0Q0Z0f1g1j1m1z2S2`2o2p2v3Z4]4^4d4e4f4g4h4i4j4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5P5Q5T5U5W5X5Y5]5^5`5t6e6f6g6h6i6j6k6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}7O7Q7R7U7V7X7Y7Z7^7_7a7m7q8i8j8k8l8m8n8p8q8r8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9U9V9Y9[9]9d9e9g9i9j9k9l9m9n9q9r9t9w:p:x:y:z:{:|:};Q;R;T;U;V;W;X;Y;Z;[;];^;_;`;a;b;c;d;f;g;l;m;p;r;s;w;y;{<O=V=W=X=Y=Z=[=]=`=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}>O>P>Q>R>S>T>U>X>Y>Z>_>`>a>b>d>e>f>g>j>k>m>r>s>{>|>}?V?b?cQ'd$[Y(X$s8o;P=^=_S(]3o7lQ(`$tR+y(aT&X!|){#a$Pg#}$h'X'Z'p't'y(W([)`)c*r*w+Q+X+[+_+j+m+n+t,i,u,x-v.S.V.].b.c0b0m1y3n3s3t7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|3yfPVX]`cgjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r#}$Q$R$T$h$z%O%Q%S%T%U%V%d%r%}&S&W&[&q&t&u&x'P'X'Z']'a'e'p't'y(R(V(W(Y(Z([(h(t)T)X)`)c)g)n)u)y){*V*Z*[*r*w*|+Q+X+[+^+_+j+m+n+q+t,Q,T,Y,c,e,g,i,u,x-O-`-a-t-v-z.S.V.[.].^.b.c.u.w/P/X/n/y0O0T0b0e0m0s0}1O1R1S1W1b1k1o1y1{2W2]2k2r3n3p3s3t3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7i7j7k7o7w7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v9|9}:O:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?S?T?Y?^?_?p?q?r?y?z?{?|[#wd#x3h3i3j3kh'V#z'W)f,}-U/k/u1f3l3m3q3rQ)e%nR-T)kY#yd%n)k3h3iV'T#x3j3k1dePVX]`cjklmnoprxyz!S!W!X!Y!]!e!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a'e(R(V(Y(Z(h(t)T)X)g)n)u)y){*V*Z*[*|+^+q,Q,T,Y,c,e,g-O-`-a-t-z.[.^.u.w/P/X/n/y0O0T0e0s0}1O1R1S1W1b1k1o1{2W2]2k2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_Q%o!fQ)l%r#O3vg#}$h'X'Z'p't'y(W([)`*w+Q+X+[+_+j+m+t,i,u,x-v.S.V.].b0b1y7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|a3w)c*r+n.c0m3n3s3tY'T#z)f-U3l3mZ*c'W,}/u3q3r0vhPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0}1O1R1S1W1k1o1{2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T2U0s2WR&^#OR&]#O!r#Z[#e#u$U$V$W$X$Z$s$w%X%Z%]&`&a&b&c&d&e&f&g'`'b'c(e)v)x*O*j+d-Y.Y0f1z2`2p2v3Z9U9V!Y4U3o4d4e4f4g4i4j4l4m4n4o4p4q4r4s4{4|4}5P5Q5T5U5W5X5Y5]5^5`!^6X4^6e6f6g6h6j6k6m6n6o6p6q6r6s6t6|6}7O7Q7R7U7V7X7Y7Z7^7_7a7l7m#b8[#k%a%s%|&O&v&w&|(x*U+a,n,q-W-e-g/[4]5t7q8i8j8k8l8n8o8p8t8u8v8w8x8y8z8{9Y9[9]9d9g9i9l9n9q9r9t9w:p;R<O>r>s>{?b?c!|:i&U)z-[-f-w0Q0Z1g1j1m2o8q8r9e9j9k9m:x:y:z:{:};P;Q;T;U;V;W;X;Y;Z;[;d;f;g;l;m;p;r;s;w;y;{>R>S!`<o/O/v=V=W=X=Y=]=^=`=c=e=g=i=k=m=o=q>T>X>Z>_>a>d>e>g>j>k>m>|>}?Vo<p2S=_=d=f=h=j=l=n=p=r>U>Y>`>b>fS$iu#fQ$qwU'{$j$l&pQ'}$kS(P$m$rQ+Z'|Q+](OQ+`(QQ1p0VQ5s7dS5v7f7gQ5w7hQ7p9xS7r9y9zQ7s9{Q;O>uS;h>w>zQ;o?PQ>y?jS?O?l?nQ?U?oQ?`?sS?a?t?wS?d?u?vR?e?xT'u$h+Q!csPVXt!S!j!r!s!w$h%O%Q%T%V'p([(h)`+Q+j+t,Q,T,u,x.u.w/P0}1O1W2]Q$]rR*l'eQ-{+PQ.i+oQ0U-xQ0j.`Q1|0kR2w1}T0W-y0XQ+V'zQ.U+YR0d.XQ(_$tQ)^%iQ)s%vQ*u'mS+x(`(aQ-q*vR.p+yQ(^$tQ)b%kQ)r%vQ*q'lS*t'm)sU+w(_(`(aS-p*u*vS.o+x+yQ/i,{Q/{-nQ/}-qR0v.pQ(]$tQ)]%iQ)_%jQ)q%vU*s'm)r)sW+v(^(_(`(aQ,t)^U-o*t*u*vU.n+w+x+yS/|-p-qS0u.o.pQ1i/}R2Y0vX+r([)`+t,xb%f!_$a'j+n.c.f0m0o2OR,r)YQ$ovS+b(S?Qg?m([)`+i+j+m+t,u,x.a.b0lR0t.kT2V0s2W0}|PVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g,m-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T$y{$|Q,O(dR.r+|T${{$|Q(j%OQ(r%QQ(w%TQ(z%VQ.},XQ0z.yQ0{.|R2c1WR(m%PX,[(k(l,],_R(n%PX(p%Q%T%V1WR%T!T_%b!]%S(t,c,e/X1RR%V!UR/],gR,j)PQ)a%kS*p'l)bS-m*q,{S/z-n/iR1h/{T,w)`,xQ-P)fU/l,|,}-UU1^/k/t/uR2n1fR/o-OR2l1bSSO!mR!oSQ!rVR%y!rQ!jPS!sV!rQ!wX[%u!j!s!w,Q1O2]Q,Q(hQ1O/PR2]0}Q)o%sS-X)o9bR9b8rQ-b*QR/x-bQ&y#oS*X&y9XR9X:tS*]&|&}R-i*]Q)|&YR-^)|!j'Y#|'o*f*z+O+T+e+i.T.W.Z.a/_0`0c0g0l1x2u5x5y5z7e7t7u7v;q;t;x?W?X?Z?f?g?h?iS*e'Y/g]/g,{-n.f0o1[2O!h'[#|'o*z+O+T+e+i.T.W.Z.a/_0`0c0g0l1x2u5x5y5z7e7t7u7v;q;t;x?W?X?Z?f?g?h?iS*g'[/hZ/h,{-n.f0o2OU#xd%n)kU'S#x3j3kQ3j3hR3k3iQ'W#z^*b'W,}/k/u1f3q3rQ,})fQ/u-UQ3q3lR3r3m|tPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]W$_t'p+j,uS'p$h+QS+j([+tT,u)`,xQ'f$]R*m'fQ0X-yR1q0XQ+R'vR-}+RQ0].PS1u0]1vR1v0^Q._+fR0i._Q+t([R.l+tW+m([)`+t,xS.b+j,uT.e+m.bQ)Z%fR,s)ZQ(T$oS+c(T?RR?R?mQ2W0sR2}2WQ$|{R(f$|Q,S(iR.v,SQ,V(jR.z,VQ,](kQ,_(lT/Q,],_Q)U%aS,o)U9`R9`8qQ)R%_R,l)RQ,x)`R/e,xQ)h%pS-R)h/sR/s-SQ1c/oR2m1cT!uV!rj!iPVX!j!r!s!w(h,Q/P0}1O2]Q%R!SQ(i%OW(p%Q%T%V1WQ.x,TQ0x.uR0y.w|[PVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q#e]U#k`#q&xQ#ucQ$UkQ$VlQ$WmQ$XnQ$YoQ$ZpQ$sx^$vy3y5|8P:]<Y<ZQ$wzQ%X!WQ%Z!XQ%]!YW%a!]%S(t,eU%s!g&q-aQ%|!yQ&O!zS&U!|){^&_#Q3{6O8R:`<]<^Q&`#RQ&a#SQ&b#TQ&c#UQ&d#VQ&e#WQ&f#XQ&g#YQ&h#ZQ&i#[Q&j#]Q&k#^Q&l#_Q&m#`Q&n#aQ&v#lQ&w#mS&|#r'PQ'`$QQ'b$RQ'c$TQ(e$zQ(x%UQ)v%}Q)x&SQ)z&WQ*O&[Q*U&uS*h']5uQ*j'a^*k3p5a7b9u;|>n>oQ+a(RQ+d(VQ,n)TQ,q)XQ-W)nQ-Y)uQ-[)yQ-e*VQ-f*ZQ-g*[^-k3u5b7c9v;}>p>qQ-w*|Q.Y+^Q/O,YQ/[,gQ/v-`Q0Q-tQ0Z-zQ0f.[Q1g/yQ1j0OQ1m0TQ1z0eU2S0s2W:rQ2`1SQ2o1kQ2p1oQ2v1{Q3Z2rQ3o3xQ4]jQ4^5eQ4d5fQ4e5hQ4f5jQ4g5lQ4h5nQ4i5pQ4j3zQ4l3|Q4m3}Q4n4OQ4o4PQ4p4QQ4q4RQ4r4SQ4s4TQ4t4UQ4u4VQ4v4WQ4w4XQ4x4YQ4y4ZQ4z4[Q4{4_Q4|4`Q4}4aQ5P4bQ5Q4cQ5T4kQ5U5OQ5W5RQ5X5SQ5Y5VQ5]5ZQ5^5[Q5`5_Q5t5rQ6e5gQ6f5iQ6g5kQ6h5mQ6i5oQ6j5qQ6k5}Q6m6PQ6n6QQ6o6RQ6p6SQ6q6TQ6r6UQ6s6VQ6t6WQ6u6XQ6v6YQ6w6ZQ6x6[Q6y6]Q6z6^Q6{6_Q6|6`Q6}6aQ7O6bQ7Q6cQ7R6dQ7U6lQ7V7PQ7X7SQ7Y7TQ7Z7WQ7^7[Q7_7]Q7a7`Q7l5{Q7m5dQ7q7oQ8i7xQ8j7yQ8k7zQ8l7{Q8m7|Q8n7}Q8o8OQ8p8QU8q,c/X1RQ8r%dQ8t8SQ8u8TQ8v8UQ8w8VQ8x8WQ8y8XQ8z8YQ8{8ZQ8|8[Q8}8]Q9O8^Q9P8_Q9Q8`Q9R8aQ9S8bQ9U8dQ9V8eQ9Y8fQ9[8gQ9]8hQ9d8sQ9e9TQ9g9ZQ9i9^Q9j9_Q9k9aQ9l9cQ9m9fQ9n9hQ9q9oQ9r9pQ9t9sQ9w:QU:p#i&t9WQ:x:UQ:y:VQ:z:WQ:{:XQ:|:YQ:}:ZQ;P:[Q;Q:^Q;R:_Q;T:aQ;U:bQ;V:cQ;W:dQ;X:eQ;Y:fQ;Z:gQ;[:hQ;]:iQ;^:jQ;_:kQ;`:lQ;a:mQ;b:nQ;c:oQ;d:uQ;f:vQ;g:wQ;l;SQ;m;eQ;p;jQ;r;kQ;s;nQ;w;uQ;y;vQ;{;zQ<O:TQ=V<PQ=W<QQ=X<RQ=Y<SQ=Z<TQ=[<UQ=]<VQ=^<WQ=_<XQ=`<[Q=c<_Q=d<`Q=e<aQ=f<bQ=g<cQ=h<dQ=i<eQ=j<fQ=k<gQ=l<hQ=m<iQ=n<jQ=o<kQ=p<lQ=q<mQ=r<nQ=s<oQ=t<pQ=u<qQ=v<rQ=w<sQ=x<tQ=y<uQ=z<vQ={<wQ=|<xQ=}<yQ>O<zQ>P<{Q>Q<|Q>R=OQ>S=PQ>T=QQ>U=RQ>X=SQ>Y=TQ>Z=UQ>_=aQ>`=bQ>a>VQ>b>WQ>d>[Q>e>]Q>f>^Q>g>cQ>j>hQ>k>iQ>m>lQ>r:SQ>s:RQ>{>vQ>|:qQ>}:sQ?V;iQ?b?^R?c?_R*R&qQ%t!gQ)W%dT*P&q-a$WiPVX]cklmnopxyz!S!W!X!Y!j!r!s!w#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a$Q$R$T$z%O%Q%T%V%}&S&['a(V(h)u+^,Q,T.[.u.w/P0e0}1O1S1W1o1{2]2r3p3u8d8e!t5c']3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5f5h5j5l5n5p7b7c!x7n5a5b5d5e5g5i5k5m5o5q5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`$`:P`j!]!g!y!z#i#l#m#q#r%S%U&q&t&u&x'P(R(t)T)X)n*V*[,e,g-a5r7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8f8g8h8s9W9Z9^9c9h9o9p9s9u9v:Q:R:S:T:_>v?^?_#l>t!|%d&W)y){*Z*|,c-t-z/X/y0O0T1R1k9T9_9a9f:U:V:W:X:Y:Z:[:]:^:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:u:v:w;S;e;j;k;n;u;v;z;|;}=O=P!x?[,Y-`:q:s;i<P<Q<R<S<T<V<W<Y<[<]<_<a<c<e<g<i<k<m<o<q<s<u<w<y<{=Q=S=U=a>V>[>]>c>h>i>l>n>p!]?]0s2W:r<U<X<Z<^<`<b<d<f<h<j<l<n<p<r<t<v<x<z<|=R=T=b>W>^>o>qQ#p`Q&s#iQ&{#qR*T&tS#o`#q^$Sj5d5e:Q:R:S:TS*W&x9WT:t#i&tQ'O#rR*_'PR&T!{R&Z!|Q&Y!|R-]){Q#|gS'^#}3nS'o$h+QS*d'X3sU*f'Z*w-vQ*z'pQ+O'tQ+T'yQ+e(WW+i([)`+t,xQ,{)cQ-n*rQ.T+XQ.W+[Q.Z+_U.a+j+m,uQ.f+nQ/_,iQ0`.SQ0c.VQ0g.]Q0l.bQ0o.cQ1[3tQ1x0bQ2O0mQ2u1yQ5x7iQ5y7jQ5z7kQ7e7wQ7t9|Q7u9}Q7v:OQ;q?SQ;t?TQ;x?YQ?W?pQ?X?qQ?Z?rQ?f?yQ?g?zQ?h?{R?i?|0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_#`$Og#}$h'X'Z'p't'y(W([)`)c*r*w+Q+X+[+_+j+m+n+t,i,u,x-v.S.V.].b.c0b0m1y3n3s3t7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|S$[r'eQ%l!eS%p!f%rU+f(Y(Z+qQ-Q)gQ/m-OQ0h.^Q1a/nQ2j1bR3W2k|vPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]#Y#g]cklmnopxyz!W!X!Y#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a$Q$R$T$z%}&S&['a(V)u+^.[0e1S1o1{2r3p3u8d8e`+k([)`+j+m+t,u,x.b!t8c']3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5f5h5j5l5n5p7b7c!x<}5a5b5d5e5g5i5k5m5o5q5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`$`?k`j!]!g!y!z#i#l#m#q#r%S%U&q&t&u&x'P(R(t)T)X)n*V*[,e,g-a5r7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8f8g8h8s9W9Z9^9c9h9o9p9s9u9v:Q:R:S:T:_>v?^?_#l?}!|%d&W)y){*Z*|,c-t-z/X/y0O0T1R1k9T9_9a9f:U:V:W:X:Y:Z:[:]:^:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:u:v:w;S;e;j;k;n;u;v;z;|;}=O=P!x@O,Y-`:q:s;i<P<Q<R<S<T<V<W<Y<[<]<_<a<c<e<g<i<k<m<o<q<s<u<w<y<{=Q=S=U=a>V>[>]>c>h>i>l>n>p!]@P0s2W:r<U<X<Z<^<`<b<d<f<h<j<l<n<p<r<t<v<x<z<|=R=T=b>W>^>o>qR'w$hQ'v$hR-|+QR$^rQ#d[Q%Y!WQ%[!XQ%^!YQ(U$pQ({%WQ(|%XQ(}%ZQ)O%]Q)V%cQ)[%gQ)d%lQ)j%qQ)p%tQ*n'iQ-V)mQ-l*oQ.i+oQ.j+pQ.x,WQ/S,`Q/T,aQ/U,bQ/Z,fQ/^,hQ/b,pQ/q-PQ0j.`Q0q.dQ0r.hQ0t.kQ0y.{Q1Y/dQ1_/lQ1n0VQ1|0kQ2Q0nQ2R0pQ2[0|Q2d1XQ2g1^Q2w1}Q2y2PQ2|2VQ3P2ZQ3T2fQ3X2nQ3Y2pQ3]2xQ3a3RQ3b3SR3e3ZR.R+UQ+g(YQ+h(ZR.k+qS+s([+tT,w)`,xa+l([)`+j+m+t,u,x.bQ%g!_Q'i$aQ*o'jQ.h+nS0p.c.fS2P0m0oR2x2OQ$pvW+o([)`+t,xW.`+i+j+m,uS0k.a.bR1}0l|!aPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q$ctW+p([)`+t,xU.d+j+m,uR0n.b0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R/a,m0}}PVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g,m-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|=O=P=Q=R=S=T=U=a=b>V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T$x{$|Q(q%QQ(v%TQ(y%VR2b1WQ%c!]Q(u%SQ,d(tQ/W,cQ/Y,eQ1Q/XR2_1RQ%q!fR)m%rR/p-O",nodeNames:"⚠ ( HeredocString EscapeSequence abstract LogicOp array as Boolean break case catch clone const continue default declare do echo else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final finally fn for foreach from function global goto if implements include include_once LogicOp insteadof interface list match namespace new null LogicOp print readonly require require_once return switch throw trait try unset use var Visibility while LogicOp yield LineComment BlockComment TextInterpolation PhpClose Text PhpOpen Template TextInterpolation EmptyStatement ; } { Block : LabelStatement Name ExpressionStatement ConditionalExpression LogicOp MatchExpression ) ( ParenthesizedExpression MatchBlock MatchArm , => AssignmentExpression ArrayExpression ValueList & VariadicUnpacking ... Pair [ ] ListExpression ValueList Pair Pair SubscriptExpression MemberExpression -> ?-> Name VariableName DynamicVariable $ ${ CallExpression ArgList NamedArgument SpreadArgument CastExpression UnionType LogicOp IntersectionType OptionalType NamedType QualifiedName \\ NamespaceName Name NamespaceName Name ScopedExpression :: ClassMemberName DynamicMemberName AssignOp UpdateExpression UpdateOp YieldExpression BinaryExpression LogicOp LogicOp LogicOp BitOp BitOp BitOp CompareOp CompareOp BitOp ArithOp ConcatOp ArithOp ArithOp IncludeExpression RequireExpression CloneExpression UnaryExpression ControlOp LogicOp PrintIntrinsic FunctionExpression static ParamList Parameter #[ Attributes Attribute VariadicParameter PropertyParameter PropertyHooks PropertyHook UseList ArrowFunction NewExpression class BaseClause ClassInterfaceClause DeclarationList ConstDeclaration VariableDeclarator PropertyDeclaration VariableDeclarator MethodDeclaration UseDeclaration UseList UseInsteadOfClause UseAsClause UpdateExpression ArithOp ShellExpression ThrowExpression Integer Float String MemberExpression SubscriptExpression UnaryExpression ArithOp Interpolation String IfStatement ColonBlock SwitchStatement Block CaseStatement DefaultStatement ColonBlock WhileStatement EmptyStatement DoStatement ForStatement ForSpec SequenceExpression ForeachStatement ForSpec Pair GotoStatement ContinueStatement BreakStatement ReturnStatement TryStatement CatchDeclarator DeclareStatement EchoStatement UnsetStatement ConstDeclaration FunctionDefinition ClassDeclaration InterfaceDeclaration TraitDeclaration EnumDeclaration EnumBody EnumCase NamespaceDefinition NamespaceUseDeclaration UseGroup UseClause UseClause GlobalDeclaration FunctionStaticDeclaration Program",maxTerm:318,nodeProps:[["group",-36,2,8,49,82,84,86,89,94,95,103,107,108,112,113,116,120,126,132,137,139,140,154,155,156,157,160,161,173,174,188,190,191,192,193,194,200,"Expression",-28,75,79,81,83,201,203,208,210,211,214,217,218,219,220,221,223,224,225,226,227,228,229,230,231,234,235,239,240,"Statement",-4,121,123,124,125,"Type"],["isolate",-4,67,68,71,200,""],["openedBy",70,"phpOpen",77,"{",87,"(",102,"#["],["closedBy",72,"phpClose",78,"}",88,")",165,"]"]],propSources:[uV],skippedNodes:[0],repeatNodeCount:32,tokenData:"!GQ_R!]OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^qr)Rrs+Pst+otu2buv5evw6rwx8Vxy>]yz>yz{?g{|@}|}Bb}!OCO!O!PDh!P!QKT!Q!R!!o!R![!$q![!]!,P!]!^!-a!^!_!-}!_!`!1S!`!a!2d!a!b!3t!b!c!7^!c!d!7z!d!e!9Y!e!}!7z!}#O!;b#O#P!<O#P#Q!<l#Q#R!=Y#R#S!7z#S#T!=y#T#U!7z#U#V!9Y#V#o!7z#o#p!Cs#p#q!Da#q#r!Ev#r#s!Fd#s$f$z$f$g&^$g&j!7z&j$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$zP%PV'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zP%kO'TPP%nWOY$zYZ%fZ!a$z!b;'S$z;'S;=`&W<%l~$z~O$z~~%fP&ZP;=`<%l$z_&ed'TP'S^OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^q!^$z!^!_%k!_$f$z$f$g&^$g$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$z_'zW'TP'S^XY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(d^(iW'S^XY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(dR)YW$eQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`;'S$z;'S;=`&W<%lO$zR)yW$XQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`*c!`;'S$z;'S;=`&W<%lO$zR*jV$XQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV+YV'tS'TP'uQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_+v]'TP!e^OY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b!},o!}#O1f#O;'S,o;'S;=`/s<%lO,o_,vZ'TP!e^OY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,o_-nZ!e^OY,oYZ%fZ],o]^$z^!a,o!a!b.a!b;'S,o;'S;=`/s<%l~,o~O,o~~%f^.dWOY.|YZ/nZ].|]^/n^!`.|!a;'S.|;'S;=`/h<%lO.|^/RV!e^OY.|Z].|^!a.|!a!b.a!b;'S.|;'S;=`/h<%lO.|^/kP;=`<%l.|^/sO!e^_/vP;=`<%l,o_0OZ'TPOY,oYZ0qZ],o]^0x^!^,o!^!_-i!_!`,o!`!a$z!a;'S,o;'S;=`/s<%lO,o_0xO'TP!e^_1PV'TP!e^OY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_1oZ'TP$kQ!e^OY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,o_2i`'TP#fQOY$zYZ%fZ!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o#p4w#p$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$z_3ra'TP#d^OY$zYZ%fZ!Q$z!Q![3k![!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$zV5OV'TP#gUOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR5lW'TP$^QOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR6]V$OQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_6yY#T^'TPOY$zYZ%fZv$zvw7iw!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR7pV$TQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR8^Z'TP%`QOY8VYZ9PZw8Vwx;_x!^8V!^!_;{!_#O8V#O#P<y#P;'S8V;'S;=`>V<%lO8VR9WV'TP%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ9rV%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ:^O%`QQ:aRO;'S9m;'S;=`:j;=`O9mQ:oW%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l9m<%lO9mQ;[P;=`<%l9mR;fV'TP%`QOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR<Q]%`QOY8VYZ9PZw8Vwx;_x!a8V!a!b9m!b#O8V#O#P<y#P;'S8V;'S;=`>V<%l~8V~O8V~~%fR=OW'TPOY8VYZ9PZ!^8V!^!_;{!_;'S8V;'S;=`=h;=`<%l9m<%lO8VR=mW%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l8V<%lO9mR>YP;=`<%l8VR>dV!zQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV?QV!yU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR?nY'TP$^QOY$zYZ%fZz$zz{@^{!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR@eW$_Q'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRAUY$[Q'TPOY$zYZ%fZ{$z{|At|!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRA{V%TQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRBiV#OQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_CXZ$[Q%^W'TPOY$zYZ%fZ}$z}!OAt!O!^$z!^!_%k!_!`6U!`!aCz!a;'S$z;'S;=`&W<%lO$zVDRV#aU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVDo['TP$]QOY$zYZ%fZ!O$z!O!PEe!P!Q$z!Q![Fs![!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVEjX'TPOY$zYZ%fZ!O$z!O!PFV!P!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVF^V#VU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRFz_'TP%XQOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#SJc#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zRHO]'TPOY$zYZ%fZ{$z{|Hw|}$z}!OHw!O!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRH|X'TPOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRIpZ'TP%XQOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_#R$z#R#SHw#S;'S$z;'S;=`&W<%lO$zRJhX'TPOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_K[['TP$^QOY$zYZ%fZz$zz{LQ{!P$z!P!Q,o!Q!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$z_LVX'TPOYLQYZLrZzLQz{N_{!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQ_LwT'TPOzMWz{Mj{;'SMW;'S;=`NX<%lOMW^MZTOzMWz{Mj{;'SMW;'S;=`NX<%lOMW^MmVOzMWz{Mj{!PMW!P!QNS!Q;'SMW;'S;=`NX<%lOMW^NXO!f^^N[P;=`<%lMW_NdZ'TPOYLQYZLrZzLQz{N_{!PLQ!P!Q! V!Q!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQ_! ^V!f^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_! vZOYLQYZLrZzLQz{N_{!aLQ!a!bMW!b;'SLQ;'S;=`!!i<%l~LQ~OLQ~~%f_!!lP;=`<%lLQZ!!vm'TP%WYOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!d$z!d!e!&o!e!g$z!g!hGy!h!q$z!q!r!(a!r!z$z!z!{!){!{#R$z#R#S!%}#S#U$z#U#V!&o#V#X$z#X#YGy#Y#c$z#c#d!(a#d#l$z#l#m!){#m;'S$z;'S;=`&W<%lO$zZ!$xa'TP%WYOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#S!%}#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zZ!&SX'TPOY$zYZ%fZ!Q$z!Q![!$q![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!&tY'TPOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!'k['TP%WYOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_#R$z#R#S!&o#S;'S$z;'S;=`&W<%lO$zZ!(fX'TPOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!)YZ'TP%WYOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_#R$z#R#S!(a#S;'S$z;'S;=`&W<%lO$zZ!*Q]'TPOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zZ!+Q_'TP%WYOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#R$z#R#S!){#S#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zR!,WX!rQ'TPOY$zYZ%fZ![$z![!]!,s!]!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!,zV#yQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!-hV!nU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!.S[$YQOY$zYZ%fZ!^$z!^!_!.x!_!`!/i!`!a*c!a!b!0]!b;'S$z;'S;=`&W<%l~$z~O$z~~%fR!/PW$ZQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!/pX$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a*c!a;'S$z;'S;=`&W<%lO$zP!0bR!jP!_!`!0k!r!s!0p#d#e!0pP!0pO!jPP!0sQ!j!k!0y#[#]!0yP!0|Q!r!s!0k#d#e!0k_!1ZX#|Y'TPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`!a!1v!a;'S$z;'S;=`&W<%lO$zV!1}V#PU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!2kX$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`!3W!`!a!.x!a;'S$z;'S;=`&W<%lO$zR!3_V$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!3{[!wQ'TPOY$zYZ%fZ}$z}!O!4q!O!^$z!^!_%k!_!`$z!`!a!6P!a!b!6m!b;'S$z;'S;=`&W<%lO$zV!4vX'TPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a!5c!a;'S$z;'S;=`&W<%lO$zV!5jV#bU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!6WV!h^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!6tW$RQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!7eV$dQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!8Ta'aS'TP'WYOY$zYZ%fZ!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$z_!9ce'aS'TP'WYOY$zYZ%fZr$zrs!:tsw$zwx8Vx!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$zR!:{V'TP'uQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!;iV#XU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!<VV#s^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!<sV#YQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!=aW$VQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!>OZ'TPOY!=yYZ!>qZ!^!=y!^!_!@y!_#O!=y#O#P!Au#P#S!=y#S#T!CP#T;'S!=y;'S;=`!Cm<%lO!=yR!>vV'TPO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s<%lO!?]Q!?`VO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s<%lO!?]Q!?xRO;'S!?];'S;=`!@R;=`O!?]Q!@UWO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s;=`<%l!?]<%lO!?]Q!@sO%UQQ!@vP;=`<%l!?]R!@|]OY!=yYZ!>qZ!a!=y!a!b!?]!b#O!=y#O#P!Au#P#S!=y#S#T!CP#T;'S!=y;'S;=`!Cm<%l~!=y~O!=y~~%fR!AzW'TPOY!=yYZ!>qZ!^!=y!^!_!@y!_;'S!=y;'S;=`!Bd;=`<%l!?]<%lO!=yR!BgWO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s;=`<%l!=y<%lO!?]R!CWV%UQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!CpP;=`<%l!=y_!CzV!p^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!DjY$UQ#n['TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`#p$z#p#q!EY#q;'S$z;'S;=`&W<%lO$zR!EaV$SQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!E}V!oQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!FkV$eQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z",tokenizers:[aV,cV,sV,0,1,2,3,oV],topRules:{Template:[0,73],Program:[1,241]},dynamicPrecedences:{298:1},specialized:[{term:284,get:(t,e)=>QQ(t)<<1,external:QQ},{term:284,get:t=>hV[t]||-1}],tokenPrec:29889}),dV=Pt.define({name:"php",parser:fV.configure({props:[Xt.add({IfStatement:Ot({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:Ot({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:t=>{let e=t.textAfter,i=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return t.baseIndent+(i?0:n?1:2)*t.unit},ColonBlock:t=>t.baseIndent+t.unit,"Block EnumBody DeclarationList":Di({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"String BlockComment":()=>null,Statement:Ot({except:/^({|end(for|foreach|switch|while)\b)/})}),yt.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":en,ColonBlock(t){return{from:t.from+1,to:t.to}},BlockComment(t){return{from:t.from+2,to:t.to-2}}})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*(?:case |default:|end(?:if|for(?:each)?|switch|while)|else(?:if)?|\{|\})$/,wordChars:"$",closeBrackets:{stringPrefixes:["b","B"]}}});function $V(t={}){let e=[],i;if(t.baseLanguage!==null)if(t.baseLanguage)i=t.baseLanguage;else{let n=gf({matchClosingTags:!1});e.push(n.support),i=n.language}return new Zt(dV.configure({wrap:i&&Ah(n=>n.type.isTop?{parser:i.parser,overlay:O=>O.name=="Text"}:null),top:t.plain?"Program":"Template"}),e)}const Ju=1,pV=2,QV=3,mV=4,gV=5,PV=36,SV=37,bV=38,XV=11,yV=13;function xV(t){return t==45||t==46||t==58||t>=65&&t<=90||t==95||t>=97&&t<=122||t>=161}function wV(t){return t==9||t==10||t==13||t==32}let gQ=null,PQ=null,SQ=0;function eh(t,e){let i=t.pos+e;if(PQ==t&&SQ==i)return gQ;for(;wV(t.peek(e));)e++;let n="";for(;;){let O=t.peek(e);if(!xV(O))break;n+=String.fromCharCode(O),e++}return PQ=t,SQ=i,gQ=n||null}function bQ(t,e){this.name=t,this.parent=e}const kV=new ya({start:null,shift(t,e,i,n){return e==Ju?new bQ(eh(n,1)||"",t):t},reduce(t,e){return e==XV&&t?t.parent:t},reuse(t,e,i,n){let O=e.type.id;return O==Ju||O==yV?new bQ(eh(n,1)||"",t):t},strict:!1}),TV=new ke((t,e)=>{if(t.next==60){if(t.advance(),t.next==47){t.advance();let i=eh(t,0);if(!i)return t.acceptToken(gV);if(e.context&&i==e.context.name)return t.acceptToken(pV);for(let n=e.context;n;n=n.parent)if(n.name==i)return t.acceptToken(QV,-2);t.acceptToken(mV)}else if(t.next!=33&&t.next!=63)return t.acceptToken(Ju)}},{contextual:!0});function Tf(t,e){return new ke(i=>{let n=0,O=e.charCodeAt(0);e:for(;!(i.next<0);i.advance(),n++)if(i.next==O){for(let r=1;r<e.length;r++)if(i.peek(r)!=e.charCodeAt(r))continue e;break}n&&i.acceptToken(t)})}const vV=Tf(PV,"-->"),_V=Tf(SV,"?>"),RV=Tf(bV,"]]>"),YV=bt({Text:$.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":$.angleBracket,TagName:$.tagName,"MismatchedCloseTag/TagName":[$.tagName,$.invalid],AttributeName:$.attributeName,AttributeValue:$.attributeValue,Is:$.definitionOperator,"EntityReference CharacterReference":$.character,Comment:$.blockComment,ProcessingInst:$.processingInstruction,DoctypeDecl:$.documentMeta,Cdata:$.special($.string)}),ZV=St.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y",stateData:")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O",goto:"%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:50,context:kV,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[YV],skippedNodes:[0],repeatNodeCount:9,tokenData:"!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[TV,vV,_V,RV,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function zo(t,e){let i=e&&e.getChild("TagName");return i?t.sliceString(i.from,i.to):""}function Pc(t,e){let i=e&&e.firstChild;return!i||i.name!="OpenTag"?"":zo(t,i)}function zV(t,e,i){let n=e&&e.getChildren("Attribute").find(r=>r.from<=i&&r.to>=i),O=n&&n.getChild("AttributeName");return O?t.sliceString(O.from,O.to):""}function Sc(t){for(let e=t&&t.parent;e;e=e.parent)if(e.name=="Element")return e;return null}function qV(t,e){var i;let n=Ze(t).resolveInner(e,-1),O=null;for(let r=n;!O&&r.parent;r=r.parent)(r.name=="OpenTag"||r.name=="CloseTag"||r.name=="SelfClosingTag"||r.name=="MismatchedCloseTag")&&(O=r);if(O&&(O.to>e||O.lastChild.type.isError)){let r=O.parent;if(n.name=="TagName")return O.name=="CloseTag"||O.name=="MismatchedCloseTag"?{type:"closeTag",from:n.from,context:r}:{type:"openTag",from:n.from,context:Sc(r)};if(n.name=="AttributeName")return{type:"attrName",from:n.from,context:O};if(n.name=="AttributeValue")return{type:"attrValue",from:n.from,context:O};let a=n==O||n.name=="Attribute"?n.childBefore(e):n;return(a==null?void 0:a.name)=="StartTag"?{type:"openTag",from:e,context:Sc(r)}:(a==null?void 0:a.name)=="StartCloseTag"&&a.to<=e?{type:"closeTag",from:e,context:r}:(a==null?void 0:a.name)=="Is"?{type:"attrValue",from:e,context:O}:a?{type:"attrName",from:e,context:O}:null}else if(n.name=="StartCloseTag")return{type:"closeTag",from:e,context:n.parent};for(;n.parent&&n.to==e&&!(!((i=n.lastChild)===null||i===void 0)&&i.type.isError);)n=n.parent;return n.name=="Element"||n.name=="Text"||n.name=="Document"?{type:"tag",from:e,context:n.name=="Element"?n:Sc(n)}:null}class UV{constructor(e,i,n){this.attrs=i,this.attrValues=n,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(O=>({label:O,type:"text"})):[]}}const bc=/^[:\-\.\w\u00b7-\uffff]*$/;function XQ(t){return Object.assign(Object.assign({type:"property"},t.completion||{}),{label:t.name})}function yQ(t){return typeof t=="string"?{label:`"${t}"`,type:"constant"}:/^"/.test(t.label)?t:Object.assign(Object.assign({},t),{label:`"${t.label}"`})}function VV(t,e){let i=[],n=[],O=Object.create(null);for(let s of e){let l=XQ(s);i.push(l),s.global&&n.push(l),s.values&&(O[s.name]=s.values.map(yQ))}let r=[],a=[],o=Object.create(null);for(let s of t){let l=n,c=O;s.attributes&&(l=l.concat(s.attributes.map(h=>typeof h=="string"?i.find(d=>d.label==h)||{label:h,type:"property"}:(h.values&&(c==O&&(c=Object.create(c)),c[h.name]=h.values.map(yQ)),XQ(h)))));let u=new UV(s,l,c);o[u.name]=u,r.push(u),s.top&&a.push(u)}a.length||(a=r);for(let s=0;s<r.length;s++){let l=t[s],c=r[s];if(l.children)for(let u of l.children)o[u]&&c.children.push(o[u]);else c.children=r}return s=>{var l;let{doc:c}=s.state,u=qV(s.state,s.pos);if(!u||u.type=="tag"&&!s.explicit)return null;let{type:h,from:d,context:p}=u;if(h=="openTag"){let Q=a,g=Pc(c,p);if(g){let m=o[g];Q=(m==null?void 0:m.children)||r}return{from:d,options:Q.map(m=>m.completion),validFor:bc}}else if(h=="closeTag"){let Q=Pc(c,p);return Q?{from:d,to:s.pos+(c.sliceString(s.pos,s.pos+1)==">"?1:0),options:[((l=o[Q])===null||l===void 0?void 0:l.closeNameCompletion)||{label:Q+">",type:"type"}],validFor:bc}:null}else if(h=="attrName"){let Q=o[zo(c,p)];return{from:d,options:(Q==null?void 0:Q.attrs)||n,validFor:bc}}else if(h=="attrValue"){let Q=zV(c,p,d);if(!Q)return null;let g=o[zo(c,p)],m=((g==null?void 0:g.attrValues)||O)[Q];return!m||!m.length?null:{from:d,to:s.pos+(c.sliceString(s.pos,s.pos+1)=='"'?1:0),options:m,validFor:/^"[^"]*"?$/}}else if(h=="tag"){let Q=Pc(c,p),g=o[Q],m=[],S=p&&p.lastChild;Q&&(!S||S.name!="CloseTag"||zo(c,S)!=Q)&&m.push(g?g.closeCompletion:{label:"</"+Q+">",type:"type",boost:2});let X=m.concat(((g==null?void 0:g.children)||(p?r:a)).map(z=>z.openCompletion));if(p&&(g!=null&&g.text.length)){let z=p.firstChild;z.to>s.pos-20&&!/\S/.test(s.state.sliceDoc(z.to,s.pos))&&(X=X.concat(g.text))}return{from:d,options:X,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}const th=Pt.define({name:"xml",parser:ZV.configure({props:[Xt.add({Element(t){let e=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},"OpenTag CloseTag SelfClosingTag"(t){return t.column(t.node.from)+t.unit}}),yt.add({Element(t){let e=t.firstChild,i=t.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:i.name=="CloseTag"?i.from:t.to}}}),Mh.add({"OpenTag CloseTag":t=>t.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/$/}});function WV(t={}){let e=[th.data.of({autocomplete:VV(t.elements||[],t.attributes||[])})];return t.autoCloseTags!==!1&&e.push(jV),new Zt(th,e)}function xQ(t,e,i=t.length){if(!e)return"";let n=e.firstChild,O=n&&n.getChild("TagName");return O?t.sliceString(O.from,Math.min(O.to,i)):""}const jV=H.inputHandler.of((t,e,i,n,O)=>{if(t.composing||t.state.readOnly||e!=i||n!=">"&&n!="/"||!th.isActiveAt(t.state,e,-1))return!1;let r=O(),{state:a}=r,o=a.changeByRange(s=>{var l,c,u;let{head:h}=s,d=a.doc.sliceString(h-1,h)==n,p=Ze(a).resolveInner(h,-1),Q;if(d&&n==">"&&p.name=="EndTag"){let g=p.parent;if(((c=(l=g.parent)===null||l===void 0?void 0:l.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(Q=xQ(a.doc,g.parent,h))){let m=h+(a.doc.sliceString(h,h+1)===">"?1:0),S=`</${Q}>`;return{range:s,changes:{from:h,to:m,insert:S}}}}else if(d&&n=="/"&&p.name=="StartCloseTag"){let g=p.parent;if(p.from==h-2&&((u=g.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(Q=xQ(a.doc,g,h))){let m=h+(a.doc.sliceString(h,h+1)===">"?1:0),S=`${Q}>`;return{range:U.cursor(h+S.length,-1),changes:{from:h,to:m,insert:S}}}}return{range:s}});return o.changes.empty?!1:(t.dispatch([r,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),_O=63,wQ=64,CV=1,EV=2,$X=3,GV=4,pX=5,AV=6,NV=7,QX=65,IV=66,LV=8,DV=9,MV=10,BV=11,FV=12,mX=13,HV=19,KV=20,JV=29,eW=33,tW=34,iW=47,nW=0,vf=1,ih=2,ca=3,nh=4;let Wn=class{constructor(e,i,n){this.parent=e,this.depth=i,this.type=n,this.hash=(e?e.hash+e.hash<<8:0)+i+(i<<4)+n}};Wn.top=new Wn(null,-1,nW);function Er(t,e){for(let i=0,n=e-t.pos-1;;n--,i++){let O=t.peek(n);if(Fi(O)||O==-1)return i}}function Oh(t){return t==32||t==9}function Fi(t){return t==10||t==13}function gX(t){return Oh(t)||Fi(t)}function An(t){return t<0||gX(t)}const OW=new ya({start:Wn.top,reduce(t,e){return t.type==ca&&(e==KV||e==tW)?t.parent:t},shift(t,e,i,n){if(e==$X)return new Wn(t,Er(n,n.pos),vf);if(e==QX||e==pX)return new Wn(t,Er(n,n.pos),ih);if(e==_O)return t.parent;if(e==HV||e==eW)return new Wn(t,0,ca);if(e==mX&&t.type==nh)return t.parent;if(e==iW){let O=/[1-9]/.exec(n.read(n.pos,i.pos));if(O)return new Wn(t,t.depth+ +O[0],nh)}return t},hash(t){return t.hash}});function HO(t,e,i=0){return t.peek(i)==e&&t.peek(i+1)==e&&t.peek(i+2)==e&&An(t.peek(i+3))}const rW=new ke((t,e)=>{if(t.next==-1&&e.canShift(wQ))return t.acceptToken(wQ);let i=t.peek(-1);if((Fi(i)||i<0)&&e.context.type!=ca){if(HO(t,45))if(e.canShift(_O))t.acceptToken(_O);else return t.acceptToken(CV,3);if(HO(t,46))if(e.canShift(_O))t.acceptToken(_O);else return t.acceptToken(EV,3);let n=0;for(;t.next==32;)n++,t.advance();(n<e.context.depth||n==e.context.depth&&e.context.type==vf&&(t.next!=45||!An(t.peek(1))))&&t.next!=-1&&!Fi(t.next)&&t.next!=35&&t.acceptToken(_O,-n)}},{contextual:!0}),aW=new ke((t,e)=>{if(e.context.type==ca){t.next==63&&(t.advance(),An(t.next)&&t.acceptToken(NV));return}if(t.next==45)t.advance(),An(t.next)&&t.acceptToken(e.context.type==vf&&e.context.depth==Er(t,t.pos-1)?GV:$X);else if(t.next==63)t.advance(),An(t.next)&&t.acceptToken(e.context.type==ih&&e.context.depth==Er(t,t.pos-1)?AV:pX);else{let i=t.pos;for(;;)if(Oh(t.next)){if(t.pos==i)return;t.advance()}else if(t.next==33)PX(t);else if(t.next==38)rh(t);else if(t.next==42){rh(t);break}else if(t.next==39||t.next==34){if(_f(t,!0))break;return}else if(t.next==91||t.next==123){if(!sW(t))return;break}else{SX(t,!0,!1,0);break}for(;Oh(t.next);)t.advance();if(t.next==58){if(t.pos==i&&e.canShift(JV))return;let n=t.peek(1);An(n)&&t.acceptTokenTo(e.context.type==ih&&e.context.depth==Er(t,i)?IV:QX,i)}}},{contextual:!0});function oW(t){return t>32&&t<127&&t!=34&&t!=37&&t!=44&&t!=60&&t!=62&&t!=92&&t!=94&&t!=96&&t!=123&&t!=124&&t!=125}function kQ(t){return t>=48&&t<=57||t>=97&&t<=102||t>=65&&t<=70}function TQ(t,e){return t.next==37?(t.advance(),kQ(t.next)&&t.advance(),kQ(t.next)&&t.advance(),!0):oW(t.next)||e&&t.next==44?(t.advance(),!0):!1}function PX(t){if(t.advance(),t.next==60){for(t.advance();;)if(!TQ(t,!0)){t.next==62&&t.advance();break}}else for(;TQ(t,!1););}function rh(t){for(t.advance();!An(t.next)&&ms(t.next)!="f";)t.advance()}function _f(t,e){let i=t.next,n=!1,O=t.pos;for(t.advance();;){let r=t.next;if(r<0)break;if(t.advance(),r==i)if(r==39)if(t.next==39)t.advance();else break;else break;else if(r==92&&i==34)t.next>=0&&t.advance();else if(Fi(r)){if(e)return!1;n=!0}else if(e&&t.pos>=O+1024)return!1}return!n}function sW(t){for(let e=[],i=t.pos+1024;;)if(t.next==91||t.next==123)e.push(t.next),t.advance();else if(t.next==39||t.next==34){if(!_f(t,!0))return!1}else if(t.next==93||t.next==125){if(e[e.length-1]!=t.next-2)return!1;if(e.pop(),t.advance(),!e.length)return!0}else{if(t.next<0||t.pos>i||Fi(t.next))return!1;t.advance()}}const lW="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function ms(t){return t<33?"u":t>125?"s":lW[t-33]}function Xc(t,e){let i=ms(t);return i!="u"&&!(e&&i=="f")}function SX(t,e,i,n){if(ms(t.next)=="s"||(t.next==63||t.next==58||t.next==45)&&Xc(t.peek(1),i))t.advance();else return!1;let O=t.pos;for(;;){let r=t.next,a=0,o=n+1;for(;gX(r);){if(Fi(r)){if(e)return!1;o=0}else o++;r=t.peek(++a)}if(!(r>=0&&(r==58?Xc(t.peek(a+1),i):r==35?t.peek(a-1)!=32:Xc(r,i)))||!i&&o<=n||o==0&&!i&&(HO(t,45,a)||HO(t,46,a)))break;if(e&&ms(r)=="f")return!1;for(let l=a;l>=0;l--)t.advance();if(e&&t.pos>O+1024)return!1}return!0}const cW=new ke((t,e)=>{if(t.next==33)PX(t),t.acceptToken(FV);else if(t.next==38||t.next==42){let i=t.next==38?MV:BV;rh(t),t.acceptToken(i)}else t.next==39||t.next==34?(_f(t,!1),t.acceptToken(DV)):SX(t,!1,e.context.type==ca,e.context.depth)&&t.acceptToken(LV)}),uW=new ke((t,e)=>{let i=e.context.type==nh?e.context.depth:-1,n=t.pos;e:for(;;){let O=0,r=t.next;for(;r==32;)r=t.peek(++O);if(!O&&(HO(t,45,O)||HO(t,46,O))||!Fi(r)&&(i<0&&(i=Math.max(e.context.depth+1,O)),O<i))break;for(;;){if(t.next<0)break e;let a=Fi(t.next);if(t.advance(),a)continue e;n=t.pos}}t.acceptTokenTo(mX,n)}),hW=bt({DirectiveName:$.keyword,DirectiveContent:$.attributeValue,"DirectiveEnd DocEnd":$.meta,QuotedLiteral:$.string,BlockLiteralHeader:$.special($.string),BlockLiteralContent:$.content,Literal:$.content,"Key/Literal Key/QuotedLiteral":$.definition($.propertyName),"Anchor Alias":$.labelName,Tag:$.typeName,Comment:$.lineComment,": , -":$.separator,"?":$.punctuation,"[ ]":$.squareBracket,"{ }":$.brace}),fW=St.deserialize({version:14,states:"5lQ!ZQgOOO#PQfO'#CpO#uQfO'#DOOOQR'#Dv'#DvO$qQgO'#DRO%gQdO'#DUO%nQgO'#DUO&ROaO'#D[OOQR'#Du'#DuO&{QgO'#D^O'rQgO'#D`OOQR'#Dt'#DtO(iOqO'#DbOOQP'#Dj'#DjO(zQaO'#CmO)YQgO'#CmOOQP'#Cm'#CmQ)jQaOOQ)uQgOOQ]QgOOO*PQdO'#CrO*nQdO'#CtOOQO'#Dw'#DwO+]Q`O'#CxO+hQdO'#CwO+rQ`O'#CwOOQO'#Cv'#CvO+wQdO'#CvOOQO'#Cq'#CqO,UQ`O,59[O,^QfO,59[OOQR,59[,59[OOQO'#Cx'#CxO,eQ`O'#DPO,pQdO'#DPOOQO'#Dx'#DxO,zQdO'#DxO-XQ`O,59jO-aQfO,59jOOQR,59j,59jOOQR'#DS'#DSO-hQcO,59mO-sQgO'#DVO.TQ`O'#DVO.YQcO,59pOOQR'#DX'#DXO#|QfO'#DWO.hQcO'#DWOOQR,59v,59vO.yOWO,59vO/OOaO,59vO/WOaO,59vO/cQgO'#D_OOQR,59x,59xO0VQgO'#DaOOQR,59z,59zOOQP,59|,59|O0yOaO,59|O1ROaO,59|O1aOqO,59|OOQP-E7h-E7hO1oQgO,59XOOQP,59X,59XO2PQaO'#DeO2_QgO'#DeO2oQgO'#DkOOQP'#Dk'#DkQ)jQaOOO3PQdO'#CsOOQO,59^,59^O3kQdO'#CuOOQO,59`,59`OOQO,59c,59cO4VQdO,59cO4aQdO'#CzO4kQ`O'#CzOOQO,59b,59bOOQU,5:Q,5:QOOQR1G.v1G.vO4pQ`O1G.vOOQU-E7d-E7dO4xQdO,59kOOQO,59k,59kO5SQdO'#DQO5^Q`O'#DQOOQO,5:d,5:dOOQU,5:R,5:ROOQR1G/U1G/UO5cQ`O1G/UOOQU-E7e-E7eO5kQgO'#DhO5xQcO1G/XOOQR1G/X1G/XOOQR,59q,59qO6TQgO,59qO6eQdO'#DiO6lQgO'#DiO7PQcO1G/[OOQR1G/[1G/[OOQR,59r,59rO#|QfO,59rOOQR1G/b1G/bO7_OWO1G/bO7dOaO1G/bOOQR,59y,59yOOQR,59{,59{OOQP1G/h1G/hO7lOaO1G/hO7tOaO1G/hO8POaO1G/hOOQP1G.s1G.sO8_QgO,5:POOQP,5:P,5:POOQP,5:V,5:VOOQP-E7i-E7iOOQO,59_,59_OOQO,59a,59aOOQO1G.}1G.}OOQO,59f,59fO8oQdO,59fOOQR7+$b7+$bP,XQ`O'#DfOOQO1G/V1G/VOOQO,59l,59lO8yQdO,59lOOQR7+$p7+$pP9TQ`O'#DgOOQR'#DT'#DTOOQR,5:S,5:SOOQR-E7f-E7fOOQR7+$s7+$sOOQR1G/]1G/]O9YQgO'#DYO9jQ`O'#DYOOQR,5:T,5:TO#|QfO'#DZO9oQcO'#DZOOQR-E7g-E7gOOQR7+$v7+$vOOQR1G/^1G/^OOQR7+$|7+$|O:QOWO7+$|OOQP7+%S7+%SO:VOaO7+%SO:_OaO7+%SOOQP1G/k1G/kOOQO1G/Q1G/QOOQO1G/W1G/WOOQR,59t,59tO:jQgO,59tOOQR,59u,59uO#|QfO,59uOOQR<<Hh<<HhOOQP<<Hn<<HnO:zOaO<<HnOOQR1G/`1G/`OOQR1G/a1G/aOOQPAN>YAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:OW,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[hW],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[rW,aW,cW,uW,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),dW=Pt.define({name:"yaml",parser:fW.configure({props:[Xt.add({Stream:t=>{for(let e=t.node.resolve(t.pos,-1);e&&e.to>=t.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.from<e.to)return t.baseIndentFor(e);if(e.name=="BlockLiteral")return t.baseIndentFor(e)+t.unit;if(e.name=="BlockSequence"||e.name=="BlockMapping")return t.column(e.firstChild.from,1);if(e.name=="QuotedLiteral")return null;if(e.name=="Literal"){let i=t.column(e.from,1);if(i==t.lineIndent(e.from,1))return i;if(e.to>t.pos)return null}}return null},FlowMapping:Di({closing:"}"}),FlowSequence:Di({closing:"]"})}),yt.add({"FlowMapping FlowSequence":en,"Item Pair BlockLiteral":(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function $W(){return new Zt(dW)}function Rf(t,e,i,n,O,r){this.indented=t,this.column=e,this.type=i,this.info=n,this.align=O,this.prev=r}function lo(t,e,i,n){var O=t.indented;return t.context&&t.context.type=="statement"&&i!="statement"&&(O=t.context.indented),t.context=new Rf(O,e,i,n,null,t.context)}function Pr(t){var e=t.context.type;return(e==")"||e=="]"||e=="}")&&(t.indented=t.context.indented),t.context=t.context.prev}function vQ(t,e,i){if(e.prevToken=="variable"||e.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(t.string.slice(0,i))||e.typeAtEndOfLine&&t.column()==t.indentation())return!0}function yc(t){for(;;){if(!t||t.type=="top")return!0;if(t.type=="}"&&t.prev.info!="namespace")return!1;t=t.prev}}function Nt(t){var e=t.statementIndentUnit,i=t.dontAlignCalls,n=t.keywords||{},O=t.types||{},r=t.builtin||{},a=t.blockKeywords||{},o=t.defKeywords||{},s=t.atoms||{},l=t.hooks||{},c=t.multiLineStrings,u=t.indentStatements!==!1,h=t.indentSwitch!==!1,d=t.namespaceSeparator,p=t.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,Q=t.numberStart||/[\d\.]/,g=t.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,m=t.isOperatorChar||/[+\-*&%=<>!?|\/]/,S=t.isIdentifierChar||/[\w\$_\xa1-\uffff]/,X=t.isReservedIdentifier||!1,z,R;function G(V,v){var _=V.next();if(l[_]){var w=l[_](V,v);if(w!==!1)return w}if(_=='"'||_=="'")return v.tokenize=j(_),v.tokenize(V,v);if(Q.test(_)){if(V.backUp(1),V.match(g))return"number";V.next()}if(p.test(_))return z=_,null;if(_=="/"){if(V.eat("*"))return v.tokenize=C,C(V,v);if(V.eat("/"))return V.skipToEnd(),"comment"}if(m.test(_)){for(;!V.match(/^\/[\/*]/,!1)&&V.eat(m););return"operator"}if(V.eatWhile(S),d)for(;V.match(d);)V.eatWhile(S);var b=V.current();return Ei(n,b)?(Ei(a,b)&&(z="newstatement"),Ei(o,b)&&(R=!0),"keyword"):Ei(O,b)?"type":Ei(r,b)||X&&X(b)?(Ei(a,b)&&(z="newstatement"),"builtin"):Ei(s,b)?"atom":"variable"}function j(V){return function(v,_){for(var w=!1,b,k=!1;(b=v.next())!=null;){if(b==V&&!w){k=!0;break}w=!w&&b=="\\"}return(k||!(w||c))&&(_.tokenize=null),"string"}}function C(V,v){for(var _=!1,w;w=V.next();){if(w=="/"&&_){v.tokenize=null;break}_=w=="*"}return"comment"}function D(V,v){t.typeFirstDefinitions&&V.eol()&&yc(v.context)&&(v.typeAtEndOfLine=vQ(V,v,V.pos))}return{name:t.name,startState:function(V){return{tokenize:null,context:new Rf(-V,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(V,v){var _=v.context;if(V.sol()&&(_.align==null&&(_.align=!1),v.indented=V.indentation(),v.startOfLine=!0),V.eatSpace())return D(V,v),null;z=R=null;var w=(v.tokenize||G)(V,v);if(w=="comment"||w=="meta")return w;if(_.align==null&&(_.align=!0),z==";"||z==":"||z==","&&V.match(/^\s*(?:\/\/.*)?$/,!1))for(;v.context.type=="statement";)Pr(v);else if(z=="{")lo(v,V.column(),"}");else if(z=="[")lo(v,V.column(),"]");else if(z=="(")lo(v,V.column(),")");else if(z=="}"){for(;_.type=="statement";)_=Pr(v);for(_.type=="}"&&(_=Pr(v));_.type=="statement";)_=Pr(v)}else z==_.type?Pr(v):u&&((_.type=="}"||_.type=="top")&&z!=";"||_.type=="statement"&&z=="newstatement")&&lo(v,V.column(),"statement",V.current());if(w=="variable"&&(v.prevToken=="def"||t.typeFirstDefinitions&&vQ(V,v,V.start)&&yc(v.context)&&V.match(/^\s*\(/,!1))&&(w="def"),l.token){var b=l.token(V,v,w);b!==void 0&&(w=b)}return w=="def"&&t.styleDefs===!1&&(w="variable"),v.startOfLine=!1,v.prevToken=R?"def":w||z,D(V,v),w},indent:function(V,v,_){if(V.tokenize!=G&&V.tokenize!=null||V.typeAtEndOfLine&&yc(V.context))return null;var w=V.context,b=v&&v.charAt(0),k=b==w.type;if(w.type=="statement"&&b=="}"&&(w=w.prev),t.dontIndentStatements)for(;w.type=="statement"&&t.dontIndentStatements.test(w.info);)w=w.prev;if(l.indent){var Y=l.indent(V,w,v,_.unit);if(typeof Y=="number")return Y}var x=w.prev&&w.prev.info=="switch";if(t.allmanIndentation&&/[{(]/.test(b)){for(;w.type!="top"&&w.type!="}";)w=w.prev;return w.indented}return w.type=="statement"?w.indented+(b=="{"?0:e||_.unit):w.align&&(!i||w.type!=")")?w.column+(k?0:1):w.type==")"&&!k?w.indented+(e||_.unit):w.indented+(k?0:_.unit)+(!k&&x&&!/^(?:case|default)\b/.test(v)?_.unit:0)},languageData:{indentOnInput:h?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(n).concat(Object.keys(O)).concat(Object.keys(r)).concat(Object.keys(s)),...t.languageData}}}function ee(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}function Ei(t,e){return typeof t=="function"?t(e):t.propertyIsEnumerable(e)}var wa="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",bX="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",XX="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",yX="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",pW=ee("int long char short double float unsigned signed void bool"),QW=ee("SEL instancetype id Class Protocol BOOL");function ka(t){return Ei(pW,t)||/.+_t$/.test(t)}function xX(t){return ka(t)||Ei(QW,t)}var Ta="case do else for if switch while struct enum union",Ns="struct enum union";function bn(t,e){if(!e.startOfLine)return!1;for(var i,n=null;i=t.peek();){if(i=="\\"&&t.match(/^.$/)){n=bn;break}else if(i=="/"&&t.match(/^\/[\/\*]/,!1))break;t.next()}return e.tokenize=n,"meta"}function Is(t,e){return e.prevToken=="type"?"type":!1}function Ls(t){return!t||t.length<2||t[0]!="_"?!1:t[1]=="_"||t[1]!==t[1].toLowerCase()}function Me(t){return t.eatWhile(/[\w\.']/),"number"}function un(t,e){if(t.backUp(1),t.match(/^(?:R|u8R|uR|UR|LR)/)){var i=t.match(/^"([^\s\\()]{0,16})\(/);return i?(e.cpp11RawStringDelim=i[1],e.tokenize=RQ,RQ(t,e)):!1}return t.match(/^(?:u8|u|U|L)/)?t.match(/^["']/,!1)?"string":!1:(t.next(),!1)}function wX(t){var e=/(\w+)::~?(\w+)$/.exec(t);return e&&e[1]==e[2]}function _Q(t,e){for(var i;(i=t.next())!=null;)if(i=='"'&&!t.eat('"')){e.tokenize=null;break}return"string"}function RQ(t,e){var i=e.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),n=t.match(new RegExp(".*?\\)"+i+'"'));return n?e.tokenize=null:t.skipToEnd(),"string"}Nt({name:"c",keywords:ee(wa),types:ka,blockKeywords:ee(Ta),defKeywords:ee(Ns),typeFirstDefinitions:!0,atoms:ee("NULL true false"),isReservedIdentifier:Ls,hooks:{"#":bn,"*":Is}});Nt({name:"cpp",keywords:ee(wa+" "+bX),types:ka,blockKeywords:ee(Ta+" class try catch"),defKeywords:ee(Ns+" class namespace"),typeFirstDefinitions:!0,atoms:ee("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:Ls,hooks:{"#":bn,"*":Is,u:un,U:un,L:un,R:un,0:Me,1:Me,2:Me,3:Me,4:Me,5:Me,6:Me,7:Me,8:Me,9:Me,token:function(t,e,i){if(i=="variable"&&t.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&wX(t.current()))return"def"}},namespaceSeparator:"::"});Nt({name:"java",keywords:ee("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:ee("var byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:ee("catch class do else finally for if switch try while"),defKeywords:ee("class interface enum @interface"),typeFirstDefinitions:!0,atoms:ee("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(t){return t.match("interface",!1)?!1:(t.eatWhile(/[\w\$_]/),"meta")},'"':function(t,e){return t.match(/""$/)?(e.tokenize=kX,e.tokenize(t,e)):!1}}});Nt({name:"csharp",keywords:ee("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in init interface internal is lock namespace new operator out override params private protected public readonly record ref required return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:ee("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:ee("catch class do else finally for foreach if struct switch try while"),defKeywords:ee("class interface namespace record struct var"),typeFirstDefinitions:!0,atoms:ee("true false null"),hooks:{"@":function(t,e){return t.eat('"')?(e.tokenize=_Q,_Q(t,e)):(t.eatWhile(/[\w\$_]/),"meta")}}});function kX(t,e){for(var i=!1;!t.eol();){if(!i&&t.match('"""')){e.tokenize=null;break}i=t.next()=="\\"&&!i}return"string"}function ua(t){return function(e,i){for(var n;n=e.next();)if(n=="*"&&e.eat("/"))if(t==1){i.tokenize=null;break}else return i.tokenize=ua(t-1),i.tokenize(e,i);else if(n=="/"&&e.eat("*"))return i.tokenize=ua(t+1),i.tokenize(e,i);return"comment"}}const mW=Nt({name:"scala",keywords:ee("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:ee("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:ee("catch class enum do else finally for forSome if match switch try while"),defKeywords:ee("class enum def object package trait type val var"),atoms:ee("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},'"':function(t,e){return t.match('""')?(e.tokenize=kX,e.tokenize(t,e)):!1},"'":function(t){return t.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(t.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(t,e){var i=e.context;return i.type=="}"&&i.align&&t.eat(">")?(e.context=new Rf(i.indented,i.column,i.type,i.info,null,i.prev),"operator"):!1},"/":function(t,e){return t.eat("*")?(e.tokenize=ua(1),e.tokenize(t,e)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function gW(t){return function(e,i){for(var n=!1,O,r=!1;!e.eol();){if(!t&&!n&&e.match('"')){r=!0;break}if(t&&e.match('"""')){r=!0;break}O=e.next(),!n&&O=="$"&&e.match("{")&&e.skipTo("}"),n=!n&&O=="\\"&&!t}return(r||!t)&&(i.tokenize=null),"string"}}const PW=Nt({name:"kotlin",keywords:ee("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:ee("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:ee("catch class do else finally for if where try while enum"),defKeywords:ee("class val var object interface fun"),atoms:ee("true false null this"),hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},"*":function(t,e){return e.prevToken=="."?"variable":"operator"},'"':function(t,e){return e.tokenize=gW(t.match('""')),e.tokenize(t,e)},"/":function(t,e){return t.eat("*")?(e.tokenize=ua(1),e.tokenize(t,e)):!1},indent:function(t,e,i,n){var O=i&&i.charAt(0);if((t.prevToken=="}"||t.prevToken==")")&&i=="")return t.indented;if(t.prevToken=="operator"&&i!="}"&&t.context.type!="}"||t.prevToken=="variable"&&O=="."||(t.prevToken=="}"||t.prevToken==")")&&O==".")return n*2+e.indented;if(e.align&&e.type=="}")return e.indented+(t.context.type==(i||"").charAt(0)?0:n)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});Nt({name:"shader",keywords:ee("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:ee("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:ee("for while do if else struct"),builtin:ee("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:ee("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":bn}});Nt({name:"nesc",keywords:ee(wa+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:ka,blockKeywords:ee(Ta),atoms:ee("null true false"),hooks:{"#":bn}});Nt({name:"objectivec",keywords:ee(wa+" "+XX),types:xX,builtin:ee(yX),blockKeywords:ee(Ta+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:ee(Ns+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:ee("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Ls,hooks:{"#":bn,"*":Is}});Nt({name:"objectivecpp",keywords:ee(wa+" "+XX+" "+bX),types:xX,builtin:ee(yX),blockKeywords:ee(Ta+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:ee(Ns+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:ee("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Ls,hooks:{"#":bn,"*":Is,u:un,U:un,L:un,R:un,0:Me,1:Me,2:Me,3:Me,4:Me,5:Me,6:Me,7:Me,8:Me,9:Me,token:function(t,e,i){if(i=="variable"&&t.peek()=="("&&(e.prevToken==";"||e.prevToken==null||e.prevToken=="}")&&wX(t.current()))return"def"}},namespaceSeparator:"::"});Nt({name:"squirrel",keywords:ee("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:ka,blockKeywords:ee("case catch class else for foreach if switch try while"),defKeywords:ee("function local class"),typeFirstDefinitions:!0,atoms:ee("true false null"),hooks:{"#":bn}});var qo=null;function TX(t){return function(e,i){for(var n=!1,O,r=!1;!e.eol();){if(!n&&e.match('"')&&(t=="single"||e.match('""'))){r=!0;break}if(!n&&e.match("``")){qo=TX(t),r=!0;break}O=e.next(),n=t=="single"&&!n&&O=="\\"}return r&&(i.tokenize=null),"string"}}Nt({name:"ceylon",keywords:ee("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(t){var e=t.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:ee("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:ee("class dynamic function interface module object package value"),builtin:ee("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:ee("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(t){return t.eatWhile(/[\w\$_]/),"meta"},'"':function(t,e){return e.tokenize=TX(t.match('""')?"triple":"single"),e.tokenize(t,e)},"`":function(t,e){return!qo||!t.match("`")?!1:(e.tokenize=qo,qo=null,e.tokenize(t,e))},"'":function(t){return t.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(t.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(t,e,i){if((i=="variable"||i=="type")&&e.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function SW(t){(t.interpolationStack||(t.interpolationStack=[])).push(t.tokenize)}function vX(t){return(t.interpolationStack||(t.interpolationStack=[])).pop()}function bW(t){return t.interpolationStack?t.interpolationStack.length:0}function xc(t,e,i,n){var O=!1;if(e.eat(t))if(e.eat(t))O=!0;else return"string";function r(a,o){for(var s=!1;!a.eol();){if(!n&&!s&&a.peek()=="$")return SW(o),o.tokenize=XW,"string";var l=a.next();if(l==t&&!s&&(!O||a.match(t+t))){o.tokenize=null;break}s=!n&&!s&&l=="\\"}return"string"}return i.tokenize=r,r(e,i)}function XW(t,e){return t.eat("$"),t.eat("{")?e.tokenize=null:e.tokenize=yW,null}function yW(t,e){return t.eatWhile(/[\w_]/),e.tokenize=vX(e),"variable"}const xW=Nt({name:"dart",keywords:ee("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:ee("try catch finally do else for if switch while"),builtin:ee("void bool num int double dynamic var String Null Never"),atoms:ee("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(t){return t.eatWhile(/[\w\$_\.]/),"meta"},"'":function(t,e){return xc("'",t,e,!1)},'"':function(t,e){return xc('"',t,e,!1)},r:function(t,e){var i=t.peek();return i=="'"||i=='"'?xc(t.next(),t,e,!0):!1},"}":function(t,e){return bW(e)>0?(e.tokenize=vX(e),null):!1},"/":function(t,e){return t.eat("*")?(e.tokenize=ua(1),e.tokenize(t,e)):!1},token:function(t,e,i){if(i=="variable"){var n=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(n.test(t.current()))return"type"}}}});function Yf(t){for(var e={},i=0,n=t.length;i<n;++i)e[t[i]]=!0;return e}var _X=["alias","and","BEGIN","begin","break","case","class","def","defined?","do","else","elsif","END","end","ensure","false","for","if","in","module","next","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","nil","raise","throw","catch","fail","loop","callcc","caller","lambda","proc","public","protected","private","require","load","require_relative","extend","autoload","__END__","__FILE__","__LINE__","__dir__"],wW=Yf(_X),kW=Yf(["def","class","case","for","while","until","module","catch","loop","proc","begin"]),TW=Yf(["end","until"]),YQ={"[":"]","{":"}","(":")"},vW={"]":"[","}":"{",")":"("},ai;function xO(t,e,i){return i.tokenize.push(t),t(e,i)}function gs(t,e){if(t.sol()&&t.match("=begin")&&t.eol())return e.tokenize.push(ZW),"comment";if(t.eatSpace())return null;var i=t.next(),n;if(i=="`"||i=="'"||i=='"')return xO(Sr(i,"string",i=='"'||i=="`"),t,e);if(i=="/")return _W(t)?xO(Sr(i,"string.special",!0),t,e):"operator";if(i=="%"){var O="string",r=!0;t.eat("s")?O="atom":t.eat(/[WQ]/)?O="string":t.eat(/[r]/)?O="string.special":t.eat(/[wxq]/)&&(O="string",r=!1);var a=t.eat(/[^\w\s=]/);return a?(YQ.propertyIsEnumerable(a)&&(a=YQ[a]),xO(Sr(a,O,r,!0),t,e)):"operator"}else{if(i=="#")return t.skipToEnd(),"comment";if(i=="<"&&(n=t.match(/^<([-~])[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/)))return xO(YW(n[2],n[1]),t,e);if(i=="0")return t.eat("x")?t.eatWhile(/[\da-fA-F]/):t.eat("b")?t.eatWhile(/[01]/):t.eatWhile(/[0-7]/),"number";if(/\d/.test(i))return t.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/),"number";if(i=="?"){for(;t.match(/^\\[CM]-/););return t.eat("\\")?t.eatWhile(/\w/):t.next(),"string"}else{if(i==":")return t.eat("'")?xO(Sr("'","atom",!1),t,e):t.eat('"')?xO(Sr('"',"atom",!0),t,e):t.eat(/[\<\>]/)?(t.eat(/[\<\>]/),"atom"):t.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":t.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(t.eatWhile(/[\w$\xa1-\uffff]/),t.eat(/[\?\!\=]/),"atom"):"operator";if(i=="@"&&t.match(/^@?[a-zA-Z_\xa1-\uffff]/))return t.eat("@"),t.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(i=="$")return t.eat(/[a-zA-Z_]/)?t.eatWhile(/[\w]/):t.eat(/\d/)?t.eat(/\d/):t.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(i))return t.eatWhile(/[\w\xa1-\uffff]/),t.eat(/[\?\!]/),t.eat(":")?"atom":"variable";if(i=="|"&&(e.varList||e.lastTok=="{"||e.lastTok=="do"))return ai="|",null;if(/[\(\)\[\]{}\\;]/.test(i))return ai=i,null;if(i=="-"&&t.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(i)){var o=t.eatWhile(/[=+\-\/*:\.^%<>~|]/);return i=="."&&!o&&(ai="."),"operator"}else return null}}}function _W(t){for(var e=t.pos,i=0,n,O=!1,r=!1;(n=t.next())!=null;)if(r)r=!1;else{if("[{(".indexOf(n)>-1)i++;else if("]})".indexOf(n)>-1){if(i--,i<0)break}else if(n=="/"&&i==0){O=!0;break}r=n=="\\"}return t.backUp(t.pos-e),O}function ah(t){return t||(t=1),function(e,i){if(e.peek()=="}"){if(t==1)return i.tokenize.pop(),i.tokenize[i.tokenize.length-1](e,i);i.tokenize[i.tokenize.length-1]=ah(t-1)}else e.peek()=="{"&&(i.tokenize[i.tokenize.length-1]=ah(t+1));return gs(e,i)}}function RW(){var t=!1;return function(e,i){return t?(i.tokenize.pop(),i.tokenize[i.tokenize.length-1](e,i)):(t=!0,gs(e,i))}}function Sr(t,e,i,n){return function(O,r){var a=!1,o;for(r.context.type==="read-quoted-paused"&&(r.context=r.context.prev,O.eat("}"));(o=O.next())!=null;){if(o==t&&(n||!a)){r.tokenize.pop();break}if(i&&o=="#"&&!a){if(O.eat("{")){t=="}"&&(r.context={prev:r.context,type:"read-quoted-paused"}),r.tokenize.push(ah());break}else if(/[@\$]/.test(O.peek())){r.tokenize.push(RW());break}}a=!a&&o=="\\"}return e}}function YW(t,e){return function(i,n){return e&&i.eatSpace(),i.match(t)?n.tokenize.pop():i.skipToEnd(),"string"}}function ZW(t,e){return t.sol()&&t.match("=end")&&t.eol()&&e.tokenize.pop(),t.skipToEnd(),"comment"}const zW={name:"ruby",startState:function(t){return{tokenize:[gs],indented:0,context:{type:"top",indented:-t},continuedLine:!1,lastTok:null,varList:!1}},token:function(t,e){ai=null,t.sol()&&(e.indented=t.indentation());var i=e.tokenize[e.tokenize.length-1](t,e),n,O=ai;if(i=="variable"){var r=t.current();i=e.lastTok=="."?"property":wW.propertyIsEnumerable(t.current())?"keyword":/^[A-Z]/.test(r)?"tag":e.lastTok=="def"||e.lastTok=="class"||e.varList?"def":"variable",i=="keyword"&&(O=r,kW.propertyIsEnumerable(r)?n="indent":TW.propertyIsEnumerable(r)?n="dedent":((r=="if"||r=="unless")&&t.column()==t.indentation()||r=="do"&&e.context.indented<e.indented)&&(n="indent"))}return(ai||i&&i!="comment")&&(e.lastTok=O),ai=="|"&&(e.varList=!e.varList),n=="indent"||/[\(\[\{]/.test(ai)?e.context={prev:e.context,type:ai||i,indented:e.indented}:(n=="dedent"||/[\)\]\}]/.test(ai))&&e.context.prev&&(e.context=e.context.prev),t.eol()&&(e.continuedLine=ai=="\\"||i=="operator"),i},indent:function(t,e,i){if(t.tokenize[t.tokenize.length-1]!=gs)return null;var n=e&&e.charAt(0),O=t.context,r=O.type==vW[n]||O.type=="keyword"&&/^(?:end|until|else|elsif|when|rescue)\b/.test(e);return O.indented+(r?0:i.unit)+(t.continuedLine?i.unit:0)},languageData:{indentOnInput:/^\s*(?:end|rescue|elsif|else|\})$/,commentTokens:{line:"#"},autocomplete:_X}};function Ds(t){for(var e={},i=0;i<t.length;i++)e[t[i]]=!0;return e}var qW=Ds(["_","var","let","actor","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","open","public","internal","fileprivate","private","deinit","init","new","override","self","subscript","super","convenience","dynamic","final","indirect","lazy","required","static","unowned","unowned(safe)","unowned(unsafe)","weak","as","is","break","case","continue","default","else","fallthrough","for","guard","if","in","repeat","switch","where","while","defer","return","inout","mutating","nonmutating","isolated","nonisolated","catch","do","rethrows","throw","throws","async","await","try","didSet","get","set","willSet","assignment","associativity","infix","left","none","operator","postfix","precedence","precedencegroup","prefix","right","Any","AnyObject","Type","dynamicType","Self","Protocol","__COLUMN__","__FILE__","__FUNCTION__","__LINE__"]),UW=Ds(["var","let","actor","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","for"]),VW=Ds(["true","false","nil","self","super","_"]),WW=Ds(["Array","Bool","Character","Dictionary","Double","Float","Int","Int8","Int16","Int32","Int64","Never","Optional","Set","String","UInt8","UInt16","UInt32","UInt64","Void"]),jW="+-/*%=|&<>~^?!",CW=":;,.(){}[]",EW=/^\-?0b[01][01_]*/,GW=/^\-?0o[0-7][0-7_]*/,AW=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,NW=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,IW=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,LW=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,DW=/^\#[A-Za-z]+/,MW=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function RX(t,e,i){if(t.sol()&&(e.indented=t.indentation()),t.eatSpace())return null;var n=t.peek();if(n=="/"){if(t.match("//"))return t.skipToEnd(),"comment";if(t.match("/*"))return e.tokenize.push(oh),oh(t,e)}if(t.match(DW))return"builtin";if(t.match(MW))return"attribute";if(t.match(EW)||t.match(GW)||t.match(AW)||t.match(NW))return"number";if(t.match(LW))return"property";if(jW.indexOf(n)>-1)return t.next(),"operator";if(CW.indexOf(n)>-1)return t.next(),t.match(".."),"punctuation";var O;if(O=t.match(/("""|"|')/)){var r=FW.bind(null,O[0]);return e.tokenize.push(r),r(t,e)}if(t.match(IW)){var a=t.current();return WW.hasOwnProperty(a)?"type":VW.hasOwnProperty(a)?"atom":qW.hasOwnProperty(a)?(UW.hasOwnProperty(a)&&(e.prev="define"),"keyword"):i=="define"?"def":"variable"}return t.next(),null}function BW(){var t=0;return function(e,i,n){var O=RX(e,i,n);if(O=="punctuation"){if(e.current()=="(")++t;else if(e.current()==")"){if(t==0)return e.backUp(1),i.tokenize.pop(),i.tokenize[i.tokenize.length-1](e,i);--t}}return O}}function FW(t,e,i){for(var n=t.length==1,O,r=!1;O=e.peek();)if(r){if(e.next(),O=="(")return i.tokenize.push(BW()),"string";r=!1}else{if(e.match(t))return i.tokenize.pop(),"string";e.next(),r=O=="\\"}return n&&i.tokenize.pop(),"string"}function oh(t,e){for(var i;i=t.next();)if(i==="/"&&t.eat("*"))e.tokenize.push(oh);else if(i==="*"&&t.eat("/")){e.tokenize.pop();break}return"comment"}function HW(t,e,i){this.prev=t,this.align=e,this.indented=i}function KW(t,e){var i=e.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:e.column()+1;t.context=new HW(t.context,i,t.indented)}function JW(t){t.context&&(t.indented=t.context.indented,t.context=t.context.prev)}const ej={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(t,e){var i=e.prev;e.prev=null;var n=e.tokenize[e.tokenize.length-1]||RX,O=n(t,e,i);if(!O||O=="comment"?e.prev=i:e.prev||(e.prev=O),O=="punctuation"){var r=/[\(\[\{]|([\]\)\}])/.exec(t.current());r&&(r[1]?JW:KW)(e,t)}return O},indent:function(t,e,i){var n=t.context;if(!n)return 0;var O=/^[\]\}\)]/.test(e);return n.align!=null?n.align-(O?1:0):n.indented+(O?0:i.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var sh={};function Zf(t,e){for(var i=0;i<e.length;i++)sh[e[i]]=t}var YX=["true","false"],ZX=["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],zX=["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","nl","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"];Zf("atom",YX);Zf("keyword",ZX);Zf("builtin",zX);function tj(t,e){if(t.eatSpace())return null;var i=t.sol(),n=t.next();if(n==="\\")return t.next(),null;if(n==="'"||n==='"'||n==="`")return e.tokens.unshift(Ms(n,n==="`"?"quote":"string")),KO(t,e);if(n==="#")return i&&t.eat("!")?(t.skipToEnd(),"meta"):(t.skipToEnd(),"comment");if(n==="$")return e.tokens.unshift(qX),KO(t,e);if(n==="+"||n==="=")return"operator";if(n==="-")return t.eat("-"),t.eatWhile(/\w/),"attribute";if(n=="<"){if(t.match("<<"))return"operator";var O=t.match(/^<-?\s*(?:['"]([^'"]*)['"]|([^'"\s]*))/);if(O)return e.tokens.unshift(nj(O[1]||O[2])),"string.special"}if(/\d/.test(n)&&(t.eatWhile(/\d/),t.eol()||!/\w/.test(t.peek())))return"number";t.eatWhile(/[\w-]/);var r=t.current();return t.peek()==="="&&/\w+/.test(r)?"def":sh.hasOwnProperty(r)?sh[r]:null}function Ms(t,e){var i=t=="("?")":t=="{"?"}":t;return function(n,O){for(var r,a=!1;(r=n.next())!=null;){if(r===i&&!a){O.tokens.shift();break}else if(r==="$"&&!a&&t!=="'"&&n.peek()!=i){a=!0,n.backUp(1),O.tokens.unshift(qX);break}else{if(!a&&t!==i&&r===t)return O.tokens.unshift(Ms(t,e)),KO(n,O);if(!a&&/['"]/.test(r)&&!/['"]/.test(t)){O.tokens.unshift(ij(r,"string")),n.backUp(1);break}}a=!a&&r==="\\"}return e}}function ij(t,e){return function(i,n){return n.tokens[0]=Ms(t,e),i.next(),KO(i,n)}}var qX=function(t,e){e.tokens.length>1&&t.eat("$");var i=t.next();return/['"({]/.test(i)?(e.tokens[0]=Ms(i,i=="("?"quote":i=="{"?"def":"string"),KO(t,e)):(/\d/.test(i)||t.eatWhile(/\w/),e.tokens.shift(),"def")};function nj(t){return function(e,i){return e.sol()&&e.string==t&&i.tokens.shift(),e.skipToEnd(),"string.special"}}function KO(t,e){return(e.tokens[0]||tj)(t,e)}const ZQ={name:"shell",startState:function(){return{tokens:[]}},token:function(t,e){return KO(t,e)},languageData:{autocomplete:YX.concat(ZX,zX),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}},Oj={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(t,e){let i;if(!e.inString&&(i=t.match(/^('''|"""|'|")/))&&(e.stringType=i[0],e.inString=!0),t.sol()&&!e.inString&&e.inArray===0&&(e.lhs=!0),e.inString){for(;e.inString;)if(t.match(e.stringType))e.inString=!1;else if(t.peek()==="\\")t.next(),t.next();else{if(t.eol())break;t.match(/^.[^\\\"\']*/)}return e.lhs?"property":"string"}else{if(e.inArray&&t.peek()==="]")return t.next(),e.inArray--,"bracket";if(e.lhs&&t.peek()==="["&&t.skipTo("]"))return t.next(),t.peek()==="]"&&t.next(),"atom";if(t.peek()==="#")return t.skipToEnd(),"comment";if(t.eatSpace())return null;if(e.lhs&&t.eatWhile(function(n){return n!="="&&n!=" "}))return"property";if(e.lhs&&t.peek()==="=")return t.next(),e.lhs=!1,null;if(!e.lhs&&t.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!e.lhs&&(t.match("true")||t.match("false")))return"atom";if(!e.lhs&&t.peek()==="[")return e.inArray++,t.next(),"bracket";if(!e.lhs&&t.match(/^\-?\d+(?:\.\d+)?/))return"number";t.eatSpace()||t.next()}return null},languageData:{commentTokens:{line:"#"}}};var rj={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},aj={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},zQ=/[+\-*&^%:=<>!|\/]/,Gi;function Ps(t,e){var i=t.next();if(i=='"'||i=="'"||i=="`")return e.tokenize=oj(i),e.tokenize(t,e);if(/[\d\.]/.test(i))return i=="."?t.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):i=="0"?t.match(/^[xX][0-9a-fA-F]+/)||t.match(/^0[0-7]+/):t.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(i))return Gi=i,null;if(i=="/"){if(t.eat("*"))return e.tokenize=qQ,qQ(t,e);if(t.eat("/"))return t.skipToEnd(),"comment"}if(zQ.test(i))return t.eatWhile(zQ),"operator";t.eatWhile(/[\w\$_\xa1-\uffff]/);var n=t.current();return rj.propertyIsEnumerable(n)?((n=="case"||n=="default")&&(Gi="case"),"keyword"):aj.propertyIsEnumerable(n)?"atom":"variable"}function oj(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&t!="`"&&O=="\\"}return(r||!(n||t=="`"))&&(i.tokenize=Ps),"string"}}function qQ(t,e){for(var i=!1,n;n=t.next();){if(n=="/"&&i){e.tokenize=Ps;break}i=n=="*"}return"comment"}function UX(t,e,i,n,O){this.indented=t,this.column=e,this.type=i,this.align=n,this.prev=O}function wc(t,e,i){return t.context=new UX(t.indented,e,i,null,t.context)}function UQ(t){if(t.context.prev){var e=t.context.type;return(e==")"||e=="]"||e=="}")&&(t.indented=t.context.indented),t.context=t.context.prev}}const sj={name:"go",startState:function(t){return{tokenize:null,context:new UX(-t,0,"top",!1),indented:0,startOfLine:!0}},token:function(t,e){var i=e.context;if(t.sol()&&(i.align==null&&(i.align=!1),e.indented=t.indentation(),e.startOfLine=!0,i.type=="case"&&(i.type="}")),t.eatSpace())return null;Gi=null;var n=(e.tokenize||Ps)(t,e);return n=="comment"||(i.align==null&&(i.align=!0),Gi=="{"?wc(e,t.column(),"}"):Gi=="["?wc(e,t.column(),"]"):Gi=="("?wc(e,t.column(),")"):Gi=="case"?i.type="case":(Gi=="}"&&i.type=="}"||Gi==i.type)&&UQ(e),e.startOfLine=!1),n},indent:function(t,e,i){if(t.tokenize!=Ps&&t.tokenize!=null)return null;var n=t.context,O=e&&e.charAt(0);if(n.type=="case"&&/^(?:case|default)\b/.test(e))return n.indented;var r=O==n.type;return n.align?n.column+(r?0:1):n.indented+(r?0:i.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function Bs(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var lj=Bs("abstract as assert boolean break byte case catch char class const continue def default do double else enum extends final finally float for goto if implements import in instanceof int interface long native new package private protected public return short static strictfp super switch synchronized threadsafe throw throws trait transient try void volatile while"),cj=Bs("catch class def do else enum finally for if interface switch trait try while"),uj=Bs("return break continue"),hj=Bs("null true false this"),st;function zf(t,e){var i=t.next();if(i=='"'||i=="'")return VQ(i,t,e);if(/[\[\]{}\(\),;\:\.]/.test(i))return st=i,null;if(/\d/.test(i))return t.eatWhile(/[\w\.]/),t.eat(/eE/)&&(t.eat(/\+\-/),t.eatWhile(/\d/)),"number";if(i=="/"){if(t.eat("*"))return e.tokenize.push(WQ),WQ(t,e);if(t.eat("/"))return t.skipToEnd(),"comment";if(lh(e.lastToken,!1))return VQ(i,t,e)}if(i=="-"&&t.eat(">"))return st="->",null;if(/[+\-*&%=<>!?|\/~]/.test(i))return t.eatWhile(/[+\-*&%=<>|~]/),"operator";if(t.eatWhile(/[\w\$_]/),i=="@")return t.eatWhile(/[\w\$_\.]/),"meta";if(e.lastToken==".")return"property";if(t.eat(":"))return st="proplabel","property";var n=t.current();return hj.propertyIsEnumerable(n)?"atom":lj.propertyIsEnumerable(n)?(cj.propertyIsEnumerable(n)?st="newstatement":uj.propertyIsEnumerable(n)&&(st="standalone"),"keyword"):"variable"}zf.isBase=!0;function VQ(t,e,i){var n=!1;if(t!="/"&&e.eat(t))if(e.eat(t))n=!0;else return"string";function O(r,a){for(var o=!1,s,l=!n;(s=r.next())!=null;){if(s==t&&!o){if(!n)break;if(r.match(t+t)){l=!0;break}}if(t=='"'&&s=="$"&&!o){if(r.eat("{"))return a.tokenize.push(fj()),"string";if(r.match(/^\w/,!1))return a.tokenize.push(dj),"string"}o=!o&&s=="\\"}return l&&a.tokenize.pop(),"string"}return i.tokenize.push(O),O(e,i)}function fj(){var t=1;function e(i,n){if(i.peek()=="}"){if(t--,t==0)return n.tokenize.pop(),n.tokenize[n.tokenize.length-1](i,n)}else i.peek()=="{"&&t++;return zf(i,n)}return e.isBase=!0,e}function dj(t,e){var i=t.match(/^(\.|[\w\$_]+)/);return(!i||!t.match(i[0]=="."?/^[\w$_]/:/^\./))&&e.tokenize.pop(),i?i[0]=="."?null:"variable":e.tokenize[e.tokenize.length-1](t,e)}function WQ(t,e){for(var i=!1,n;n=t.next();){if(n=="/"&&i){e.tokenize.pop();break}i=n=="*"}return"comment"}function lh(t,e){return!t||t=="operator"||t=="->"||/[\.\[\{\(,;:]/.test(t)||t=="newstatement"||t=="keyword"||t=="proplabel"||t=="standalone"&&!e}function VX(t,e,i,n,O){this.indented=t,this.column=e,this.type=i,this.align=n,this.prev=O}function co(t,e,i){return t.context=new VX(t.indented,e,i,null,t.context)}function Yn(t){var e=t.context.type;return(e==")"||e=="]"||e=="}")&&(t.indented=t.context.indented),t.context=t.context.prev}const $j={name:"groovy",startState:function(t){return{tokenize:[zf],context:new VX(-t,0,"top",!1),indented:0,startOfLine:!0,lastToken:null}},token:function(t,e){var i=e.context;if(t.sol()&&(i.align==null&&(i.align=!1),e.indented=t.indentation(),e.startOfLine=!0,i.type=="statement"&&!lh(e.lastToken,!0)&&(Yn(e),i=e.context)),t.eatSpace())return null;st=null;var n=e.tokenize[e.tokenize.length-1](t,e);if(n=="comment")return n;if(i.align==null&&(i.align=!0),(st==";"||st==":")&&i.type=="statement")Yn(e);else if(st=="->"&&i.type=="statement"&&i.prev.type=="}")Yn(e),e.context.align=!1;else if(st=="{")co(e,t.column(),"}");else if(st=="[")co(e,t.column(),"]");else if(st=="(")co(e,t.column(),")");else if(st=="}"){for(;i.type=="statement";)i=Yn(e);for(i.type=="}"&&(i=Yn(e));i.type=="statement";)i=Yn(e)}else st==i.type?Yn(e):(i.type=="}"||i.type=="top"||i.type=="statement"&&st=="newstatement")&&co(e,t.column(),"statement");return e.startOfLine=!1,e.lastToken=st||n,n},indent:function(t,e,i){if(!t.tokenize[t.tokenize.length-1].isBase)return null;var n=e&&e.charAt(0),O=t.context;O.type=="statement"&&!lh(t.lastToken,!0)&&(O=O.prev);var r=n==O.type;return O.type=="statement"?O.indented+(n=="{"?0:i.unit):O.align?O.column+(r?0:1):O.indented+(r?0:i.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""']}}};function pj(t){return new RegExp("^(?:"+t.join("|")+")","i")}function Fs(t){return new RegExp("^(?:"+t.join("|")+")$","i")}var Qj=Fs(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),mj=Fs(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),gj=Fs(["function","if","repeat","do","\\(","{"]),Pj=Fs(["end","until","\\)","}"]),Sj=pj(["end","until","\\)","}","else","elseif"]);function jQ(t){for(var e=0;t.eat("=");)++e;return t.eat("["),e}function qf(t,e){var i=t.next();return i=="-"&&t.eat("-")?t.eat("[")&&t.eat("[")?(e.cur=CQ(jQ(t),"comment"))(t,e):(t.skipToEnd(),"comment"):i=='"'||i=="'"?(e.cur=bj(i))(t,e):i=="["&&/[\[=]/.test(t.peek())?(e.cur=CQ(jQ(t),"string"))(t,e):/\d/.test(i)?(t.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(i)?(t.eatWhile(/[\w\\\-_.]/),"variable"):null}function CQ(t,e){return function(i,n){for(var O=null,r;(r=i.next())!=null;)if(O==null)r=="]"&&(O=0);else if(r=="=")++O;else if(r=="]"&&O==t){n.cur=qf;break}else O=null;return e}}function bj(t){return function(e,i){for(var n=!1,O;(O=e.next())!=null&&!(O==t&&!n);)n=!n&&O=="\\";return n||(i.cur=qf),"string"}}const Xj={name:"lua",startState:function(){return{basecol:0,indentDepth:0,cur:qf}},token:function(t,e){if(t.eatSpace())return null;var i=e.cur(t,e),n=t.current();return i=="variable"&&(mj.test(n)?i="keyword":Qj.test(n)&&(i="builtin")),i!="comment"&&i!="string"&&(gj.test(n)?++e.indentDepth:Pj.test(n)&&--e.indentDepth),i},indent:function(t,e,i){var n=Sj.test(e);return t.basecol+i.unit*(t.indentDepth-(n?1:0))},languageData:{indentOnInput:/^\s*(?:end|until|else|\)|\})$/,commentTokens:{line:"--",block:{open:"--[[",close:"]]--"}}}};function tt(t,e){return t.string.charAt(t.pos+(e||0))}function EQ(t,e){if(e){var i=t.pos-e;return t.string.substr(i>=0?i:0,e)}else return t.string.substr(0,t.pos-1)}function kc(t,e){var i=t.string.length,n=i-t.pos+1;return t.string.substr(t.pos,e&&e<i?e:n)}function je(t,e){var i=t.pos+e,n;i<=0?t.pos=0:i>=(n=t.string.length-1)?t.pos=n:t.pos=i}var br={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},_e="string.special",Re=/[goseximacplud]/;function Oe(t,e,i,n,O){return e.chain=null,e.style=null,e.tail=null,e.tokenize=function(r,a){for(var o=!1,s,l=0;s=r.next();){if(s===i[l]&&!o)return i[++l]!==void 0?(a.chain=i[l],a.style=n,a.tail=O):O&&r.eatWhile(O),a.tokenize=Ss,n;o=!o&&s=="\\"}return n},e.tokenize(t,e)}function Tc(t,e,i){return e.tokenize=function(n,O){return n.string==i&&(O.tokenize=Ss),n.skipToEnd(),"string"},e.tokenize(t,e)}function Ss(t,e){if(t.eatSpace())return null;if(e.chain)return Oe(t,e,e.chain,e.style,e.tail);if(t.match(/^(\-?((\d[\d_]*)?\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F_]+|0b[01_]+|\d[\d_]*(e[+-]?\d+)?)/))return"number";if(t.match(/^<<(?=[_a-zA-Z])/))return t.eatWhile(/\w/),Tc(t,e,t.current().substr(2));if(t.sol()&&t.match(/^\=item(?!\w)/))return Tc(t,e,"=cut");var i=t.next();if(i=='"'||i=="'"){if(EQ(t,3)=="<<"+i){var n=t.pos;t.eatWhile(/\w/);var O=t.current().substr(1);if(O&&t.eat(i))return Tc(t,e,O);t.pos=n}return Oe(t,e,[i],"string")}if(i=="q"){var r=tt(t,-2);if(!(r&&/\w/.test(r))){if(r=tt(t,0),r=="x"){if(r=tt(t,1),r=="(")return je(t,2),Oe(t,e,[")"],_e,Re);if(r=="[")return je(t,2),Oe(t,e,["]"],_e,Re);if(r=="{")return je(t,2),Oe(t,e,["}"],_e,Re);if(r=="<")return je(t,2),Oe(t,e,[">"],_e,Re);if(/[\^'"!~\/]/.test(r))return je(t,1),Oe(t,e,[t.eat(r)],_e,Re)}else if(r=="q"){if(r=tt(t,1),r=="(")return je(t,2),Oe(t,e,[")"],"string");if(r=="[")return je(t,2),Oe(t,e,["]"],"string");if(r=="{")return je(t,2),Oe(t,e,["}"],"string");if(r=="<")return je(t,2),Oe(t,e,[">"],"string");if(/[\^'"!~\/]/.test(r))return je(t,1),Oe(t,e,[t.eat(r)],"string")}else if(r=="w"){if(r=tt(t,1),r=="(")return je(t,2),Oe(t,e,[")"],"bracket");if(r=="[")return je(t,2),Oe(t,e,["]"],"bracket");if(r=="{")return je(t,2),Oe(t,e,["}"],"bracket");if(r=="<")return je(t,2),Oe(t,e,[">"],"bracket");if(/[\^'"!~\/]/.test(r))return je(t,1),Oe(t,e,[t.eat(r)],"bracket")}else if(r=="r"){if(r=tt(t,1),r=="(")return je(t,2),Oe(t,e,[")"],_e,Re);if(r=="[")return je(t,2),Oe(t,e,["]"],_e,Re);if(r=="{")return je(t,2),Oe(t,e,["}"],_e,Re);if(r=="<")return je(t,2),Oe(t,e,[">"],_e,Re);if(/[\^'"!~\/]/.test(r))return je(t,1),Oe(t,e,[t.eat(r)],_e,Re)}else if(/[\^'"!~\/(\[{<]/.test(r)){if(r=="(")return je(t,1),Oe(t,e,[")"],"string");if(r=="[")return je(t,1),Oe(t,e,["]"],"string");if(r=="{")return je(t,1),Oe(t,e,["}"],"string");if(r=="<")return je(t,1),Oe(t,e,[">"],"string");if(/[\^'"!~\/]/.test(r))return Oe(t,e,[t.eat(r)],"string")}}}if(i=="m"){var r=tt(t,-2);if(!(r&&/\w/.test(r))&&(r=t.eat(/[(\[{<\^'"!~\/]/),r)){if(/[\^'"!~\/]/.test(r))return Oe(t,e,[r],_e,Re);if(r=="(")return Oe(t,e,[")"],_e,Re);if(r=="[")return Oe(t,e,["]"],_e,Re);if(r=="{")return Oe(t,e,["}"],_e,Re);if(r=="<")return Oe(t,e,[">"],_e,Re)}}if(i=="s"){var r=/[\/>\]})\w]/.test(tt(t,-2));if(!r&&(r=t.eat(/[(\[{<\^'"!~\/]/),r))return r=="["?Oe(t,e,["]","]"],_e,Re):r=="{"?Oe(t,e,["}","}"],_e,Re):r=="<"?Oe(t,e,[">",">"],_e,Re):r=="("?Oe(t,e,[")",")"],_e,Re):Oe(t,e,[r,r],_e,Re)}if(i=="y"){var r=/[\/>\]})\w]/.test(tt(t,-2));if(!r&&(r=t.eat(/[(\[{<\^'"!~\/]/),r))return r=="["?Oe(t,e,["]","]"],_e,Re):r=="{"?Oe(t,e,["}","}"],_e,Re):r=="<"?Oe(t,e,[">",">"],_e,Re):r=="("?Oe(t,e,[")",")"],_e,Re):Oe(t,e,[r,r],_e,Re)}if(i=="t"){var r=/[\/>\]})\w]/.test(tt(t,-2));if(!r&&(r=t.eat("r"),r&&(r=t.eat(/[(\[{<\^'"!~\/]/),r)))return r=="["?Oe(t,e,["]","]"],_e,Re):r=="{"?Oe(t,e,["}","}"],_e,Re):r=="<"?Oe(t,e,[">",">"],_e,Re):r=="("?Oe(t,e,[")",")"],_e,Re):Oe(t,e,[r,r],_e,Re)}if(i=="`")return Oe(t,e,[i],"builtin");if(i=="/")return/~\s*$/.test(EQ(t))?Oe(t,e,[i],_e,Re):"operator";if(i=="$"){var n=t.pos;if(t.eatWhile(/\d/)||t.eat("{")&&t.eatWhile(/\d/)&&t.eat("}"))return"builtin";t.pos=n}if(/[$@%]/.test(i)){var n=t.pos;if(t.eat("^")&&t.eat(/[A-Z]/)||!/[@$%&]/.test(tt(t,-2))&&t.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var r=t.current();if(br[r])return"builtin"}t.pos=n}if(/[$@%&]/.test(i)&&(t.eatWhile(/[\w$]/)||t.eat("{")&&t.eatWhile(/[\w$]/)&&t.eat("}"))){var r=t.current();return br[r]?"builtin":"variable"}if(i=="#"&&tt(t,-2)!="$")return t.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(i)){var n=t.pos;if(t.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),br[t.current()])return"operator";t.pos=n}if(i=="_"&&t.pos==1){if(kc(t,6)=="_END__")return Oe(t,e,["\0"],"comment");if(kc(t,7)=="_DATA__")return Oe(t,e,["\0"],"builtin");if(kc(t,7)=="_C__")return Oe(t,e,["\0"],"string")}if(/\w/.test(i)){var n=t.pos;if(tt(t,-2)=="{"&&(tt(t,0)=="}"||t.eatWhile(/\w/)&&tt(t,0)=="}"))return"string";t.pos=n}if(/[A-Z]/.test(i)){var a=tt(t,-2),n=t.pos;if(t.eatWhile(/[A-Z_]/),/[\da-z]/.test(tt(t,0)))t.pos=n;else{var r=br[t.current()];return r?(r[1]&&(r=r[0]),a!=":"?r==1?"keyword":r==2?"def":r==3?"atom":r==4?"operator":r==5?"builtin":"meta":"meta"):"meta"}}if(/[a-zA-Z_]/.test(i)){var a=tt(t,-2);t.eatWhile(/\w/);var r=br[t.current()];return r?(r[1]&&(r=r[0]),a!=":"?r==1?"keyword":r==2?"def":r==3?"atom":r==4?"operator":r==5?"builtin":"meta":"meta"):"meta"}return null}const yj={name:"perl",startState:function(){return{tokenize:Ss,chain:null,style:null,tail:null}},token:function(t,e){return(e.tokenize||Ss)(t,e)},languageData:{commentTokens:{line:"#"},wordChars:"$"}};function Hs(t){for(var e={},i=0;i<t.length;++i)e[t[i]]=!0;return e}var WX=["NULL","NA","Inf","NaN","NA_integer_","NA_real_","NA_complex_","NA_character_","TRUE","FALSE"],jX=["list","quote","bquote","eval","return","call","parse","deparse"],CX=["if","else","repeat","while","function","for","in","next","break"],xj=["if","else","repeat","while","function","for"],wj=Hs(WX),kj=Hs(jX),Tj=Hs(CX),vj=Hs(xj),GQ=/[+\-*\/^<>=!&|~$:]/,oi;function ch(t,e){oi=null;var i=t.next();if(i=="#")return t.skipToEnd(),"comment";if(i=="0"&&t.eat("x"))return t.eatWhile(/[\da-f]/i),"number";if(i=="."&&t.eat(/\d/))return t.match(/\d*(?:e[+\-]?\d+)?/),"number";if(/\d/.test(i))return t.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/),"number";if(i=="'"||i=='"')return e.tokenize=_j(i),"string";if(i=="`")return t.match(/[^`]+`/),"string.special";if(i=="."&&t.match(/.(?:[.]|\d+)/))return"keyword";if(/[a-zA-Z\.]/.test(i)){t.eatWhile(/[\w\.]/);var n=t.current();return wj.propertyIsEnumerable(n)?"atom":Tj.propertyIsEnumerable(n)?(vj.propertyIsEnumerable(n)&&!t.match(/\s*if(\s+|$)/,!1)&&(oi="block"),"keyword"):kj.propertyIsEnumerable(n)?"builtin":"variable"}else return i=="%"?(t.skipTo("%")&&t.next(),"variableName.special"):i=="<"&&t.eat("-")||i=="<"&&t.match("<-")||i=="-"&&t.match(/>>?/)||i=="="&&e.ctx.argList?"operator":GQ.test(i)?(i=="$"||t.eatWhile(GQ),"operator"):/[\(\){}\[\];]/.test(i)?(oi=i,i==";"?"punctuation":null):null}function _j(t){return function(e,i){if(e.eat("\\")){var n=e.next();return n=="x"?e.match(/^[a-f0-9]{2}/i):(n=="u"||n=="U")&&e.eat("{")&&e.skipTo("}")?e.next():n=="u"?e.match(/^[a-f0-9]{4}/i):n=="U"?e.match(/^[a-f0-9]{8}/i):/[0-7]/.test(n)&&e.match(/^[0-7]{1,2}/),"string.special"}else{for(var O;(O=e.next())!=null;){if(O==t){i.tokenize=ch;break}if(O=="\\"){e.backUp(1);break}}return"string"}}}var AQ=1,vc=2,_c=4;function uo(t,e,i){t.ctx={type:e,indent:t.indent,flags:0,column:i.column(),prev:t.ctx}}function NQ(t,e){var i=t.ctx;t.ctx={type:i.type,indent:i.indent,flags:i.flags|e,column:i.column,prev:i.prev}}function Rc(t){t.indent=t.ctx.indent,t.ctx=t.ctx.prev}const Rj={name:"r",startState:function(t){return{tokenize:ch,ctx:{type:"top",indent:-t,flags:vc},indent:0,afterIdent:!1}},token:function(t,e){if(t.sol()&&((e.ctx.flags&3)==0&&(e.ctx.flags|=vc),e.ctx.flags&_c&&Rc(e),e.indent=t.indentation()),t.eatSpace())return null;var i=e.tokenize(t,e);return i!="comment"&&(e.ctx.flags&vc)==0&&NQ(e,AQ),(oi==";"||oi=="{"||oi=="}")&&e.ctx.type=="block"&&Rc(e),oi=="{"?uo(e,"}",t):oi=="("?(uo(e,")",t),e.afterIdent&&(e.ctx.argList=!0)):oi=="["?uo(e,"]",t):oi=="block"?uo(e,"block",t):oi==e.ctx.type?Rc(e):e.ctx.type=="block"&&i!="comment"&&NQ(e,_c),e.afterIdent=i=="variable"||i=="keyword",i},indent:function(t,e,i){if(t.tokenize!=ch)return 0;var n=e&&e.charAt(0),O=t.ctx,r=n==O.type;return O.flags&_c&&(O=O.prev),O.type=="block"?O.indent+(n=="{"?0:i.unit):O.flags&AQ?O.column+(r?0:1):O.indent+(r?0:i.unit)},languageData:{wordChars:".",commentTokens:{line:"#"},autocomplete:WX.concat(jX,CX)}};function uh(t,e,i){return e(i),i(t,e)}var Yj=/[a-z_]/,Zj=/[A-Z]/,Yc=/\d/,zj=/[0-9A-Fa-f]/,qj=/[0-7]/,IQ=/[a-z_A-Z0-9'\xa1-\uffff]/,Zc=/[-!#$%&*+.\/<=>?@\\^|~:]/,Uj=/[(),;[\]`{}]/,EX=/[ \t\v\f]/;function JO(t,e){if(t.eatWhile(EX))return null;var i=t.next();if(Uj.test(i)){if(i=="{"&&t.eat("-")){var n="comment";return t.eat("#")&&(n="meta"),uh(t,e,GX(n,1))}return null}if(i=="'")return t.eat("\\"),t.next(),t.eat("'")?"string":"error";if(i=='"')return uh(t,e,AX);if(Zj.test(i))return t.eatWhile(IQ),t.eat(".")?"qualifier":"type";if(Yj.test(i))return t.eatWhile(IQ),"variable";if(Yc.test(i)){if(i=="0"){if(t.eat(/[xX]/))return t.eatWhile(zj),"integer";if(t.eat(/[oO]/))return t.eatWhile(qj),"number"}t.eatWhile(Yc);var n="number";return t.match(/^\.\d+/)&&(n="number"),t.eat(/[eE]/)&&(n="number",t.eat(/[-+]/),t.eatWhile(Yc)),n}return i=="."&&t.eat(".")?"keyword":Zc.test(i)?i=="-"&&t.eat(/-/)&&(t.eatWhile(/-/),!t.eat(Zc))?(t.skipToEnd(),"comment"):(t.eatWhile(Zc),"variable"):"error"}function GX(t,e){return e==0?JO:function(i,n){for(var O=e;!i.eol();){var r=i.next();if(r=="{"&&i.eat("-"))++O;else if(r=="-"&&i.eat("}")&&(--O,O==0))return n(JO),t}return n(GX(t,O)),t}}function AX(t,e){for(;!t.eol();){var i=t.next();if(i=='"')return e(JO),"string";if(i=="\\"){if(t.eol()||t.eat(EX))return e(Vj),"string";t.eat("&")||t.next()}}return e(JO),"error"}function Vj(t,e){return t.eat("\\")?uh(t,e,AX):(t.next(),e(JO),"error")}var LQ=(function(){var t={};function e(i){return function(){for(var n=0;n<arguments.length;n++)t[arguments[n]]=i}}return e("keyword")("case","class","data","default","deriving","do","else","foreign","if","import","in","infix","infixl","infixr","instance","let","module","newtype","of","then","type","where","_"),e("keyword")("..",":","::","=","\\","<-","->","@","~","=>"),e("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<*","<=","<$>","<*>","=<<","==",">",">=",">>",">>=","^","^^","||","*","*>","**"),e("builtin")("Applicative","Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),e("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","pure","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3"),t})();const Wj={name:"haskell",startState:function(){return{f:JO}},copyState:function(t){return{f:t.f}},token:function(t,e){var i=e.f(t,function(O){e.f=O}),n=t.current();return LQ.hasOwnProperty(n)?LQ[n]:i},languageData:{commentTokens:{line:"--",block:{open:"{-",close:"-}"}}}};var NX=["false","nil","true"],IX=[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],LX=["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],jj=["->","->>","as->","binding","bound-fn","case","catch","comment","cond","cond->","cond->>","condp","def","definterface","defmethod","defn","defmacro","defprotocol","defrecord","defstruct","deftype","do","doseq","dotimes","doto","extend","extend-protocol","extend-type","fn","for","future","if","if-let","if-not","if-some","let","letfn","locking","loop","ns","proxy","reify","struct-map","some->","some->>","try","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn"],Cj=Ks(NX),Ej=Ks(IX),Gj=Ks(LX),Aj=Ks(jj),Nj=/^(?:[\\\[\]\s"(),;@^`{}~]|$)/,Ij=/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,Lj=/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,Dj=/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/;function Uf(t,e){if(t.eatSpace()||t.eat(","))return["space",null];if(t.match(Ij))return[null,"number"];if(t.match(Lj))return[null,"string.special"];if(t.eat(/^"/))return(e.tokenize=Mj)(t,e);if(t.eat(/^[(\[{]/))return["open","bracket"];if(t.eat(/^[)\]}]/))return["close","bracket"];if(t.eat(/^;/))return t.skipToEnd(),["space","comment"];if(t.eat(/^[#'@^`~]/))return[null,"meta"];var i=t.match(Dj),n=i&&i[0];return n?n==="comment"&&e.lastToken==="("?(e.tokenize=Bj)(t,e):_r(n,Cj)||n.charAt(0)===":"?["symbol","atom"]:_r(n,Ej)||_r(n,Gj)?["symbol","keyword"]:e.lastToken==="("?["symbol","builtin"]:["symbol","variable"]:(t.next(),t.eatWhile(function(O){return!_r(O,Nj)}),[null,"error"])}function Mj(t,e){for(var i=!1,n;n=t.next();){if(n==='"'&&!i){e.tokenize=Uf;break}i=!i&&n==="\\"}return[null,"string"]}function Bj(t,e){for(var i=1,n;n=t.next();)if(n===")"&&i--,n==="("&&i++,i===0){t.backUp(1),e.tokenize=Uf;break}return["space","comment"]}function Ks(t){for(var e={},i=0;i<t.length;++i)e[t[i]]=!0;return e}function _r(t,e){if(e instanceof RegExp)return e.test(t);if(e instanceof Object)return e.propertyIsEnumerable(t)}const Fj={name:"clojure",startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastToken:null,tokenize:Uf}},token:function(t,e){t.sol()&&typeof e.ctx.indentTo!="number"&&(e.ctx.indentTo=e.ctx.start+1);var i=e.tokenize(t,e),n=i[0],O=i[1],r=t.current();return n!=="space"&&(e.lastToken==="("&&e.ctx.indentTo===null?n==="symbol"&&_r(r,Aj)?e.ctx.indentTo=e.ctx.start+t.indentUnit:e.ctx.indentTo="next":e.ctx.indentTo==="next"&&(e.ctx.indentTo=t.column()),e.lastToken=r),n==="open"?e.ctx={prev:e.ctx,start:t.column(),indentTo:null}:n==="close"&&(e.ctx=e.ctx.prev||e.ctx),O},indent:function(t){var e=t.ctx.indentTo;return typeof e=="number"?e:t.ctx.start+1},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:";;"},autocomplete:[].concat(NX,IX,LX)}};var Hj=["-type","-spec","-export_type","-opaque"],Kj=["after","begin","catch","case","cond","end","fun","if","let","of","query","receive","try","when"],Jj=/[\->,;]/,e2=["->",";",","],t2=["and","andalso","band","bnot","bor","bsl","bsr","bxor","div","not","or","orelse","rem","xor"],i2=/[\+\-\*\/<>=\|:!]/,n2=["=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"],O2=/[<\(\[\{]/,hh=["<<","(","[","{"],r2=/[>\)\]\}]/,DX=["}","]",")",">>"],a2=["is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_record","is_reference","is_tuple","atom","binary","bitstring","boolean","function","integer","list","number","pid","port","record","reference","tuple"],o2=["abs","adler32","adler32_combine","alive","apply","atom_to_binary","atom_to_list","binary_to_atom","binary_to_existing_atom","binary_to_list","binary_to_term","bit_size","bitstring_to_list","byte_size","check_process_code","contact_binary","crc32","crc32_combine","date","decode_packet","delete_module","disconnect_node","element","erase","exit","float","float_to_list","garbage_collect","get","get_keys","group_leader","halt","hd","integer_to_list","internal_bif","iolist_size","iolist_to_binary","is_alive","is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_process_alive","is_record","is_reference","is_tuple","length","link","list_to_atom","list_to_binary","list_to_bitstring","list_to_existing_atom","list_to_float","list_to_integer","list_to_pid","list_to_tuple","load_module","make_ref","module_loaded","monitor_node","node","node_link","node_unlink","nodes","notalive","now","open_port","pid_to_list","port_close","port_command","port_connect","port_control","pre_loaded","process_flag","process_info","processes","purge_module","put","register","registered","round","self","setelement","size","spawn","spawn_link","spawn_monitor","spawn_opt","split_binary","statistics","term_to_binary","time","throw","tl","trunc","tuple_size","tuple_to_list","unlink","unregister","whereis"],ho=/[\w@Ø-ÞÀ-Öß-öø-ÿ]/,s2=/[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;function l2(t,e){if(e.in_string)return e.in_string=!BQ(t),we(e,t,"string");if(e.in_atom)return e.in_atom=!FQ(t),we(e,t,"atom");if(t.eatSpace())return we(e,t,"whitespace");if(!Gr(e)&&t.match(/-\s*[a-zß-öø-ÿ][\wØ-ÞÀ-Öß-öø-ÿ]*/))return ct(t.current(),Hj)?we(e,t,"type"):we(e,t,"attribute");var i=t.next();if(i=="%")return t.skipToEnd(),we(e,t,"comment");if(i==":")return we(e,t,"colon");if(i=="?")return t.eatSpace(),t.eatWhile(ho),we(e,t,"macro");if(i=="#")return t.eatSpace(),t.eatWhile(ho),we(e,t,"record");if(i=="$")return t.next()=="\\"&&!t.match(s2)?we(e,t,"error"):we(e,t,"number");if(i==".")return we(e,t,"dot");if(i=="'"){if(!(e.in_atom=!FQ(t))){if(t.match(/\s*\/\s*[0-9]/,!1))return t.match(/\s*\/\s*[0-9]/,!0),we(e,t,"fun");if(t.match(/\s*\(/,!1)||t.match(/\s*:/,!1))return we(e,t,"function")}return we(e,t,"atom")}if(i=='"')return e.in_string=!BQ(t),we(e,t,"string");if(/[A-Z_Ø-ÞÀ-Ö]/.test(i))return t.eatWhile(ho),we(e,t,"variable");if(/[a-z_ß-öø-ÿ]/.test(i)){if(t.eatWhile(ho),t.match(/\s*\/\s*[0-9]/,!1))return t.match(/\s*\/\s*[0-9]/,!0),we(e,t,"fun");var n=t.current();return ct(n,Kj)?we(e,t,"keyword"):ct(n,t2)?we(e,t,"operator"):t.match(/\s*\(/,!1)?ct(n,o2)&&(Gr(e).token!=":"||Gr(e,2).token=="erlang")?we(e,t,"builtin"):ct(n,a2)?we(e,t,"guard"):we(e,t,"function"):c2(t)==":"?n=="erlang"?we(e,t,"builtin"):we(e,t,"function"):ct(n,["true","false"])?we(e,t,"boolean"):we(e,t,"atom")}var O=/[0-9]/,r=/[0-9a-zA-Z]/;return O.test(i)?(t.eatWhile(O),t.eat("#")?t.eatWhile(r)||t.backUp(1):t.eat(".")&&(t.eatWhile(O)?t.eat(/[eE]/)&&(t.eat(/[-+]/)?t.eatWhile(O)||t.backUp(2):t.eatWhile(O)||t.backUp(1)):t.backUp(1)),we(e,t,"number")):DQ(t,O2,hh)?we(e,t,"open_paren"):DQ(t,r2,DX)?we(e,t,"close_paren"):MQ(t,Jj,e2)?we(e,t,"separator"):MQ(t,i2,n2)?we(e,t,"operator"):we(e,t,null)}function DQ(t,e,i){if(t.current().length==1&&e.test(t.current())){for(t.backUp(1);e.test(t.peek());)if(t.next(),ct(t.current(),i))return!0;t.backUp(t.current().length-1)}return!1}function MQ(t,e,i){if(t.current().length==1&&e.test(t.current())){for(;e.test(t.peek());)t.next();for(;0<t.current().length;){if(ct(t.current(),i))return!0;t.backUp(1)}t.next()}return!1}function BQ(t){return MX(t,'"',"\\")}function FQ(t){return MX(t,"'","\\")}function MX(t,e,i){for(;!t.eol();){var n=t.next();if(n==e)return!0;n==i&&t.next()}return!1}function c2(t){var e=t.match(/^\s*([^\s%])/,!1);return e?e[1]:""}function ct(t,e){return-1<e.indexOf(t)}function we(t,e,i){switch(f2(t,u2(i,e)),i){case"atom":return"atom";case"attribute":return"attribute";case"boolean":return"atom";case"builtin":return"builtin";case"close_paren":return null;case"colon":return null;case"comment":return"comment";case"dot":return null;case"error":return"error";case"fun":return"meta";case"function":return"tag";case"guard":return"property";case"keyword":return"keyword";case"macro":return"macroName";case"number":return"number";case"open_paren":return null;case"operator":return"operator";case"record":return"bracket";case"separator":return null;case"string":return"string";case"type":return"def";case"variable":return"variable";default:return null}}function BX(t,e,i,n){return{token:t,column:e,indent:i,type:n}}function u2(t,e){return BX(e.current(),e.column(),e.indentation(),t)}function h2(t){return BX(t,0,0,t)}function Gr(t,e){var i=t.tokenStack.length,n=e||1;return i<n?!1:t.tokenStack[i-n]}function f2(t,e){e.type=="comment"||e.type=="whitespace"||(t.tokenStack=d2(t.tokenStack,e),t.tokenStack=$2(t.tokenStack))}function d2(t,e){var i=t.length-1;return 0<i&&t[i].type==="record"&&e.type==="dot"?t.pop():(0<i&&t[i].type==="group"&&t.pop(),t.push(e)),t}function $2(t){if(!t.length)return t;var e=t.length-1;if(t[e].type==="dot")return[];if(e>1&&t[e].type==="fun"&&t[e-1].token==="fun")return t.slice(0,e-1);switch(t[e].token){case"}":return Oi(t,{g:["{"]});case"]":return Oi(t,{i:["["]});case")":return Oi(t,{i:["("]});case">>":return Oi(t,{i:["<<"]});case"end":return Oi(t,{i:["begin","case","fun","if","receive","try"]});case",":return Oi(t,{e:["begin","try","when","->",",","(","[","{","<<"]});case"->":return Oi(t,{r:["when"],m:["try","if","case","receive"]});case";":return Oi(t,{E:["case","fun","if","receive","try","when"]});case"catch":return Oi(t,{e:["try"]});case"of":return Oi(t,{e:["case"]});case"after":return Oi(t,{e:["receive","try"]});default:return t}}function Oi(t,e){for(var i in e)for(var n=t.length-1,O=e[i],r=n-1;-1<r;r--)if(ct(t[r].token,O)){var a=t.slice(0,r);switch(i){case"m":return a.concat(t[r]).concat(t[n]);case"r":return a.concat(t[n]);case"i":return a;case"g":return a.concat(h2("group"));case"E":return a.concat(t[r]);case"e":return a.concat(t[r])}}return i=="E"?[]:t}function p2(t,e,i){var n,O=Q2(e),r=Gr(t,1),a=Gr(t,2);return t.in_string||t.in_atom?null:a?r.token=="when"?r.column+i.unit:O==="when"&&a.type==="function"?a.indent+i.unit:O==="("&&r.token==="fun"?r.column+3:O==="catch"&&(n=zc(t,["try"]))?n.column:ct(O,["end","after","of"])?(n=zc(t,["begin","case","fun","if","receive","try"]),n?n.column:null):ct(O,DX)?(n=zc(t,hh),n?n.column:null):ct(r.token,[",","|","||"])||ct(O,[",","|","||"])?(n=m2(t),n?n.column+n.token.length:i.unit):r.token=="->"?ct(a.token,["receive","case","if","try"])?a.column+i.unit+i.unit:a.column+i.unit:ct(r.token,hh)?r.column+r.token.length:(n=g2(t),Ln(n)?n.column+i.unit:0):0}function Q2(t){var e=t.match(/,|[a-z]+|\}|\]|\)|>>|\|+|\(/);return Ln(e)&&e.index===0?e[0]:""}function m2(t){var e=t.tokenStack.slice(0,-1),i=bs(e,"type",["open_paren"]);return Ln(e[i])?e[i]:!1}function g2(t){var e=t.tokenStack,i=bs(e,"type",["open_paren","separator","keyword"]),n=bs(e,"type",["operator"]);return Ln(i)&&Ln(n)&&i<n?e[i+1]:Ln(i)?e[i]:!1}function zc(t,e){var i=t.tokenStack,n=bs(i,"token",e);return Ln(i[n])?i[n]:!1}function bs(t,e,i){for(var n=t.length-1;-1<n;n--)if(ct(t[n][e],i))return n;return!1}function Ln(t){return t!==!1&&t!=null}const P2={name:"erlang",startState(){return{tokenStack:[],in_string:!1,in_atom:!1}},token:l2,indent:p2,languageData:{commentTokens:{line:"%"}}};function FX(t){HX(t,"start");var e={},i=t.languageData||{},n=!1;for(var O in t)if(O!=i&&t.hasOwnProperty(O))for(var r=e[O]=[],a=t[O],o=0;o<a.length;o++){var s=a[o];r.push(new X2(s,t)),(s.indent||s.dedent)&&(n=!0)}return{name:i.name,startState:function(){return{state:"start",pending:null,indent:n?[]:null}},copyState:function(l){var c={state:l.state,pending:l.pending,indent:l.indent&&l.indent.slice(0)};return l.stack&&(c.stack=l.stack.slice(0)),c},token:y2(e),indent:x2(e,i),mergeTokens:i.mergeTokens,languageData:i}}function HX(t,e){if(!t.hasOwnProperty(e))throw new Error("Undefined state "+e+" in simple mode")}function S2(t,e){if(!t)return/(?:)/;var i="";return t instanceof RegExp?(t.ignoreCase&&(i="i"),t.unicode&&(i+="u"),t=t.source):t=String(t),new RegExp("^(?:"+t+")",i)}function b2(t){if(!t)return null;if(t.apply)return t;if(typeof t=="string")return t.replace(/\./g," ");for(var e=[],i=0;i<t.length;i++)e.push(t[i]&&t[i].replace(/\./g," "));return e}function X2(t,e){(t.next||t.push)&&HX(e,t.next||t.push),this.regex=S2(t.regex),this.token=b2(t.token),this.data=t}function y2(t){return function(e,i){if(i.pending){var n=i.pending.shift();return i.pending.length==0&&(i.pending=null),e.pos+=n.text.length,n.token}for(var O=t[i.state],r=0;r<O.length;r++){var a=O[r],o=(!a.data.sol||e.sol())&&e.match(a.regex);if(o){a.data.next?i.state=a.data.next:a.data.push?((i.stack||(i.stack=[])).push(i.state),i.state=a.data.push):a.data.pop&&i.stack&&i.stack.length&&(i.state=i.stack.pop()),a.data.indent&&i.indent.push(e.indentation()+e.indentUnit),a.data.dedent&&i.indent.pop();var s=a.token;if(s&&s.apply&&(s=s(o)),o.length>2&&a.token&&typeof a.token!="string"){i.pending=[];for(var l=2;l<o.length;l++)o[l]&&i.pending.push({text:o[l],token:a.token[l-1]});return e.backUp(o[0].length-(o[1]?o[1].length:0)),s[0]}else return s&&s.join?s[0]:s}}return e.next(),null}}function x2(t,e){return function(i,n){if(i.indent==null||e.dontIndentStates&&e.dontIndentStates.indexOf(i.state)>-1)return null;var O=i.indent.length-1,r=t[i.state];e:for(;;){for(var a=0;a<r.length;a++){var o=r[a];if(o.data.dedent&&o.data.dedentIfLineStart!==!1){var s=o.regex.exec(n);if(s&&s[0]){O--,(o.next||o.push)&&(r=t[o.next||o.push]),n=n.slice(s[0].length);continue e}}}break}return O<0?0:i.indent[O]}}var KX="from",w2=new RegExp("^(\\s*)\\b("+KX+")\\b","i"),JX=["run","cmd","entrypoint","shell"],k2=new RegExp("^(\\s*)("+JX.join("|")+")(\\s+\\[)","i"),ey="expose",T2=new RegExp("^(\\s*)("+ey+")(\\s+)","i"),v2=["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"],_2=[KX,ey].concat(JX).concat(v2),ty="("+_2.join("|")+")",R2=new RegExp("^(\\s*)"+ty+"(\\s*)(#.*)?$","i"),Y2=new RegExp("^(\\s*)"+ty+"(\\s+)","i");const Z2=FX({start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:w2,token:[null,"keyword"],sol:!0,next:"from"},{regex:R2,token:[null,"keyword",null,"error"],sol:!0},{regex:k2,token:[null,"keyword",null],sol:!0,next:"array"},{regex:T2,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:Y2,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],languageData:{commentTokens:{line:"#"}}});var HQ={"+":"inserted","-":"deleted","@":"meta"};const z2={name:"diff",token:function(t){var e=t.string.search(/[\t ]+?$/);if(!t.sol()||e===0)return t.skipToEnd(),("error "+(HQ[t.string.charAt(0)]||"")).replace(/ $/,"");var i=HQ[t.peek()]||t.skipToEnd();return e===-1?t.skipToEnd():t.pos=e,i}};function Or(t,e){e=e||{};for(var i=e.prefix!==void 0?e.prefix:"^",n=e.suffix!==void 0?e.suffix:"\\b",O=0;O<t.length;O++)t[O]instanceof RegExp?t[O]=t[O].source:t[O]=t[O].replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return new RegExp(i+"("+t.join("|")+")"+n,"i")}var iy="(?=[^A-Za-z\\d\\-_]|$)",fh=/[\w\-:]/,q2=Or([/begin|break|catch|continue|data|default|do|dynamicparam/,/else|elseif|end|exit|filter|finally|for|foreach|from|function|if|in/,/param|process|return|switch|throw|trap|try|until|where|while/],{suffix:iy}),U2=/[\[\]{},;`\\\.]|@[({]/,V2=Or(["f",/b?not/,/[ic]?split/,"join",/is(not)?/,"as",/[ic]?(eq|ne|[gl][te])/,/[ic]?(not)?(like|match|contains)/,/[ic]?replace/,/b?(and|or|xor)/],{prefix:"-"}),W2=/[+\-*\/%]=|\+\+|--|\.\.|[+\-*&^%:=!|\/]|<(?!#)|(?!#)>/,j2=Or([V2,W2],{suffix:""}),C2=/^((0x[\da-f]+)|((\d+\.\d+|\d\.|\.\d+|\d+)(e[\+\-]?\d+)?))[ld]?([kmgtp]b)?/i,E2=/^[A-Za-z\_][A-Za-z\-\_\d]*\b/,G2=/[A-Z]:|%|\?/i,A2=Or([/Add-(Computer|Content|History|Member|PSSnapin|Type)/,/Checkpoint-Computer/,/Clear-(Content|EventLog|History|Host|Item(Property)?|Variable)/,/Compare-Object/,/Complete-Transaction/,/Connect-PSSession/,/ConvertFrom-(Csv|Json|SecureString|StringData)/,/Convert-Path/,/ConvertTo-(Csv|Html|Json|SecureString|Xml)/,/Copy-Item(Property)?/,/Debug-Process/,/Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/Disconnect-PSSession/,/Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/(Enter|Exit)-PSSession/,/Export-(Alias|Clixml|Console|Counter|Csv|FormatData|ModuleMember|PSSession)/,/ForEach-Object/,/Format-(Custom|List|Table|Wide)/,new RegExp("Get-(Acl|Alias|AuthenticodeSignature|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Counter|Credential|Culture|Date|Event|EventLog|EventSubscriber|ExecutionPolicy|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|PfxCertificate|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|Verb|WinEvent|WmiObject)"),/Group-Object/,/Import-(Alias|Clixml|Counter|Csv|LocalizedData|Module|PSSession)/,/ImportSystemModules/,/Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)/,/Join-Path/,/Limit-EventLog/,/Measure-(Command|Object)/,/Move-Item(Property)?/,new RegExp("New-(Alias|Event|EventLog|Item(Property)?|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy|WinEvent)"),/Out-(Default|File|GridView|Host|Null|Printer|String)/,/Pause/,/(Pop|Push)-Location/,/Read-Host/,/Receive-(Job|PSSession)/,/Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)/,/Remove-(Computer|Event|EventLog|Item(Property)?|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)/,/Rename-(Computer|Item(Property)?)/,/Reset-ComputerMachinePassword/,/Resolve-Path/,/Restart-(Computer|Service)/,/Restore-Computer/,/Resume-(Job|Service)/,/Save-Help/,/Select-(Object|String|Xml)/,/Send-MailMessage/,new RegExp("Set-(Acl|Alias|AuthenticodeSignature|Content|Date|ExecutionPolicy|Item(Property)?|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)"),/Show-(Command|ControlPanelItem|EventLog)/,/Sort-Object/,/Split-Path/,/Start-(Job|Process|Service|Sleep|Transaction|Transcript)/,/Stop-(Computer|Job|Process|Service|Transcript)/,/Suspend-(Job|Service)/,/TabExpansion2/,/Tee-Object/,/Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)/,/Trace-Command/,/Unblock-File/,/Undo-Transaction/,/Unregister-(Event|PSSessionConfiguration)/,/Update-(FormatData|Help|List|TypeData)/,/Use-Transaction/,/Wait-(Event|Job|Process)/,/Where-Object/,/Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning)/,/cd|help|mkdir|more|oss|prompt/,/ac|asnp|cat|cd|chdir|clc|clear|clhy|cli|clp|cls|clv|cnsn|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|dnsn|ebp/,/echo|epal|epcsv|epsn|erase|etsn|exsn|fc|fl|foreach|ft|fw|gal|gbp|gc|gci|gcm|gcs|gdr|ghy|gi|gjb|gl|gm|gmo|gp|gps/,/group|gsn|gsnp|gsv|gu|gv|gwmi|h|history|icm|iex|ihy|ii|ipal|ipcsv|ipmo|ipsn|irm|ise|iwmi|iwr|kill|lp|ls|man|md/,/measure|mi|mount|move|mp|mv|nal|ndr|ni|nmo|npssc|nsn|nv|ogv|oh|popd|ps|pushd|pwd|r|rbp|rcjb|rcsn|rd|rdr|ren|ri/,/rjb|rm|rmdir|rmo|rni|rnp|rp|rsn|rsnp|rujb|rv|rvpa|rwmi|sajb|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls/,/sort|sp|spjb|spps|spsv|start|sujb|sv|swmi|tee|trcm|type|where|wjb|write/],{prefix:"",suffix:""}),N2=Or([/[$?^_]|Args|ConfirmPreference|ConsoleFileName|DebugPreference|Error|ErrorActionPreference|ErrorView|ExecutionContext/,/FormatEnumerationLimit|Home|Host|Input|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount/,/MaximumHistoryCount|MaximumVariableCount|MyInvocation|NestedPromptLevel|OutputEncoding|Pid|Profile|ProgressPreference/,/PSBoundParameters|PSCommandPath|PSCulture|PSDefaultParameterValues|PSEmailServer|PSHome|PSScriptRoot|PSSessionApplicationName/,/PSSessionConfigurationName|PSSessionOption|PSUICulture|PSVersionTable|Pwd|ShellId|StackTrace|VerbosePreference/,/WarningPreference|WhatIfPreference/,/Event|EventArgs|EventSubscriber|Sender/,/Matches|Ofs|ForEach|LastExitCode|PSCmdlet|PSItem|PSSenderInfo|This/,/true|false|null/],{prefix:"\\$",suffix:""}),I2=Or([G2,A2,N2],{suffix:iy}),KQ={keyword:q2,number:C2,operator:j2,builtin:I2,punctuation:U2,variable:E2};function Hi(t,e){var i=e.returnStack[e.returnStack.length-1];if(i&&i.shouldReturnFrom(e))return e.tokenize=i.tokenize,e.returnStack.pop(),e.tokenize(t,e);if(t.eatSpace())return null;if(t.eat("("))return e.bracketNesting+=1,"punctuation";if(t.eat(")"))return e.bracketNesting-=1,"punctuation";for(var n in KQ)if(t.match(KQ[n]))return n;var O=t.next();if(O==="'")return L2(t,e);if(O==="$")return dh(t,e);if(O==='"')return ny(t,e);if(O==="<"&&t.eat("#"))return e.tokenize=JQ,JQ(t,e);if(O==="#")return t.skipToEnd(),"comment";if(O==="@"){var r=t.eat(/["']/);if(r&&t.eol())return e.tokenize=Xs,e.startQuote=r[0],Xs(t,e);if(t.eol())return"error";if(t.peek().match(/[({]/))return"punctuation";if(t.peek().match(fh))return dh(t,e)}return"error"}function L2(t,e){for(var i;(i=t.peek())!=null;)if(t.next(),i==="'"&&!t.eat("'"))return e.tokenize=Hi,"string";return"error"}function ny(t,e){for(var i;(i=t.peek())!=null;){if(i==="$")return e.tokenize=D2,"string";if(t.next(),i==="`"){t.next();continue}if(i==='"'&&!t.eat('"'))return e.tokenize=Hi,"string"}return"error"}function D2(t,e){return Oy(t,e,ny)}function M2(t,e){return e.tokenize=Xs,e.startQuote='"',Xs(t,e)}function B2(t,e){return Oy(t,e,M2)}function Oy(t,e,i){if(t.match("$(")){var n=e.bracketNesting;return e.returnStack.push({shouldReturnFrom:function(O){return O.bracketNesting===n},tokenize:i}),e.tokenize=Hi,e.bracketNesting+=1,"punctuation"}else return t.next(),e.returnStack.push({shouldReturnFrom:function(){return!0},tokenize:i}),e.tokenize=dh,e.tokenize(t,e)}function JQ(t,e){for(var i=!1,n;(n=t.next())!=null;){if(i&&n==">"){e.tokenize=Hi;break}i=n==="#"}return"comment"}function dh(t,e){var i=t.peek();return t.eat("{")?(e.tokenize=em,em(t,e)):i!=null&&i.match(fh)?(t.eatWhile(fh),e.tokenize=Hi,"variable"):(e.tokenize=Hi,"error")}function em(t,e){for(var i;(i=t.next())!=null;)if(i==="}"){e.tokenize=Hi;break}return"variable"}function Xs(t,e){var i=e.startQuote;if(t.sol()&&t.match(new RegExp(i+"@")))e.tokenize=Hi;else if(i==='"')for(;!t.eol();){var n=t.peek();if(n==="$")return e.tokenize=B2,"string";t.next(),n==="`"&&t.next()}else t.skipToEnd();return"string"}const F2={name:"powershell",startState:function(){return{returnStack:[],bracketNesting:0,tokenize:Hi}},token:function(t,e){return e.tokenize(t,e)},languageData:{commentTokens:{line:"#",block:{open:"<#",close:"#>"}}}};function Vf(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var H2=Vf("break return rewrite set accept_mutex accept_mutex_delay access_log add_after_body add_before_body add_header addition_types aio alias allow ancient_browser ancient_browser_value auth_basic auth_basic_user_file auth_http auth_http_header auth_http_timeout autoindex autoindex_exact_size autoindex_localtime charset charset_types client_body_buffer_size client_body_in_file_only client_body_in_single_buffer client_body_temp_path client_body_timeout client_header_buffer_size client_header_timeout client_max_body_size connection_pool_size create_full_put_path daemon dav_access dav_methods debug_connection debug_points default_type degradation degrade deny devpoll_changes devpoll_events directio directio_alignment empty_gif env epoll_events error_log eventport_events expires fastcgi_bind fastcgi_buffer_size fastcgi_buffers fastcgi_busy_buffers_size fastcgi_cache fastcgi_cache_key fastcgi_cache_methods fastcgi_cache_min_uses fastcgi_cache_path fastcgi_cache_use_stale fastcgi_cache_valid fastcgi_catch_stderr fastcgi_connect_timeout fastcgi_hide_header fastcgi_ignore_client_abort fastcgi_ignore_headers fastcgi_index fastcgi_intercept_errors fastcgi_max_temp_file_size fastcgi_next_upstream fastcgi_param fastcgi_pass_header fastcgi_pass_request_body fastcgi_pass_request_headers fastcgi_read_timeout fastcgi_send_lowat fastcgi_send_timeout fastcgi_split_path_info fastcgi_store fastcgi_store_access fastcgi_temp_file_write_size fastcgi_temp_path fastcgi_upstream_fail_timeout fastcgi_upstream_max_fails flv geoip_city geoip_country google_perftools_profiles gzip gzip_buffers gzip_comp_level gzip_disable gzip_hash gzip_http_version gzip_min_length gzip_no_buffer gzip_proxied gzip_static gzip_types gzip_vary gzip_window if_modified_since ignore_invalid_headers image_filter image_filter_buffer image_filter_jpeg_quality image_filter_transparency imap_auth imap_capabilities imap_client_buffer index ip_hash keepalive_requests keepalive_timeout kqueue_changes kqueue_events large_client_header_buffers limit_conn limit_conn_log_level limit_rate limit_rate_after limit_req limit_req_log_level limit_req_zone limit_zone lingering_time lingering_timeout lock_file log_format log_not_found log_subrequest map_hash_bucket_size map_hash_max_size master_process memcached_bind memcached_buffer_size memcached_connect_timeout memcached_next_upstream memcached_read_timeout memcached_send_timeout memcached_upstream_fail_timeout memcached_upstream_max_fails merge_slashes min_delete_depth modern_browser modern_browser_value msie_padding msie_refresh multi_accept open_file_cache open_file_cache_errors open_file_cache_events open_file_cache_min_uses open_file_cache_valid open_log_file_cache output_buffers override_charset perl perl_modules perl_require perl_set pid pop3_auth pop3_capabilities port_in_redirect postpone_gzipping postpone_output protocol proxy proxy_bind proxy_buffer proxy_buffer_size proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache proxy_cache_key proxy_cache_methods proxy_cache_min_uses proxy_cache_path proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_pass_error_message proxy_pass_header proxy_pass_request_body proxy_pass_request_headers proxy_read_timeout proxy_redirect proxy_send_lowat proxy_send_timeout proxy_set_body proxy_set_header proxy_ssl_session_reuse proxy_store proxy_store_access proxy_temp_file_write_size proxy_temp_path proxy_timeout proxy_upstream_fail_timeout proxy_upstream_max_fails random_index read_ahead real_ip_header recursive_error_pages request_pool_size reset_timedout_connection resolver resolver_timeout rewrite_log rtsig_overflow_events rtsig_overflow_test rtsig_overflow_threshold rtsig_signo satisfy secure_link_secret send_lowat send_timeout sendfile sendfile_max_chunk server_name_in_redirect server_names_hash_bucket_size server_names_hash_max_size server_tokens set_real_ip_from smtp_auth smtp_capabilities smtp_client_buffer smtp_greeting_delay so_keepalive source_charset ssi ssi_ignore_recycled_buffers ssi_min_file_chunk ssi_silent_errors ssi_types ssi_value_length ssl ssl_certificate ssl_certificate_key ssl_ciphers ssl_client_certificate ssl_crl ssl_dhparam ssl_engine ssl_prefer_server_ciphers ssl_protocols ssl_session_cache ssl_session_timeout ssl_verify_client ssl_verify_depth starttls stub_status sub_filter sub_filter_once sub_filter_types tcp_nodelay tcp_nopush thread_stack_size timeout timer_resolution types_hash_bucket_size types_hash_max_size underscores_in_headers uninitialized_variable_warn use user userid userid_domain userid_expires userid_mark userid_name userid_p3p userid_path userid_service valid_referers variables_hash_bucket_size variables_hash_max_size worker_connections worker_cpu_affinity worker_priority worker_processes worker_rlimit_core worker_rlimit_nofile worker_rlimit_sigpending worker_threads working_directory xclient xml_entities xslt_stylesheet xslt_typesdrew@li229-23"),K2=Vf("http mail events server types location upstream charset_map limit_except if geo map"),J2=Vf("include root server server_name listen internal proxy_pass memcached_pass fastcgi_pass try_files"),rn;function Mt(t,e){return rn=e,t}function Js(t,e){t.eatWhile(/[\w\$_]/);var i=t.current();if(H2.propertyIsEnumerable(i))return"keyword";if(K2.propertyIsEnumerable(i))return"controlKeyword";if(J2.propertyIsEnumerable(i))return"controlKeyword";var n=t.next();if(n=="@")return t.eatWhile(/[\w\\\-]/),Mt("meta",t.current());if(n=="/"&&t.eat("*"))return e.tokenize=tm,tm(t,e);if(n=="<"&&t.eat("!"))return e.tokenize=im,im(t,e);if(n=="=")Mt(null,"compare");else return(n=="~"||n=="|")&&t.eat("=")?Mt(null,"compare"):n=='"'||n=="'"?(e.tokenize=eC(n),e.tokenize(t,e)):n=="#"?(t.skipToEnd(),Mt("comment","comment")):n=="!"?(t.match(/^\s*\w*/),Mt("keyword","important")):/\d/.test(n)?(t.eatWhile(/[\w.%]/),Mt("number","unit")):/[,.+>*\/]/.test(n)?Mt(null,"select-op"):/[;{}:\[\]]/.test(n)?Mt(null,n):(t.eatWhile(/[\w\\\-]/),Mt("variable","variable"))}function tm(t,e){for(var i=!1,n;(n=t.next())!=null;){if(i&&n=="/"){e.tokenize=Js;break}i=n=="*"}return Mt("comment","comment")}function im(t,e){for(var i=0,n;(n=t.next())!=null;){if(i>=2&&n==">"){e.tokenize=Js;break}i=n=="-"?i+1:0}return Mt("comment","comment")}function eC(t){return function(e,i){for(var n=!1,O;(O=e.next())!=null&&!(O==t&&!n);)n=!n&&O=="\\";return n||(i.tokenize=Js),Mt("string","string")}}const tC={name:"nginx",startState:function(){return{tokenize:Js,baseIndent:0,stack:[]}},token:function(t,e){if(t.eatSpace())return null;rn=null;var i=e.tokenize(t,e),n=e.stack[e.stack.length-1];return rn=="hash"&&n=="rule"?i="atom":i=="variable"&&(n=="rule"?i="number":(!n||n=="@media{")&&(i="tag")),n=="rule"&&/^[\{\};]$/.test(rn)&&e.stack.pop(),rn=="{"?n=="@media"?e.stack[e.stack.length-1]="@media{":e.stack.push("{"):rn=="}"?e.stack.pop():rn=="@media"?e.stack.push("@media"):n=="{"&&rn!="comment"&&e.stack.push("rule"),i},indent:function(t,e,i){var n=t.stack.length;return/^\}/.test(e)&&(n-=t.stack[t.stack.length-1]=="rule"?2:1),t.baseIndent+n*i.unit},languageData:{indentOnInput:/^\s*\}$/}};function fo(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var nm="body catch class do else enum for foreach foreach_reverse if in interface mixin out scope struct switch try union unittest version while with";const cO={keywords:fo("abstract alias align asm assert auto break case cast cdouble cent cfloat const continue debug default delegate delete deprecated export extern final finally function goto immutable import inout invariant is lazy macro module new nothrow override package pragma private protected public pure ref return shared short static super synchronized template this throw typedef typeid typeof volatile __FILE__ __LINE__ __gshared __traits __vector __parameters "+nm),blockKeywords:fo(nm),builtin:fo("bool byte char creal dchar double float idouble ifloat int ireal long real short ubyte ucent uint ulong ushort wchar wstring void size_t sizediff_t"),atoms:fo("exit failure success true false null"),hooks:{"@":function(t,e){return t.eatWhile(/[\w\$_]/),"meta"}}};var iC=cO.statementIndentUnit,nC=cO.keywords,OC=cO.builtin,Om=cO.blockKeywords,rC=cO.atoms,rm=cO.hooks,aC=cO.multiLineStrings,am=/[+\-*&%=<>!?|\/]/,vt;function om(t,e){var i=t.next();if(rm[i]){var n=rm[i](t,e);if(n!==!1)return n}if(i=='"'||i=="'"||i=="`")return e.tokenize=oC(i),e.tokenize(t,e);if(/[\[\]{}\(\),;\:\.]/.test(i))return vt=i,null;if(/\d/.test(i))return t.eatWhile(/[\w\.]/),"number";if(i=="/"){if(t.eat("+"))return e.tokenize=lm,lm(t,e);if(t.eat("*"))return e.tokenize=sm,sm(t,e);if(t.eat("/"))return t.skipToEnd(),"comment"}if(am.test(i))return t.eatWhile(am),"operator";t.eatWhile(/[\w\$_\xa1-\uffff]/);var O=t.current();return nC.propertyIsEnumerable(O)?(Om.propertyIsEnumerable(O)&&(vt="newstatement"),"keyword"):OC.propertyIsEnumerable(O)?(Om.propertyIsEnumerable(O)&&(vt="newstatement"),"builtin"):rC.propertyIsEnumerable(O)?"atom":"variable"}function oC(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="\\"}return(r||!(n||aC))&&(i.tokenize=null),"string"}}function sm(t,e){for(var i=!1,n;n=t.next();){if(n=="/"&&i){e.tokenize=null;break}i=n=="*"}return"comment"}function lm(t,e){for(var i=!1,n;n=t.next();){if(n=="/"&&i){e.tokenize=null;break}i=n=="+"}return"comment"}function ry(t,e,i,n,O){this.indented=t,this.column=e,this.type=i,this.align=n,this.prev=O}function $o(t,e,i){var n=t.indented;return t.context&&t.context.type=="statement"&&(n=t.context.indented),t.context=new ry(n,e,i,null,t.context)}function Xr(t){var e=t.context.type;return(e==")"||e=="]"||e=="}")&&(t.indented=t.context.indented),t.context=t.context.prev}const sC={name:"d",startState:function(t){return{tokenize:null,context:new ry(-t,0,"top",!1),indented:0,startOfLine:!0}},token:function(t,e){var i=e.context;if(t.sol()&&(i.align==null&&(i.align=!1),e.indented=t.indentation(),e.startOfLine=!0),t.eatSpace())return null;vt=null;var n=(e.tokenize||om)(t,e);if(n=="comment"||n=="meta")return n;if(i.align==null&&(i.align=!0),(vt==";"||vt==":"||vt==",")&&i.type=="statement")Xr(e);else if(vt=="{")$o(e,t.column(),"}");else if(vt=="[")$o(e,t.column(),"]");else if(vt=="(")$o(e,t.column(),")");else if(vt=="}"){for(;i.type=="statement";)i=Xr(e);for(i.type=="}"&&(i=Xr(e));i.type=="statement";)i=Xr(e)}else vt==i.type?Xr(e):((i.type=="}"||i.type=="top")&&vt!=";"||i.type=="statement"&&vt=="newstatement")&&$o(e,t.column(),"statement");return e.startOfLine=!1,n},indent:function(t,e,i){if(t.tokenize!=om&&t.tokenize!=null)return null;var n=t.context,O=e&&e.charAt(0);n.type=="statement"&&O=="}"&&(n=n.prev);var r=O==n.type;return n.type=="statement"?n.indented+(O=="{"?0:iC||i.unit):n.align?n.column+(r?0:1):n.indented+(r?0:i.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function yr(t,e,i){return e(i),i(t,e)}var lC=/[a-z]/,cC=/[A-Z]/,cm=/[a-zA-Z0-9_]/,po=/[0-9]/,uC=/[0-9A-Fa-f]/,um=/[-&*+.\\/<>=?^|:]/,hC=/[(),[\]{}]/,fC=/[ \v\f]/;function Ki(){return function(t,e){if(t.eatWhile(fC))return null;var i=t.next();if(hC.test(i))return i==="{"&&t.eat("-")?yr(t,e,ay(1)):i==="["&&t.match("glsl|")?yr(t,e,QC):"builtin";if(i==="'")return yr(t,e,pC);if(i==='"')return t.eat('"')?t.eat('"')?yr(t,e,dC):"string":yr(t,e,$C);if(cC.test(i))return t.eatWhile(cm),"type";if(lC.test(i)){var n=t.pos===1;return t.eatWhile(cm),n?"def":"variable"}if(po.test(i)){if(i==="0"){if(t.eat(/[xX]/))return t.eatWhile(uC),"number"}else t.eatWhile(po);return t.eat(".")&&t.eatWhile(po),t.eat(/[eE]/)&&(t.eat(/[-+]/),t.eatWhile(po)),"number"}return um.test(i)?i==="-"&&t.eat("-")?(t.skipToEnd(),"comment"):(t.eatWhile(um),"keyword"):i==="_"?"keyword":"error"}}function ay(t){return t==0?Ki():function(e,i){for(;!e.eol();){var n=e.next();if(n=="{"&&e.eat("-"))++t;else if(n=="-"&&e.eat("}")&&(--t,t===0))return i(Ki()),"comment"}return i(ay(t)),"comment"}}function dC(t,e){for(;!t.eol();){var i=t.next();if(i==='"'&&t.eat('"')&&t.eat('"'))return e(Ki()),"string"}return"string"}function $C(t,e){for(;t.skipTo('\\"');)t.next(),t.next();return t.skipTo('"')?(t.next(),e(Ki()),"string"):(t.skipToEnd(),e(Ki()),"error")}function pC(t,e){for(;t.skipTo("\\'");)t.next(),t.next();return t.skipTo("'")?(t.next(),e(Ki()),"string"):(t.skipToEnd(),e(Ki()),"error")}function QC(t,e){for(;!t.eol();){var i=t.next();if(i==="|"&&t.eat("]"))return e(Ki()),"string"}return"string"}var mC={case:1,of:1,as:1,if:1,then:1,else:1,let:1,in:1,type:1,alias:1,module:1,where:1,import:1,exposing:1,port:1};const gC={name:"elm",startState:function(){return{f:Ki()}},copyState:function(t){return{f:t.f}},token:function(t,e){var i=e.f(t,function(O){e.f=O}),n=t.current();return mC.hasOwnProperty(n)?"keyword":i},languageData:{commentTokens:{line:"--"}}};function Xn(t,e,i){return typeof i>"u"&&(i=""),typeof e>"u"&&(e="\\b"),new RegExp("^"+i+"(("+t.join(")|(")+"))"+e)}var PC="\\\\[0-7]{1,3}",SC="\\\\x[A-Fa-f0-9]{1,2}",bC=`\\\\[abefnrtv0%?'"\\\\]`,XC="([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])",oy=["[<>]:","[<>=]=","<<=?",">>>?=?","=>","--?>","<--[->]?","\\/\\/","\\.{2,3}","[\\.\\\\%*+\\-<>!\\/^|&]=?","\\?","\\$","~",":"],yC=Xn(["[<>]:","[<>=]=","[!=]==","<<=?",">>>?=?","=>?","--?>","<--[->]?","\\/\\/","[\\\\%*+\\-<>!\\/^|&\\u00F7\\u22BB]=?","\\?","\\$","~",":","\\u00D7","\\u2208","\\u2209","\\u220B","\\u220C","\\u2218","\\u221A","\\u221B","\\u2229","\\u222A","\\u2260","\\u2264","\\u2265","\\u2286","\\u2288","\\u228A","\\u22C5","\\b(in|isa)\\b(?!.?\\()"],""),xC=/^[;,()[\]{}]/,wC=/^[_A-Za-z\u00A1-\u2217\u2219-\uFFFF][\w\u00A1-\u2217\u2219-\uFFFF]*!*/,kC=Xn([PC,SC,bC,XC],"'"),TC=["begin","function","type","struct","immutable","let","macro","for","while","quote","if","else","elseif","try","finally","catch","do"],vC=["end","else","elseif","catch","finally"],sy=["if","else","elseif","while","for","begin","let","end","do","try","catch","finally","return","break","continue","global","local","const","export","import","importall","using","function","where","macro","module","baremodule","struct","type","mutable","immutable","quote","typealias","abstract","primitive","bitstype"],ly=["true","false","nothing","NaN","Inf"],_C=Xn(TC),RC=Xn(vC),YC=Xn(sy),ZC=Xn(ly),zC=/^@[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,qC=/^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,UC=/^(`|([_A-Za-z\u00A1-\uFFFF]*"("")?))/,VC=Xn(oy,"","@"),WC=Xn(oy,"",":");function hm(t){return t.nestedArrays>0}function jC(t){return t.nestedGenerators>0}function fm(t,e){return typeof e>"u"&&(e=0),t.scopes.length<=e?null:t.scopes[t.scopes.length-(e+1)]}function er(t,e){if(t.match("#=",!1))return e.tokenize=EC,e.tokenize(t,e);var i=e.leavingExpr;if(t.sol()&&(i=!1),e.leavingExpr=!1,i&&t.match(/^'+/))return"operator";if(t.match(/\.{4,}/))return"error";if(t.match(/\.{1,3}/))return"operator";if(t.eatSpace())return null;var n=t.peek();if(n==="#")return t.skipToEnd(),"comment";if(n==="["&&(e.scopes.push("["),e.nestedArrays++),n==="("&&(e.scopes.push("("),e.nestedGenerators++),hm(e)&&n==="]"){for(;e.scopes.length&&fm(e)!=="[";)e.scopes.pop();e.scopes.pop(),e.nestedArrays--,e.leavingExpr=!0}if(jC(e)&&n===")"){for(;e.scopes.length&&fm(e)!=="(";)e.scopes.pop();e.scopes.pop(),e.nestedGenerators--,e.leavingExpr=!0}if(hm(e)){if(e.lastToken=="end"&&t.match(":"))return"operator";if(t.match("end"))return"number"}var O;if((O=t.match(_C,!1))&&e.scopes.push(O[0]),t.match(RC,!1)&&e.scopes.pop(),t.match(/^::(?![:\$])/))return e.tokenize=CC,e.tokenize(t,e);if(!i&&(t.match(qC)||t.match(WC)))return"builtin";if(t.match(yC))return"operator";if(t.match(/^\.?\d/,!1)){var r=RegExp(/^im\b/),a=!1;if(t.match(/^0x\.[0-9a-f_]+p[\+\-]?[_\d]+/i)&&(a=!0),t.match(/^0x[0-9a-f_]+/i)&&(a=!0),t.match(/^0b[01_]+/i)&&(a=!0),t.match(/^0o[0-7_]+/i)&&(a=!0),t.match(/^(?:(?:\d[_\d]*)?\.(?!\.)(?:\d[_\d]*)?|\d[_\d]*\.(?!\.)(?:\d[_\d]*))?([Eef][\+\-]?[_\d]+)?/i)&&(a=!0),t.match(/^\d[_\d]*(e[\+\-]?\d+)?/i)&&(a=!0),a)return t.match(r),e.leavingExpr=!0,"number"}if(t.match("'"))return e.tokenize=GC,e.tokenize(t,e);if(t.match(UC))return e.tokenize=AC(t.current()),e.tokenize(t,e);if(t.match(zC)||t.match(VC))return"meta";if(t.match(xC))return null;if(t.match(YC))return"keyword";if(t.match(ZC))return"builtin";var o=e.isDefinition||e.lastToken=="function"||e.lastToken=="macro"||e.lastToken=="type"||e.lastToken=="struct"||e.lastToken=="immutable";return t.match(wC)?o?t.peek()==="."?(e.isDefinition=!0,"variable"):(e.isDefinition=!1,"def"):(e.leavingExpr=!0,"variable"):(t.next(),"error")}function CC(t,e){return t.match(/.*?(?=[,;{}()=\s]|$)/),t.match("{")?e.nestedParameters++:t.match("}")&&e.nestedParameters>0&&e.nestedParameters--,e.nestedParameters>0?t.match(/.*?(?={|})/)||t.next():e.nestedParameters==0&&(e.tokenize=er),"builtin"}function EC(t,e){return t.match("#=")&&e.nestedComments++,t.match(/.*?(?=(#=|=#))/)||t.skipToEnd(),t.match("=#")&&(e.nestedComments--,e.nestedComments==0&&(e.tokenize=er)),"comment"}function GC(t,e){var i=!1,n;if(t.match(kC))i=!0;else if(n=t.match(/\\u([a-f0-9]{1,4})(?=')/i)){var O=parseInt(n[1],16);(O<=55295||O>=57344)&&(i=!0,t.next())}else if(n=t.match(/\\U([A-Fa-f0-9]{5,8})(?=')/)){var O=parseInt(n[1],16);O<=1114111&&(i=!0,t.next())}return i?(e.leavingExpr=!0,e.tokenize=er,"string"):(t.match(/^[^']+(?=')/)||t.skipToEnd(),t.match("'")&&(e.tokenize=er),"error")}function AC(t){t.substr(-3)==='"""'?t='"""':t.substr(-1)==='"'&&(t='"');function e(i,n){if(i.eat("\\"))i.next();else{if(i.match(t))return n.tokenize=er,n.leavingExpr=!0,"string";i.eat(/[`"]/)}return i.eatWhile(/[^\\`"]/),"string"}return e}const NC={name:"julia",startState:function(){return{tokenize:er,scopes:[],lastToken:null,leavingExpr:!1,isDefinition:!1,nestedArrays:0,nestedComments:0,nestedGenerators:0,nestedParameters:0,firstParenPos:-1}},token:function(t,e){var i=e.tokenize(t,e),n=t.current();return n&&i&&(e.lastToken=n),i},indent:function(t,e,i){var n=0;return(e==="]"||e===")"||/^end\b/.test(e)||/^else/.test(e)||/^catch\b/.test(e)||/^elseif\b/.test(e)||/^finally/.test(e))&&(n=-1),(t.scopes.length+n)*i.unit},languageData:{indentOnInput:/^\s*(end|else|catch|finally)\b$/,commentTokens:{line:"#",block:{open:"#=",close:"=#"}},closeBrackets:{brackets:["(","[","{",'"']},autocomplete:sy.concat(ly)}};function Wf(t){var e={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},i=t.extraWords||{};for(var n in i)i.hasOwnProperty(n)&&(e[n]=t.extraWords[n]);var O=[];for(var r in e)O.push(r);function a(c,u){var h=c.next();if(h==='"')return u.tokenize=o,u.tokenize(c,u);if(h==="{"&&c.eat("|"))return u.longString=!0,u.tokenize=l,u.tokenize(c,u);if(h==="("&&c.match(/^\*(?!\))/))return u.commentLevel++,u.tokenize=s,u.tokenize(c,u);if(h==="~"||h==="?")return c.eatWhile(/\w/),"variableName.special";if(h==="`")return c.eatWhile(/\w/),"quote";if(h==="/"&&t.slashComments&&c.eat("/"))return c.skipToEnd(),"comment";if(/\d/.test(h))return h==="0"&&c.eat(/[bB]/)&&c.eatWhile(/[01]/),h==="0"&&c.eat(/[xX]/)&&c.eatWhile(/[0-9a-fA-F]/),h==="0"&&c.eat(/[oO]/)?c.eatWhile(/[0-7]/):(c.eatWhile(/[\d_]/),c.eat(".")&&c.eatWhile(/[\d]/),c.eat(/[eE]/)&&c.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(h))return"operator";if(/[\w\xa1-\uffff]/.test(h)){c.eatWhile(/[\w\xa1-\uffff]/);var d=c.current();return e.hasOwnProperty(d)?e[d]:"variable"}return null}function o(c,u){for(var h,d=!1,p=!1;(h=c.next())!=null;){if(h==='"'&&!p){d=!0;break}p=!p&&h==="\\"}return d&&!p&&(u.tokenize=a),"string"}function s(c,u){for(var h,d;u.commentLevel>0&&(d=c.next())!=null;)h==="("&&d==="*"&&u.commentLevel++,h==="*"&&d===")"&&u.commentLevel--,h=d;return u.commentLevel<=0&&(u.tokenize=a),"comment"}function l(c,u){for(var h,d;u.longString&&(d=c.next())!=null;)h==="|"&&d==="}"&&(u.longString=!1),h=d;return u.longString||(u.tokenize=a),"string"}return{startState:function(){return{tokenize:a,commentLevel:0,longString:!1}},token:function(c,u){return c.eatSpace()?null:u.tokenize(c,u)},languageData:{autocomplete:O,commentTokens:{line:t.slashComments?"//":void 0,block:{open:"(*",close:"*)"}}}}}const IC=Wf({extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),LC=Wf({extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0});Wf({extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0});var $h="error";function yn(t){return new RegExp("^(("+t.join(")|(")+"))\\b","i")}var DC=new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]"),MC=new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),BC=new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),FC=new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),HC=new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),KC=new RegExp("^[_A-Za-z][_A-Za-z0-9]*"),cy=["class","module","sub","enum","select","while","if","function","get","set","property","try","structure","synclock","using","with"],uy=["else","elseif","case","catch","finally"],hy=["next","loop"],fy=["and","andalso","or","orelse","xor","in","not","is","isnot","like"],JC=yn(fy),dy=["#const","#else","#elseif","#end","#if","#region","addhandler","addressof","alias","as","byref","byval","cbool","cbyte","cchar","cdate","cdbl","cdec","cint","clng","cobj","compare","const","continue","csbyte","cshort","csng","cstr","cuint","culng","cushort","declare","default","delegate","dim","directcast","each","erase","error","event","exit","explicit","false","for","friend","gettype","goto","handles","implements","imports","infer","inherits","interface","isfalse","istrue","lib","me","mod","mustinherit","mustoverride","my","mybase","myclass","namespace","narrowing","new","nothing","notinheritable","notoverridable","of","off","on","operator","option","optional","out","overloads","overridable","overrides","paramarray","partial","private","protected","public","raiseevent","readonly","redim","removehandler","resume","return","shadows","shared","static","step","stop","strict","then","throw","to","true","trycast","typeof","until","until","when","widening","withevents","writeonly"],$y=["object","boolean","char","string","byte","sbyte","short","ushort","int16","uint16","integer","uinteger","int32","uint32","long","ulong","int64","uint64","decimal","single","double","float","date","datetime","intptr","uintptr"],eE=yn(dy),tE=yn($y),iE='"',nE=yn(cy),py=yn(uy),Qy=yn(hy),my=yn(["end"]),OE=yn(["do"]);function ph(t,e){e.currentIndent++}function Uo(t,e){e.currentIndent--}function Qh(t,e){if(t.eatSpace())return null;var i=t.peek();if(i==="'")return t.skipToEnd(),"comment";if(t.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var n=!1;if((t.match(/^\d*\.\d+F?/i)||t.match(/^\d+\.\d*F?/)||t.match(/^\.\d+F?/))&&(n=!0),n)return t.eat(/J/i),"number";var O=!1;if(t.match(/^&H[0-9a-f]+/i)||t.match(/^&O[0-7]+/i)?O=!0:t.match(/^[1-9]\d*F?/)?(t.eat(/J/i),O=!0):t.match(/^0(?![\dx])/i)&&(O=!0),O)return t.eat(/L/i),"number"}return t.match(iE)?(e.tokenize=rE(t.current()),e.tokenize(t,e)):t.match(HC)||t.match(FC)?null:t.match(BC)||t.match(DC)||t.match(JC)?"operator":t.match(MC)?null:t.match(OE)?(ph(t,e),e.doInCurrentLine=!0,"keyword"):t.match(nE)?(e.doInCurrentLine?e.doInCurrentLine=!1:ph(t,e),"keyword"):t.match(py)?"keyword":t.match(my)?(Uo(t,e),Uo(t,e),"keyword"):t.match(Qy)?(Uo(t,e),"keyword"):t.match(tE)||t.match(eE)?"keyword":t.match(KC)?"variable":(t.next(),$h)}function rE(t){var e=t.length==1,i="string";return function(n,O){for(;!n.eol();){if(n.eatWhile(/[^'"]/),n.match(t))return O.tokenize=Qh,i;n.eat(/['"]/)}return e&&(O.tokenize=Qh),i}}function aE(t,e){var i=e.tokenize(t,e),n=t.current();if(n===".")return i=e.tokenize(t,e),i==="variable"?"variable":$h;var O="[({".indexOf(n);return O!==-1&&ph(t,e),O="])}".indexOf(n),O!==-1&&Uo(t,e)?$h:i}const oE={name:"vb",startState:function(){return{tokenize:Qh,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(t,e){t.sol()&&(e.currentIndent+=e.nextLineIndent,e.nextLineIndent=0,e.doInCurrentLine=0);var i=aE(t,e);return e.lastToken={style:i,content:t.current()},i},indent:function(t,e,i){var n=e.replace(/^\s+|\s+$/g,"");return n.match(Qy)||n.match(my)||n.match(py)?i.unit*(t.currentIndent-1):t.currentIndent<0?0:t.currentIndent*i.unit},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:"'"},autocomplete:cy.concat(uy).concat(hy).concat(fy).concat(dy).concat($y)}},sE={name:"properties",token:function(t,e){var i=t.sol()||e.afterSection,n=t.eol();if(e.afterSection=!1,i&&(e.nextMultiline?(e.inMultiline=!0,e.nextMultiline=!1):e.position="def"),n&&!e.nextMultiline&&(e.inMultiline=!1,e.position="def"),i)for(;t.eatSpace(););var O=t.next();return i&&(O==="#"||O==="!"||O===";")?(e.position="comment",t.skipToEnd(),"comment"):i&&O==="["?(e.afterSection=!0,t.skipTo("]"),t.eat("]"),"header"):O==="="||O===":"?(e.position="quote",null):(O==="\\"&&e.position==="quote"&&t.eol()&&(e.nextMultiline=!0),e.position)},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}};var lE=/({)?[a-zA-Z0-9_]+(})?/;function dm(t,e){for(var i,n,O=!1;!t.eol()&&(i=t.next())!=e.pending;){if(i==="$"&&n!="\\"&&e.pending=='"'){O=!0;break}n=i}return O&&t.backUp(1),i==e.pending?e.continueString=!1:e.continueString=!0,"string"}function cE(t,e){var i=t.next();return i==="$"?t.match(lE)?"variableName.special":"variable":e.continueString?(t.backUp(1),dm(t,e)):t.match(/(\s+)?\w+\(/)||t.match(/(\s+)?\w+\ \(/)?(t.backUp(1),"def"):i=="#"?(t.skipToEnd(),"comment"):i=="'"||i=='"'?(e.pending=i,dm(t,e)):i=="("||i==")"?"bracket":i.match(/[0-9]/)?"number":(t.eatWhile(/[\w-]/),null)}const uE={name:"cmake",startState:function(){var t={};return t.inDefinition=!1,t.inInclude=!1,t.continueString=!1,t.pending=!1,t},token:function(t,e){return t.eatSpace()?null:cE(t,e)}};function hE(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var fE=hE("absolute and array asm begin case const constructor destructor div do downto else end file for function goto if implementation in inherited inline interface label mod nil not object of operator or packed procedure program record reintroduce repeat self set shl shr string then to type unit until uses var while with xor as class dispinterface except exports finalization finally initialization inline is library on out packed property raise resourcestring threadvar try absolute abstract alias assembler bitpacked break cdecl continue cppdecl cvar default deprecated dynamic enumerator experimental export external far far16 forward generic helper implements index interrupt iocheck local message name near nodefault noreturn nostackframe oldfpccall otherwise overload override pascal platform private protected public published read register reintroduce result safecall saveregisters softfloat specialize static stdcall stored strict unaligned unimplemented varargs virtual write"),dE={null:!0},$m=/[+\-*&%=<>!?|\/]/;function $E(t,e){var i=t.next();if(i=="#"&&e.startOfLine)return t.skipToEnd(),"meta";if(i=='"'||i=="'")return e.tokenize=pE(i),e.tokenize(t,e);if(i=="("&&t.eat("*"))return e.tokenize=pm,pm(t,e);if(i=="{")return e.tokenize=Qm,Qm(t,e);if(/[\[\]\(\),;\:\.]/.test(i))return null;if(/\d/.test(i))return t.eatWhile(/[\w\.]/),"number";if(i=="/"&&t.eat("/"))return t.skipToEnd(),"comment";if($m.test(i))return t.eatWhile($m),"operator";t.eatWhile(/[\w\$_]/);var n=t.current().toLowerCase();return fE.propertyIsEnumerable(n)?"keyword":dE.propertyIsEnumerable(n)?"atom":"variable"}function pE(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="\\"}return(r||!n)&&(i.tokenize=null),"string"}}function pm(t,e){for(var i=!1,n;n=t.next();){if(n==")"&&i){e.tokenize=null;break}i=n=="*"}return"comment"}function Qm(t,e){for(var i;i=t.next();)if(i=="}"){e.tokenize=null;break}return"comment"}const QE={name:"pascal",startState:function(){return{tokenize:null}},token:function(t,e){if(t.eatSpace())return null;var i=(e.tokenize||$E)(t,e);return i=="comment"||i=="meta",i},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{block:{open:"(*",close:"*)"}}}};var mE="builtin",gE="comment",mm="string",gm="atom",PE="number",SE="keyword",bE="header",XE="def",yE="link";function jf(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var Pm=jf("TRUE FALSE ZEROES ZEROS ZERO SPACES SPACE LOW-VALUE LOW-VALUES "),Sm=jf("ACCEPT ACCESS ACQUIRE ADD ADDRESS ADVANCING AFTER ALIAS ALL ALPHABET ALPHABETIC ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED ALSO ALTER ALTERNATE AND ANY ARE AREA AREAS ARITHMETIC ASCENDING ASSIGN AT ATTRIBUTE AUTHOR AUTO AUTO-SKIP AUTOMATIC B-AND B-EXOR B-LESS B-NOT B-OR BACKGROUND-COLOR BACKGROUND-COLOUR BEEP BEFORE BELL BINARY BIT BITS BLANK BLINK BLOCK BOOLEAN BOTTOM BY CALL CANCEL CD CF CH CHARACTER CHARACTERS CLASS CLOCK-UNITS CLOSE COBOL CODE CODE-SET COL COLLATING COLUMN COMMA COMMIT COMMITMENT COMMON COMMUNICATION COMP COMP-0 COMP-1 COMP-2 COMP-3 COMP-4 COMP-5 COMP-6 COMP-7 COMP-8 COMP-9 COMPUTATIONAL COMPUTATIONAL-0 COMPUTATIONAL-1 COMPUTATIONAL-2 COMPUTATIONAL-3 COMPUTATIONAL-4 COMPUTATIONAL-5 COMPUTATIONAL-6 COMPUTATIONAL-7 COMPUTATIONAL-8 COMPUTATIONAL-9 COMPUTE CONFIGURATION CONNECT CONSOLE CONTAINED CONTAINS CONTENT CONTINUE CONTROL CONTROL-AREA CONTROLS CONVERTING COPY CORR CORRESPONDING COUNT CRT CRT-UNDER CURRENCY CURRENT CURSOR DATA DATE DATE-COMPILED DATE-WRITTEN DAY DAY-OF-WEEK DB DB-ACCESS-CONTROL-KEY DB-DATA-NAME DB-EXCEPTION DB-FORMAT-NAME DB-RECORD-NAME DB-SET-NAME DB-STATUS DBCS DBCS-EDITED DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINE DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING DECIMAL-POINT DECLARATIVES DEFAULT DELETE DELIMITED DELIMITER DEPENDING DESCENDING DESCRIBED DESTINATION DETAIL DISABLE DISCONNECT DISPLAY DISPLAY-1 DISPLAY-2 DISPLAY-3 DISPLAY-4 DISPLAY-5 DISPLAY-6 DISPLAY-7 DISPLAY-8 DISPLAY-9 DIVIDE DIVISION DOWN DROP DUPLICATE DUPLICATES DYNAMIC EBCDIC EGI EJECT ELSE EMI EMPTY EMPTY-CHECK ENABLE END END. END-ACCEPT END-ACCEPT. END-ADD END-CALL END-COMPUTE END-DELETE END-DISPLAY END-DIVIDE END-EVALUATE END-IF END-INVOKE END-MULTIPLY END-OF-PAGE END-PERFORM END-READ END-RECEIVE END-RETURN END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT END-UNSTRING END-WRITE END-XML ENTER ENTRY ENVIRONMENT EOP EQUAL EQUALS ERASE ERROR ESI EVALUATE EVERY EXCEEDS EXCEPTION EXCLUSIVE EXIT EXTEND EXTERNAL EXTERNALLY-DESCRIBED-KEY FD FETCH FILE FILE-CONTROL FILE-STREAM FILES FILLER FINAL FIND FINISH FIRST FOOTING FOR FOREGROUND-COLOR FOREGROUND-COLOUR FORMAT FREE FROM FULL FUNCTION GENERATE GET GIVING GLOBAL GO GOBACK GREATER GROUP HEADING HIGH-VALUE HIGH-VALUES HIGHLIGHT I-O I-O-CONTROL ID IDENTIFICATION IF IN INDEX INDEX-1 INDEX-2 INDEX-3 INDEX-4 INDEX-5 INDEX-6 INDEX-7 INDEX-8 INDEX-9 INDEXED INDIC INDICATE INDICATOR INDICATORS INITIAL INITIALIZE INITIATE INPUT INPUT-OUTPUT INSPECT INSTALLATION INTO INVALID INVOKE IS JUST JUSTIFIED KANJI KEEP KEY LABEL LAST LD LEADING LEFT LEFT-JUSTIFY LENGTH LENGTH-CHECK LESS LIBRARY LIKE LIMIT LIMITS LINAGE LINAGE-COUNTER LINE LINE-COUNTER LINES LINKAGE LOCAL-STORAGE LOCALE LOCALLY LOCK MEMBER MEMORY MERGE MESSAGE METACLASS MODE MODIFIED MODIFY MODULES MOVE MULTIPLE MULTIPLY NATIONAL NATIVE NEGATIVE NEXT NO NO-ECHO NONE NOT NULL NULL-KEY-MAP NULL-MAP NULLS NUMBER NUMERIC NUMERIC-EDITED OBJECT OBJECT-COMPUTER OCCURS OF OFF OMITTED ON ONLY OPEN OPTIONAL OR ORDER ORGANIZATION OTHER OUTPUT OVERFLOW OWNER PACKED-DECIMAL PADDING PAGE PAGE-COUNTER PARSE PERFORM PF PH PIC PICTURE PLUS POINTER POSITION POSITIVE PREFIX PRESENT PRINTING PRIOR PROCEDURE PROCEDURE-POINTER PROCEDURES PROCEED PROCESS PROCESSING PROGRAM PROGRAM-ID PROMPT PROTECTED PURGE QUEUE QUOTE QUOTES RANDOM RD READ READY REALM RECEIVE RECONNECT RECORD RECORD-NAME RECORDS RECURSIVE REDEFINES REEL REFERENCE REFERENCE-MONITOR REFERENCES RELATION RELATIVE RELEASE REMAINDER REMOVAL RENAMES REPEATED REPLACE REPLACING REPORT REPORTING REPORTS REPOSITORY REQUIRED RERUN RESERVE RESET RETAINING RETRIEVAL RETURN RETURN-CODE RETURNING REVERSE-VIDEO REVERSED REWIND REWRITE RF RH RIGHT RIGHT-JUSTIFY ROLLBACK ROLLING ROUNDED RUN SAME SCREEN SD SEARCH SECTION SECURE SECURITY SEGMENT SEGMENT-LIMIT SELECT SEND SENTENCE SEPARATE SEQUENCE SEQUENTIAL SET SHARED SIGN SIZE SKIP1 SKIP2 SKIP3 SORT SORT-MERGE SORT-RETURN SOURCE SOURCE-COMPUTER SPACE-FILL SPECIAL-NAMES STANDARD STANDARD-1 STANDARD-2 START STARTING STATUS STOP STORE STRING SUB-QUEUE-1 SUB-QUEUE-2 SUB-QUEUE-3 SUB-SCHEMA SUBFILE SUBSTITUTE SUBTRACT SUM SUPPRESS SYMBOLIC SYNC SYNCHRONIZED SYSIN SYSOUT TABLE TALLYING TAPE TENANT TERMINAL TERMINATE TEST TEXT THAN THEN THROUGH THRU TIME TIMES TITLE TO TOP TRAILING TRAILING-SIGN TRANSACTION TYPE TYPEDEF UNDERLINE UNEQUAL UNIT UNSTRING UNTIL UP UPDATE UPON USAGE USAGE-MODE USE USING VALID VALIDATE VALUE VALUES VARYING VLR WAIT WHEN WHEN-COMPILED WITH WITHIN WORDS WORKING-STORAGE WRITE XML XML-CODE XML-EVENT XML-NTEXT XML-TEXT ZERO ZERO-FILL "),bm=jf("- * ** / + < <= = > >= "),Bt={digit:/\d/,digit_or_colon:/[\d:]/,hex:/[0-9a-f]/i,sign:/[+-]/,exponent:/e/i,symbol:/[\w*+\-]/};function xE(t,e){return t==="0"&&e.eat(/x/i)?(e.eatWhile(Bt.hex),!0):((t=="+"||t=="-")&&Bt.digit.test(e.peek())&&(e.eat(Bt.sign),t=e.next()),Bt.digit.test(t)?(e.eat(t),e.eatWhile(Bt.digit),e.peek()=="."&&(e.eat("."),e.eatWhile(Bt.digit)),e.eat(Bt.exponent)&&(e.eat(Bt.sign),e.eatWhile(Bt.digit)),!0):!1)}const wE={name:"cobol",startState:function(){return{indentStack:null,indentation:0,mode:!1}},token:function(t,e){if(e.indentStack==null&&t.sol()&&(e.indentation=6),t.eatSpace())return null;var i=null;switch(e.mode){case"string":for(var n=!1;(n=t.next())!=null;)if((n=='"'||n=="'")&&!t.match(/['"]/,!1)){e.mode=!1;break}i=mm;break;default:var O=t.next(),r=t.column();if(r>=0&&r<=5)i=XE;else if(r>=72&&r<=79)t.skipToEnd(),i=bE;else if(O=="*"&&r==6)t.skipToEnd(),i=gE;else if(O=='"'||O=="'")e.mode="string",i=mm;else if(O=="'"&&!Bt.digit_or_colon.test(t.peek()))i=gm;else if(O==".")i=yE;else if(xE(O,t))i=PE;else{if(t.current().match(Bt.symbol))for(;r<71&&t.eat(Bt.symbol)!==void 0;)r++;Sm&&Sm.propertyIsEnumerable(t.current().toUpperCase())?i=SE:bm&&bm.propertyIsEnumerable(t.current().toUpperCase())?i=mE:Pm&&Pm.propertyIsEnumerable(t.current().toUpperCase())?i=gm:i=null}}return i},indent:function(t){return t.indentStack==null?t.indentation:t.indentStack.indent}};function Cf(t){for(var e={},i=0;i<t.length;++i)e[t[i]]=!0;return e}var kE=Cf(["abstract","accept","allocatable","allocate","array","assign","asynchronous","backspace","bind","block","byte","call","case","class","close","common","contains","continue","cycle","data","deallocate","decode","deferred","dimension","do","elemental","else","encode","end","endif","entry","enumerator","equivalence","exit","external","extrinsic","final","forall","format","function","generic","go","goto","if","implicit","import","include","inquire","intent","interface","intrinsic","module","namelist","non_intrinsic","non_overridable","none","nopass","nullify","open","optional","options","parameter","pass","pause","pointer","print","private","program","protected","public","pure","read","recursive","result","return","rewind","save","select","sequence","stop","subroutine","target","then","to","type","use","value","volatile","where","while","write"]),TE=Cf(["abort","abs","access","achar","acos","adjustl","adjustr","aimag","aint","alarm","all","allocated","alog","amax","amin","amod","and","anint","any","asin","associated","atan","besj","besjn","besy","besyn","bit_size","btest","cabs","ccos","ceiling","cexp","char","chdir","chmod","clog","cmplx","command_argument_count","complex","conjg","cos","cosh","count","cpu_time","cshift","csin","csqrt","ctime","c_funloc","c_loc","c_associated","c_null_ptr","c_null_funptr","c_f_pointer","c_null_char","c_alert","c_backspace","c_form_feed","c_new_line","c_carriage_return","c_horizontal_tab","c_vertical_tab","dabs","dacos","dasin","datan","date_and_time","dbesj","dbesj","dbesjn","dbesy","dbesy","dbesyn","dble","dcos","dcosh","ddim","derf","derfc","dexp","digits","dim","dint","dlog","dlog","dmax","dmin","dmod","dnint","dot_product","dprod","dsign","dsinh","dsin","dsqrt","dtanh","dtan","dtime","eoshift","epsilon","erf","erfc","etime","exit","exp","exponent","extends_type_of","fdate","fget","fgetc","float","floor","flush","fnum","fputc","fput","fraction","fseek","fstat","ftell","gerror","getarg","get_command","get_command_argument","get_environment_variable","getcwd","getenv","getgid","getlog","getpid","getuid","gmtime","hostnm","huge","iabs","iachar","iand","iargc","ibclr","ibits","ibset","ichar","idate","idim","idint","idnint","ieor","ierrno","ifix","imag","imagpart","index","int","ior","irand","isatty","ishft","ishftc","isign","iso_c_binding","is_iostat_end","is_iostat_eor","itime","kill","kind","lbound","len","len_trim","lge","lgt","link","lle","llt","lnblnk","loc","log","logical","long","lshift","lstat","ltime","matmul","max","maxexponent","maxloc","maxval","mclock","merge","move_alloc","min","minexponent","minloc","minval","mod","modulo","mvbits","nearest","new_line","nint","not","or","pack","perror","precision","present","product","radix","rand","random_number","random_seed","range","real","realpart","rename","repeat","reshape","rrspacing","rshift","same_type_as","scale","scan","second","selected_int_kind","selected_real_kind","set_exponent","shape","short","sign","signal","sinh","sin","sleep","sngl","spacing","spread","sqrt","srand","stat","sum","symlnk","system","system_clock","tan","tanh","time","tiny","transfer","transpose","trim","ttynam","ubound","umask","unlink","unpack","verify","xor","zabs","zcos","zexp","zlog","zsin","zsqrt"]),vE=Cf(["c_bool","c_char","c_double","c_double_complex","c_float","c_float_complex","c_funptr","c_int","c_int16_t","c_int32_t","c_int64_t","c_int8_t","c_int_fast16_t","c_int_fast32_t","c_int_fast64_t","c_int_fast8_t","c_int_least16_t","c_int_least32_t","c_int_least64_t","c_int_least8_t","c_intmax_t","c_intptr_t","c_long","c_long_double","c_long_double_complex","c_long_long","c_ptr","c_short","c_signed_char","c_size_t","character","complex","double","integer","logical","real"]),Xm=/[+\-*&=<>\/\:]/,_E=/^\.(and|or|eq|lt|le|gt|ge|ne|not|eqv|neqv)\./i;function RE(t,e){if(t.match(_E))return"operator";var i=t.next();if(i=="!")return t.skipToEnd(),"comment";if(i=='"'||i=="'")return e.tokenize=YE(i),e.tokenize(t,e);if(/[\[\]\(\),]/.test(i))return null;if(/\d/.test(i))return t.eatWhile(/[\w\.]/),"number";if(Xm.test(i))return t.eatWhile(Xm),"operator";t.eatWhile(/[\w\$_]/);var n=t.current().toLowerCase();return kE.hasOwnProperty(n)?"keyword":TE.hasOwnProperty(n)||vE.hasOwnProperty(n)?"builtin":"variable"}function YE(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="\\"}return(r||!n)&&(i.tokenize=null),"string"}}const ZE={name:"fortran",startState:function(){return{tokenize:null}},token:function(t,e){if(t.eatSpace())return null;var i=(e.tokenize||RE)(t,e);return i=="comment"||i=="meta",i}};function gy(t){for(var e={},i=t.split(" "),n=0;n<i.length;++n)e[i[n]]=!0;return e}var ym=gy("Tcl safe after append array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd close concat continue dde eof encoding error eval exec exit expr fblocked fconfigure fcopy file fileevent filename filename flush for foreach format gets glob global history http if incr info interp join lappend lindex linsert list llength load lrange lreplace lsearch lset lsort memory msgcat namespace open package parray pid pkg::create pkg_mkIndex proc puts pwd re_syntax read regex regexp registry regsub rename resource return scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_wordBreakAfter tcl_startOfPreviousWord tcl_wordBreakBefore tcltest tclvars tell time trace unknown unset update uplevel upvar variable vwait"),xm=gy("if elseif else and not or eq ne in ni for foreach while switch"),wm=/[+\-*&%=<>!?^\/\|]/;function qc(t,e,i){return e.tokenize=i,i(t,e)}function el(t,e){var i=e.beforeParams;e.beforeParams=!1;var n=t.next();if((n=='"'||n=="'")&&e.inParams)return qc(t,e,zE(n));if(/[\[\]{}\(\),;\.]/.test(n))return n=="("&&i?e.inParams=!0:n==")"&&(e.inParams=!1),null;if(/\d/.test(n))return t.eatWhile(/[\w\.]/),"number";if(n=="#")return t.eat("*")?qc(t,e,qE):n=="#"&&t.match(/ *\[ *\[/)?qc(t,e,UE):(t.skipToEnd(),"comment");if(n=='"')return t.skipTo(/"/),"comment";if(n=="$")return t.eatWhile(/[$_a-z0-9A-Z\.{:]/),t.eatWhile(/}/),e.beforeParams=!0,"builtin";if(wm.test(n))return t.eatWhile(wm),"comment";t.eatWhile(/[\w\$_{}\xa1-\uffff]/);var O=t.current().toLowerCase();return ym&&ym.propertyIsEnumerable(O)?"keyword":xm&&xm.propertyIsEnumerable(O)?(e.beforeParams=!0,"keyword"):null}function zE(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="\\"}return r&&(i.tokenize=el),"string"}}function qE(t,e){for(var i=!1,n;n=t.next();){if(n=="#"&&i){e.tokenize=el;break}i=n=="*"}return"comment"}function UE(t,e){for(var i=0,n;n=t.next();){if(n=="#"&&i==2){e.tokenize=el;break}n=="]"?i++:n!=" "&&(i=0)}return"meta"}const VE={name:"tcl",startState:function(){return{tokenize:el,beforeParams:!1,inParams:!1}},token:function(t,e){return t.eatSpace()?null:e.tokenize(t,e)},languageData:{commentTokens:{line:"#"}}};function tl(t){t={...jE,...t};var e=t.inline,i=t.tokenHooks,n=t.documentTypes||{},O=t.mediaTypes||{},r=t.mediaFeatures||{},a=t.mediaValueKeywords||{},o=t.propertyKeywords||{},s=t.nonStandardPropertyKeywords||{},l=t.fontProperties||{},c=t.counterDescriptors||{},u=t.colorKeywords||{},h=t.valueKeywords||{},d=t.allowNested,p=t.lineComment,Q=t.supportsAtComponent===!0,g=t.highlightNonStandardPropertyKeywords!==!1,m,S;function X(b,k){return m=k,b}function z(b,k){var Y=b.next();if(i[Y]){var x=i[Y](b,k);if(x!==!1)return x}if(Y=="@")return b.eatWhile(/[\w\\\-]/),X("def",b.current());if(Y=="="||(Y=="~"||Y=="|")&&b.eat("="))return X(null,"compare");if(Y=='"'||Y=="'")return k.tokenize=R(Y),k.tokenize(b,k);if(Y=="#")return b.eatWhile(/[\w\\\-]/),X("atom","hash");if(Y=="!")return b.match(/^\s*\w*/),X("keyword","important");if(/\d/.test(Y)||Y=="."&&b.eat(/\d/))return b.eatWhile(/[\w.%]/),X("number","unit");if(Y==="-"){if(/[\d.]/.test(b.peek()))return b.eatWhile(/[\w.%]/),X("number","unit");if(b.match(/^-[\w\\\-]*/))return b.eatWhile(/[\w\\\-]/),b.match(/^\s*:/,!1)?X("def","variable-definition"):X("variableName","variable");if(b.match(/^\w+-/))return X("meta","meta")}else return/[,+>*\/]/.test(Y)?X(null,"select-op"):Y=="."&&b.match(/^-?[_a-z][_a-z0-9-]*/i)?X("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(Y)?X(null,Y):b.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(b.current())&&(k.tokenize=G),X("variableName.function","variable")):/[\w\\\-]/.test(Y)?(b.eatWhile(/[\w\\\-]/),X("property","word")):X(null,null)}function R(b){return function(k,Y){for(var x=!1,E;(E=k.next())!=null;){if(E==b&&!x){b==")"&&k.backUp(1);break}x=!x&&E=="\\"}return(E==b||!x&&b!=")")&&(Y.tokenize=null),X("string","string")}}function G(b,k){return b.next(),b.match(/^\s*[\"\')]/,!1)?k.tokenize=null:k.tokenize=R(")"),X(null,"(")}function j(b,k,Y){this.type=b,this.indent=k,this.prev=Y}function C(b,k,Y,x){return b.context=new j(Y,k.indentation()+(x===!1?0:k.indentUnit),b.context),Y}function D(b){return b.context.prev&&(b.context=b.context.prev),b.context.type}function V(b,k,Y){return w[Y.context.type](b,k,Y)}function v(b,k,Y,x){for(var E=x||1;E>0;E--)Y.context=Y.context.prev;return V(b,k,Y)}function _(b){var k=b.current().toLowerCase();h.hasOwnProperty(k)?S="atom":u.hasOwnProperty(k)?S="keyword":S="variable"}var w={};return w.top=function(b,k,Y){if(b=="{")return C(Y,k,"block");if(b=="}"&&Y.context.prev)return D(Y);if(Q&&/@component/i.test(b))return C(Y,k,"atComponentBlock");if(/^@(-moz-)?document$/i.test(b))return C(Y,k,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(b))return C(Y,k,"atBlock");if(/^@(font-face|counter-style)/i.test(b))return Y.stateArg=b,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(b))return"keyframes";if(b&&b.charAt(0)=="@")return C(Y,k,"at");if(b=="hash")S="builtin";else if(b=="word")S="tag";else{if(b=="variable-definition")return"maybeprop";if(b=="interpolation")return C(Y,k,"interpolation");if(b==":")return"pseudo";if(d&&b=="(")return C(Y,k,"parens")}return Y.context.type},w.block=function(b,k,Y){if(b=="word"){var x=k.current().toLowerCase();return o.hasOwnProperty(x)?(S="property","maybeprop"):s.hasOwnProperty(x)?(S=g?"string.special":"property","maybeprop"):d?(S=k.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(S="error","maybeprop")}else return b=="meta"?"block":!d&&(b=="hash"||b=="qualifier")?(S="error","block"):w.top(b,k,Y)},w.maybeprop=function(b,k,Y){return b==":"?C(Y,k,"prop"):V(b,k,Y)},w.prop=function(b,k,Y){if(b==";")return D(Y);if(b=="{"&&d)return C(Y,k,"propBlock");if(b=="}"||b=="{")return v(b,k,Y);if(b=="(")return C(Y,k,"parens");if(b=="hash"&&!/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(k.current()))S="error";else if(b=="word")_(k);else if(b=="interpolation")return C(Y,k,"interpolation");return"prop"},w.propBlock=function(b,k,Y){return b=="}"?D(Y):b=="word"?(S="property","maybeprop"):Y.context.type},w.parens=function(b,k,Y){return b=="{"||b=="}"?v(b,k,Y):b==")"?D(Y):b=="("?C(Y,k,"parens"):b=="interpolation"?C(Y,k,"interpolation"):(b=="word"&&_(k),"parens")},w.pseudo=function(b,k,Y){return b=="meta"?"pseudo":b=="word"?(S="variableName.constant",Y.context.type):V(b,k,Y)},w.documentTypes=function(b,k,Y){return b=="word"&&n.hasOwnProperty(k.current())?(S="tag",Y.context.type):w.atBlock(b,k,Y)},w.atBlock=function(b,k,Y){if(b=="(")return C(Y,k,"atBlock_parens");if(b=="}"||b==";")return v(b,k,Y);if(b=="{")return D(Y)&&C(Y,k,d?"block":"top");if(b=="interpolation")return C(Y,k,"interpolation");if(b=="word"){var x=k.current().toLowerCase();x=="only"||x=="not"||x=="and"||x=="or"?S="keyword":O.hasOwnProperty(x)?S="attribute":r.hasOwnProperty(x)?S="property":a.hasOwnProperty(x)?S="keyword":o.hasOwnProperty(x)?S="property":s.hasOwnProperty(x)?S=g?"string.special":"property":h.hasOwnProperty(x)?S="atom":u.hasOwnProperty(x)?S="keyword":S="error"}return Y.context.type},w.atComponentBlock=function(b,k,Y){return b=="}"?v(b,k,Y):b=="{"?D(Y)&&C(Y,k,d?"block":"top",!1):(b=="word"&&(S="error"),Y.context.type)},w.atBlock_parens=function(b,k,Y){return b==")"?D(Y):b=="{"||b=="}"?v(b,k,Y,2):w.atBlock(b,k,Y)},w.restricted_atBlock_before=function(b,k,Y){return b=="{"?C(Y,k,"restricted_atBlock"):b=="word"&&Y.stateArg=="@counter-style"?(S="variable","restricted_atBlock_before"):V(b,k,Y)},w.restricted_atBlock=function(b,k,Y){return b=="}"?(Y.stateArg=null,D(Y)):b=="word"?(Y.stateArg=="@font-face"&&!l.hasOwnProperty(k.current().toLowerCase())||Y.stateArg=="@counter-style"&&!c.hasOwnProperty(k.current().toLowerCase())?S="error":S="property","maybeprop"):"restricted_atBlock"},w.keyframes=function(b,k,Y){return b=="word"?(S="variable","keyframes"):b=="{"?C(Y,k,"top"):V(b,k,Y)},w.at=function(b,k,Y){return b==";"?D(Y):b=="{"||b=="}"?v(b,k,Y):(b=="word"?S="tag":b=="hash"&&(S="builtin"),"at")},w.interpolation=function(b,k,Y){return b=="}"?D(Y):b=="{"||b==";"?v(b,k,Y):(b=="word"?S="variable":b!="variable"&&b!="("&&b!=")"&&(S="error"),"interpolation")},{name:t.name,startState:function(){return{tokenize:null,state:e?"block":"top",stateArg:null,context:new j(e?"block":"top",0,null)}},token:function(b,k){if(!k.tokenize&&b.eatSpace())return null;var Y=(k.tokenize||z)(b,k);return Y&&typeof Y=="object"&&(m=Y[1],Y=Y[0]),S=Y,m!="comment"&&(k.state=w[k.state](m,b,k)),S},indent:function(b,k,Y){var x=b.context,E=k&&k.charAt(0),q=x.indent;return x.type=="prop"&&(E=="}"||E==")")&&(x=x.prev),x.prev&&(E=="}"&&(x.type=="block"||x.type=="top"||x.type=="interpolation"||x.type=="restricted_atBlock")?(x=x.prev,q=x.indent):(E==")"&&(x.type=="parens"||x.type=="atBlock_parens")||E=="{"&&(x.type=="at"||x.type=="atBlock"))&&(q=Math.max(0,x.indent-Y.unit))),q},languageData:{indentOnInput:/^\s*\}$/,commentTokens:{line:p,block:{open:"/*",close:"*/"}},autocomplete:Ty}}}function Zi(t){for(var e={},i=0;i<t.length;++i)e[t[i].toLowerCase()]=!0;return e}var Py=["domain","regexp","url","url-prefix"],Sy=Zi(Py),by=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],il=Zi(by),Xy=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme","dynamic-range","video-dynamic-range"],nl=Zi(Xy),yy=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light","standard","high"],Ef=Zi(yy),Gf=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],Ol=Zi(Gf),xy=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],rl=Zi(xy),wy=["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],al=Zi(wy),WE=["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"],ky=Zi(WE),Af=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],ol=Zi(Af),Nf=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],sl=Zi(Nf),Ty=Py.concat(by).concat(Xy).concat(yy).concat(Gf).concat(xy).concat(Af).concat(Nf);const va={properties:Gf,colors:Af,fonts:wy,values:Nf,all:Ty},jE={documentTypes:Sy,mediaTypes:il,mediaFeatures:nl,mediaValueKeywords:Ef,propertyKeywords:Ol,nonStandardPropertyKeywords:rl,fontProperties:al,counterDescriptors:ky,colorKeywords:ol,valueKeywords:sl,tokenHooks:{"/":function(t,e){return t.eat("*")?(e.tokenize=Pn,Pn(t,e)):!1}}};tl({name:"css"});function Pn(t,e){for(var i=!1,n;(n=t.next())!=null;){if(i&&n=="/"){e.tokenize=null;break}i=n=="*"}return["comment","comment"]}tl({name:"scss",mediaTypes:il,mediaFeatures:nl,mediaValueKeywords:Ef,propertyKeywords:Ol,nonStandardPropertyKeywords:rl,colorKeywords:ol,valueKeywords:sl,fontProperties:al,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=Pn,Pn(t,e)):["operator","operator"]},":":function(t){return t.match(/^\s*\{/,!1)?[null,null]:!1},$:function(t){return t.match(/^[\w-]+/),t.match(/^\s*:/,!1)?["def","variable-definition"]:["variableName.special","variable"]},"#":function(t){return t.eat("{")?[null,"interpolation"]:!1}}});tl({name:"less",mediaTypes:il,mediaFeatures:nl,mediaValueKeywords:Ef,propertyKeywords:Ol,nonStandardPropertyKeywords:rl,colorKeywords:ol,valueKeywords:sl,fontProperties:al,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(t,e){return t.eat("/")?(t.skipToEnd(),["comment","comment"]):t.eat("*")?(e.tokenize=Pn,Pn(t,e)):["operator","operator"]},"@":function(t){return t.eat("{")?[null,"interpolation"]:t.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)?!1:(t.eatWhile(/[\w\\\-]/),t.match(/^\s*:/,!1)?["def","variable-definition"]:["variableName","variable"])},"&":function(){return["atom","atom"]}}});tl({name:"gss",documentTypes:Sy,mediaTypes:il,mediaFeatures:nl,propertyKeywords:Ol,nonStandardPropertyKeywords:rl,fontProperties:al,counterDescriptors:ky,colorKeywords:ol,valueKeywords:sl,supportsAtComponent:!0,tokenHooks:{"/":function(t,e){return t.eat("*")?(e.tokenize=Pn,Pn(t,e)):!1}}});const Uc=new Set(va.properties),CE=new Set(va.colors),EE=new Set(va.values),GE=new Set(va.fonts);function AE(t){return new RegExp("^"+t.join("|"))}let NE=["true","false","null","auto"],km=new RegExp("^"+NE.join("|")),IE=["\\(","\\)","=",">","<","==",">=","<=","\\+","-","\\!=","/","\\*","%","and","or","not",";","\\{","\\}",":"],Tm=AE(IE),LE=/^::?[a-zA-Z_][\w\-]*/,Ui;function Pi(t){return!t.peek()||t.match(/\s+$/,!1)}function vm(t,e){let i=t.peek();return i===")"?(t.next(),e.tokenizer=fn,"operator"):i==="("?(t.next(),t.eatSpace(),"operator"):i==="'"||i==='"'?(e.tokenizer=mh(t.next()),"string"):(e.tokenizer=mh(")",!1),"string")}function _m(t,e){return function(i,n){return i.sol()&&i.indentation()<=t?(n.tokenizer=fn,fn(i,n)):(e&&i.skipTo("*/")?(i.next(),i.next(),n.tokenizer=fn):i.skipToEnd(),"comment")}}function mh(t,e){e==null&&(e=!0);function i(n,O){let r=n.next(),a=n.peek(),o=n.string.charAt(n.pos-2);return r!=="\\"&&a===t||r===t&&o!=="\\"?(r!==t&&e&&n.next(),Pi(n)&&(O.cursorHalf=0),O.tokenizer=fn,"string"):r==="#"&&a==="{"?(O.tokenizer=vy(i),n.next(),"operator"):"string"}return i}function vy(t){return function(e,i){return e.peek()==="}"?(e.next(),i.tokenizer=t,"operator"):fn(e,i)}}function nn(t,e){if(t.indentCount==0){t.indentCount++;let n=t.scopes[0].offset+e.indentUnit;t.scopes.unshift({offset:n})}}function _y(t){t.scopes.length!=1&&t.scopes.shift()}function fn(t,e){let i=t.peek();if(t.match("/*"))return e.tokenizer=_m(t.indentation(),!0),e.tokenizer(t,e);if(t.match("//"))return e.tokenizer=_m(t.indentation(),!1),e.tokenizer(t,e);if(t.match("#{"))return e.tokenizer=vy(fn),"operator";if(i==='"'||i==="'")return t.next(),e.tokenizer=mh(i),"string";if(e.cursorHalf){if(i==="#"&&(t.next(),t.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/))||t.match(/^-?[0-9\.]+/))return Pi(t)&&(e.cursorHalf=0),"number";if(t.match(/^(px|em|in)\b/))return Pi(t)&&(e.cursorHalf=0),"unit";if(t.match(km))return Pi(t)&&(e.cursorHalf=0),"keyword";if(t.match(/^url/)&&t.peek()==="(")return e.tokenizer=vm,Pi(t)&&(e.cursorHalf=0),"atom";if(i==="$")return t.next(),t.eatWhile(/[\w-]/),Pi(t)&&(e.cursorHalf=0),"variable-2";if(i==="!")return t.next(),e.cursorHalf=0,t.match(/^[\w]+/)?"keyword":"operator";if(t.match(Tm))return Pi(t)&&(e.cursorHalf=0),"operator";if(t.eatWhile(/[\w-]/))return Pi(t)&&(e.cursorHalf=0),Ui=t.current().toLowerCase(),EE.has(Ui)?"atom":CE.has(Ui)?"keyword":Uc.has(Ui)?(e.prevProp=t.current().toLowerCase(),"property"):"tag";if(Pi(t))return e.cursorHalf=0,null}else{if(i==="-"&&t.match(/^-\w+-/))return"meta";if(i==="."){if(t.next(),t.match(/^[\w-]+/))return nn(e,t),"qualifier";if(t.peek()==="#")return nn(e,t),"tag"}if(i==="#"){if(t.next(),t.match(/^[\w-]+/))return nn(e,t),"builtin";if(t.peek()==="#")return nn(e,t),"tag"}if(i==="$")return t.next(),t.eatWhile(/[\w-]/),"variable-2";if(t.match(/^-?[0-9\.]+/))return"number";if(t.match(/^(px|em|in)\b/))return"unit";if(t.match(km))return"keyword";if(t.match(/^url/)&&t.peek()==="(")return e.tokenizer=vm,"atom";if(i==="="&&t.match(/^=[\w-]+/))return nn(e,t),"meta";if(i==="+"&&t.match(/^\+[\w-]+/))return"meta";if(i==="@"&&t.match("@extend")&&(t.match(/\s*[\w]/)||_y(e)),t.match(/^@(else if|if|media|else|for|each|while|mixin|function)/))return nn(e,t),"def";if(i==="@")return t.next(),t.eatWhile(/[\w-]/),"def";if(t.eatWhile(/[\w-]/))if(t.match(/ *: *[\w-\+\$#!\("']/,!1)){Ui=t.current().toLowerCase();let n=e.prevProp+"-"+Ui;return Uc.has(n)?"property":Uc.has(Ui)?(e.prevProp=Ui,"property"):GE.has(Ui)?"property":"tag"}else return t.match(/ *:/,!1)?(nn(e,t),e.cursorHalf=1,e.prevProp=t.current().toLowerCase(),"property"):(t.match(/ *,/,!1)||nn(e,t),"tag");if(i===":")return t.match(LE)?"type":(t.next(),e.cursorHalf=1,"operator")}return t.match(Tm)?"operator":(t.next(),null)}function DE(t,e){t.sol()&&(e.indentCount=0);let i=e.tokenizer(t,e),n=t.current();if((n==="@return"||n==="}")&&_y(e),i!==null){let r=t.pos-n.length+t.indentUnit*e.indentCount,a=[];for(let o=0;o<e.scopes.length;o++){let s=e.scopes[o];s.offset<=r&&a.push(s)}e.scopes=a}return i}const ME={name:"sass",startState:function(){return{tokenizer:fn,scopes:[{offset:0,type:"sass"}],indentCount:0,cursorHalf:0,definedVars:[],definedMixins:[]}},token:function(t,e){let i=DE(t,e);return e.lastToken={style:i,content:t.current()},i},indent:function(t){return t.scopes[0].offset},languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:va.all}};var Ry=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],If=["domain","regexp","url-prefix","url"],Yy=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],Zy=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","dynamic-range","video-dynamic-range"],zy=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],qy=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],Uy=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],Vy=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],Wy=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","high","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","standard","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],jy=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],Cy=["for","if","else","unless","from","to"],Ey=["null","true","false","href","title","type","not-allowed","readonly","disabled"],BE=["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"],FE=Ry.concat(If,Yy,Zy,zy,qy,Vy,Wy,Uy,jy,Cy,Ey,BE);function Gy(t){return t=t.sort(function(e,i){return i>e}),new RegExp("^(("+t.join(")|(")+"))\\b")}function fi(t){for(var e={},i=0;i<t.length;++i)e[t[i]]=!0;return e}function HE(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}var KE=fi(Ry),Lf=/^(a|b|i|s|col|em)$/i,JE=fi(zy),e4=fi(qy),t4=fi(Wy),i4=fi(Vy),n4=fi(If),O4=Gy(If),r4=fi(Zy),a4=fi(Yy),o4=fi(Uy),s4=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,l4=Gy(jy),c4=fi(Cy),Ay=new RegExp(/^\-(moz|ms|o|webkit)-/i),u4=fi(Ey),Vc="",Gt={},mi,Zn,Rm,de;function h4(t,e){if(Vc=t.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),e.context.line.firstWord=Vc?Vc[0].replace(/^\s*/,""):"",e.context.line.indent=t.indentation(),mi=t.peek(),t.match("//"))return t.skipToEnd(),["comment","comment"];if(t.match("/*"))return e.tokenize=Ym,Ym(t,e);if(mi=='"'||mi=="'")return t.next(),e.tokenize=Ny(mi),e.tokenize(t,e);if(mi=="@")return t.next(),t.eatWhile(/[\w\\-]/),["def",t.current()];if(mi=="#"){if(t.next(),t.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b(?!-)/i))return["atom","atom"];if(t.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return t.match(Ay)?["meta","vendor-prefixes"]:t.match(/^-?[0-9]?\.?[0-9]/)?(t.eatWhile(/[a-z%]/i),["number","unit"]):mi=="!"?(t.next(),[t.match(/^(important|optional)/i)?"keyword":"operator","important"]):mi=="."&&t.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:t.match(O4)?(t.peek()=="("&&(e.tokenize=f4),["property","word"]):t.match(/^[a-z][\w-]*\(/i)?(t.backUp(1),["keyword","mixin"]):t.match(/^(\+|-)[a-z][\w-]*\(/i)?(t.backUp(1),["keyword","block-mixin"]):t.string.match(/^\s*&/)&&t.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:t.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?(t.backUp(1),["variableName.special","reference"]):t.match(/^&{1}\s*$/)?["variableName.special","reference"]:t.match(l4)?["operator","operator"]:t.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?t.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!Ri(t.current())?(t.match("."),["variable","variable-name"]):["variable","word"]:t.match(s4)?["operator",t.current()]:/[:;,{}\[\]\(\)]/.test(mi)?(t.next(),[null,mi]):(t.next(),[null,null])}function Ym(t,e){for(var i=!1,n;(n=t.next())!=null;){if(i&&n=="/"){e.tokenize=null;break}i=n=="*"}return["comment","comment"]}function Ny(t){return function(e,i){for(var n=!1,O;(O=e.next())!=null;){if(O==t&&!n){t==")"&&e.backUp(1);break}n=!n&&O=="\\"}return(O==t||!n&&t!=")")&&(i.tokenize=null),["string","string"]}}function f4(t,e){return t.next(),t.match(/\s*[\"\')]/,!1)?e.tokenize=null:e.tokenize=Ny(")"),[null,"("]}function Iy(t,e,i,n){this.type=t,this.indent=e,this.prev=i,this.line=n||{firstWord:"",indent:0}}function re(t,e,i,n){return n=n>=0?n:e.indentUnit,t.context=new Iy(i,e.indentation()+n,t.context),i}function iO(t,e,i){var n=t.context.indent-e.indentUnit;return i=i||!1,t.context=t.context.prev,i&&(t.context.indent=n),t.context.type}function d4(t,e,i){return Gt[i.context.type](t,e,i)}function Df(t,e,i,n){for(var O=1;O>0;O--)i.context=i.context.prev;return d4(t,e,i)}function Ri(t){return t.toLowerCase()in KE}function nO(t){return t=t.toLowerCase(),t in JE||t in o4}function Dn(t){return t.toLowerCase()in c4}function Zm(t){return t.toLowerCase().match(Ay)}function uO(t){var e=t.toLowerCase(),i="variable";return Ri(t)?i="tag":Dn(t)?i="block-keyword":nO(t)?i="property":e in t4||e in u4?i="atom":e=="return"||e in i4?i="keyword":t.match(/^[A-Z]/)&&(i="string"),i}function Ly(t,e){return pt(e)&&(t=="{"||t=="]"||t=="hash"||t=="qualifier")||t=="block-mixin"}function Dy(t,e){return t=="{"&&e.match(/^\s*\$?[\w-]+/i,!1)}function My(t,e){return t==":"&&e.match(/^[a-z-]+/,!1)}function jn(t){return t.sol()||t.string.match(new RegExp("^\\s*"+HE(t.current())))}function pt(t){return t.eol()||t.match(/^\s*$/,!1)}function Ft(t){var e=/^\s*[-_]*[a-z0-9]+[\w-]*/i,i=typeof t=="string"?t.match(e):t.string.match(e);return i?i[0].replace(/^\s*/,""):""}Gt.block=function(t,e,i){if(t=="comment"&&jn(e)||t==","&&pt(e)||t=="mixin")return re(i,e,"block",0);if(Dy(t,e))return re(i,e,"interpolation");if(pt(e)&&t=="]"&&!/^\s*(\.|#|:|\[|\*|&)/.test(e.string)&&!Ri(Ft(e)))return re(i,e,"block",0);if(Ly(t,e))return re(i,e,"block");if(t=="}"&&pt(e))return re(i,e,"block",0);if(t=="variable-name")return e.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||Dn(Ft(e))?re(i,e,"variableName"):re(i,e,"variableName",0);if(t=="=")return!pt(e)&&!Dn(Ft(e))?re(i,e,"block",0):re(i,e,"block");if(t=="*"&&(pt(e)||e.match(/\s*(,|\.|#|\[|:|{)/,!1)))return de="tag",re(i,e,"block");if(My(t,e))return re(i,e,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test(t))return re(i,e,pt(e)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test(t))return re(i,e,"keyframes");if(/@extends?/.test(t))return re(i,e,"extend",0);if(t&&t.charAt(0)=="@")return e.indentation()>0&&nO(e.current().slice(1))?(de="variable","block"):/(@import|@require|@charset)/.test(t)?re(i,e,"block",0):re(i,e,"block");if(t=="reference"&&pt(e))return re(i,e,"block");if(t=="(")return re(i,e,"parens");if(t=="vendor-prefixes")return re(i,e,"vendorPrefixes");if(t=="word"){var n=e.current();if(de=uO(n),de=="property")return jn(e)?re(i,e,"block",0):(de="atom","block");if(de=="tag"){if(/embed|menu|pre|progress|sub|table/.test(n)&&nO(Ft(e))||e.string.match(new RegExp("\\[\\s*"+n+"|"+n+"\\s*\\]")))return de="atom","block";if(Lf.test(n)&&(jn(e)&&e.string.match(/=/)||!jn(e)&&!e.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!Ri(Ft(e))))return de="variable",Dn(Ft(e))?"block":re(i,e,"block",0);if(pt(e))return re(i,e,"block")}if(de=="block-keyword")return de="keyword",e.current(/(if|unless)/)&&!jn(e)?"block":re(i,e,"block");if(n=="return")return re(i,e,"block",0);if(de=="variable"&&e.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return re(i,e,"block")}return i.context.type};Gt.parens=function(t,e,i){if(t=="(")return re(i,e,"parens");if(t==")")return i.context.prev.type=="parens"?iO(i,e):e.string.match(/^[a-z][\w-]*\(/i)&&pt(e)||Dn(Ft(e))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(Ft(e))||!e.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&Ri(Ft(e))?re(i,e,"block"):e.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||e.string.match(/^\s*(\(|\)|[0-9])/)||e.string.match(/^\s+[a-z][\w-]*\(/i)||e.string.match(/^\s+[\$-]?[a-z]/i)?re(i,e,"block",0):pt(e)?re(i,e,"block"):re(i,e,"block",0);if(t&&t.charAt(0)=="@"&&nO(e.current().slice(1))&&(de="variable"),t=="word"){var n=e.current();de=uO(n),de=="tag"&&Lf.test(n)&&(de="variable"),(de=="property"||n=="to")&&(de="atom")}return t=="variable-name"?re(i,e,"variableName"):My(t,e)?re(i,e,"pseudo"):i.context.type};Gt.vendorPrefixes=function(t,e,i){return t=="word"?(de="property",re(i,e,"block",0)):iO(i,e)};Gt.pseudo=function(t,e,i){return nO(Ft(e.string))?Df(t,e,i):(e.match(/^[a-z-]+/),de="variableName.special",pt(e)?re(i,e,"block"):iO(i,e))};Gt.atBlock=function(t,e,i){if(t=="(")return re(i,e,"atBlock_parens");if(Ly(t,e))return re(i,e,"block");if(Dy(t,e))return re(i,e,"interpolation");if(t=="word"){var n=e.current().toLowerCase();if(/^(only|not|and|or)$/.test(n)?de="keyword":n4.hasOwnProperty(n)?de="tag":a4.hasOwnProperty(n)?de="attribute":r4.hasOwnProperty(n)?de="property":e4.hasOwnProperty(n)?de="string.special":de=uO(e.current()),de=="tag"&&pt(e))return re(i,e,"block")}return t=="operator"&&/^(not|and|or)$/.test(e.current())&&(de="keyword"),i.context.type};Gt.atBlock_parens=function(t,e,i){if(t=="{"||t=="}")return i.context.type;if(t==")")return pt(e)?re(i,e,"block"):re(i,e,"atBlock");if(t=="word"){var n=e.current().toLowerCase();return de=uO(n),/^(max|min)/.test(n)&&(de="property"),de=="tag"&&(Lf.test(n)?de="variable":de="atom"),i.context.type}return Gt.atBlock(t,e,i)};Gt.keyframes=function(t,e,i){return e.indentation()=="0"&&(t=="}"&&jn(e)||t=="]"||t=="hash"||t=="qualifier"||Ri(e.current()))?Df(t,e,i):t=="{"?re(i,e,"keyframes"):t=="}"?jn(e)?iO(i,e,!0):re(i,e,"keyframes"):t=="unit"&&/^[0-9]+\%$/.test(e.current())?re(i,e,"keyframes"):t=="word"&&(de=uO(e.current()),de=="block-keyword")?(de="keyword",re(i,e,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(t)?re(i,e,pt(e)?"block":"atBlock"):t=="mixin"?re(i,e,"block",0):i.context.type};Gt.interpolation=function(t,e,i){return t=="{"&&iO(i,e)&&re(i,e,"block"),t=="}"?e.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||e.string.match(/^\s*[a-z]/i)&&Ri(Ft(e))?re(i,e,"block"):!e.string.match(/^(\{|\s*\&)/)||e.match(/\s*[\w-]/,!1)?re(i,e,"block",0):re(i,e,"block"):t=="variable-name"?re(i,e,"variableName",0):(t=="word"&&(de=uO(e.current()),de=="tag"&&(de="atom")),i.context.type)};Gt.extend=function(t,e,i){return t=="["||t=="="?"extend":t=="]"?iO(i,e):t=="word"?(de=uO(e.current()),"extend"):iO(i,e)};Gt.variableName=function(t,e,i){return t=="string"||t=="["||t=="]"||e.current().match(/^(\.|\$)/)?(e.current().match(/^\.[\w-]+/i)&&(de="variable"),"variableName"):Df(t,e,i)};const $4={name:"stylus",startState:function(){return{tokenize:null,state:"block",context:new Iy("block",0,null)}},token:function(t,e){return!e.tokenize&&t.eatSpace()?null:(Zn=(e.tokenize||h4)(t,e),Zn&&typeof Zn=="object"&&(Rm=Zn[1],Zn=Zn[0]),de=Zn,e.state=Gt[e.state](Rm,t,e),de)},indent:function(t,e,i){var n=t.context,O=e&&e.charAt(0),r=n.indent,a=Ft(e),o=n.line.indent,s=t.context.prev?t.context.prev.line.firstWord:"",l=t.context.prev?t.context.prev.line.indent:o;return n.prev&&(O=="}"&&(n.type=="block"||n.type=="atBlock"||n.type=="keyframes")||O==")"&&(n.type=="parens"||n.type=="atBlock_parens")||O=="{"&&n.type=="at")?r=n.indent-i.unit:/(\})/.test(O)||(/@|\$|\d/.test(O)||/^\{/.test(e)||/^\s*\/(\/|\*)/.test(e)||/^\s*\/\*/.test(s)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(e)||/^(\+|-)?[a-z][\w-]*\(/i.test(e)||/^return/.test(e)||Dn(a)?r=o:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(O)||Ri(a)?/\,\s*$/.test(s)?r=l:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(s)||Ri(s)?r=o<=l?l:l+i.unit:r=o:!/,\s*$/.test(e)&&(Zm(a)||nO(a))&&(Dn(s)?r=o<=l?l:l+i.unit:/^\{/.test(s)?r=o<=l?o:l+i.unit:Zm(s)||nO(s)?r=o>=l?l:o:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(s)||/=\s*$/.test(s)||Ri(s)||/^\$[\w-\.\[\]\'\"]/.test(s)?r=l+i.unit:r=o)),r},languageData:{indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:FE}};var p4=["align","block","br(_if|_table|_on_(cast|data|func|i31|null))?","call(_indirect|_ref)?","current_memory","\\bdata\\b","catch(_all)?","delegate","drop","elem","else","end","export","\\bextern\\b","\\bfunc\\b","global(\\.(get|set))?","if","import","local(\\.(get|set|tee))?","loop","module","mut","nop","offset","param","result","rethrow","return(_call(_indirect|_ref)?)?","select","start","table(\\.(size|get|set|size|grow|fill|init|copy))?","then","throw","try","type","unreachable","unwind","i(32|64)\\.(store(8|16)|(load(8|16)_[su]))","i64\\.(load32_[su]|store32)","[fi](32|64)\\.(const|load|store)","f(32|64)\\.(abs|add|ceil|copysign|div|eq|floor|[gl][et]|max|min|mul|nearest|neg?|sqrt|sub|trunc)","i(32|64)\\.(a[dn]d|c[lt]z|(div|rem)_[su]|eqz?|[gl][te]_[su]|mul|ne|popcnt|rot[lr]|sh(l|r_[su])|sub|x?or)","i64\\.extend_[su]_i32","i32\\.wrap_i64","i(32|64)\\.trunc_f(32|64)_[su]","f(32|64)\\.convert_i(32|64)_[su]","f64\\.promote_f32","f32\\.demote_f64","f32\\.reinterpret_i32","i32\\.reinterpret_f32","f64\\.reinterpret_i64","i64\\.reinterpret_f64","memory(\\.((atomic\\.(notify|wait(32|64)))|grow|size))?","i64.atomic\\.(load32_u|store32|rmw32\\.(a[dn]d|sub|x?or|(cmp)?xchg)_u)","i(32|64)\\.atomic\\.(load((8|16)_u)?|store(8|16)?|rmw(\\.(a[dn]d|sub|x?or|(cmp)?xchg)|(8|16)\\.(a[dn]d|sub|x?or|(cmp)?xchg)_u))","v128\\.load(8x8|16x4|32x2)_[su]","v128\\.load(8|16|32|64)_splat","v128\\.(load|store)(8|16|32|64)_lane","v128\\.load(32|64)_zero","v128.(load|store|const|not|andnot|and|or|xor|bitselect|any_true)","i(8x16|16x8)\\.(extract_lane_[su]|(add|sub)_sat_[su]|avgr_u)","i(8x16|16x8|32x4|64x2)\\.(neg|add|sub|abs|shl|shr_[su]|all_true|bitmask|eq|ne|[lg][te]_s)","(i(8x16|16x8|32x4|64x2)|f(32x4|64x2)).(splat|replace_lane)","i(8x16|16x8|32x4)\\.(([lg][te]_u)|((min|max)_[su]))","f(32x4|64x2)\\.(neg|add|sub|abs|nearest|eq|ne|[lg][te]|sqrt|mul|div|min|max|ceil|floor|trunc)","[fi](32x4|64x2)\\.extract_lane","i8x16\\.(shuffle|swizzle|popcnt|narrow_i16x8_[su])","i16x8\\.(narrow_i32x4_[su]|mul|extadd_pairwise_i8x16_[su]|q15mulr_sat_s)","i16x8\\.(extend|extmul)_(low|high)_i8x16_[su]","i32x4\\.(mul|dot_i16x8_s|trunc_sat_f64x2_[su]_zero)","i32x4\\.((extend|extmul)_(low|high)_i16x8_|trunc_sat_f32x4_|extadd_pairwise_i16x8_)[su]","i64x2\\.(mul|(extend|extmul)_(low|high)_i32x4_[su])","f32x4\\.(convert_i32x4_[su]|demote_f64x2_zero)","f64x2\\.(promote_low_f32x4|convert_low_i32x4_[su])","\\bany\\b","array\\.len","(array|struct)(\\.(new_(default_)?with_rtt|get(_[su])?|set))?","\\beq\\b","field","i31\\.(new|get_[su])","\\bnull\\b","ref(\\.(([ai]s_(data|func|i31))|cast|eq|func|(is_|as_non_)?null|test))?","rtt(\\.(canon|sub))?"];const Q4=FX({start:[{regex:new RegExp(p4.join("|")),token:"keyword"},{regex:/\b((any|data|eq|extern|i31|func)ref|[fi](32|64)|i(8|16))\b/,token:"atom"},{regex:/\b(funcref|externref|[fi](32|64))\b/,token:"atom"},{regex:/\$([a-zA-Z0-9_`\+\-\*\/\\\^~=<>!\?@#$%&|:\.]+)/,token:"variable"},{regex:/"(?:[^"\\\x00-\x1f\x7f]|\\[nt\\'"]|\\[0-9a-fA-F][0-9a-fA-F])*"/,token:"string"},{regex:/\(;.*?/,token:"comment",next:"comment"},{regex:/;;.*$/,token:"comment"},{regex:/\(/,indent:!0},{regex:/\)/,dedent:!0}],comment:[{regex:/.*?;\)/,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"wast",dontIndentStates:["comment"]}});function By(t){function e(u,h){u.cmdState.push(h)}function i(u){return u.cmdState.length>0?u.cmdState[u.cmdState.length-1]:null}function n(u){var h=u.cmdState.pop();h&&h.closeBracket()}function O(u){for(var h=u.cmdState,d=h.length-1;d>=0;d--){var p=h[d];if(p.name!="DEFAULT")return p}return{styleIdentifier:function(){return null}}}function r(u,h,d){return function(){this.name=u,this.bracketNo=0,this.style=h,this.styles=d,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var a={};a.importmodule=r("importmodule","tag",["string","builtin"]),a.documentclass=r("documentclass","tag",["","atom"]),a.usepackage=r("usepackage","tag",["atom"]),a.begin=r("begin","tag",["atom"]),a.end=r("end","tag",["atom"]),a.label=r("label","tag",["atom"]),a.ref=r("ref","tag",["atom"]),a.eqref=r("eqref","tag",["atom"]),a.cite=r("cite","tag",["atom"]),a.bibitem=r("bibitem","tag",["atom"]),a.Bibitem=r("Bibitem","tag",["atom"]),a.RBibitem=r("RBibitem","tag",["atom"]),a.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function o(u,h){u.f=h}function s(u,h){var d;if(u.match(/^\\[a-zA-Z@\xc0-\u1fff\u2060-\uffff]+/)){var p=u.current().slice(1);return d=a.hasOwnProperty(p)?a[p]:a.DEFAULT,d=new d,e(h,d),o(h,c),d.style}if(u.match(/^\\[$&%#{}_]/)||u.match(/^\\[,;!\/\\]/))return"tag";if(u.match("\\["))return o(h,function(g,m){return l(g,m,"\\]")}),"keyword";if(u.match("\\("))return o(h,function(g,m){return l(g,m,"\\)")}),"keyword";if(u.match("$$"))return o(h,function(g,m){return l(g,m,"$$")}),"keyword";if(u.match("$"))return o(h,function(g,m){return l(g,m,"$")}),"keyword";var Q=u.next();if(Q=="%")return u.skipToEnd(),"comment";if(Q=="}"||Q=="]"){if(d=i(h),d)d.closeBracket(Q),o(h,c);else return"error";return"bracket"}else return Q=="{"||Q=="["?(d=a.DEFAULT,d=new d,e(h,d),"bracket"):/\d/.test(Q)?(u.eatWhile(/[\w.%]/),"atom"):(u.eatWhile(/[\w\-_]/),d=O(h),d.name=="begin"&&(d.argument=u.current()),d.styleIdentifier())}function l(u,h,d){if(u.eatSpace())return null;if(d&&u.match(d))return o(h,s),"keyword";if(u.match(/^\\[a-zA-Z@]+/))return"tag";if(u.match(/^[a-zA-Z]+/))return"variableName.special";if(u.match(/^\\[$&%#{}_]/)||u.match(/^\\[,;!\/]/)||u.match(/^[\^_&]/))return"tag";if(u.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(u.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var p=u.next();return p=="{"||p=="}"||p=="["||p=="]"||p=="("||p==")"?"bracket":p=="%"?(u.skipToEnd(),"comment"):"error"}function c(u,h){var d=u.peek(),p;return d=="{"||d=="["?(p=i(h),p.openBracket(d),u.eat(d),o(h,s),"bracket"):/[ \t\r]/.test(d)?(u.eat(d),null):(o(h,s),n(h),s(u,h))}return{name:"stex",startState:function(){var u=t?function(h,d){return l(h,d)}:s;return{cmdState:[],f:u}},copyState:function(u){return{cmdState:u.cmdState.slice(),f:u.f}},token:function(u,h){return h.f(u,h)},blankLine:function(u){u.f=s,u.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}const m4=By(!1);By(!0);function g4(t){return new RegExp("^(("+t.join(")|(")+"))\\b","i")}var Fy=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],P4=g4(Fy),S4=new RegExp("^[_A-Za-z¡-][_A-Za-z0-9¡-]*");function b4(t){return t.eatSpace()?null:t.match("//")?(t.skipToEnd(),"comment"):t.match(/^[0-9\.+-]/,!1)&&(t.match(/^[+-]?0x[0-9a-fA-F]+/)||t.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/)||t.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))?"number":t.match(/^"([^"]|(""))*"/)||t.match(/^'([^']|(''))*'/)?"string":t.match(P4)?"keyword":t.match(S4)?"variable":(t.next(),null)}const X4={name:"protobuf",token:b4,languageData:{autocomplete:Fy}};function Hy(t){var e=[],i="",n={".abort":"builtin",".align":"builtin",".altmacro":"builtin",".ascii":"builtin",".asciz":"builtin",".balign":"builtin",".balignw":"builtin",".balignl":"builtin",".bundle_align_mode":"builtin",".bundle_lock":"builtin",".bundle_unlock":"builtin",".byte":"builtin",".cfi_startproc":"builtin",".comm":"builtin",".data":"builtin",".def":"builtin",".desc":"builtin",".dim":"builtin",".double":"builtin",".eject":"builtin",".else":"builtin",".elseif":"builtin",".end":"builtin",".endef":"builtin",".endfunc":"builtin",".endif":"builtin",".equ":"builtin",".equiv":"builtin",".eqv":"builtin",".err":"builtin",".error":"builtin",".exitm":"builtin",".extern":"builtin",".fail":"builtin",".file":"builtin",".fill":"builtin",".float":"builtin",".func":"builtin",".global":"builtin",".gnu_attribute":"builtin",".hidden":"builtin",".hword":"builtin",".ident":"builtin",".if":"builtin",".incbin":"builtin",".include":"builtin",".int":"builtin",".internal":"builtin",".irp":"builtin",".irpc":"builtin",".lcomm":"builtin",".lflags":"builtin",".line":"builtin",".linkonce":"builtin",".list":"builtin",".ln":"builtin",".loc":"builtin",".loc_mark_labels":"builtin",".local":"builtin",".long":"builtin",".macro":"builtin",".mri":"builtin",".noaltmacro":"builtin",".nolist":"builtin",".octa":"builtin",".offset":"builtin",".org":"builtin",".p2align":"builtin",".popsection":"builtin",".previous":"builtin",".print":"builtin",".protected":"builtin",".psize":"builtin",".purgem":"builtin",".pushsection":"builtin",".quad":"builtin",".reloc":"builtin",".rept":"builtin",".sbttl":"builtin",".scl":"builtin",".section":"builtin",".set":"builtin",".short":"builtin",".single":"builtin",".size":"builtin",".skip":"builtin",".sleb128":"builtin",".space":"builtin",".stab":"builtin",".string":"builtin",".struct":"builtin",".subsection":"builtin",".symver":"builtin",".tag":"builtin",".text":"builtin",".title":"builtin",".type":"builtin",".uleb128":"builtin",".val":"builtin",".version":"builtin",".vtable_entry":"builtin",".vtable_inherit":"builtin",".warning":"builtin",".weak":"builtin",".weakref":"builtin",".word":"builtin"},O={};function r(){i="#",O.al="variable",O.ah="variable",O.ax="variable",O.eax="variableName.special",O.rax="variableName.special",O.bl="variable",O.bh="variable",O.bx="variable",O.ebx="variableName.special",O.rbx="variableName.special",O.cl="variable",O.ch="variable",O.cx="variable",O.ecx="variableName.special",O.rcx="variableName.special",O.dl="variable",O.dh="variable",O.dx="variable",O.edx="variableName.special",O.rdx="variableName.special",O.si="variable",O.esi="variableName.special",O.rsi="variableName.special",O.di="variable",O.edi="variableName.special",O.rdi="variableName.special",O.sp="variable",O.esp="variableName.special",O.rsp="variableName.special",O.bp="variable",O.ebp="variableName.special",O.rbp="variableName.special",O.ip="variable",O.eip="variableName.special",O.rip="variableName.special",O.cs="keyword",O.ds="keyword",O.ss="keyword",O.es="keyword",O.fs="keyword",O.gs="keyword"}function a(){i="@",n.syntax="builtin",O.r0="variable",O.r1="variable",O.r2="variable",O.r3="variable",O.r4="variable",O.r5="variable",O.r6="variable",O.r7="variable",O.r8="variable",O.r9="variable",O.r10="variable",O.r11="variable",O.r12="variable",O.sp="variableName.special",O.lr="variableName.special",O.pc="variableName.special",O.r13=O.sp,O.r14=O.lr,O.r15=O.pc,e.push(function(l,c){if(l==="#")return c.eatWhile(/\w/),"number"})}t==="x86"?r():(t==="arm"||t==="armv6")&&a();function o(l,c){for(var u=!1,h;(h=l.next())!=null;){if(h===c&&!u)return!1;u=!u&&h==="\\"}return u}function s(l,c){for(var u=!1,h;(h=l.next())!=null;){if(h==="/"&&u){c.tokenize=null;break}u=h==="*"}return"comment"}return{name:"gas",startState:function(){return{tokenize:null}},token:function(l,c){if(c.tokenize)return c.tokenize(l,c);if(l.eatSpace())return null;var u,h,d=l.next();if(d==="/"&&l.eat("*"))return c.tokenize=s,s(l,c);if(d===i)return l.skipToEnd(),"comment";if(d==='"')return o(l,'"'),"string";if(d===".")return l.eatWhile(/\w/),h=l.current().toLowerCase(),u=n[h],u||null;if(d==="=")return l.eatWhile(/\w/),"tag";if(d==="{"||d==="}")return"bracket";if(/\d/.test(d))return d==="0"&&l.eat("x")?(l.eatWhile(/[0-9a-fA-F]/),"number"):(l.eatWhile(/\d/),"number");if(/\w/.test(d))return l.eatWhile(/\w/),l.eat(":")?"tag":(h=l.current().toLowerCase(),u=O[h],u||null);for(var p=0;p<e.length;p++)if(u=e[p](d,l,c),u)return u},languageData:{commentTokens:{line:i,block:{open:"/*",close:"*/"}}}}}const y4=Hy("x86");Hy("arm");function Ky(t){var e=t.statementIndentUnit,i=t.dontAlignCalls,n=t.noIndentKeywords||[],O=t.multiLineStrings,r=t.hooks||{};function a(x){for(var E={},q=x.split(" "),W=0;W<q.length;++W)E[q[W]]=!0;return E}var o=a("accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind bins binsof bit break buf bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin function generate genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import incdir include initial inout input inside instance int integer interconnect interface intersect join join_any join_none large let liblist library local localparam logic longint macromodule matches medium modport module nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 null or output package packed parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor"),s=/[\+\-\*\/!~&|^%=?:]/,l=/[\[\]{}()]/,c=/\d[0-9_]*/,u=/\d*\s*'s?d\s*\d[0-9_]*/i,h=/\d*\s*'s?b\s*[xz01][xz01_]*/i,d=/\d*\s*'s?o\s*[xz0-7][xz0-7_]*/i,p=/\d*\s*'s?h\s*[0-9a-fxz?][0-9a-fxz?_]*/i,Q=/(\d[\d_]*(\.\d[\d_]*)?E-?[\d_]+)|(\d[\d_]*\.\d[\d_]*)/i,g=/^((\w+)|[)}\]])/,m=/[)}\]]/,S,X,z=a("case checker class clocking config function generate interface module package primitive program property specify sequence table task"),R={};for(var G in z)R[G]="end"+G;R.begin="end",R.casex="endcase",R.casez="endcase",R.do="while",R.fork="join;join_any;join_none",R.covergroup="endgroup";for(var j in n){var G=n[j];R[G]&&(R[G]=void 0)}var C=a("always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while");function D(x,E){var q=x.peek(),W;if(r[q]&&(W=r[q](x,E))!=!1||r.tokenBase&&(W=r.tokenBase(x,E))!=!1)return W;if(/[,;:\.]/.test(q))return S=x.next(),null;if(l.test(q))return S=x.next(),"bracket";if(q=="`")return x.next(),x.eatWhile(/[\w\$_]/)?"def":null;if(q=="$")return x.next(),x.eatWhile(/[\w\$_]/)?"meta":null;if(q=="#")return x.next(),x.eatWhile(/[\d_.]/),"def";if(q=='"')return x.next(),E.tokenize=V(q),E.tokenize(x,E);if(q=="/"){if(x.next(),x.eat("*"))return E.tokenize=v,v(x,E);if(x.eat("/"))return x.skipToEnd(),"comment";x.backUp(1)}if(x.match(Q)||x.match(u)||x.match(h)||x.match(d)||x.match(p)||x.match(c)||x.match(Q))return"number";if(x.eatWhile(s))return"meta";if(x.eatWhile(/[\w\$_]/)){var M=x.current();return o[M]?(R[M]&&(S="newblock"),C[M]&&(S="newstatement"),X=M,"keyword"):"variable"}return x.next(),null}function V(x){return function(E,q){for(var W=!1,M,ae=!1;(M=E.next())!=null;){if(M==x&&!W){ae=!0;break}W=!W&&M=="\\"}return(ae||!(W||O))&&(q.tokenize=D),"string"}}function v(x,E){for(var q=!1,W;W=x.next();){if(W=="/"&&q){E.tokenize=D;break}q=W=="*"}return"comment"}function _(x,E,q,W,M){this.indented=x,this.column=E,this.type=q,this.align=W,this.prev=M}function w(x,E,q){var W=x.indented,M=new _(W,E,q,null,x.context);return x.context=M}function b(x){var E=x.context.type;return(E==")"||E=="]"||E=="}")&&(x.indented=x.context.indented),x.context=x.context.prev}function k(x,E){if(x==E)return!0;var q=E.split(";");for(var W in q)if(x==q[W])return!0;return!1}function Y(){var x=[];for(var E in R)if(R[E]){var q=R[E].split(";");for(var W in q)x.push(q[W])}var M=new RegExp("[{}()\\[\\]]|("+x.join("|")+")$");return M}return{name:"verilog",startState:function(x){var E={tokenize:null,context:new _(-x,0,"top",!1),indented:0,startOfLine:!0};return r.startState&&r.startState(E),E},token:function(x,E){var q=E.context;if(x.sol()&&(q.align==null&&(q.align=!1),E.indented=x.indentation(),E.startOfLine=!0),r.token){var W=r.token(x,E);if(W!==void 0)return W}if(x.eatSpace())return null;S=null,X=null;var W=(E.tokenize||D)(x,E);if(W=="comment"||W=="meta"||W=="variable")return W;if(q.align==null&&(q.align=!0),S==q.type)b(E);else if(S==";"&&q.type=="statement"||q.type&&k(X,q.type))for(q=b(E);q&&q.type=="statement";)q=b(E);else if(S=="{")w(E,x.column(),"}");else if(S=="[")w(E,x.column(),"]");else if(S=="(")w(E,x.column(),")");else if(q&&q.type=="endcase"&&S==":")w(E,x.column(),"statement");else if(S=="newstatement")w(E,x.column(),"statement");else if(S=="newblock"&&!(X=="function"&&q&&(q.type=="statement"||q.type=="endgroup"))){if(!(X=="task"&&q&&q.type=="statement")){var M=R[X];w(E,x.column(),M)}}return E.startOfLine=!1,W},indent:function(x,E,q){if(x.tokenize!=D&&x.tokenize!=null)return null;if(r.indent){var W=r.indent(x);if(W>=0)return W}var M=x.context,ae=E&&E.charAt(0);M.type=="statement"&&ae=="}"&&(M=M.prev);var ze=!1,Te=E.match(g);return Te&&(ze=k(Te[0],M.type)),M.type=="statement"?M.indented+(ae=="{"?0:e||q.unit):m.test(M.type)&&M.align&&!i?M.column+(ze?0:1):M.type==")"&&!ze?M.indented+(e||q.unit):M.indented+(ze?0:q.unit)},languageData:{indentOnInput:Y(),commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}}}const x4=Ky({});var Wc={"|":"link",">":"property",$:"variable",$$:"variable","?$":"qualifier","?*":"qualifier","-":"contentSeparator","/":"property","/-":"property","@":"variableName.special","@-":"variableName.special","@++":"variableName.special","@+=":"variableName.special","@+=-":"variableName.special","@--":"variableName.special","@-=":"variableName.special","%+":"tag","%-":"tag","%":"tag",">>":"tag","<<":"tag","<>":"tag","#":"tag","^":"attribute","^^":"attribute","^!":"attribute","*":"variable","**":"variable","\\":"keyword",'"':"comment"},zm={"/":"beh-hier",">":"beh-hier","-":"phys-hier","|":"pipe","?":"when","@":"stage","\\":"keyword"},jc=3,qm=/^([~!@#\$%\^&\*-\+=\?\/\\\|'"<>]+)([\d\w_]*)/,w4=/^[! ] */,k4=/^\/[\/\*]/;Ky({hooks:{electricInput:!1,token:function(t,e){var i=void 0,n;if(t.sol()&&!e.tlvInBlockComment){t.peek()=="\\"&&(i="def",t.skipToEnd(),t.string.match(/\\SV/)?e.tlvCodeActive=!1:t.string.match(/\\TLV/)&&(e.tlvCodeActive=!0)),e.tlvCodeActive&&t.pos==0&&e.indented==0&&(n=t.match(w4,!1))&&(e.indented=n[0].length);var O=e.indented,r=O/jc;if(r<=e.tlvIndentationStyle.length){var a=t.string.length==O,o=r*jc;if(o<t.string.length){var s=t.string.slice(o),l=s[0];zm[l]&&(n=s.match(qm))&&Wc[n[1]]&&(O+=jc,l=="\\"&&o>0||(e.tlvIndentationStyle[r]=zm[l],r++))}if(!a)for(;e.tlvIndentationStyle.length>r;)e.tlvIndentationStyle.pop()}e.tlvNextIndent=O}if(e.tlvCodeActive){var n;if(i===void 0)if(e.tlvInBlockComment)t.match(/^.*?\*\//)?e.tlvInBlockComment=!1:t.skipToEnd(),i="comment";else if((n=t.match(k4))&&!e.tlvInBlockComment)n[0]=="//"?t.skipToEnd():e.tlvInBlockComment=!0,i="comment";else if(n=t.match(qm)){var c=n[1],u=n[2];Wc.hasOwnProperty(c)&&(u.length>0||t.eol())?i=Wc[c]:t.backUp(t.current().length-1)}else t.match(/^\t+/)?i="invalid":t.match(/^[\[\]{}\(\);\:]+/)?i="meta":(n=t.match(/^[mM]4([\+_])?[\w\d_]*/))?i=n[1]=="+"?"keyword.special":"keyword":t.match(/^ +/)?t.eol()&&(i="error"):t.match(/^[\w\d_]+/)?i="number":t.next()}else t.match(/^[mM]4([\w\d_]*)/)&&(i="keyword");return i},indent:function(t){return t.tlvCodeActive==!0?t.tlvNextIndent:-1},startState:function(t){t.tlvIndentationStyle=[],t.tlvCodeActive=!0,t.tlvNextIndent=-1,t.tlvInBlockComment=!1}}});function Mf(t){for(var e={},i=t.split(","),n=0;n<i.length;++n){var O=i[n].toUpperCase(),r=i[n].charAt(0).toUpperCase()+i[n].slice(1);e[i[n]]=!0,e[O]=!0,e[r]=!0}return e}function Um(t){return t.eatWhile(/[\w\$_]/),"meta"}var T4=Mf("null"),Vm={"`":Um,$:Um},Jy=!1,v4=Mf("abs,access,after,alias,all,and,architecture,array,assert,attribute,begin,block,body,buffer,bus,case,component,configuration,constant,disconnect,downto,else,elsif,end,end block,end case,end component,end for,end generate,end if,end loop,end process,end record,end units,entity,exit,file,for,function,generate,generic,generic map,group,guarded,if,impure,in,inertial,inout,is,label,library,linkage,literal,loop,map,mod,nand,new,next,nor,null,of,on,open,or,others,out,package,package body,port,port map,postponed,procedure,process,pure,range,record,register,reject,rem,report,return,rol,ror,select,severity,signal,sla,sll,sra,srl,subtype,then,to,transport,type,unaffected,units,until,use,variable,wait,when,while,with,xnor,xor"),_4=Mf("architecture,entity,begin,case,port,else,elsif,end,for,function,if"),Wm=/[&|~><!\)\(*#%@+\/=?\:;}{,\.\^\-\[\]]/,ri;function ys(t,e){var i=t.next();if(Vm[i]){var n=Vm[i](t,e);if(n!==!1)return n}if(i=='"')return e.tokenize=Y4(i),e.tokenize(t,e);if(i=="'")return e.tokenize=R4(i),e.tokenize(t,e);if(/[\[\]{}\(\),;\:\.]/.test(i))return ri=i,null;if(/[\d']/.test(i))return t.eatWhile(/[\w\.']/),"number";if(i=="-"&&t.eat("-"))return t.skipToEnd(),"comment";if(Wm.test(i))return t.eatWhile(Wm),"operator";t.eatWhile(/[\w\$_]/);var O=t.current();return v4.propertyIsEnumerable(O.toLowerCase())?(_4.propertyIsEnumerable(O)&&(ri="newstatement"),"keyword"):T4.propertyIsEnumerable(O)?"atom":"variable"}function R4(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="--"}return(r||!(n||Jy))&&(i.tokenize=ys),"string"}}function Y4(t){return function(e,i){for(var n=!1,O,r=!1;(O=e.next())!=null;){if(O==t&&!n){r=!0;break}n=!n&&O=="--"}return(r||!(n||Jy))&&(i.tokenize=ys),"string.special"}}function ex(t,e,i,n,O){this.indented=t,this.column=e,this.type=i,this.align=n,this.prev=O}function Qo(t,e,i){return t.context=new ex(t.indented,e,i,null,t.context)}function xr(t){var e=t.context.type;return(e==")"||e=="]"||e=="}")&&(t.indented=t.context.indented),t.context=t.context.prev}const Z4={name:"vhdl",startState:function(t){return{tokenize:null,context:new ex(-t,0,"top",!1),indented:0,startOfLine:!0}},token:function(t,e){var i=e.context;if(t.sol()&&(i.align==null&&(i.align=!1),e.indented=t.indentation(),e.startOfLine=!0),t.eatSpace())return null;ri=null;var n=(e.tokenize||ys)(t,e);if(n=="comment"||n=="meta")return n;if(i.align==null&&(i.align=!0),(ri==";"||ri==":")&&i.type=="statement")xr(e);else if(ri=="{")Qo(e,t.column(),"}");else if(ri=="[")Qo(e,t.column(),"]");else if(ri=="(")Qo(e,t.column(),")");else if(ri=="}"){for(;i.type=="statement";)i=xr(e);for(i.type=="}"&&(i=xr(e));i.type=="statement";)i=xr(e)}else ri==i.type?xr(e):(i.type=="}"||i.type=="top"||i.type=="statement"&&ri=="newstatement")&&Qo(e,t.column(),"statement");return e.startOfLine=!1,n},indent:function(t,e,i){if(t.tokenize!=ys&&t.tokenize!=null)return 0;var n=e&&e.charAt(0),O=t.context,r=n==O.type;return O.type=="statement"?O.indented+(n=="{"?0:i.unit):O.align?O.column+(r?0:1):O.indented+(r?0:i.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"--"}}};function rr(t,e){return new RegExp((e?"":"^")+"(?:"+t.join("|")+")"+(e?"$":"\\b"))}function On(t,e,i){return i.tokenize.push(t),t(e,i)}var gh=/^(?:[-+/%|&^]|\*\*?|[<>]{2})/,Ph=/^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/,tx=/^(?:\[\][?=]?)/,z4=/^(?:\.(?:\.{2})?|->|[?:])/,Ar=/^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,Vo=/^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,q4=rr(["abstract","alias","as","asm","begin","break","case","class","def","do","else","elsif","end","ensure","enum","extend","for","fun","if","include","instance_sizeof","lib","macro","module","next","of","out","pointerof","private","protected","rescue","return","require","select","sizeof","struct","super","then","type","typeof","uninitialized","union","unless","until","when","while","with","yield","__DIR__","__END_LINE__","__FILE__","__LINE__"]),U4=rr(["true","false","nil","self"]),V4=["def","fun","macro","class","module","struct","lib","enum","union","do","for"],W4=rr(V4),j4=["if","unless","case","while","until","begin","then"],C4=rr(j4),ix=["end","else","elsif","rescue","ensure"],E4=rr(ix),nx=["\\)","\\}","\\]"],G4=new RegExp("^(?:"+nx.join("|")+")$"),jm={def:Cm,fun:Cm,macro:A4,class:wO,module:wO,struct:wO,lib:wO,enum:wO,union:wO},Cc={"[":"]","{":"}","(":")","<":">"};function Bf(t,e){if(t.eatSpace())return null;if(e.lastToken!="\\"&&t.match("{%",!1))return On(OO("%","%"),t,e);if(e.lastToken!="\\"&&t.match("{{",!1))return On(OO("{","}"),t,e);if(t.peek()=="#")return t.skipToEnd(),"comment";var i;if(t.match(Ar))return t.eat(/[?!]/),i=t.current(),t.eat(":")?"atom":e.lastToken=="."?"property":q4.test(i)?(W4.test(i)?!(i=="fun"&&e.blocks.indexOf("lib")>=0)&&!(i=="def"&&e.lastToken=="abstract")&&(e.blocks.push(i),e.currentIndent+=1):(e.lastStyle=="operator"||!e.lastStyle)&&C4.test(i)?(e.blocks.push(i),e.currentIndent+=1):i=="end"&&(e.blocks.pop(),e.currentIndent-=1),jm.hasOwnProperty(i)&&e.tokenize.push(jm[i]),"keyword"):U4.test(i)?"atom":"variable";if(t.eat("@"))return t.peek()=="["?On(ha("[","]","meta"),t,e):(t.eat("@"),t.match(Ar)||t.match(Vo),"propertyName");if(t.match(Vo))return"tag";if(t.eat(":"))return t.eat('"')?On(Ec('"',"atom",!1),t,e):t.match(Ar)||t.match(Vo)||t.match(gh)||t.match(Ph)||t.match(tx)?"atom":(t.eat(":"),"operator");if(t.eat('"'))return On(Ec('"',"string",!0),t,e);if(t.peek()=="%"){var n="string",O=!0,r;if(t.match("%r"))n="string.special",r=t.next();else if(t.match("%w"))O=!1,r=t.next();else if(t.match("%q"))O=!1,r=t.next();else if(r=t.match(/^%([^\w\s=])/))r=r[1];else{if(t.match(/^%[a-zA-Z_\u009F-\uFFFF][\w\u009F-\uFFFF]*/))return"meta";if(t.eat("%"))return"operator"}return Cc.hasOwnProperty(r)&&(r=Cc[r]),On(Ec(r,n,O),t,e)}return(i=t.match(/^<<-('?)([A-Z]\w*)\1/))?On(N4(i[2],!i[1]),t,e):t.eat("'")?(t.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/),t.eat("'"),"atom"):t.eat("0")?(t.eat("x")?t.match(/^[0-9a-fA-F_]+/):t.eat("o")?t.match(/^[0-7_]+/):t.eat("b")&&t.match(/^[01_]+/),"number"):t.eat(/^\d/)?(t.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+-]?\d+)?/),"number"):t.match(gh)?(t.eat("="),"operator"):t.match(Ph)||t.match(z4)?"operator":(i=t.match(/[({[]/,!1))?(i=i[0],On(ha(i,Cc[i],null),t,e)):t.eat("\\")?(t.next(),"meta"):(t.next(),null)}function ha(t,e,i,n){return function(O,r){if(!n&&O.match(t))return r.tokenize[r.tokenize.length-1]=ha(t,e,i,!0),r.currentIndent+=1,i;var a=Bf(O,r);return O.current()===e&&(r.tokenize.pop(),r.currentIndent-=1,a=i),a}}function OO(t,e,i){return function(n,O){return!i&&n.match("{"+t)?(O.currentIndent+=1,O.tokenize[O.tokenize.length-1]=OO(t,e,!0),"meta"):n.match(e+"}")?(O.currentIndent-=1,O.tokenize.pop(),"meta"):Bf(n,O)}}function A4(t,e){if(t.eatSpace())return null;var i;if(i=t.match(Ar)){if(i=="def")return"keyword";t.eat(/[?!]/)}return e.tokenize.pop(),"def"}function Cm(t,e){return t.eatSpace()?null:(t.match(Ar)?t.eat(/[!?]/):t.match(gh)||t.match(Ph)||t.match(tx),e.tokenize.pop(),"def")}function wO(t,e){return t.eatSpace()?null:(t.match(Vo),e.tokenize.pop(),"def")}function Ec(t,e,i){return function(n,O){for(var r=!1;n.peek();)if(r)n.next(),r=!1;else{if(n.match("{%",!1))return O.tokenize.push(OO("%","%")),e;if(n.match("{{",!1))return O.tokenize.push(OO("{","}")),e;if(i&&n.match("#{",!1))return O.tokenize.push(ha("#{","}","meta")),e;var a=n.next();if(a==t)return O.tokenize.pop(),e;r=i&&a=="\\"}return e}}function N4(t,e){return function(i,n){if(i.sol()&&(i.eatSpace(),i.match(t)))return n.tokenize.pop(),"string";for(var O=!1;i.peek();)if(O)i.next(),O=!1;else{if(i.match("{%",!1))return n.tokenize.push(OO("%","%")),"string";if(i.match("{{",!1))return n.tokenize.push(OO("{","}")),"string";if(e&&i.match("#{",!1))return n.tokenize.push(ha("#{","}","meta")),"string";O=i.next()=="\\"&&e}return"string"}}const I4={name:"crystal",startState:function(){return{tokenize:[Bf],currentIndent:0,lastToken:null,lastStyle:null,blocks:[]}},token:function(t,e){var i=e.tokenize[e.tokenize.length-1](t,e),n=t.current();return i&&i!="comment"&&(e.lastToken=n,e.lastStyle=i),i},indent:function(t,e,i){return e=e.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g,""),E4.test(e)||G4.test(e)?i.unit*(t.currentIndent-1):i.unit*t.currentIndent},languageData:{indentOnInput:rr(nx.concat(ix),!0),commentTokens:{line:"#"}}};function L4(t){switch(t.toLowerCase()){case".js":case".mjs":case".cjs":case".es":case".es6":return vr();case".jsx":return vr({jsx:!0});case".ts":case".mts":case".cts":return vr({typescript:!0});case".tsx":return vr({jsx:!0,typescript:!0});case".py":case".pyw":case".pyi":case".pyx":case".pxd":return EY();case".html":case".htm":case".xhtml":case".shtml":case".svelte":case".vue":case".astro":case".ejs":case".hbs":case".njk":case".jsp":case".erb":return gf();case".css":case".scss":case".less":return xb();case".sass":return fe.define(ME);case".styl":return fe.define($4);case".json":case".jsonc":case".json5":case".jsonl":case".geojson":case".webmanifest":return mz();case".md":case".mdx":case".markdown":case".mdown":case".mkd":return n5();case".sql":case".psql":case".mysql":case".plsql":return B5();case".rs":return pq();case".java":return Nq();case".php":case".phtml":return $V();case".kt":case".kts":return fe.define(PW);case".groovy":case".gradle":return fe.define($j);case".scala":case".sc":case".sbt":return fe.define(mW);case".c":case".h":case".cpp":case".cc":case".cxx":case".hpp":case".hxx":case".hh":case".cs":case".m":case".mm":case".ino":return jq();case".d":return fe.define(sC);case".dart":return fe.define(xW);case".vb":return fe.define(oE);case".go":return fe.define(sj);case".rb":case".rbw":case".rake":case".gemspec":return fe.define(zW);case".swift":return fe.define(ej);case".sh":case".bash":case".zsh":case".ksh":case".fish":case".env":return fe.define(ZQ);case".bat":case".cmd":return fe.define(ZQ);case".toml":return fe.define(Oj);case".lua":return fe.define(Xj);case".pl":case".pm":return fe.define(yj);case".r":return fe.define(Rj);case".jl":return fe.define(NC);case".elm":return fe.define(gC);case".ml":case".mli":case".res":case".resi":return fe.define(IC);case".fs":case".fsi":case".fsx":return fe.define(LC);case".hs":case".lhs":return fe.define(Wj);case".clj":case".cljs":case".cljc":case".edn":return fe.define(Fj);case".erl":case".hrl":return fe.define(P2);case".cr":return fe.define(I4);case".dockerfile":return fe.define(Z2);case".diff":case".patch":return fe.define(z2);case".ps1":case".psm1":case".psd1":return fe.define(F2);case".nginx":return fe.define(tC);case".properties":return fe.define(sE);case".cmake":return fe.define(uE);case".pas":case".pp":return fe.define(QE);case".cbl":case".cob":return fe.define(wE);case".f":case".for":case".f77":case".f90":case".f95":case".f03":case".f08":return fe.define(ZE);case".tcl":return fe.define(VE);case".wat":case".wasm":return fe.define(Q4);case".tex":case".latex":case".ltx":return fe.define(m4);case".proto":return fe.define(X4);case".asm":case".s":return fe.define(y4);case".v":case".sv":case".vh":return fe.define(x4);case".vhd":case".vhdl":return fe.define(Z4);case".xml":case".xsl":case".xslt":case".xsd":case".dtd":case".svg":case".plist":case".rss":case".atom":case".wsdl":case".xaml":case".csproj":case".fsproj":case".vbproj":return WV();case".yaml":case".yml":return $W();default:return null}}const D4=P.lazy(()=>qx(()=>import("./EmbeddedEditor-SYtH65mY.js"),__vite__mapDeps([0,1,2,3,4,5])).then(t=>({default:t.EmbeddedEditor}))),M4=[".md",".mdx",".markdown"],Em="file-viewer-markdown-render",B4=[".puml",".plantuml",".iuml",".pu"],Gm="file-viewer-plantuml-render",F4="https://kroki.io/plantuml/svg";function hO({file:t,rightContent:e,onRevealInTree:i,editMode:n,onToggleEdit:O}){const{t:r}=Ae(["terminal","common"]),[a,o]=P.useState("idle"),s=t.fileType==="text"?xs(t.extension):t.extension.slice(1).toUpperCase(),{settings:l}=Im(),c=async()=>{o("loading");try{const u=await pe($e("/api/files/open-in-editor"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,...l.externalEditorCommand&&{editorCommand:l.externalEditorCommand}})});if(!u.ok){const h=await u.json().catch(()=>({error:"Unknown error"}));console.error("Failed to open in editor:",h),o("error"),setTimeout(()=>o("idle"),2e3);return}o("success"),setTimeout(()=>o("idle"),2e3)}catch(u){console.error("Error opening file in editor:",u),o("error"),setTimeout(()=>o("idle"),2e3)}};return f.jsxs("div",{className:"file-viewer-header",children:[f.jsxs("div",{className:"file-viewer-header-left",children:[f.jsx("span",{className:"file-viewer-filename",children:t.filename}),f.jsxs("span",{className:"file-viewer-meta",children:[Lm(t.size)," • ",s,t.content&&` • ${t.content.split(`
|
|
40
|
+
`).length} lines`]})]}),f.jsxs("div",{className:"file-viewer-header-right",children:[O&&t.fileType==="text"&&f.jsx("button",{className:`file-viewer-edit-btn${n?" active":""}`,onClick:O,title:r(n?"terminal:fileExplorer.exitEdit":"terminal:fileExplorer.editFile"),children:f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:f.jsx("path",{d:"M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L3.463 11.1a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.25.25 0 00.108-.064l8.61-8.61a.25.25 0 000-.354l-1.086-1.086z"})})}),f.jsx("button",{className:`file-viewer-open-editor-btn ${a}`,onClick:c,disabled:a==="loading",title:r(a==="error"?"terminal:fileExplorer.failedToOpenEditor":a==="success"?"terminal:fileExplorer.openingInEditor":"terminal:fileExplorer.openInEditor"),children:a==="success"?f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:f.jsx("path",{d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 11-1.06-1.06l7.25-7.25a.75.75 0 011.06 0z"})}):a==="error"?f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:f.jsx("path",{d:"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"})}):f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:f.jsx("path",{d:"M1.5 1h6v1.5h-5v11h11v-5H15v6.5H0V1h1.5zm8 0H15v5.5h-1.5V3.56L7.28 9.78l-1.06-1.06L12.44 2.5H9.5V1z"})})}),i&&f.jsx("button",{className:"file-viewer-locate-btn",onClick:()=>i(t.path),title:r("terminal:fileExplorer.locateInTree"),children:f.jsx(te,{name:"target",size:14})}),e]})]})}function H4(){const[t,e]=P.useState(()=>{try{const n=localStorage.getItem(Em);return n===null?!0:n==="true"}catch{return!0}}),i=P.useCallback(()=>{e(n=>{const O=!n;try{localStorage.setItem(Em,String(O))}catch{}return O})},[]);return[t,i]}function K4(t){return M4.includes(t.toLowerCase())}function J4(t){return B4.includes(t.toLowerCase())}function e8(){const[t,e]=P.useState(()=>{try{const n=localStorage.getItem(Gm);return n===null?!0:n==="true"}catch{return!0}}),i=P.useCallback(()=>{e(n=>{const O=!n;try{localStorage.setItem(Gm,String(O))}catch{}return O})},[]);return[t,i]}function t8(t){const e=new TextEncoder().encode(t);let i="";for(const n of e)i+=String.fromCharCode(n);return`data:image/svg+xml;base64,${window.btoa(i)}`}function i8({file:t,onRevealInTree:e,scrollToLine:i,onSearchStateChange:n,editMode:O,onToggleEdit:r}){const a=P.useRef(null),o=P.useRef(null);P.useEffect(()=>{if(!a.current)return;const l=L4(t.extension),c=[Xe.readOnly.of(!0),Jk(),iT(),IT(),Yk(),iv(),Uk(),w0(),CP(BT,{fallback:!0}),o_,q0({top:!0}),Ys.of([...S0,...M0,...ET])];l&&c.push(l);const u=Xe.create({doc:t.content,extensions:c}),h=new H({state:u,parent:a.current});return o.current=h,()=>{h.destroy(),o.current=null}},[t.path,t.content,t.extension]),P.useEffect(()=>{const l=o.current;!l||!i||requestAnimationFrame(()=>{const c=l.state.doc.line(Math.min(i,l.state.doc.lines));l.dispatch({effects:H.scrollIntoView(c.from,{y:"center"})})})},[i]);const s=P.useCallback(l=>{if((l.ctrlKey||l.metaKey)&&l.key==="f"){l.preventDefault(),l.stopPropagation();const c=o.current;c&&(c.focus(),Of(c),requestAnimationFrame(()=>{const u=c.dom.querySelector(".cm-search input[main-field]");u&&u.focus()}))}},[]);return f.jsxs(f.Fragment,{children:[f.jsx(hO,{file:t,onRevealInTree:e,editMode:O,onToggleEdit:r}),f.jsx("div",{className:"file-viewer-content-wrapper file-viewer-cm-readonly",ref:a,tabIndex:0,onKeyDown:s})]})}function n8({file:t,onRevealInTree:e,renderMarkdown:i,onToggleRender:n,editMode:O,onToggleEdit:r}){const a=P.useRef(null),o=P.useRef(null),s=P.useRef(null),{t:l}=Ae(["terminal","common"]),[c,u]=P.useState("idle"),[h,d]=P.useState("idle"),[p,Q]=P.useState("idle"),[g,m]=P.useState("idle"),S=Hm({containerRef:s,isEnabled:!0,content:t.content});P.useEffect(()=>{if(!i&&a.current){const C=xs(t.extension);Dm(C).then(()=>{a.current&&Mm(a.current)})}},[t,i]);const X=P.useCallback(async()=>{if(!o.current){console.error("Copy Rich Text: markdown content ref is not available"),u("error"),setTimeout(()=>u("idle"),2e3);return}try{const C=o.current.innerHTML,D=Ux(C),V=o.current.innerText;await Vx(D,V),u("copied"),setTimeout(()=>u("idle"),2e3)}catch(C){console.error("Copy Rich Text failed:",C),u("error"),setTimeout(()=>u("idle"),2e3)}},[]),z=P.useCallback(async()=>{if(!o.current){console.error("Copy HTML: markdown content ref is not available"),d("error"),setTimeout(()=>d("idle"),2e3);return}try{const C=o.current.innerHTML;await bl(C),d("copied"),setTimeout(()=>d("idle"),2e3)}catch(C){console.error("Copy HTML failed:",C),d("error"),setTimeout(()=>d("idle"),2e3)}},[]),R=P.useCallback(async()=>{try{await bl(t.content),Q("copied"),setTimeout(()=>Q("idle"),2e3)}catch{Q("error"),setTimeout(()=>Q("idle"),2e3)}},[t.content]),G=P.useCallback(async()=>{try{await bl(t.content),m("copied"),setTimeout(()=>m("idle"),2e3)}catch{m("error"),setTimeout(()=>m("idle"),2e3)}},[t.content]),j=f.jsxs("div",{className:"file-viewer-header-buttons",children:[i&&f.jsxs(f.Fragment,{children:[f.jsx("button",{className:`file-viewer-copy-html-btn ${c}`,onClick:X,title:l("terminal:fileExplorer.copyRichTextTitle"),children:l(c==="copied"?"terminal:fileExplorer.copied":c==="error"?"terminal:fileExplorer.copyError":"terminal:fileExplorer.copyRichText")}),f.jsx("button",{className:`file-viewer-copy-html-btn ${h}`,onClick:z,title:l("terminal:fileExplorer.copyHtmlTitle"),children:l(h==="copied"?"terminal:fileExplorer.copied":h==="error"?"terminal:fileExplorer.copyError":"terminal:fileExplorer.copyHtml")}),f.jsx("button",{className:`file-viewer-copy-html-btn ${p}`,onClick:R,title:l("terminal:fileExplorer.copyMarkdownTitle"),children:l(p==="copied"?"terminal:fileExplorer.copied":p==="error"?"terminal:fileExplorer.copyError":"terminal:fileExplorer.copyMarkdown")}),f.jsx("button",{className:`file-viewer-copy-html-btn ${g}`,onClick:G,title:l("terminal:fileExplorer.copyOriginalTitle"),children:l(g==="copied"?"terminal:fileExplorer.copied":g==="error"?"terminal:fileExplorer.copyError":"terminal:fileExplorer.copyOriginal")})]}),f.jsx("button",{className:`file-viewer-render-toggle ${i?"active":""}`,onClick:n,title:l(i?"terminal:fileExplorer.showSource":"terminal:fileExplorer.renderMarkdown"),children:i?"</>":"Aa"})]});return f.jsxs(f.Fragment,{children:[f.jsx(hO,{file:t,onRevealInTree:e,rightContent:j,editMode:O,onToggleEdit:r}),f.jsxs("div",{className:"file-viewer-content-wrapper",ref:s,children:[i?f.jsx("div",{className:"file-viewer-markdown-wrapper",children:f.jsx("div",{className:"markdown-content",ref:o,children:f.jsx(Wx,{remarkPlugins:[jx],children:t.content})})}):f.jsx("div",{className:"file-viewer-code-wrapper",children:f.jsx("pre",{className:"file-viewer-pre",children:f.jsx("code",{ref:a,className:"language-markdown",children:t.content})})}),f.jsx("div",{className:"file-viewer-scroll-indicator",title:`Line ${S.currentLine}/${S.totalLines}`,children:S.scrollPercentage===100?"END":S.scrollPercentage===0?"TOP":`${S.scrollPercentage}%`}),S.searchActive&&f.jsx(Xh,{query:S.searchQuery,onQueryChange:S.setSearchQuery,matchCount:S.searchMatches.length,currentIndex:S.currentMatchIndex,onNext:S.nextMatch,onPrev:S.prevMatch,onClose:S.clearSearch})]}),S.helpActive&&f.jsx(yh,{onClose:S.toggleHelp})]})}function O8({file:t,onRevealInTree:e,renderPlantUml:i,onToggleRender:n,editMode:O,onToggleEdit:r}){const{t:a}=Ae(["terminal"]),o=P.useRef(null),s=P.useRef(null),[l,c]=P.useState(null),[u,h]=P.useState(!1),[d,p]=P.useState(null),Q=Hm({containerRef:s,isEnabled:!0,content:t.content});P.useEffect(()=>{if(!i&&o.current){const m=xs(t.extension);Dm(m).then(()=>{o.current&&Mm(o.current)})}},[t,i]),P.useEffect(()=>{if(!i)return;if(!t.content.trim()){c(null),p("Diagram is empty");return}const m=new AbortController;return h(!0),p(null),(async()=>{try{const X=await fetch(F4,{method:"POST",headers:{"Content-Type":"text/plain; charset=utf-8",Accept:"image/svg+xml"},body:t.content,signal:m.signal});if(!X.ok)throw new Error(`Render failed (${X.status})`);const z=await X.text();if(!z.includes("<svg"))throw new Error("Invalid SVG output");c(t8(z))}catch(X){if(m.signal.aborted)return;const z=X instanceof Error?X.message:"Failed to render diagram";p(z),c(null)}finally{m.signal.aborted||h(!1)}})(),()=>m.abort()},[t.path,t.content,i]);const g=f.jsx("div",{className:"file-viewer-header-buttons",children:f.jsx("button",{className:`file-viewer-render-toggle ${i?"active":""}`,onClick:n,title:a(i?"terminal:fileExplorer.showSource":"terminal:fileExplorer.renderDiagram"),children:i?"</>":a("terminal:fileExplorer.diagram")})});return f.jsxs(f.Fragment,{children:[f.jsx(hO,{file:t,onRevealInTree:e,rightContent:g,editMode:O,onToggleEdit:r}),f.jsxs("div",{className:"file-viewer-content-wrapper",ref:s,children:[i?f.jsxs("div",{className:"file-viewer-diagram-wrapper",children:[u&&f.jsx("div",{className:"file-viewer-placeholder",children:a("terminal:fileExplorer.renderingDiagram")}),!u&&l&&f.jsx("img",{src:l,alt:t.filename,className:"file-viewer-diagram-image"}),!u&&d&&f.jsxs("div",{className:"file-viewer-diagram-error",children:[f.jsxs("div",{children:[a("terminal:fileExplorer.couldNotRender"),": ",d]}),f.jsx("button",{className:"file-viewer-render-toggle",onClick:n,children:a("terminal:fileExplorer.showSource")})]})]}):f.jsx("div",{className:"file-viewer-code-wrapper",children:f.jsx("pre",{className:"file-viewer-pre",children:f.jsx("code",{ref:o,className:"language-plaintext",children:t.content})})}),f.jsx("div",{className:"file-viewer-scroll-indicator",title:`Line ${Q.currentLine}/${Q.totalLines}`,children:Q.scrollPercentage===100?"END":Q.scrollPercentage===0?"TOP":`${Q.scrollPercentage}%`}),Q.searchActive&&f.jsx(Xh,{query:Q.searchQuery,onQueryChange:Q.setSearchQuery,matchCount:Q.searchMatches.length,currentIndex:Q.currentMatchIndex,onNext:Q.nextMatch,onPrev:Q.prevMatch,onClose:Q.clearSearch})]}),Q.helpActive&&f.jsx(yh,{onClose:Q.toggleHelp})]})}function r8({file:t,onRevealInTree:e}){const{t:i}=Ae(["common","terminal"]),n=()=>{if(t.dataUrl){const O=document.createElement("a");O.href=t.dataUrl,O.download=t.filename,O.click()}};return f.jsxs(f.Fragment,{children:[f.jsx(hO,{file:t,onRevealInTree:e,rightContent:f.jsx("button",{className:"file-viewer-download-btn",onClick:n,title:i("common:buttons.download"),children:i("common:buttons.download")})}),f.jsx("div",{className:"file-viewer-image-wrapper",children:t.dataUrl?f.jsx("img",{src:t.dataUrl,alt:t.filename,className:"file-viewer-image"}):f.jsx("div",{className:"file-viewer-placeholder",children:i("terminal:fileExplorer.failedToLoadImage")})})]})}function a8({file:t,onRevealInTree:e}){const{t:i}=Ae(["common","terminal"]),n=()=>{if(t.dataUrl){const O=document.createElement("a");O.href=t.dataUrl,O.download=t.filename,O.click()}};return f.jsxs(f.Fragment,{children:[f.jsx(hO,{file:t,onRevealInTree:e,rightContent:f.jsx("button",{className:"file-viewer-download-btn",onClick:n,title:i("common:buttons.download"),children:i("common:buttons.download")})}),f.jsx("div",{className:"file-viewer-pdf-wrapper",children:t.dataUrl?f.jsx("iframe",{src:t.dataUrl,title:t.filename,className:"file-viewer-pdf"}):f.jsx("div",{className:"file-viewer-placeholder",children:i("terminal:fileExplorer.failedToLoadPdf")})})]})}function o8({file:t,onRevealInTree:e}){const{t:i}=Ae(["terminal","common"]),n=()=>{if(t.dataUrl){const r=document.createElement("a");r.href=t.dataUrl,r.download=t.filename,r.click()}},O=()=>{const r=t.extension.toLowerCase();return[".xlsx",".xls"].includes(r)?f.jsx(te,{name:"dashboard",size:48}):[".docx",".doc"].includes(r)?f.jsx(te,{name:"edit",size:48}):[".pptx",".ppt"].includes(r)?f.jsx(te,{name:"film",size:48}):[".zip",".tar",".gz",".rar",".7z"].includes(r)?f.jsx(te,{name:"file-zip",size:48}):[".mp3",".wav",".flac",".ogg"].includes(r)?f.jsx(te,{name:"music-note",size:48}):[".mp4",".avi",".mov",".mkv",".webm"].includes(r)?f.jsx(te,{name:"film",size:48}):[".exe",".dmg",".app",".msi"].includes(r)?f.jsx(te,{name:"gear",size:48}):[".apk",".aab",".ipa"].includes(r)?f.jsx(te,{name:"mobile",size:48}):[".jar",".war",".ear"].includes(r)?f.jsx(te,{name:"coffee",size:48}):[".iso",".img"].includes(r)?f.jsx(te,{name:"disc",size:48}):[".so",".dll",".dylib"].includes(r)?f.jsx(te,{name:"wrench",size:48}):f.jsx(te,{name:"folder",size:48})};return f.jsxs(f.Fragment,{children:[f.jsx(hO,{file:t,onRevealInTree:e}),f.jsxs("div",{className:"file-viewer-binary",children:[f.jsx("div",{className:"file-viewer-binary-icon",children:O()}),f.jsx("div",{className:"file-viewer-binary-name",children:t.filename}),f.jsx("div",{className:"file-viewer-binary-size",children:Lm(t.size)}),f.jsx("div",{className:"file-viewer-binary-message",children:i("terminal:fileExplorer.cannotPreview")}),f.jsx("button",{className:"file-viewer-download-btn large",onClick:n,children:i("terminal:fileExplorer.downloadFile")})]})]})}function s8({file:t,loading:e,error:i,onRevealInTree:n,scrollToLine:O,onSearchStateChange:r,onFileEdited:a}){const{t:o}=Ae(["terminal","common"]),[s,l]=H4(),[c,u]=e8(),[h,d]=P.useState(!1);P.useEffect(()=>{d(!1)},[t==null?void 0:t.path]);const p=P.useCallback(async X=>{if(!t)return;const z=await pe($e("/api/files/write"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,content:X})});if(!z.ok){const R=await z.json().catch(()=>({error:"Save failed"}));throw new Error(R.error||"Save failed")}},[t]),Q=P.useCallback(()=>{d(X=>(X&&t&&(a==null||a(t.path)),!X))},[t,a]);if(e)return f.jsx("div",{className:"file-viewer-placeholder",children:o("common:status.loading")});if(i)return f.jsx("div",{className:"file-viewer-placeholder error",children:i});if(!t)return f.jsxs("div",{className:"file-viewer-placeholder",children:[f.jsx("div",{className:"placeholder-icon",children:f.jsx(te,{name:"folder-open",size:32})}),f.jsx("div",{className:"placeholder-text",children:o("terminal:fileExplorer.selectFileToView")})]});const g=t.fileType||"text",m=g==="text"&&K4(t.extension),S=g==="text"&&J4(t.extension);return h&&g==="text"&&t.content!=null?f.jsxs("div",{className:"file-viewer-content",children:[f.jsx(hO,{file:t,onRevealInTree:n,editMode:!0,onToggleEdit:Q}),f.jsx(P.Suspense,{fallback:f.jsx("div",{className:"file-viewer-placeholder",children:o("common:status.loading")}),children:f.jsx(D4,{content:t.content,extension:t.extension,onSave:p,onCancel:Q})})]}):f.jsxs("div",{className:"file-viewer-content",children:[g==="text"&&m&&f.jsx(n8,{file:t,onRevealInTree:n,renderMarkdown:s,onToggleRender:l,editMode:h,onToggleEdit:Q}),g==="text"&&S&&!m&&f.jsx(O8,{file:t,onRevealInTree:n,renderPlantUml:c,onToggleRender:u,editMode:h,onToggleEdit:Q}),g==="text"&&!m&&!S&&f.jsx(i8,{file:t,onRevealInTree:n,scrollToLine:O,onSearchStateChange:r,editMode:h,onToggleEdit:Q}),g==="image"&&f.jsx(r8,{file:t,onRevealInTree:n}),g==="pdf"&&f.jsx(a8,{file:t,onRevealInTree:n}),g==="binary"&&f.jsx(o8,{file:t,onRevealInTree:n})]})}const Ox=P.memo(s8,(t,e)=>t.loading!==e.loading||t.error!==e.error||t.scrollToLine!==e.scrollToLine?!1:t.file===null&&e.file===null?!0:t.file===null||e.file===null?!1:t.file.path===e.file.path&&t.file.content===e.file.content&&t.file.modified===e.file.modified);Ox.displayName="FileViewer";function rx({text:t,query:e}){if(!e)return f.jsx(f.Fragment,{children:t});const i=Cx(t,e);if(i)return f.jsxs(f.Fragment,{children:[t.slice(0,i.start),f.jsx("mark",{className:"search-highlight",children:t.slice(i.start,i.end)}),t.slice(i.end)]});const n=e.toLowerCase(),r=t.toLowerCase().indexOf(n);return r===-1?f.jsx(f.Fragment,{children:t}):f.jsxs(f.Fragment,{children:[t.slice(0,r),f.jsx("mark",{className:"search-highlight",children:t.slice(r,r+e.length)}),t.slice(r+e.length)]})}const l8=P.memo(function({node:e,query:i,isSelected:n,onSelect:O,lineNumber:r}){const a=e.isDirectory?null:Sh(e),o=e.path.split("/");o[o.length-1];const s=o.slice(0,-1).join("/");return f.jsxs("div",{className:`search-result-item ${n?"selected":""}`,onClick:()=>O(e),children:[e.isDirectory?f.jsx("span",{className:"search-result-icon",children:f.jsx(te,{name:"folder",size:14})}):a?f.jsx("span",{className:"search-result-icon",style:{backgroundImage:`url('${a}')`},role:"img","aria-label":"file icon"}):f.jsx("span",{className:"search-result-icon",children:f.jsx(te,{name:"file-text",size:14})}),f.jsxs("div",{className:"search-result-info",children:[f.jsxs("span",{className:"search-result-name",children:[f.jsx(rx,{text:e.name,query:i}),r&&f.jsxs("span",{className:"search-result-line-badge",children:[":",r]})]}),f.jsx("span",{className:"search-result-path",children:s})]})]})}),c8=P.memo(function({match:e,query:i,isSelected:n,onSelect:O}){const{t:r}=Ae(["terminal"]),a={name:e.name,path:e.path,isDirectory:!1,extension:e.extension},o=Sh(a),s=e.path.split("/"),l=s[s.length-1],c=s.slice(0,-1).join("/");return f.jsxs("div",{className:`content-search-item ${n?"selected":""}`,children:[f.jsxs("div",{className:`content-search-header ${n?"selected":""}`,onClick:()=>O(e.path),children:[o?f.jsx("span",{className:"content-search-icon",style:{backgroundImage:`url('${o}')`},role:"img","aria-label":"file icon"}):f.jsx("span",{className:"content-search-icon",children:f.jsx(te,{name:"file-text",size:14})}),f.jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:"2px"},children:[f.jsx("span",{className:"content-search-name",children:l}),f.jsx("span",{className:"search-result-path",style:{fontSize:"10px"},children:c})]}),f.jsx("span",{className:"content-search-count",children:e.matches.length})]}),f.jsxs("div",{className:"content-search-matches",children:[e.matches.slice(0,5).map((u,h)=>f.jsxs("div",{className:"content-search-match",onClick:()=>O(e.path,u.line),children:[f.jsx("span",{className:"content-search-line-num",children:u.line}),f.jsx("span",{className:"content-search-line-content",children:f.jsx(rx,{text:u.content.trim(),query:i})})]},`${e.path}-${u.line}-${h}`)),e.matches.length>5&&f.jsxs("div",{className:"content-search-match",style:{opacity:.6,cursor:"default"},children:[f.jsx("span",{className:"content-search-line-num",children:"..."}),f.jsx("span",{className:"content-search-line-content",children:r("terminal:fileExplorer.moreMatches",{count:e.matches.length-5})})]})]})]})});function u8({filenameResults:t,contentResults:e,onSelectFile:i,onSelectContent:n,selectedPath:O,query:r,lineNumber:a}){const{t:o}=Ae(["terminal"]),s=t.length>0,l=e.length>0;return!s&&!l?f.jsx("div",{className:"search-no-results",children:o("terminal:fileExplorer.noMatchesFound")}):f.jsxs("div",{className:"unified-search-results",children:[s&&f.jsxs("div",{className:"unified-search-section",children:[f.jsxs("div",{className:"unified-search-section-header",children:[f.jsx("span",{className:"unified-search-section-icon",children:f.jsx(te,{name:"file-text",size:14})}),f.jsx("span",{className:"unified-search-section-title",children:o("terminal:fileExplorer.files")}),f.jsx("span",{className:"unified-search-section-count",children:t.length})]}),f.jsx("div",{className:"unified-search-section-content",children:t.map(c=>f.jsx(l8,{node:c,query:r,isSelected:O===c.path,onSelect:i,lineNumber:a},c.path))})]}),l&&f.jsxs("div",{className:"unified-search-section",children:[f.jsxs("div",{className:"unified-search-section-header",children:[f.jsx("span",{className:"unified-search-section-icon",children:f.jsx(te,{name:"edit",size:14})}),f.jsx("span",{className:"unified-search-section-title",children:o("terminal:fileExplorer.content")}),f.jsx("span",{className:"unified-search-section-count",children:o("terminal:fileExplorer.matchesInFiles",{matches:e.reduce((c,u)=>c+u.matches.length,0),files:e.length})})]}),f.jsx("div",{className:"unified-search-section-content",children:e.map(c=>f.jsx(c8,{match:c,query:r,isSelected:O===c.path,onSelect:n},c.path))})]})]})}const ax=P.memo(u8,(t,e)=>!(t.query!==e.query||t.selectedPath!==e.selectedPath||t.filenameResults.length!==e.filenameResults.length||t.contentResults.length!==e.contentResults.length));ax.displayName="UnifiedSearchResults";const h8=P.memo(function({file:e,isSelected:i,onSelect:n,onStage:O,isStaging:r,showDirPath:a,isChecked:o,onToggleCheck:s,onContextMenu:l,onDiscard:c}){const{t:u}=Ae(["terminal"]),h=e.status,d=da[h],p=h==="deleted",Q=h==="untracked"&&O,g=e.name.includes(".")?"."+e.name.split(".").pop():"",m=a&&e.path.includes("/")?e.path.slice(0,e.path.lastIndexOf("/")):"";return f.jsxs("div",{className:`git-file-item ${i?"selected":""}`,onClick:()=>!p&&n(e.path,h),onContextMenu:S=>{S.preventDefault(),l==null||l(S,e,h)},style:{cursor:p?"not-allowed":"pointer"},title:e.path,children:[s&&f.jsx("input",{type:"checkbox",className:"git-file-checkbox",checked:o||!1,onChange:S=>{S.stopPropagation(),s(e.path)},onClick:S=>S.stopPropagation()}),f.jsx("img",{className:"tree-icon",src:fa(g),alt:"file"}),f.jsxs("span",{className:"git-file-name",children:[e.name,m&&f.jsx("span",{className:"git-file-dir",children:m})]}),f.jsx("span",{className:"git-file-status",style:{color:d.color},children:d.icon}),e.oldPath&&f.jsxs("span",{className:"git-file-renamed",children:[f.jsx(te,{name:"subitem",size:10,style:{transform:"rotate(180deg)"}})," ",e.oldPath.split("/").pop()]}),Q&&f.jsx("button",{className:`git-stage-btn ${r?"staging":""}`,onClick:S=>{S.stopPropagation(),r||O(e.path)},title:u("terminal:fileExplorer.stageFile"),disabled:r,children:r?"...":"+"}),c&&f.jsx("button",{className:"git-discard-btn",onClick:S=>{S.stopPropagation(),c(e,h)},title:h==="untracked"||h==="added"?"Delete file":"Discard changes",children:f.jsx(te,{name:"revert",size:12})})]})}),f8=16,d8=22,$8=P.memo(function t({node:e,depth:i,expandedDirs:n,onToggleDir:O,selectedPath:r,onSelect:a,onStage:o,stagingPaths:s,checkedFiles:l,onToggleCheck:c,onContextMenu:u,onDirContextMenu:h,onDiscard:d}){const{t:p}=Ae(["terminal"]),Q=i*f8;if(!e.isDirectory){const m=e.file.status,S=da[m];return f.jsxs("div",{className:`git-file-item ${r===e.path?"selected":""}`,onClick:()=>m!=="deleted"&&a(e.file.path,m),onContextMenu:X=>{X.preventDefault(),u==null||u(X,e.file,m)},style:{paddingLeft:`${Q+d8}px`,cursor:m==="deleted"?"not-allowed":"pointer"},title:e.file.path,children:[c&&f.jsx("input",{type:"checkbox",className:"git-file-checkbox",checked:(l==null?void 0:l.has(e.file.path))||!1,onChange:X=>{X.stopPropagation(),c(e.file.path)},onClick:X=>X.stopPropagation()}),f.jsx("img",{className:"tree-icon",src:fa(e.file.name.includes(".")?"."+e.file.name.split(".").pop():""),alt:"file"}),f.jsx("span",{className:"git-file-name",children:e.file.name}),f.jsx("span",{className:"git-file-status",style:{color:S.color},children:S.icon}),e.file.oldPath&&f.jsxs("span",{className:"git-file-renamed",children:[f.jsx(te,{name:"subitem",size:10,style:{transform:"rotate(180deg)"}})," ",e.file.oldPath.split("/").pop()]}),m==="untracked"&&o&&f.jsx("button",{className:`git-stage-btn ${s!=null&&s.has(e.path)?"staging":""}`,onClick:X=>{X.stopPropagation(),s!=null&&s.has(e.path)||o(e.file.path)},title:p("terminal:fileExplorer.stageFile"),disabled:s==null?void 0:s.has(e.path),children:s!=null&&s.has(e.path)?"...":"+"}),d&&f.jsx("button",{className:"git-discard-btn",onClick:X=>{X.stopPropagation(),d(e.file,m)},title:m==="untracked"||m==="added"?"Delete file":"Discard changes",children:f.jsx(te,{name:"revert",size:12})})]})}const g=n.has(e.path);return f.jsxs("div",{className:"tree-node-wrapper",children:[f.jsxs("div",{className:`tree-node directory ${g?"expanded":""}`,style:{paddingLeft:`${Q}px`},onClick:()=>O(e.path),onContextMenu:m=>{m.preventDefault(),m.stopPropagation(),h==null||h(m,e)},children:[f.jsx("span",{className:`tree-arrow ${g?"expanded":""}`,children:f.jsx(te,{name:"caret-right",size:10})}),f.jsx("img",{className:"tree-folder-icon",src:g?"/assets/vscode-icons/default_folder_opened.svg":"/assets/vscode-icons/default_folder.svg",alt:"folder"}),f.jsx("span",{className:"tree-name",children:e.name}),f.jsx("span",{className:"git-tree-file-count",children:p("terminal:fileExplorer.fileCount",{count:e.fileCount})})]}),g&&f.jsx("div",{className:"tree-children",children:e.children.map(m=>f.jsx(t,{node:m,depth:i+1,expandedDirs:n,onToggleDir:O,selectedPath:r,onSelect:a,onStage:o,stagingPaths:s,checkedFiles:l,onToggleCheck:c,onContextMenu:u,onDirContextMenu:h,onDiscard:d},m.path))})]})}),Gc=P.memo(function({groupLabel:e,groupIcon:i,groupColor:n,files:O,treeNodes:r,viewMode:a,selectedPath:o,expandedDirs:s,onToggleDir:l,onFileSelect:c,onStageFile:u,onStageAll:h,stagingPaths:d,checkedFiles:p,onToggleCheck:Q,onContextMenu:g,onDirContextMenu:m,onDiscardFile:S,onDiscardAll:X}){const{t:z}=Ae(["terminal"]);if(O.length===0)return null;const R=O.some(C=>C.status==="untracked"),G=R&&h&&O.length>0,j=d?O.every(C=>d.has(C.path)):!1;return f.jsxs("div",{className:"git-status-group",children:[f.jsxs("div",{className:"git-status-group-header",style:{color:n},children:[f.jsx("span",{className:"git-status-badge",style:{background:n},children:i}),e," (",O.length,")",G&&f.jsx("button",{className:`git-stage-all-btn ${j?"staging":""}`,onClick:C=>{C.stopPropagation(),j||h()},title:z("terminal:fileExplorer.stageAllUntracked"),disabled:j,children:j?"...":z("terminal:fileExplorer.stageAll")}),X&&f.jsxs("button",{className:"git-discard-all-btn",onClick:C=>{C.stopPropagation(),X()},title:R?`Delete all ${O.length} files`:`Discard all ${O.length} changes`,children:[f.jsx(te,{name:"revert",size:12})," All"]})]}),a==="tree"?f.jsx("div",{className:"git-tree-content",children:r.map(C=>f.jsx($8,{node:C,depth:0,expandedDirs:s,onToggleDir:l,selectedPath:o,onSelect:c,onStage:u,stagingPaths:d,checkedFiles:p,onToggleCheck:Q,onContextMenu:g,onDirContextMenu:m,onDiscard:S},C.path))}):f.jsx("div",{className:"git-flat-content",children:O.map(C=>f.jsx(h8,{file:C,isSelected:o===C.path,onSelect:c,onStage:C.status==="untracked"?u:void 0,isStaging:d==null?void 0:d.has(C.path),showDirPath:!0,isChecked:p==null?void 0:p.has(C.path),onToggleCheck:Q,onContextMenu:g,onDiscard:S},C.path))})]})});function p8({gitStatus:t,loading:e,onFileSelect:i,selectedPath:n,onRefresh:O,onStageFiles:r,stagingPaths:a,currentFolder:o,onCommitComplete:s,mergeInProgress:l,mergingBranch:c,onMergeContinue:u,onMergeAbort:h,onConflictOpen:d,onRevealInTree:p}){const{t:Q}=Ae(["terminal","common"]),[g,m]=P.useState("tree"),[S,X]=P.useState(new Set),[z,R]=P.useState(""),[G,j]=P.useState(""),[C,D]=P.useState(!1),[V,v]=P.useState(new Set),[_,w]=P.useState(!1),[b,k]=P.useState(null),Y=P.useRef(null),{showToast:x}=Bm(),[E,q]=P.useState(null),[W,M]=P.useState(null),[ae,ze]=P.useState(null),Te=P.useCallback((N,J)=>{ze({files:[N],label:N.name})},[]),T=P.useCallback(async()=>{if(!(!ae||!o))try{const N=await pe($e("/api/files/git-discard"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:ae.files.map(oe=>({path:oe.path,status:oe.status})),directory:o})}),J=await N.json();N.ok&&J.success?(x("success","Discarded",`Reverted ${ae.files.length} file(s)`),O()):x("error","Discard Failed",J.error||"Could not discard changes")}catch{x("error","Discard Failed","Network error")}finally{ze(null)}},[ae,o,O,x]),se=P.useCallback((N,J,oe)=>{N.preventDefault(),N.stopPropagation(),q({isOpen:!0,position:{x:N.clientX,y:N.clientY},file:J,status:oe})},[]),qe=P.useCallback(async(N,J)=>{if(o)try{const oe=await pe($e("/api/files/git-discard"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:[{path:N.path,status:J}],directory:o})}),qt=await oe.json();oe.ok&&qt.success?(x("success","Discarded",`Restored ${N.name}`),O()):x("error","Discard Failed",qt.error||"Could not discard changes")}catch{x("error","Discard Failed","Network error")}},[o,O,x]),De=P.useCallback(async N=>{try{await navigator.clipboard.writeText(N),x("success","Copied","Full path copied")}catch{x("error","Copy Failed","Could not copy path")}},[x]),le=P.useCallback(async N=>{const J=o&&N.startsWith(o+"/")?N.slice(o.length+1):N;try{await navigator.clipboard.writeText(J),x("success","Copied","Relative path copied")}catch{x("error","Copy Failed","Could not copy path")}},[o,x]),I=P.useMemo(()=>{if(!E)return[];const{file:N,status:J}=E,oe=[];return J==="conflict"&&d?oe.push({id:"open-conflict",label:Q("terminal:fileExplorer.gitContextMenu.openConflictResolver"),icon:f.jsx(te,{name:"warn",size:14}),onClick:()=>d(N.path)}):J!=="deleted"&&oe.push({id:"open-file",label:Q("terminal:fileExplorer.gitContextMenu.openFile"),icon:f.jsx(te,{name:"file-text",size:14}),onClick:()=>i(N.path,J)}),J!=="conflict"&&oe.push({id:"stage-file",label:Q("terminal:fileExplorer.gitContextMenu.stageFile"),icon:f.jsx(te,{name:"plus",size:14}),onClick:()=>{r([N.path])}}),oe.push({id:"divider-1",label:"",divider:!0,onClick:()=>{}}),(J==="modified"||J==="deleted"||J==="renamed"||J==="conflict")&&oe.push({id:"discard-changes",label:Q("terminal:fileExplorer.gitContextMenu.discardChanges"),icon:f.jsx(te,{name:"revert",size:14}),danger:!0,onClick:()=>{qe(N,J)}}),(J==="untracked"||J==="added")&&oe.push({id:"delete-file",label:Q("terminal:fileExplorer.gitContextMenu.deleteFile"),icon:f.jsx(te,{name:"trash",size:14}),danger:!0,onClick:()=>{qe(N,J)}}),oe.push({id:"divider-2",label:"",divider:!0,onClick:()=>{}}),oe.push({id:"copy-full-path",label:Q("terminal:fileExplorer.gitContextMenu.copyFullPath"),icon:f.jsx(te,{name:"pin",size:14}),onClick:()=>{De(N.path)}}),oe.push({id:"copy-relative-path",label:Q("terminal:fileExplorer.gitContextMenu.copyRelativePath"),icon:f.jsx(te,{name:"clipboard",size:14}),onClick:()=>{le(N.path)}}),p&&J!=="deleted"&&oe.push({id:"reveal-in-tree",label:Q("terminal:fileExplorer.gitContextMenu.revealInTree"),icon:f.jsx(te,{name:"target",size:14}),onClick:()=>p(N.path)}),oe},[E,i,r,d,p,qe,De,le,Q]),Qe=P.useCallback((N,J)=>{N.preventDefault(),N.stopPropagation(),M({isOpen:!0,position:{x:N.clientX,y:N.clientY},node:J})},[]),ve=P.useCallback(N=>!N.isDirectory&&N.file?[N.file]:N.children.flatMap(J=>ve(J)),[]),zt=P.useCallback(async N=>{if(!o)return;const J=ve(N);if(J.length!==0)try{const oe=await pe($e("/api/files/git-discard"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:J.map(ii=>({path:ii.path,status:ii.status})),directory:o})}),qt=await oe.json();oe.ok&&qt.success?(x("success","Discarded",`Reverted ${J.length} file(s) in ${N.name}`),O()):x("error","Discard Failed",qt.error||"Could not discard changes")}catch{x("error","Discard Failed","Network error")}},[o,ve,O,x]),dt=P.useMemo(()=>{if(!W)return[];const{node:N}=W,J=ve(N);return[{id:"discard-dir",label:`Discard Changes (${J.length} files)`,icon:f.jsx(te,{name:"revert",size:14}),danger:!0,onClick:()=>{zt(N)}},{id:"stage-dir",label:`Stage All (${J.length} files)`,icon:f.jsx(te,{name:"plus",size:14}),onClick:()=>{r(J.map(oe=>oe.path))}}]},[W,ve,zt,r]),ue=P.useCallback(N=>{X(J=>{const oe=new Set(J);return oe.has(N)?oe.delete(N):oe.add(N),oe})},[]),{conflictFiles:Ue,conflictTree:$t,changesFiles:et,changesTree:fO,untrackedFiles:It,untrackedTree:ll,allDirPaths:xn}=P.useMemo(()=>{if(!t||!t.isGitRepo||t.files.length===0)return{conflictFiles:[],conflictTree:[],changesFiles:[],changesTree:[],untrackedFiles:[],untrackedTree:[],allDirPaths:new Set};const N=new Set,J=t.files.filter(Lt=>Lt.status==="conflict"),oe=go(J);Po(oe,N);const qt=t.files.filter(Lt=>Lt.status==="modified"||Lt.status==="added"||Lt.status==="deleted"||Lt.status==="renamed"),ii=go(qt);Po(ii,N);const ar=t.files.filter(Lt=>Lt.status==="untracked"),Ya=go(ar);return Po(Ya,N),{conflictFiles:J,conflictTree:oe,changesFiles:qt,changesTree:ii,untrackedFiles:ar,untrackedTree:Ya,allDirPaths:N}},[t]);P.useEffect(()=>{X(xn)},[xn]),P.useEffect(()=>{t!=null&&t.files&&v(new Set(t.files.map(N=>N.path)))},[t==null?void 0:t.files]);const cl=P.useCallback(()=>{et.length!==0&&ze({files:et,label:`${et.length} changed files`})},[et]),dO=P.useCallback(()=>{It.length!==0&&ze({files:It,label:`${It.length} unversioned files`})},[It]),ul=P.useCallback(()=>{Ue.length!==0&&ze({files:Ue,label:`${Ue.length} conflicted files`})},[Ue]),$O=Ue.length>0;P.useEffect(()=>{if(b){const N=b.type==="error"?8e3:4e3,J=setTimeout(()=>k(null),N);return()=>clearTimeout(J)}},[b]);const _a=P.useCallback(async()=>{const N=!C;if(D(N),N&&o){j(z);try{const oe=await(await pe($e(`/api/files/git-log-message?path=${encodeURIComponent(o)}`))).json();oe.message&&R(oe.message)}catch{}}else R(G)},[C,o,z,G]),xt=P.useCallback(N=>{v(J=>{const oe=new Set(J);return oe.has(N)?oe.delete(N):oe.add(N),oe})},[]),hl=P.useCallback(()=>{if(!(t!=null&&t.files))return;const N=t.files.map(oe=>oe.path),J=N.every(oe=>V.has(oe));v(J?new Set:new Set(N))},[t==null?void 0:t.files,V]),wt=P.useCallback(async N=>{if(!(!o||!z.trim()||V.size===0||_)){w(!0),k(null);try{const J=await pe($e("/api/files/git-commit"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:o,message:z.trim(),amend:C,paths:Array.from(V)})}),oe=await J.json();if(!J.ok||!oe.success){k({type:"error",text:oe.error||"Commit failed"}),w(!1);return}if(N)try{const qt=await pe($e("/api/files/git-push"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:o})}),ii=await qt.json();qt.ok&&ii.success?k({type:"success",text:Q("terminal:fileExplorer.committedAndPushed")}):k({type:"error",text:Q("terminal:fileExplorer.committedButPushFailed",{error:ii.error||"Unknown error"})})}catch{k({type:"error",text:Q("terminal:fileExplorer.committedButPushFailed",{error:"Network error"})})}else k({type:"success",text:Q("terminal:fileExplorer.committedSuccessfully")});R(""),j(""),D(!1),O(),s==null||s()}catch(J){k({type:"error",text:J.message||"Commit failed"})}finally{w(!1)}}},[o,z,C,V,_,O,s]);if(e)return f.jsx("div",{className:"git-changes-loading",children:Q("terminal:fileExplorer.loadingGitStatus")});if(!t||!t.isGitRepo)return f.jsxs("div",{className:"git-changes-empty",children:[f.jsx("div",{className:"git-empty-icon",children:f.jsx(te,{name:"package",size:32})}),f.jsx("div",{className:"git-empty-text",children:Q("terminal:fileExplorer.notGitRepo")})]});if(t.files.length===0)return f.jsxs("div",{className:"git-changes-empty",children:[f.jsx("div",{className:"git-empty-icon",children:f.jsx(te,{name:"sparkle",size:32})}),f.jsx("div",{className:"git-empty-text",children:Q("terminal:fileExplorer.workingTreeClean")}),f.jsx("div",{className:"git-empty-branch",children:Q("terminal:fileExplorer.onBranch",{branch:t.branch})})]});const Ra=N=>{r([N])},pO=()=>{const N=It.map(J=>J.path);N.length>0&&r(N)},di=(N,J)=>{J==="conflict"&&d?d(N):i(N,J)};return f.jsxs("div",{className:"git-changes",children:[f.jsxs("div",{className:"git-changes-header",children:[f.jsxs("span",{className:"git-branch",children:[f.jsx("span",{className:"git-branch-icon",children:f.jsx(te,{name:"git-branch",size:12})}),t.branch]}),t.counts&&f.jsxs("div",{className:"git-changes-summary",children:[(t.counts.conflict??0)>0&&f.jsxs("span",{className:"git-count conflict",children:[t.counts.conflict,"C"]}),t.counts.modified>0&&f.jsxs("span",{className:"git-count modified",children:[t.counts.modified,"M"]}),t.counts.added>0&&f.jsxs("span",{className:"git-count added",children:[t.counts.added,"A"]}),t.counts.deleted>0&&f.jsxs("span",{className:"git-count deleted",children:[t.counts.deleted,"D"]}),t.counts.untracked>0&&f.jsxs("span",{className:"git-count untracked",children:[t.counts.untracked,"?"]})]}),f.jsxs("div",{className:"git-view-toggle",children:[f.jsx("button",{className:`git-view-toggle-btn ${g==="flat"?"active":""}`,onClick:()=>m("flat"),title:Q("terminal:fileExplorer.flatList"),children:f.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:[f.jsx("rect",{x:"2",y:"3",width:"12",height:"1.5",rx:"0.5"}),f.jsx("rect",{x:"2",y:"7",width:"12",height:"1.5",rx:"0.5"}),f.jsx("rect",{x:"2",y:"11",width:"12",height:"1.5",rx:"0.5"})]})}),f.jsx("button",{className:`git-view-toggle-btn ${g==="tree"?"active":""}`,onClick:()=>m("tree"),title:Q("terminal:fileExplorer.directoryTree"),children:f.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:[f.jsx("rect",{x:"1",y:"2",width:"6",height:"1.5",rx:"0.5"}),f.jsx("rect",{x:"4",y:"5.5",width:"8",height:"1.5",rx:"0.5"}),f.jsx("rect",{x:"4",y:"9",width:"8",height:"1.5",rx:"0.5"}),f.jsx("rect",{x:"7",y:"12.5",width:"7",height:"1.5",rx:"0.5"})]})})]}),f.jsx("button",{className:"git-refresh-btn",onClick:O,title:Q("common:buttons.refresh"),children:f.jsx(te,{name:"refresh",size:12})})]}),l&&f.jsxs("div",{className:"git-merge-banner",children:[f.jsx("span",{className:"git-merge-banner-icon",children:"⚠"}),f.jsx("span",{className:"git-merge-banner-text",children:Q("terminal:fileExplorer.mergeInProgress",{branch:c?` (${c})`:""})}),f.jsxs("div",{className:"git-merge-actions",children:[f.jsx("button",{className:"git-merge-continue-btn",onClick:u,disabled:$O,title:Q($O?"terminal:fileExplorer.resolveAllConflictsFirst":"terminal:fileExplorer.continueMerge"),children:Q("terminal:fileExplorer.continue")}),f.jsx("button",{className:"git-merge-abort-btn",onClick:h,title:Q("terminal:fileExplorer.abortMerge"),children:Q("terminal:fileExplorer.abort")})]})]}),f.jsxs("div",{className:"git-changes-list",children:[f.jsx(Gc,{groupLabel:Q("terminal:fileExplorer.gitGroups.conflicts"),groupIcon:"C",groupColor:"#ff5555",files:Ue,treeNodes:$t,viewMode:g,selectedPath:n,expandedDirs:S,onToggleDir:ue,onFileSelect:di,checkedFiles:V,onToggleCheck:xt,onContextMenu:se,onDirContextMenu:Qe,onDiscardFile:Te,onDiscardAll:ul}),f.jsx(Gc,{groupLabel:Q("terminal:fileExplorer.gitGroups.changes"),groupIcon:"~",groupColor:"#c89a5a",files:et,treeNodes:fO,viewMode:g,selectedPath:n,expandedDirs:S,onToggleDir:ue,onFileSelect:di,checkedFiles:V,onToggleCheck:xt,onContextMenu:se,onDirContextMenu:Qe,onDiscardFile:Te,onDiscardAll:cl}),f.jsx(Gc,{groupLabel:Q("terminal:fileExplorer.gitGroups.unversioned"),groupIcon:"?",groupColor:"#6ab8c8",files:It,treeNodes:ll,viewMode:g,selectedPath:n,expandedDirs:S,onToggleDir:ue,onFileSelect:di,onStageFile:Ra,onStageAll:pO,stagingPaths:a,checkedFiles:V,onToggleCheck:xt,onContextMenu:se,onDirContextMenu:Qe,onDiscardFile:Te,onDiscardAll:dO})]}),f.jsxs("div",{className:"git-commit-panel",children:[f.jsxs("div",{className:"git-commit-options",children:[f.jsxs("label",{className:"git-commit-amend-label",children:[f.jsx("input",{type:"checkbox",className:"git-commit-amend-checkbox",checked:C,onChange:_a}),Q("terminal:fileExplorer.amend")]}),f.jsx("span",{className:"git-commit-file-count",children:Q("terminal:fileExplorer.fileCount",{count:V.size})}),f.jsx("button",{className:"git-commit-select-toggle",onClick:hl,title:V.size===t.files.length?Q("terminal:fileExplorer.deselectAll"):Q("terminal:fileExplorer.selectAll"),children:V.size===t.files.length?Q("terminal:fileExplorer.deselectAll"):Q("terminal:fileExplorer.selectAll")})]}),f.jsx("textarea",{ref:Y,className:"git-commit-message",placeholder:Q("terminal:fileExplorer.commitMessagePlaceholder"),value:z,onChange:N=>R(N.target.value),onKeyDown:N=>{(N.metaKey||N.ctrlKey)&&N.key==="Enter"&&(N.preventDefault(),wt(!1)),(N.metaKey||N.ctrlKey)&&N.shiftKey&&N.key==="Enter"&&(N.preventDefault(),wt(!0)),N.stopPropagation()},rows:3,disabled:_}),b&&f.jsx("div",{className:`git-commit-status ${b.type}`,children:b.text}),f.jsxs("div",{className:"git-commit-actions",children:[f.jsx("button",{className:"git-commit-btn",onClick:()=>wt(!1),disabled:!z.trim()||V.size===0||_,title:Q("terminal:fileExplorer.commitCtrlEnter"),children:Q(_?"terminal:fileExplorer.committing":"terminal:fileExplorer.commitAction")}),f.jsx("button",{className:"git-commit-push-btn",onClick:()=>wt(!0),disabled:!z.trim()||V.size===0||_,title:Q("terminal:fileExplorer.commitAndPushCtrlShiftEnter"),children:_?"...":Q("terminal:fileExplorer.commitAndPush")})]})]}),E&&f.jsx(jo,{isOpen:E.isOpen,position:E.position,worldPosition:{x:0,z:0},actions:I,onClose:()=>q(null)}),W&&f.jsx(jo,{isOpen:W.isOpen,position:W.position,worldPosition:{x:0,z:0},actions:dt,onClose:()=>M(null)}),ae&&f.jsx("div",{className:"git-discard-confirm-overlay",onClick:()=>ze(null),children:f.jsxs("div",{className:"git-discard-confirm",onClick:N=>N.stopPropagation(),children:[f.jsx("p",{children:ae.files.some(N=>N.status==="untracked"||N.status==="added")?f.jsxs(f.Fragment,{children:["Delete ",f.jsx("strong",{children:ae.label}),"?"]}):f.jsxs(f.Fragment,{children:["Discard changes to ",f.jsx("strong",{children:ae.label}),"?"]})}),f.jsx("p",{className:"git-discard-confirm-hint",children:"This cannot be undone."}),f.jsxs("div",{className:"git-discard-confirm-actions",children:[f.jsx("button",{className:"git-discard-confirm-cancel",onClick:()=>ze(null),children:"Cancel"}),f.jsx("button",{className:"git-discard-confirm-btn",onClick:T,children:ae.files.some(N=>N.status==="untracked"||N.status==="added")?"Delete":"Discard"})]})]})})]})}const ox=P.memo(p8,(t,e)=>t.loading!==e.loading||t.selectedPath!==e.selectedPath||t.stagingPaths!==e.stagingPaths||t.currentFolder!==e.currentFolder||t.mergeInProgress!==e.mergeInProgress||t.mergingBranch!==e.mergingBranch?!1:t.gitStatus===null&&e.gitStatus===null?!0:!(t.gitStatus===null||e.gitStatus===null||t.gitStatus.isGitRepo!==e.gitStatus.isGitRepo||t.gitStatus.branch!==e.gitStatus.branch||t.gitStatus.files.length!==e.gitStatus.files.length||t.gitStatus.mergeInProgress!==e.gitStatus.mergeInProgress));ox.displayName="GitChanges";const Q8=P.memo(function({tab:e,isActive:i,onSelect:n,onClose:O}){const{t:r}=Ae(["terminal"]),a={name:e.filename,path:e.path,isDirectory:!1,extension:e.extension},o=P.useCallback(()=>{n(e.path)},[n,e.path]),s=P.useCallback(c=>{c.button===1&&(c.preventDefault(),c.stopPropagation(),O(e.path))},[O,e.path]),l=P.useCallback(c=>{c.preventDefault(),c.stopPropagation(),O(e.path)},[O,e.path]);return f.jsxs("div",{className:`file-tab ${i?"active":""}`,onClick:o,onMouseDown:s,title:e.path,children:[f.jsx("img",{className:"file-tab-icon",src:Sh(a),alt:"file"}),f.jsx("span",{className:"file-tab-name",children:e.filename}),f.jsx("button",{className:"file-tab-close",onClick:l,title:r("terminal:fileExplorer.closeMiddleClick"),children:"×"})]})});function m8({tabs:t,activeTabPath:e,onSelectTab:i,onCloseTab:n}){return t.length===0?null:f.jsx("div",{className:"file-tabs-bar",children:f.jsx("div",{className:"file-tabs-container",children:t.map(O=>f.jsx(Q8,{tab:O,isActive:e===O.path,onSelect:i,onClose:n},O.path))})})}const sx=P.memo(m8,(t,e)=>{if(t.activeTabPath!==e.activeTabPath||t.tabs.length!==e.tabs.length)return!1;for(let i=0;i<t.tabs.length;i++)if(t.tabs[i].path!==e.tabs[i].path)return!1;return!0});sx.displayName="FileTabs";const g8=P.memo(function({currentFolder:e,gitStatus:i,onBranchChanged:n,onMerge:O,onCompare:r,onPullConflicts:a}){const{t:o}=Ae(["terminal","common"]),[s,l]=P.useState(!1),[c,u]=P.useState(""),[h,d]=P.useState(!1),[p,Q]=P.useState(""),[g,m]=P.useState(!1),[S,X]=P.useState(null),[z,R]=P.useState(null),G=P.useRef(null),j=P.useRef(null),C=P.useRef(null),{branches:D,loading:V,operationInProgress:v,loadBranches:_,checkoutBranch:w,createBranch:b,pullFromRemote:k,pushToRemote:Y}=bh();P.useEffect(()=>{s&&e&&(_(e),setTimeout(()=>{var I;return(I=j.current)==null?void 0:I.focus()},50)),s||(u(""),d(!1),Q(""),X(null))},[s,e,_]),P.useEffect(()=>{if(S){const I=S.type==="error"?8e3:3e3,Qe=setTimeout(()=>X(null),I);return()=>clearTimeout(Qe)}},[S]),P.useEffect(()=>{h&&setTimeout(()=>{var I;return(I=C.current)==null?void 0:I.focus()},50)},[h]),P.useEffect(()=>{if(!s)return;const I=ve=>{const zt=ve.target;!zt.closest(".branch-widget-selector")&&!zt.closest(".branch-widget-dropdown")&&l(!1)},Qe=ve=>{ve.key==="Escape"&&(ve.preventDefault(),ve.stopPropagation(),l(!1))};return document.addEventListener("click",I),document.addEventListener("keydown",Qe,!0),()=>{document.removeEventListener("click",I),document.removeEventListener("keydown",Qe,!0)}},[s]);const x=P.useCallback(async I=>{if(!e||v||I.isCurrent)return;const Qe=await w(e,I.name);Qe.success?(X({type:"success",text:o("terminal:fileExplorer.switchedToBranch",{branch:Qe.branch||I.name})}),n(),_(e)):X({type:"error",text:Qe.error||o("terminal:fileExplorer.checkoutFailed")})},[e,v,w,n,_]),E=P.useCallback(async()=>{if(!e||!p.trim()||v)return;const I=await b(e,p.trim());I.success?(X({type:"success",text:o("terminal:fileExplorer.createdBranch",{branch:I.branch})}),d(!1),Q(""),n(),_(e)):X({type:"error",text:I.error||o("terminal:fileExplorer.createBranchFailed")})},[e,p,v,b,n,_]),q=P.useCallback(async()=>{if(!e||v)return;const I=await k(e);I.success?(I.stashConflicts&&I.stashConflicts.length>0?(X({type:"error",text:`Pull succeeded but stash pop had conflicts: ${I.stashConflicts.length} file(s). Resolve manually.`}),a==null||a(I.stashConflicts),l(!1)):I.stashed?X({type:"success",text:"Pull complete. Local changes were auto-stashed and restored."}):X({type:"success",text:o("terminal:fileExplorer.pullComplete")}),n(),_(e)):I.conflicts&&I.conflicts.length>0?(X({type:"error",text:`Pull conflicts: ${I.conflicts.length} file(s)`}),a==null||a(I.conflicts),l(!1)):X({type:"error",text:I.error||o("terminal:fileExplorer.pullFailed")})},[e,v,k,n,_,a]),W=P.useCallback(async()=>{if(!e||v)return;const I=await Y(e);I.success?X({type:"success",text:o("terminal:fileExplorer.pushComplete")}):X({type:"error",text:I.error||o("terminal:fileExplorer.pushFailed")})},[e,v,Y]),[M,ae]=P.useState(!1),ze=P.useCallback(async()=>{if(!(!e||v||M)){ae(!0);try{const I=await pe($e("/api/files/git-fetch"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(I.ok)X({type:"success",text:"Fetch complete"}),n(),_(e);else{const Qe=await I.json().catch(()=>({error:"Fetch failed"}));X({type:"error",text:Qe.error||"Fetch failed"})}}catch{X({type:"error",text:"Fetch failed"})}finally{ae(!1)}}},[e,v,M,n,_]),Te=(i==null?void 0:i.branch)||"unknown",T=!!v,se=P.useCallback((I,Qe)=>{Qe.isCurrent||(I.preventDefault(),I.stopPropagation(),R({isOpen:!0,position:{x:I.clientX,y:I.clientY},branch:Qe.name}))},[]),qe=P.useMemo(()=>{if(!z)return[];const I=!!v||(i==null?void 0:i.mergeInProgress);return[{id:"compare",label:o("terminal:fileExplorer.showDiffWith",{branch:z.branch}),icon:f.jsx(te,{name:"arrows-horizontal",size:14}),disabled:!!v,onClick:()=>{r==null||r(z.branch),l(!1)}},{id:"merge",label:o("terminal:fileExplorer.mergeInto",{source:z.branch,target:Te}),icon:"⤵",disabled:!!I,onClick:()=>{O&&O(z.branch),l(!1)}},{id:"divider-1",label:"",divider:!0,onClick:()=>{}},{id:"checkout",label:o("terminal:fileExplorer.checkoutBranch",{branch:z.branch}),icon:f.jsx(te,{name:"git-branch",size:14}),disabled:!!v,onClick:()=>{const Qe=D.find(ve=>ve.name===z.branch);Qe&&x(Qe)}}]},[z,v,i==null?void 0:i.mergeInProgress,Te,O,r,D,x]),De=P.useMemo(()=>{const I=D.filter(ve=>!ve.isRemote);if(!c)return I;const Qe=c.toLowerCase();return I.filter(ve=>ve.name.toLowerCase().includes(Qe))},[D,c]),le=P.useMemo(()=>{const I=D.filter(ve=>ve.isRemote);if(!c)return I;const Qe=c.toLowerCase();return I.filter(ve=>ve.name.toLowerCase().includes(Qe))},[D,c]);return f.jsxs("div",{className:"branch-widget",style:{position:"relative"},children:[f.jsxs("div",{className:"branch-widget-selector",onClick:I=>{I.stopPropagation(),l(!s)},title:`Branch: ${Te}`,children:[f.jsx("svg",{className:"branch-widget-icon",width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:f.jsx("path",{d:"M5 3.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm0 2.122a2.25 2.25 0 1 0-1 0v1.836A2.25 2.25 0 0 0 5.75 9.5h1.378a2.251 2.251 0 1 0 0-1H5.75a1.25 1.25 0 0 1-1.25-1.25V5.372Zm7.75 4.878a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3-8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"})}),f.jsx("span",{className:"branch-widget-name",children:Te}),f.jsx("span",{className:"branch-widget-arrow",children:"▼"})]}),s&&f.jsxs("div",{className:"branch-widget-dropdown",ref:G,children:[f.jsx("div",{className:"branch-widget-search",children:f.jsx("input",{ref:j,type:"text",className:"branch-widget-search-input",placeholder:o("terminal:fileExplorer.searchBranches"),value:c,onChange:I=>u(I.target.value),onKeyDown:I=>I.stopPropagation()})}),S&&f.jsx("div",{className:`branch-widget-status ${S.type}`,children:S.text}),f.jsx("div",{className:"branch-widget-section-header",children:o("terminal:fileExplorer.actions")}),f.jsxs("div",{className:"branch-widget-actions",children:[f.jsxs("div",{className:`branch-widget-action-item ${T||M?"disabled":""}`,onClick:ze,children:[f.jsx("span",{className:"branch-widget-action-icon",children:f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:f.jsx("path",{d:"M8 13l-3-3h2V6h2v4h2l-3 3zM8 3l3 3h-2v4H7V6H5l3-3z"})})}),f.jsx("span",{className:"branch-widget-action-label",children:M?"Fetching...":"Fetch"})]}),f.jsxs("div",{className:`branch-widget-action-item ${T?"disabled":""}`,onClick:q,children:[f.jsx("span",{className:"branch-widget-action-icon",children:f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:f.jsx("path",{d:"M8 12l-4-4h2.5V3h3v5H12L8 12z"})})}),f.jsx("span",{className:"branch-widget-action-label",children:o(v==="pull"?"terminal:fileExplorer.pulling":"terminal:fileExplorer.pull")})]}),f.jsxs("div",{className:`branch-widget-action-item ${T?"disabled":""}`,onClick:W,children:[f.jsx("span",{className:"branch-widget-action-icon",children:f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:f.jsx("path",{d:"M8 4l4 4h-2.5v5h-3V8H4l4-4z"})})}),f.jsx("span",{className:"branch-widget-action-label",children:o(v==="push"?"terminal:fileExplorer.pushing":"terminal:fileExplorer.push")})]}),f.jsxs("div",{className:`branch-widget-action-item ${T?"disabled":""}`,onClick:()=>{T||d(!h)},children:[f.jsx("span",{className:"branch-widget-action-icon",children:f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:f.jsx("path",{d:"M8 2v5H3v2h5v5h2V9h5V7H10V2H8z"})})}),f.jsx("span",{className:"branch-widget-action-label",children:o("terminal:fileExplorer.newBranch")})]})]}),h&&f.jsxs("div",{className:"branch-widget-new-branch",children:[f.jsx("input",{ref:C,type:"text",className:"branch-widget-new-branch-input",placeholder:o("terminal:fileExplorer.branchNamePlaceholder"),value:p,onChange:I=>Q(I.target.value),onKeyDown:I=>{I.stopPropagation(),I.key==="Enter"&&E(),I.key==="Escape"&&(d(!1),Q(""))}}),f.jsx("button",{className:"branch-widget-new-branch-confirm",onClick:E,disabled:!p.trim()||T,children:v==="create"?"...":o("common:buttons.create")})]}),f.jsxs("div",{className:"branch-widget-section-header",children:[o("terminal:fileExplorer.localBranches"),V&&f.jsxs("span",{className:"branch-widget-loading-hint",children:[" ",o("terminal:fileExplorer.loading")]})]}),f.jsxs("div",{className:"branch-widget-branch-list",children:[De.length===0&&!V&&f.jsx("div",{className:"branch-widget-empty",children:o("terminal:fileExplorer.noBranchesFound")}),De.map(I=>f.jsxs("div",{className:`branch-widget-branch-item ${I.isCurrent?"current":""} ${T?"disabled":""}`,onClick:()=>x(I),onContextMenu:Qe=>se(Qe,I),title:I.lastMessage||I.name,children:[f.jsxs("span",{className:"branch-widget-branch-name",children:[I.isCurrent&&f.jsx("span",{className:"branch-widget-current-marker",children:"*"}),I.name]}),I.lastCommit&&f.jsx("span",{className:"branch-widget-branch-commit",children:I.lastCommit})]},I.name))]}),le.length>0&&f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"branch-widget-section-header clickable",onClick:()=>m(!g),children:[f.jsx("span",{className:"branch-widget-section-toggle",children:g?"▾":"▸"}),o("terminal:fileExplorer.remoteBranches",{count:le.length})]}),g&&f.jsx("div",{className:"branch-widget-branch-list",children:le.map(I=>f.jsxs("div",{className:`branch-widget-branch-item remote ${T?"disabled":""}`,onClick:()=>x(I),onContextMenu:Qe=>se(Qe,I),title:I.lastMessage||I.name,children:[f.jsx("span",{className:"branch-widget-branch-name",children:I.name}),I.lastCommit&&f.jsx("span",{className:"branch-widget-branch-commit",children:I.lastCommit})]},I.name))})]})]}),z&&f.jsx(jo,{isOpen:z.isOpen,position:z.position,worldPosition:{x:0,z:0},actions:qe,onClose:()=>R(null)})]})});function P8(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function mo(t,e){if(!t)return"";const i=dd.languages[e];return i?dd.highlight(t,i,e):P8(t)}function S8(t){const e=[],i=t.split(`
|
|
41
|
+
`);let n=[],O=!1,r=[],a=[],o=!1;for(const s of i)s.startsWith("<<<<<<<")?(n.length>0&&(e.push({type:"unchanged",content:n.join(`
|
|
42
|
+
`)}),n=[]),O=!0,o=!1,r=[],a=[]):s.startsWith("=======")&&O?o=!0:s.startsWith(">>>>>>>")&&O?(e.push({type:"conflict",ours:r.join(`
|
|
43
|
+
`),theirs:a.join(`
|
|
44
|
+
`),resolved:null}),O=!1,o=!1):O?o?a.push(s):r.push(s):n.push(s);return n.length>0&&e.push({type:"unchanged",content:n.join(`
|
|
45
|
+
`)}),e}const b8=P.memo(function({file:e,versions:i,loading:n,onResolve:O,onClose:r,currentBranch:a,mergingBranch:o}){const{t:s}=Ae(["terminal"]),l=P.useMemo(()=>{var _;if(!(i!=null&&i.filename))return"plaintext";const v="."+((_=i.filename.split(".").pop())==null?void 0:_.toLowerCase());return xs(v)},[i==null?void 0:i.filename]),c=P.useMemo(()=>i!=null&&i.merged?S8(i.merged):[],[i==null?void 0:i.merged]),[u,h]=P.useState(c),[d,p]=P.useState(!1);P.useMemo(()=>{h(c)},[c]);const Q=P.useRef(null),[g,m]=P.useState(0),S=P.useMemo(()=>u.map((v,_)=>v.type==="conflict"?_:-1).filter(v=>v!==-1),[u]),X=S.length,z=P.useCallback(v=>{const _=Q.current;if(!_||v<0||v>=S.length)return;const w=S[v],b=_.querySelector(`[data-section-idx="${w}"]`);b&&(b.scrollIntoView({behavior:"smooth",block:"center"}),m(v))},[S]),R=P.useCallback(()=>{z(g>0?g-1:S.length-1)},[g,S.length,z]),G=P.useCallback(()=>{z(g<S.length-1?g+1:0)},[g,S.length,z]);P.useEffect(()=>{if(S.length>0&&Q.current){const v=setTimeout(()=>z(0),100);return()=>clearTimeout(v)}},[S.length,z]);const j=P.useMemo(()=>{const v=u.filter(_=>_.type==="conflict");return v.length>0&&v.every(_=>_.resolved!==null)},[u]),C=P.useCallback((v,_)=>{h(w=>w.map((b,k)=>k!==v||b.type!=="conflict"?b:{...b,resolved:_}))},[]),D=P.useCallback(v=>{h(_=>_.map(w=>w.type!=="conflict"?w:{...w,resolved:v}))},[]),V=P.useCallback(async()=>{p(!0);try{const v=u.map(_=>_.type==="unchanged"?_.content:_.resolved==="ours"?_.ours:_.resolved==="theirs"?_.theirs:_.resolved==="both"?_.ours+`
|
|
46
|
+
`+_.theirs:`<<<<<<< ${a}
|
|
47
|
+
${_.ours}
|
|
48
|
+
=======
|
|
49
|
+
${_.theirs}
|
|
50
|
+
>>>>>>> ${o}`).join(`
|
|
51
|
+
`);await O(v)}finally{p(!1)}},[u,O,a,o]);return f.jsxs("div",{className:"conflict-resolver",children:[f.jsxs("div",{className:"conflict-header",children:[f.jsx("span",{className:"conflict-header-title",children:s("terminal:fileExplorer.resolveFile",{filename:i==null?void 0:i.filename})}),X>0&&f.jsxs("div",{className:"conflict-nav",children:[f.jsx("button",{className:"conflict-nav-btn",onClick:R,title:s("terminal:fileExplorer.prevConflict"),children:f.jsx(te,{name:"caret-up",size:10})}),f.jsxs("span",{className:"conflict-nav-counter",children:[g+1," / ",X]}),f.jsx("button",{className:"conflict-nav-btn",onClick:G,title:s("terminal:fileExplorer.nextConflict"),children:f.jsx(te,{name:"caret-down",size:10})})]}),f.jsx("button",{className:"conflict-close-btn",onClick:r,children:"×"})]}),n||!i?f.jsx("div",{className:"conflict-loading",children:s("terminal:fileExplorer.loadingConflictData")}):f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"conflict-pane-headers",children:[f.jsx("div",{className:"conflict-pane-header current",children:s("terminal:fileExplorer.currentBranchLabel",{branch:a})}),f.jsx("div",{className:"conflict-pane-header incoming",children:s("terminal:fileExplorer.incomingBranchLabel",{branch:o})})]}),f.jsx("div",{className:"conflict-content",ref:Q,children:u.map((v,_)=>v.type==="unchanged"?f.jsx("div",{className:"conflict-section-unchanged",children:f.jsxs("div",{className:"conflict-panes",children:[f.jsx("div",{className:"conflict-pane ours",children:f.jsx("pre",{dangerouslySetInnerHTML:{__html:mo(v.content,l)}})}),f.jsx("div",{className:"conflict-pane theirs",children:f.jsx("pre",{dangerouslySetInnerHTML:{__html:mo(v.content,l)}})})]})},_):f.jsxs("div",{"data-section-idx":_,className:`conflict-section-conflict ${v.resolved?"resolved":""}`,children:[f.jsxs("div",{className:"conflict-panes",children:[f.jsxs("div",{className:`conflict-pane ours ${v.resolved==="ours"||v.resolved==="both"?"accepted":""}`,children:[f.jsx("pre",{dangerouslySetInnerHTML:{__html:mo(v.ours,l)}}),f.jsx("button",{className:"conflict-accept-btn ours",onClick:()=>C(_,"ours"),disabled:v.resolved==="ours",children:v.resolved==="ours"?s("terminal:fileExplorer.accepted"):s("terminal:fileExplorer.acceptCurrent")})]}),f.jsxs("div",{className:`conflict-pane theirs ${v.resolved==="theirs"||v.resolved==="both"?"accepted":""}`,children:[f.jsx("pre",{dangerouslySetInnerHTML:{__html:mo(v.theirs,l)}}),f.jsx("button",{className:"conflict-accept-btn theirs",onClick:()=>C(_,"theirs"),disabled:v.resolved==="theirs",children:v.resolved==="theirs"?s("terminal:fileExplorer.accepted"):s("terminal:fileExplorer.acceptIncoming")})]})]}),f.jsx("button",{className:`conflict-accept-both-btn ${v.resolved==="both"?"accepted":""}`,onClick:()=>C(_,"both"),disabled:v.resolved==="both",children:v.resolved==="both"?s("terminal:fileExplorer.accepted"):s("terminal:fileExplorer.acceptBoth")})]},_))}),f.jsxs("div",{className:"conflict-actions",children:[f.jsx("button",{className:"conflict-action-btn accept-all-current",onClick:()=>D("ours"),children:s("terminal:fileExplorer.acceptAllCurrent")}),f.jsx("button",{className:"conflict-action-btn accept-all-incoming",onClick:()=>D("theirs"),children:s("terminal:fileExplorer.acceptAllIncoming")}),f.jsx("button",{className:"conflict-action-btn accept-all-both",onClick:()=>D("both"),children:s("terminal:fileExplorer.acceptAllBoth")}),f.jsx("button",{className:"conflict-action-btn save-resolved",onClick:V,disabled:!j||d,children:s(d?"terminal:fileExplorer.saving":"terminal:fileExplorer.saveAndResolve")})]})]})]})}),X8=16,y8=P.memo(function t({node:e,depth:i,expandedDirs:n,onToggleDir:O,selectedPath:r,onSelect:a}){const{t:o}=Ae(["terminal"]),s=i*X8;if(!e.isDirectory){const c=e.file.status,u=da[c],h=c==="deleted",d=e.file.name.includes(".")?"."+e.file.name.split(".").pop():"";return f.jsxs("div",{className:`git-file-item ${r===e.path?"selected":""}`,onClick:()=>!h&&a(e.file.path,c),style:{paddingLeft:`${s+4}px`,cursor:h?"not-allowed":"pointer"},title:e.file.path,children:[f.jsx("span",{className:"tree-arrow-spacer"}),f.jsx("img",{className:"tree-icon",src:fa(d),alt:"file"}),f.jsx("span",{className:"git-file-name",children:e.file.name}),f.jsx("span",{className:"git-file-status",style:{color:u.color},children:u.icon}),e.file.oldPath&&f.jsxs("span",{className:"git-file-renamed",children:["← ",e.file.oldPath.split("/").pop()]})]})}const l=n.has(e.path);return f.jsxs("div",{className:"tree-node-wrapper",children:[f.jsxs("div",{className:`tree-node directory ${l?"expanded":""}`,style:{paddingLeft:`${s+4}px`},onClick:()=>O(e.path),children:[f.jsx("span",{className:`tree-arrow ${l?"expanded":""}`,children:"►"}),f.jsx("img",{className:"tree-folder-icon",src:l?"/assets/vscode-icons/default_folder_opened.svg":"/assets/vscode-icons/default_folder.svg",alt:"folder"}),f.jsx("span",{className:"tree-name",children:e.name}),f.jsx("span",{className:"git-tree-file-count",children:o("terminal:fileExplorer.fileCount",{count:e.fileCount})})]}),l&&f.jsx("div",{className:"tree-children",children:e.children.map(c=>f.jsx(t,{node:c,depth:i+1,expandedDirs:n,onToggleDir:O,selectedPath:r,onSelect:a},c.path))})]})}),x8=P.memo(function({file:e,isSelected:i,onSelect:n}){const O=da[e.status],r=e.status==="deleted",a=e.name.includes(".")?"."+e.name.split(".").pop():"",o=e.path.includes("/")?e.path.slice(0,e.path.lastIndexOf("/")):"";return f.jsxs("div",{className:`git-file-item ${i?"selected":""}`,onClick:()=>!r&&n(e.path,e.status),style:{cursor:r?"not-allowed":"pointer"},title:e.path,children:[f.jsx("span",{className:"tree-arrow-spacer"}),f.jsx("img",{className:"tree-icon",src:fa(a),alt:"file"}),f.jsxs("span",{className:"git-file-name",children:[e.name,o&&f.jsx("span",{className:"git-file-dir",children:o})]}),f.jsx("span",{className:"git-file-status",style:{color:O.color},children:O.icon}),e.oldPath&&f.jsxs("span",{className:"git-file-renamed",children:["← ",e.oldPath.split("/").pop()]})]})});function w8({compareResult:t,loading:e,onFileSelect:i,selectedPath:n,onClose:O}){const{t:r}=Ae(["terminal"]),[a,o]=P.useState("tree"),[s,l]=P.useState(new Set),c=P.useMemo(()=>!t||t.files.length===0?[]:go(t.files),[t]),u=P.useMemo(()=>{const X=new Set;return Po(c,X),X},[c]);P.useEffect(()=>{l(u)},[u]);const h=P.useCallback(X=>{l(z=>{const R=new Set(z);return R.has(X)?R.delete(X):R.add(X),R})},[]),d=P.useMemo(()=>t?[...t.files].sort((X,z)=>X.path.toLowerCase().localeCompare(z.path.toLowerCase())):[],[t]);if(e)return f.jsxs("div",{className:"branch-comparison",children:[f.jsxs("div",{className:"branch-comparison-header",children:[f.jsx("span",{className:"branch-comparison-title",children:r("terminal:fileExplorer.comparingBranches")}),f.jsx("button",{className:"branch-comparison-close",onClick:O,title:r("terminal:fileExplorer.closeComparison"),children:"×"})]}),f.jsx("div",{className:"branch-comparison-empty",children:f.jsx("div",{className:"branch-comparison-empty-text",children:r("terminal:fileExplorer.comparingBranches")})})]});if(!t)return null;const{files:p,counts:Q,baseBranch:g,currentBranch:m}=t,S=p.length;return S===0?f.jsxs("div",{className:"branch-comparison",children:[f.jsxs("div",{className:"branch-comparison-header",children:[f.jsxs("span",{className:"branch-comparison-title",children:[m," vs ",g]}),f.jsx("button",{className:"branch-comparison-close",onClick:O,title:r("terminal:fileExplorer.closeComparison"),children:"×"})]}),f.jsxs("div",{className:"branch-comparison-empty",children:[f.jsx("div",{className:"branch-comparison-empty-icon",children:"✨"}),f.jsx("div",{className:"branch-comparison-empty-text",children:r("terminal:fileExplorer.noDifferences")})]})]}):f.jsxs("div",{className:"branch-comparison",children:[f.jsxs("div",{className:"branch-comparison-header",children:[f.jsxs("span",{className:"branch-comparison-title",children:["⇔ ",m," vs ",g]}),f.jsx("span",{className:"branch-comparison-file-count",children:r("terminal:fileExplorer.fileCount",{count:S})}),f.jsxs("div",{className:"git-changes-summary",children:[Q.modified>0&&f.jsxs("span",{className:"git-count modified",children:[Q.modified,"M"]}),Q.added>0&&f.jsxs("span",{className:"git-count added",children:[Q.added,"A"]}),Q.deleted>0&&f.jsxs("span",{className:"git-count deleted",children:[Q.deleted,"D"]}),Q.renamed>0&&f.jsxs("span",{className:"git-count renamed",children:[Q.renamed,"R"]}),(Q.conflict??0)>0&&f.jsxs("span",{className:"git-count conflict",children:[Q.conflict,"C"]})]}),f.jsxs("div",{className:"git-view-toggle",children:[f.jsx("button",{className:`git-view-toggle-btn ${a==="flat"?"active":""}`,onClick:()=>o("flat"),title:r("terminal:fileExplorer.flatList"),children:f.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:[f.jsx("rect",{x:"2",y:"3",width:"12",height:"1.5",rx:"0.5"}),f.jsx("rect",{x:"2",y:"7",width:"12",height:"1.5",rx:"0.5"}),f.jsx("rect",{x:"2",y:"11",width:"12",height:"1.5",rx:"0.5"})]})}),f.jsx("button",{className:`git-view-toggle-btn ${a==="tree"?"active":""}`,onClick:()=>o("tree"),title:r("terminal:fileExplorer.directoryTree"),children:f.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:[f.jsx("rect",{x:"1",y:"2",width:"6",height:"1.5",rx:"0.5"}),f.jsx("rect",{x:"4",y:"5.5",width:"8",height:"1.5",rx:"0.5"}),f.jsx("rect",{x:"4",y:"9",width:"8",height:"1.5",rx:"0.5"}),f.jsx("rect",{x:"7",y:"12.5",width:"7",height:"1.5",rx:"0.5"})]})})]}),f.jsx("button",{className:"branch-comparison-close",onClick:O,title:r("terminal:fileExplorer.closeComparison"),children:"×"})]}),f.jsx("div",{className:"branch-comparison-list",children:a==="tree"?c.map(X=>f.jsx(y8,{node:X,depth:0,expandedDirs:s,onToggleDir:h,selectedPath:n,onSelect:i},X.path)):d.map(X=>f.jsx(x8,{file:X,isSelected:n===X.path,onSelect:i},X.path))})]})}const lx=P.memo(w8);lx.displayName="BranchComparison";function k8(t){const e=new Date(t);if(isNaN(e.getTime()))return t||"—";const n=Date.now()-e.getTime(),O=Math.floor(n/6e4),r=Math.floor(O/60),a=Math.floor(r/24);if(a<4)return O<1?"just now":O<60?`${O}m ago`:r<24?`${r}h ago`:`${a}d ago`;const o=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),l=String(e.getDate()).padStart(2,"0"),c=String(e.getHours()).padStart(2,"0"),u=String(e.getMinutes()).padStart(2,"0");return`${o}-${s}-${l} ${c}:${u}`}const T8=P.memo(function({commit:e,isSelected:i,onSelect:n}){return f.jsxs("div",{className:`gh-row ${i?"selected":""}`,onClick:()=>n(e),children:[f.jsx("span",{className:"gh-col-hash",children:e.shortHash}),f.jsxs("span",{className:"gh-col-message",children:[f.jsx("span",{className:"gh-subject",children:e.subject}),e.refs.isHead&&f.jsx("span",{className:"gh-badge gh-badge-head",children:"HEAD"}),e.refs.branches.map(O=>f.jsx("span",{className:"gh-badge gh-badge-branch",children:O},O)),e.refs.tags.map(O=>f.jsx("span",{className:"gh-badge gh-badge-tag",children:O},O))]}),f.jsx("span",{className:"gh-col-author",children:e.author}),f.jsx("span",{className:"gh-col-date",children:k8(e.date)})]})}),v8=P.memo(function({files:e,loading:i,selectedFilePath:n,onSelectFile:O}){const{t:r}=Ae(["common"]);return i?f.jsx("div",{className:"gh-files-loading",children:r("common:status.loading")}):e.length===0?f.jsx("div",{className:"gh-files-empty",children:"No changed files"}):f.jsx("div",{className:"gh-files-list",children:e.map(a=>{const o=a.path.split("/").pop()||a.path,s=a.path.includes("/")?a.path.substring(0,a.path.lastIndexOf("/")):"",l=da[a.status],c=o.includes(".")?"."+o.split(".").pop():"";return f.jsxs("div",{className:`gh-file-row ${n===a.path?"selected":""}`,onClick:()=>O==null?void 0:O(a.path),title:a.path,children:[f.jsx("span",{className:"gh-file-status",style:{color:l.color},children:l.icon}),f.jsx("img",{className:"gh-file-icon",src:fa(c),alt:""}),f.jsx("span",{className:"gh-file-name",children:o}),s&&f.jsx("span",{className:"gh-file-dir",children:s})]},a.path)})})}),_8=P.memo(function({history:e,currentFolder:i,onFileSelect:n}){const{t:O}=Ae(["terminal","common"]),r=P.useRef(null),[a,o]=P.useState(null),[s,l]=P.useState(!1),{commits:c,loading:u,loadingMore:h,error:d,hasMore:p,total:Q,filters:g,setFilter:m,resetFilters:S,selectedCommit:X,selectCommit:z,commitFiles:R,commitFilesLoading:G,loadHistory:j,loadMore:C,authors:D,loadAuthors:V}=e,{branches:v,loadBranches:_}=bh();P.useEffect(()=>{i&&(j(i),V(i),_(i))},[i,j,V,_]);const w=Ex({count:c.length,getScrollElement:()=>r.current,estimateSize:()=>28,overscan:20}),b=P.useCallback(()=>{const q=r.current;if(!q||h||!p||!i)return;const{scrollTop:W,scrollHeight:M,clientHeight:ae}=q;M-W-ae<200&&C(i)},[h,p,i,C]),k=P.useCallback(q=>{o(q),n&&X&&n(q,X.hash)},[n,X]),Y=P.useMemo(()=>v.filter(q=>!q.isRemote).map(q=>q.name),[v]),x=!!(g.branch||g.author||g.since||g.until||g.searchPath||g.search),E=w.getVirtualItems();return f.jsxs("div",{className:"gh-panel",children:[f.jsxs("div",{className:"gh-toolbar",children:[f.jsx("span",{className:"gh-toolbar-title",children:O("terminal:fileExplorer.gitHistory.title")}),f.jsx("span",{className:"gh-toolbar-count",children:u?"...":Q>0?Q:c.length}),f.jsx("input",{type:"text",className:"gh-search-input",placeholder:O("terminal:fileExplorer.gitHistory.searchPlaceholder"),value:g.search,onChange:q=>m("search",q.target.value)}),f.jsx("button",{className:`gh-filter-toggle ${s?"active":""} ${x?"has-filters":""}`,onClick:()=>l(!s),title:"Filters",children:f.jsx(te,{name:"gear",size:12})}),x&&f.jsx("button",{className:"gh-reset-btn",onClick:S,children:O("terminal:fileExplorer.gitHistory.resetFilters")})]}),s&&f.jsxs("div",{className:"gh-filters-row",children:[f.jsxs("select",{className:"gh-filter-select",value:g.branch,onChange:q=>m("branch",q.target.value),children:[f.jsx("option",{value:"",children:O("terminal:fileExplorer.gitHistory.allBranches")}),Y.map(q=>f.jsx("option",{value:q,children:q},q))]}),f.jsxs("select",{className:"gh-filter-select",value:g.author,onChange:q=>m("author",q.target.value),children:[f.jsx("option",{value:"",children:O("terminal:fileExplorer.gitHistory.allAuthors")}),D.map(q=>f.jsx("option",{value:q,children:q},q))]}),f.jsx("input",{type:"date",className:"gh-filter-input gh-date-input",value:g.since,onChange:q=>m("since",q.target.value),title:O("terminal:fileExplorer.gitHistory.since")}),f.jsx("input",{type:"date",className:"gh-filter-input gh-date-input",value:g.until,onChange:q=>m("until",q.target.value),title:O("terminal:fileExplorer.gitHistory.until")}),f.jsx("input",{type:"text",className:"gh-filter-input",placeholder:O("terminal:fileExplorer.gitHistory.pathFilter"),value:g.searchPath,onChange:q=>m("searchPath",q.target.value)})]}),f.jsxs("div",{className:"gh-body",children:[f.jsxs("div",{className:"gh-commits-section",children:[f.jsxs("div",{className:"gh-header-row",children:[f.jsx("span",{className:"gh-col-hash",children:"Hash"}),f.jsx("span",{className:"gh-col-message",children:"Message"}),f.jsx("span",{className:"gh-col-author",children:"Author"}),f.jsx("span",{className:"gh-col-date",children:"Date"})]}),u&&c.length===0?f.jsx("div",{className:"gh-state-msg",children:O("common:status.loading")}):d?f.jsx("div",{className:"gh-state-msg gh-error",children:d}):c.length===0?f.jsx("div",{className:"gh-state-msg",children:O("terminal:fileExplorer.gitHistory.noCommits")}):f.jsxs("div",{className:"gh-commit-scroll",ref:r,onScroll:b,children:[f.jsx("div",{style:{height:`${w.getTotalSize()}px`,width:"100%",position:"relative"},children:E.map(q=>f.jsx("div",{"data-index":q.index,ref:w.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${q.start}px)`},children:f.jsx(T8,{commit:c[q.index],isSelected:(X==null?void 0:X.hash)===c[q.index].hash,onSelect:z})},q.key))}),h&&f.jsx("div",{className:"gh-loading-more",children:O("common:status.loading")})]})]}),X&&f.jsxs("div",{className:"gh-files-section",children:[f.jsxs("div",{className:"gh-files-header",children:[f.jsxs("span",{className:"gh-files-title",children:[R.length," ",R.length===1?"file":"files"]}),f.jsx("span",{className:"gh-files-commit-info",children:X.shortHash})]}),f.jsx(v8,{files:R,loading:G,selectedFilePath:a,onSelectFile:k})]})]})]})});function R8({isOpen:t,areaId:e,onClose:i,onChangeArea:n,folderPath:O}){const{t:r}=Ae(["terminal","common"]),a=Im(),o=!!O&&!e,s=!o&&e?a.areas.get(e):null,l=o?[O]:(s==null?void 0:s.directories)||[],c=Array.from(a.areas.values()),[u,h]=P.useState(0),[d,p]=P.useState(null),[Q,g]=P.useState(!1),m=l[u]||l[0]||null,S=(m==null?void 0:m.split("/").pop())||m||"";P.useEffect(()=>{h(0)},[O,o]),P.useEffect(()=>{!o&&O&&p(O)},[o,O]),P.useEffect(()=>{if(t)try{o&&O?localStorage.setItem("file-explorer-last-opened",JSON.stringify({type:"folder",path:O})):e&&localStorage.setItem("file-explorer-last-opened",JSON.stringify({type:"area",areaId:e}))}catch{}},[t,o,O,e]);const X=P.useMemo(()=>{const y=[];for(const Z of c)for(const A of Z.directories)y.push({path:A,areaId:Z.id,areaName:Z.name,areaColor:Z.color});return y},[c]),{tree:z,loading:R,expandedPaths:G,loadTree:j,reloadDirectory:C,renamePathInTree:D,togglePath:V,expandToPath:v,setExpandedPaths:_}=Gx(m),{gitStatus:w,loading:b,loadGitStatus:k}=Ix(m),{mergeBranch:Y,mergeAbort:x,mergeContinue:E}=bh(),q=c1(),{showToast:W}=Bm(),{file:M,loading:ae,error:ze,loadFile:Te,clearFile:T,setFile:se}=Kx(),{treePanelWidth:qe,handleResizeStart:De,isResizing:le}=n1(),{mobileTreeHeight:I,handleResizeMouseDown:Qe,handleResizeTouchStart:ve}=o1(),{loadStoredState:zt,saveState:dt}=i1({areaId:e||null,folderPath:O||null,isOpen:t}),[ue,Ue]=P.useState(null),[$t,et]=P.useState("files"),[fO,It]=P.useState(""),[ll,xn]=P.useState([]),[cl,dO]=P.useState([]),[ul,$O]=P.useState(!1),[_a,xt]=P.useState(null),[hl,wt]=P.useState(null),[Ra,pO]=P.useState(!1),[di,N]=P.useState(!1),[J,oe]=P.useState(!1),[qt,ii]=P.useState(new Set),[ar,Ya]=P.useState(!1),[Lt,cx]=P.useState(!1),[fl,ux]=P.useState(250),or=P.useRef(null),[wn,Za]=P.useState(null),[hx,Ff]=P.useState(!1),[QO,Hf]=P.useState(null),[mO,fx]=P.useState(null),[He,kn]=P.useState({isOpen:!1,node:null,value:"",submitting:!1}),[Tn,sr]=P.useState([]),[kt,vn]=P.useState(null),[dx,dl]=P.useState(void 0),[Kf,gO]=P.useState(null),[lr,cr]=P.useState(null),[$x,PO]=P.useState(null),[px,Jf]=P.useState(!1),[za,$l]=P.useState(null),[ed,pl]=P.useState(!1),[qa,Ua]=P.useState(null),td=P.useRef(null),Ql=P.useRef(null),Va=P.useRef(null);P.useEffect(()=>{if(!t||di)return;(async()=>{const Z=await zt();if(Z){let A=Z.selectedFolderIndex;if(d){const ne=l.indexOf(d);A=ne>=0?ne:0,p(null)}else{const ne=Math.max(0,l.length-1);A=Math.min(Math.max(0,A),ne)}sr(Z.tabs),vn(Z.activeTabPath),et(Z.viewMode),h(A),_(Z.expandedPaths),Va.current=Z.expandedPaths,pO(!0),Z.activeTabPath&&(Ue(Z.activeTabPath),Te(Z.activeTabPath))}N(!0)})()},[t,di,zt,_,Te,d,l]),P.useEffect(()=>{Va.current&&!R&&z.length>0&&(_(Va.current),Va.current=null)},[R,z,_]),P.useEffect(()=>{if(!t||!di)return;const y=setTimeout(()=>{dt({tabs:Tn,activeTabPath:kt,viewMode:$t,selectedFolderIndex:u,expandedPaths:G})},500);return()=>clearTimeout(y)},[t,di,Tn,kt,$t,u,G,dt]),P.useEffect(()=>{N(!1)},[e,O]),P.useEffect(()=>{if(!He.isOpen)return;const y=window.setTimeout(()=>{var Z,A;(Z=Ql.current)==null||Z.focus(),(A=Ql.current)==null||A.select()},0);return()=>window.clearTimeout(y)},[He.isOpen]);const zi=P.useMemo(()=>{const y=fO.trim(),Z=y.match(/^(.+):(\d+)$/);return Z?{query:Z[1],lineNumber:parseInt(Z[2],10)}:{query:y,lineNumber:void 0}},[fO]);P.useEffect(()=>{if(!zi.query||!m){xn([]),dO([]),$O(!1);return}$O(!0);const y=setTimeout(async()=>{try{const Z=zi.query,A=pe($e(`/api/files/search?path=${encodeURIComponent(m)}&q=${encodeURIComponent(Z)}&limit=200`)).then(Ie=>Ie.json()).catch(()=>({results:[]})),ne=Z.length>=2&&!zi.lineNumber?pe($e(`/api/files/search-content?path=${encodeURIComponent(m)}&q=${encodeURIComponent(Z)}&limit=200`)).then(Ie=>Ie.json()).catch(()=>({results:[]})):Promise.resolve({results:[]}),[Se,ge]=await Promise.all([A,ne]);xn(Se.results||[]),dO(ge.results||[])}catch(Z){console.error("[FileExplorer] Search failed:",Z),xn([]),dO([])}$O(!1)},300);return()=>clearTimeout(y)},[zi.query,zi.lineNumber,m]),P.useEffect(()=>{t&&m&&(T(),Ue(null),xt(null),wt(null),pO(!1),j(),k())},[t,m,j,k,T]),P.useEffect(()=>{a.fileViewerPath&&t&&(Te(a.fileViewerPath),Ue(a.fileViewerPath),Rr.clearFileViewerPath())},[a.fileViewerPath,t,Te]),P.useEffect(()=>{di&&!Ra&&w&&pO(!0)},[w,Ra,di,$t]),P.useEffect(()=>{if(e&&(T(),Ue(null),It(""),dO([]),xn([]),xt(null),wt(null),pO(!1),N(!1),d)){const y=a.areas.get(e);y!=null&&y.directories.includes(d)||p(null)}},[e,d,a.areas,T]),P.useEffect(()=>{const y=A=>{var Se;if(!t)return;if(A.altKey&&A.key==="e"){A.preventDefault(),A.stopPropagation(),i();return}if(A.key==="Escape"){if(He.isOpen){A.preventDefault(),A.stopPropagation(),He.submitting||kn({isOpen:!1,node:null,value:"",submitting:!1});return}if(ar)return;if(Q){A.preventDefault(),A.stopPropagation(),g(!1);return}A.preventDefault(),A.stopPropagation(),i();return}(A.metaKey||A.ctrlKey)&&A.key==="p"&&(A.preventDefault(),(Se=td.current)==null||Se.focus());const ne=Rr.getShortcuts().find(ge=>ge.id==="file-explorer-close-tab");if(Nx(A,ne)){if(A.repeat)return;A.preventDefault(),A.stopPropagation(),kt&&rd(kt)}},Z=A=>{const ne=A.target;Q&&!ne.closest(".file-explorer-folder-selector")&&!ne.closest(".file-explorer-folder-dropdown")&&g(!1)};return document.addEventListener("keydown",y,!0),document.addEventListener("click",Z),()=>{document.removeEventListener("keydown",y,!0),document.removeEventListener("click",Z)}},[t,i,Q,kt,ar,He]);const id=P.useMemo(()=>{const y=new Map;if(w!=null&&w.files)for(const Z of w.files)y.set(Z.path,Z.status);return y},[w==null?void 0:w.files]),ml=P.useMemo(()=>{const y=new Map;if(!(w!=null&&w.files))return y;const Z={conflict:0,modified:1,added:2,deleted:3,untracked:4,renamed:5};for(const A of w.files){let ne=A.path;for(;;){const Se=ne.lastIndexOf("/");if(Se<=0)break;ne=ne.substring(0,Se);const ge=y.get(ne);ge?Z[A.status]<Z[ge]&&y.set(ne,A.status):y.set(ne,A.status)}}return y},[w==null?void 0:w.files]),nd=P.useMemo(()=>{const y=Z=>({...Z,gitStatus:Z.isDirectory?ml.get(Z.path):id.get(Z.path),hasGitChanges:Z.isDirectory&&ml.has(Z.path)||void 0,children:Z.children?Z.children.map(y):void 0});return z.map(y)},[z,id,ml]),gl=(y,Z,A,ne)=>{if(!Tn.find(ge=>ge.path===y)){const ge={path:y,filename:Z,extension:A};sr(Ie=>[...Ie,ge])}vn(y),Ue(y),dl(ne),Te(y)},Od=async y=>{if(y.isDirectory){et("files"),It(""),await v(y.path),Ue(y.path),requestAnimationFrame(()=>{requestAnimationFrame(()=>{let Z=y.path,A=document.querySelector(`[data-path="${Z}"]`);for(;!A&&Z.includes("/");)Z=Z.substring(0,Z.lastIndexOf("/")),A=document.querySelector(`[data-path="${Z}"]`);A instanceof HTMLElement&&A.scrollIntoView({behavior:"smooth",block:"center"})})});return}wt(null),xt(null),gl(y.path,y.name,y.extension,zi.lineNumber)},Qx=(y,Z)=>{wt(null),xt(null);const A=y.split("/").pop()||y,ne=y.substring(y.lastIndexOf(".")).toLowerCase();gl(y,A,ne,Z)},mx=async(y,Z)=>{wt(Z),xt(null);const A=y.split("/").pop()||y,ne=y.substring(y.lastIndexOf(".")).toLowerCase();if(gl(y,A,ne),Z==="modified"){const{content:Se}=await Lx(y);Se!==null&&xt(Se)}},gx=y=>{vn(y),Ue(y),wt(null),xt(null),dl(void 0);const Z=Tn.find(A=>A.path===y);Z!=null&&Z.data||Te(y)},rd=y=>{sr(Z=>{var Se;const A=Z.filter(ge=>ge.path!==y),ne=Z.findIndex(ge=>ge.path===y);if(ne!==-1&&((Se=Z[ne])==null?void 0:Se.path)===y&&(kt===y||Z.find(ge=>ge.path===kt)),A.length>0){if(!A.some(Ie=>Ie.path===kt)){const Ie=Z.findIndex(Tt=>Tt.path===y),Ke=Math.max(0,Math.min(Ie,A.length-1)),Dt=A[Ke];Dt&&(vn(Dt.path),Ue(Dt.path),Te(Dt.path))}}else vn(null),Ue(null),T();return A})},Px=y=>{if(g(!1),y.areaId!==e)p(y.path),n&&n(y.areaId);else{const Z=l.indexOf(y.path);h(Z>=0?Z:0)}},ur=P.useCallback(y=>{const Z=y.lastIndexOf("/");return Z<=0?"/":y.slice(0,Z)},[]),SO=P.useCallback((y,Z,A)=>y===Z?A:y.startsWith(`${Z}/`)?`${A}${y.slice(Z.length)}`:y,[]),Sx=P.useCallback((y,Z)=>{Ue(Z.path),Hf({isOpen:!0,position:{x:y.clientX,y:y.clientY},node:Z})},[]),ad=P.useCallback(y=>{kn({isOpen:!0,node:y,value:y.name,submitting:!1})},[]),bO=P.useCallback(()=>{kn({isOpen:!1,node:null,value:"",submitting:!1})},[]),od=P.useCallback(async()=>{const y=He.node;if(!y)return;const Z=He.value.trim();if(!Z||Z===y.name){bO();return}kn(A=>({...A,submitting:!0}));try{const A=await pe($e("/api/files/rename"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:y.path,newName:Z})}),ne=await A.json();if(!A.ok){W("error","Rename Failed",ne.error||"Unable to rename item"),kn(Tt=>({...Tt,submitting:!1}));return}const Se=ne.newPath,ge=y.path,Ie=new Set(Array.from(G).map(Tt=>SO(Tt,ge,Se))),Ke=ur(ge),Dt=ur(Se);if(sr(Tt=>Tt.map(ni=>{if(!ni.path.startsWith(ge))return ni;const XO=SO(ni.path,ge,Se),Wa=XO.split("/").pop()||XO,fd=Wa.includes(".")?`.${Wa.split(".").pop()}`:"";return{...ni,path:XO,filename:Wa,extension:fd.toLowerCase(),data:ni.data?{...ni.data,path:XO,filename:Wa,extension:fd.toLowerCase()}:ni.data}})),kt&&vn(SO(kt,ge,Se)),ue&&Ue(SO(ue,ge,Se)),M!=null&&M.path){const Tt=SO(M.path,ge,Se);if(Tt!==M.path){const ni=Tt.split("/").pop()||Tt,XO=ni.includes(".")?`.${ni.split(".").pop()}`:"";se({...M,path:Tt,filename:ni,extension:XO.toLowerCase()})}}D(ge,Se),_(Ie),await C(Ke),Dt!==Ke&&await C(Dt),await k(),W("success","Renamed",`${y.name} renamed`),bO()}catch(A){console.error("[FileExplorer] Rename failed:",A),W("error","Rename Failed","Unable to rename item"),kn(ne=>({...ne,submitting:!1}))}},[He,bO,kt,ue,M,G,SO,ur,D,_,C,k,W,se]),sd=P.useCallback(y=>{fx({sourcePath:y.path,isDirectory:y.isDirectory,name:y.name}),W("info","Copied",`${y.name} ready to paste`)},[W]),ld=P.useCallback(async y=>{if(!mO)return;const Z=y.isDirectory?y.path:ur(y.path),A=new Set(G);A.add(Z);try{const ne=await pe($e("/api/files/paste"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourcePath:mO.sourcePath,targetDir:Z})}),Se=await ne.json();if(!ne.ok){W("error","Paste Failed",Se.error||"Unable to paste item");return}await C(Z),_(A),await k(),Se.destinationPath&&Ue(Se.destinationPath),W("success","Pasted",`${mO.name} pasted`)}catch(ne){console.error("[FileExplorer] Paste failed:",ne),W("error","Paste Failed","Unable to paste item")}},[mO,ur,G,C,_,k,W]),cd=P.useCallback(async y=>{try{await navigator.clipboard.writeText(y.path),W("success","Copied","Full path copied")}catch(Z){console.error("[FileExplorer] Copy path failed:",Z),W("error","Copy Failed","Could not copy path")}},[W]),bx=P.useMemo(()=>{if(!QO)return[];const y=QO.node;return[{id:"rename",label:y.isDirectory?"Rename Folder":"Rename File",icon:f.jsx(te,{name:"edit",size:14}),onClick:()=>ad(y)},{id:"copy",label:y.isDirectory?"Copy Folder":"Copy File",icon:f.jsx(te,{name:"file-text",size:14}),onClick:()=>sd(y)},{id:"paste",label:y.isDirectory?"Paste Into Folder":"Paste Here",icon:f.jsx(te,{name:"clipboard",size:14}),disabled:!mO,onClick:()=>{ld(y)}},{id:"divider-1",label:"",divider:!0,onClick:()=>{}},{id:"copy-full-path",label:"Copy Full Path",icon:f.jsx(te,{name:"pin",size:14}),onClick:()=>{cd(y)}}]},[QO,mO,ad,sd,ld,cd]),Pl=P.useCallback(y=>{et("files"),It("");const Z=(m==null?void 0:m.replace(/\/+$/,""))||null,A=new Set;if(Z&&A.add(Z),Z&&y.startsWith(Z)){const Se=y.substring(Z.length).split("/").filter(Ie=>Ie);let ge=Z;for(let Ie=0;Ie<Se.length-1;Ie++)ge=ge+"/"+Se[Ie],A.add(ge)}_(A),Ue(y),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const ne=document.querySelector(`[data-path="${y}"]`);ne&&ne.scrollIntoView({behavior:"smooth",block:"center"})})})},[m]),Xx=P.useCallback(async y=>{if(!(!m||y.length===0)){ii(Z=>{const A=new Set(Z);for(const ne of y)A.add(ne);return A});try{const Z=await pe($e("/api/files/git-add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:y,directory:m})});if(Z.ok)await k();else{const A=await Z.json();console.error("[FileExplorer] Git add failed:",A.error)}}catch(Z){console.error("[FileExplorer] Git add failed:",Z)}finally{ii(Z=>{const A=new Set(Z);for(const ne of y)A.delete(ne);return A})}}},[m,k]),yx=P.useCallback(async y=>{if(!m)return;gO(y);const Z=await Y(m,y);if(await k(),Z.success)gO(null),W("success","Merge Complete",`Merged '${y}' successfully`),j();else if(Z.conflicts&&Z.conflicts.length>0){const A=Z.conflicts.length;W("warning","Merge Conflicts",`${A} conflict${A>1?"s":""} found — resolve to continue`),et("git")}else gO(null),W("error","Merge Failed",Z.error||"Merge failed")},[m,Y,k,j,W]),xx=P.useCallback(async y=>{gO("remote"),await k();const Z=y.length;W("warning","Pull Conflicts",`${Z} conflict${Z>1?"s":""} found — resolve to continue`),et("git")},[k,W]),wx=P.useCallback(async y=>{if(m){cr(y),Jf(!0),PO(null);try{const Z=await pe($e(`/api/files/git-conflict-file?path=${encodeURIComponent(m)}&file=${encodeURIComponent(y)}`)),A=await Z.json();Z.ok?PO(A):console.error("[FileExplorer] Failed to load conflict file:",A.error)}catch(Z){console.error("[FileExplorer] Failed to load conflict file:",Z)}finally{Jf(!1)}}},[m]),kx=P.useCallback(async y=>{if(!(!m||!lr))try{const Z=await pe($e("/api/files/git-resolve-conflict"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:m,file:lr,content:y})}),A=await Z.json();Z.ok&&A.success?(cr(null),PO(null),await k()):console.error("[FileExplorer] Failed to resolve conflict:",A.error)}catch(Z){console.error("[FileExplorer] Failed to resolve conflict:",Z)}},[m,lr,k]),Tx=P.useCallback(async()=>{if(!m)return;const y=await E(m);y.success?(gO(null),cr(null),PO(null),W("success","Merge Complete","Merge completed successfully"),await k(),j()):W("error","Merge Failed",y.error||"Merge continue failed")},[m,E,k,j,W]),vx=P.useCallback(async()=>{if(!m)return;const y=await x(m);y.success?(gO(null),cr(null),PO(null),W("info","Merge Aborted","Merge has been aborted"),await k(),j()):W("error","Abort Failed",y.error||"Failed to abort merge")},[m,x,k,j,W]),_x=P.useCallback(async y=>{if(m){Ua(y),pl(!0),$l(null),et("compare");try{const Z=await pe($e(`/api/files/git-branch-compare?directory=${encodeURIComponent(m)}&branch=${encodeURIComponent(y)}`)),A=await Z.json();Z.ok?$l(A):(W("error","Compare Failed",A.error||"Failed to compare branches"),et("files"),Ua(null))}catch(Z){console.error("[FileExplorer] Branch compare failed:",Z),W("error","Compare Failed","Network error during comparison"),et("files"),Ua(null)}finally{pl(!1)}}},[m,W]),Rx=P.useCallback(async(y,Z)=>{if(!m||!qa)return;const A=y.split("/").pop()||y,ne=y.substring(y.lastIndexOf(".")).toLowerCase();Tn.find(Ke=>Ke.path===y)||sr(Ke=>[...Ke,{path:y,filename:A,extension:ne}]),vn(y),Ue(y),dl(void 0);const ge=async Ke=>{try{const Dt=await pe($e(`/api/files/git-show?path=${encodeURIComponent(y)}&ref=${encodeURIComponent(Ke)}`)),Tt=await Dt.json();return Dt.ok?Tt.content??"":""}catch{return""}},Ie=Ke=>({path:y,filename:A,extension:ne,content:Ke,fileType:"text",size:Ke.length,modified:""});if(Z==="modified"||Z==="renamed"){const[Ke,Dt]=await Promise.all([ge(qa),ge("HEAD")]);xt(Ke),se(Ie(Dt)),wt("modified")}else if(Z==="deleted"){const Ke=await ge(qa);xt(Ke),se(Ie("")),wt("modified")}else if(Z==="added"){const Ke=await ge("HEAD");xt(""),se(Ie(Ke)),wt("modified")}},[m,qa,Tn]),ud=P.useCallback(()=>{et("files"),$l(null),Ua(null),pl(!1)},[]),Yx=P.useCallback(async(y,Z)=>{if(m){Ff(!0);try{const A=new URLSearchParams({path:m,hash:Z,file:y}),ne=await pe($e(`/api/files/git-commit-file-diff?${A}`)),Se=await ne.json();ne.ok?Za(Se):Za(null)}catch(A){console.error("[FileExplorer] commit diff fetch error:",A),Za(null)}finally{Ff(!1)}}},[m]),Zx=P.useCallback(()=>{Za(null)},[]),zx=P.useCallback(y=>{y.preventDefault(),or.current={startY:y.clientY,startHeight:fl};const Z=ne=>{if(!or.current)return;const Se=or.current.startY-ne.clientY,ge=Math.max(120,Math.min(600,or.current.startHeight+Se));ux(ge)},A=()=>{or.current=null,document.removeEventListener("mousemove",Z),document.removeEventListener("mouseup",A)};document.addEventListener("mousemove",Z),document.addEventListener("mouseup",A)},[fl]);if(!t||!s&&!o)return null;const hd=(w==null?void 0:w.files.length)||0;return f.jsxs("div",{className:"file-explorer-panel ide-style",children:[f.jsxs("div",{className:"file-explorer-panel-header",children:[f.jsxs("div",{className:"file-explorer-panel-title",children:[m&&f.jsxs("div",{className:"file-explorer-folder-selector",onClick:()=>!o&&X.length>0&&g(!Q),style:{cursor:!o&&X.length>0?"pointer":"default"},title:m,children:[f.jsx("span",{className:"file-explorer-panel-dot",style:{background:(s==null?void 0:s.color)||"#ffd700"}}),f.jsx("span",{className:"file-explorer-folder-name",children:S}),f.jsx("span",{className:"file-explorer-folder-path-hint",children:m}),!o&&X.length>1&&f.jsx("span",{className:"file-explorer-folder-dropdown-icon",children:f.jsx(te,{name:"caret-down",size:10})})]}),(w==null?void 0:w.isGitRepo)&&m&&f.jsxs(f.Fragment,{children:[f.jsx("span",{className:"file-explorer-path-separator",children:"/"}),f.jsx(g8,{currentFolder:m,gitStatus:w,onBranchChanged:()=>{k(),j()},onMerge:yx,onCompare:_x,onPullConflicts:xx})]}),M&&f.jsxs("span",{className:"file-explorer-current-file",children:["/ ",M.filename]}),!o&&Q&&X.length>0&&f.jsx("div",{className:"file-explorer-folder-dropdown",onWheel:y=>{y.preventDefault(),y.currentTarget.scrollTop+=y.deltaY*.35},children:X.map(y=>f.jsxs("div",{className:`file-explorer-folder-option ${y.path===m?"active":""}`,onClick:Z=>{Z.stopPropagation(),Px(y)},children:[f.jsxs("span",{className:"file-explorer-folder-option-name",children:[f.jsx("span",{className:"file-explorer-folder-option-dot",style:{background:y.areaColor}}),y.path.split("/").pop()||y.path]}),(y.path.split("/").pop()||y.path)!==y.path&&f.jsx("span",{className:"file-explorer-folder-option-path",children:y.path}),f.jsx("span",{className:"file-explorer-folder-option-area",children:y.areaName})]},`${y.areaId}-${y.path}`))})]}),(w==null?void 0:w.isGitRepo)&&f.jsx("button",{className:`file-explorer-history-toggle ${Lt?"active":""}`,onClick:()=>cx(!Lt),title:r("terminal:fileExplorer.gitHistory.title"),children:f.jsx(te,{name:"status-waiting-input",size:14})}),f.jsx("button",{className:"file-explorer-panel-close",onClick:i,children:"×"})]}),f.jsxs("div",{className:"file-explorer-main",style:I>0?{"--fe-mobile-tree-height":`${I}px`}:void 0,children:[f.jsxs("div",{className:`file-explorer-tree-panel ${J?"collapsed":""}`,style:{width:qe},children:[f.jsxs("div",{className:"file-explorer-tabs",children:[f.jsx("button",{className:"file-explorer-tree-toggle",onClick:()=>oe(!J),title:r(J?"terminal:fileExplorer.expandTree":"terminal:fileExplorer.collapseTree"),children:f.jsx(te,{name:J?"caret-down":"caret-up",size:12})}),f.jsxs("button",{className:`file-explorer-tab ${$t==="files"?"active":""}`,onClick:()=>et("files"),children:[f.jsx("span",{className:"tab-icon",children:f.jsx(te,{name:"folder",size:14})}),r("terminal:spotlight.files")]}),f.jsxs("button",{className:`file-explorer-tab ${$t==="git"?"active":""}`,onClick:()=>et("git"),children:[f.jsx("span",{className:"tab-icon",children:f.jsx(te,{name:"git-branch",size:14})}),r("terminal:fileExplorer.gitChanges"),hd>0&&f.jsx("span",{className:"tab-badge",children:hd})]}),(za||ed)&&f.jsxs("button",{className:`file-explorer-tab ${$t==="compare"?"active":""}`,onClick:()=>et("compare"),children:[f.jsx("span",{className:"tab-icon",children:f.jsx(te,{name:"arrows-horizontal",size:14})}),r("terminal:fileExplorer.diffView"),za&&f.jsx("span",{className:"tab-badge",children:za.files.length}),f.jsx("span",{className:"tab-close-btn",onClick:y=>{y.stopPropagation(),ud()},children:"×"})]})]}),$t==="files"&&f.jsxs("div",{className:"file-explorer-toolbar",children:[f.jsxs("div",{className:"file-explorer-search",children:[f.jsx("span",{className:"file-explorer-search-icon",children:f.jsx(te,{name:"search",size:14})}),f.jsx("input",{ref:td,type:"text",className:"file-explorer-search-input",placeholder:r("terminal:fileExplorer.searchPlaceholder"),value:fO,onChange:y=>It(y.target.value)}),fO&&f.jsx("button",{className:"file-explorer-search-clear",onClick:()=>It(""),children:"×"})]}),f.jsxs("div",{className:"file-explorer-toolbar-buttons",children:[f.jsx("button",{className:"file-explorer-toolbar-btn",onClick:()=>_(new Set),title:r("terminal:fileExplorer.collapseAll"),children:"⊟"}),kt&&f.jsx("button",{className:"file-explorer-toolbar-btn",onClick:()=>Pl(kt),title:r("terminal:fileExplorer.revealInTree"),children:f.jsx(te,{name:"target",size:14})})]})]}),f.jsx("div",{className:"file-explorer-tree-content",children:$t==="compare"?f.jsx(lx,{compareResult:za,loading:ed,onFileSelect:Rx,selectedPath:ue,onClose:ud}):$t==="files"?R?f.jsx("div",{className:"tree-loading",children:r("common:status.loading")}):zi.query?ul?f.jsx("div",{className:"tree-loading",children:r("terminal:fileExplorer.searching")}):f.jsx(ax,{filenameResults:ll,contentResults:cl,onSelectFile:Od,onSelectContent:Qx,selectedPath:ue,query:zi.query,lineNumber:zi.lineNumber}):f.jsx("div",{className:"file-tree",children:nd.length===0?f.jsx("div",{className:"tree-empty",children:r("terminal:fileExplorer.noDirectoriesLinked")}):nd.map(y=>f.jsx(Ax,{node:y,depth:0,selectedPath:ue,expandedPaths:G,onSelect:Od,onToggle:V,onContextMenu:Sx,searchQuery:""},y.path))}):f.jsx(ox,{gitStatus:w,loading:b,onFileSelect:mx,selectedPath:ue,onRefresh:k,onStageFiles:Xx,stagingPaths:qt,currentFolder:m,onCommitComplete:()=>{k(),j()},mergeInProgress:w==null?void 0:w.mergeInProgress,mergingBranch:Kf,onMergeContinue:Tx,onMergeAbort:vx,onConflictOpen:wx,onRevealInTree:Pl})})]}),f.jsx("div",{className:`file-explorer-resize-handle ${le?"active":""}`,onMouseDown:De}),!J&&f.jsx("div",{className:"fe-mobile-resize-handle",onMouseDown:Qe,onTouchStart:ve}),f.jsx("div",{className:"file-explorer-viewer-panel",children:lr?f.jsx(b8,{file:lr,versions:$x,loading:px,onResolve:kx,onClose:()=>{cr(null),PO(null)},currentBranch:(w==null?void 0:w.branch)||"HEAD",mergingBranch:Kf||"incoming"}):wn?f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"commit-diff-header",children:[f.jsx("span",{className:"commit-diff-file",children:wn.filePath}),f.jsx("span",{className:"commit-diff-hash",children:wn.hash.slice(0,8)}),f.jsx("button",{className:"commit-diff-close",onClick:Zx,children:"×"})]}),f.jsx($d,{originalContent:wn.beforeContent,modifiedContent:wn.afterContent,filename:wn.filename,language:pd[wn.extension]||"plaintext"})]}):hx?f.jsx("div",{className:"commit-diff-loading",children:r("common:status.loading")}):f.jsxs(f.Fragment,{children:[f.jsx(sx,{tabs:Tn,activeTabPath:kt,onSelectTab:gx,onCloseTab:rd}),hl==="modified"&&_a!==null&&M?f.jsx($d,{originalContent:_a,modifiedContent:M.content,filename:M.filename,language:pd[M.extension]||"plaintext"}):f.jsx(Ox,{file:M,loading:ae,error:ze,onRevealInTree:Pl,scrollToLine:dx,onSearchStateChange:Ya,onFileEdited:Te})]})})]}),Lt&&f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"git-history-resize-handle",onMouseDown:zx}),f.jsx("div",{className:"git-history-bottom-panel",style:{height:fl},children:f.jsx(_8,{history:q,currentFolder:m,onFileSelect:Yx})})]}),He.isOpen&&He.node&&f.jsx("div",{className:"file-explorer-rename-overlay",onClick:bO,children:f.jsxs("div",{className:"file-explorer-rename-dialog",onClick:y=>y.stopPropagation(),children:[f.jsxs("div",{className:"file-explorer-rename-title",children:["Rename ",He.node.isDirectory?"Folder":"File"]}),f.jsx("div",{className:"file-explorer-rename-path",title:He.node.path,children:He.node.path}),f.jsx("input",{ref:Ql,type:"text",className:"file-explorer-rename-input",value:He.value,onChange:y=>kn(Z=>({...Z,value:y.target.value})),onKeyDown:y=>{y.key==="Enter"?(y.preventDefault(),od()):y.key==="Escape"&&(y.preventDefault(),bO())},disabled:He.submitting}),f.jsxs("div",{className:"file-explorer-rename-actions",children:[f.jsx("button",{className:"file-explorer-rename-btn",onClick:bO,disabled:He.submitting,children:"Cancel"}),f.jsx("button",{className:"file-explorer-rename-btn primary",onClick:()=>{od()},disabled:He.submitting||!He.value.trim(),children:He.submitting?"Renaming...":"Rename"})]})]})}),QO&&f.jsx(jo,{isOpen:QO.isOpen,position:QO.position,worldPosition:{x:0,z:0},actions:bx,onClose:()=>Hf(null)})]})}const F8=Object.freeze(Object.defineProperty({__proto__:null,FileExplorerPanel:R8},Symbol.toStringTag,{value:"Module"}));export{H as E,R8 as F,E8 as a,iv as b,I8 as c,Yk as d,Uk as e,IT as f,L4 as g,iT as h,j8 as i,w0 as j,CP as k,Jk as l,Ys as m,L8 as n,o_ as o,S0 as p,M0 as q,q8 as r,q0 as s,G8 as t,ET as u,A8 as v,Xe as w,BT as x,F8 as y};
|