prreviewbuddy 0.93.0 → 0.95.2
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/CHANGELOG.md +80 -0
- package/dist/main.js +596 -135
- package/dist/{mcp_tools-DbFR9Z90.js → mcp_tools-DDbcXys2.js} +1022 -463
- package/dist/server.js +147 -371
- package/package.json +1 -1
- package/static/{chunk-CIJm20ER.js → chunk-CQIPqX7U.js} +1 -1
- package/static/chunk-Cs33-tV3.js +1 -0
- package/static/{chunk-Ahis0VaG.js → chunk-Cum6sHaC.js} +1 -1
- package/static/{chunk-Cg4cN8Vk.js → chunk-D1LBeOJc.js} +1 -1
- package/static/help.js +1 -1
- package/static/notifications.js +1 -1
- package/static/reviews.js +1 -1
- package/static/runs.js +1 -1
- package/static/settings.js +1 -1
- package/static/shell.css +11 -0
- package/static/workspace.js +1 -1
- package/static/chunk-DRtin0n-.js +0 -1
package/static/workspace.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunk-D6oLtkSC.js","chunk-CvSN2dS5.js","chunk-DsF7k-Jl.js","chunk-BWjKdrB5.js","chunk-hePW80VL.js","chunk-DIEkEPeW.js","chunk-D7hFEgee.js","chunk-B2kMZj3m.js","chunk-BXful7fw.js","chunk-9OYdRhXM.js","chunk-DyBGMc4d.js","chunk-D71XVZIg.js","chunk-Dy-Kn_BL.js","chunk-B-Up-Dum.js","chunk-CCkeMk9N.js","chunk-DwHSAwhM.js","chunk-fybaL0A-.js","chunk-BifhSqXX.js","chunk-DS17s2tU.js","chunk-Baon_ihZ.js","chunk-CAnKkQXq.js","chunk-LbU1hoFO.js","chunk-BzbQS41l.js","chunk-BsjqnLg3.js","chunk-BtIQNnN0.js","chunk-D3KKoC5L.js","chunk-CP0rg-5b.js","chunk-j_1H8WHN.js","chunk-BOvsFOI6.js","chunk-CqHdAlCp.js","chunk-DijMHRDA.js","chunk-D2pwppYQ.js","chunk-Cjc271yU.js","chunk-B2PgDgse.js","chunk-D95j_xjm.js","chunk-Cv3JjNkX.js","chunk-EIJEcyW-.js","chunk-C3nvJp0N.js","chunk-D2NZorQR.js","chunk-NzFayA7r.js","chunk-AdYjtsZU.js","chunk-pNSm1SyV.js","chunk-c-cg1wCO.js","chunk-CBrdyqSx.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{K as e,V as t,_t as n,a as r,c as i,ct as a,dt as o,ft as s,gt as c,ht as l,it as u,l as d,lt as f,m as p,nt as m,o as h,pt as g,q as _,rt as v,s as y,t as ee,ut as b,vt as x,xt as S}from"./chunk-
|
|
2
|
+
import{K as e,V as t,_t as n,a as r,c as i,ct as a,dt as o,ft as s,gt as c,ht as l,it as u,l as d,lt as f,m as p,nt as m,o as h,pt as g,q as _,rt as v,s as y,t as ee,ut as b,vt as x,xt as S}from"./chunk-Cs33-tV3.js";import{C,S as te,T as ne,_ as re,b as ie,d as ae,f as oe,g as se,h as ce,i as le,l as ue,m as de,o as fe,p as pe,u as me,v as he,w as ge,x as _e,y as ve}from"./chunk-CQIPqX7U.js";import{t as w}from"./chunk-CvSN2dS5.js";import{i as ye,n as be,r as xe,t as Se}from"./chunk-D1LBeOJc.js";import{t as Ce}from"./chunk-Dv0Wowan.js";import{t as we}from"./chunk-C8kkSv38.js";function T(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function Te(e){return T(e).replace(/`([^`\n]+)`/g,`<code>$1</code>`)}var Ee=`pr-helper-code-block`,De=`pr-helper-code-copy`,Oe=/^\u0002(\d+)\u0002/,ke=/^(?:https?:\/\/|#)/i,Ae=/^https:\/\//i,je=/^(?:image|img|screenshot|screen ?shot|picture|photo|pic)$/i,Me=/\.(?:png|jpe?g|gif|webp|svg|bmp|heic|avif|tiff?)$/i;function Ne(e){let t=(e??``).trim();return!t||je.test(t)||Me.test(t)?`View attached image`:`View image: ${t}`}function Pe(e,t){return Ae.test(e)?`<a href="${e}" target="_blank" rel="noopener noreferrer">${t}</a>`:null}function Fe(e,t){return Pe(T((e??``).trim()),T(t))}var E=e=>/^(?:left|right|center|justify)$/i.test(e)?e.toLowerCase():null,Ie=e=>/^[1-9]\d{0,2}$/.test(e)?e:null,Le=e=>/^\d{1,9}$/.test(e)?e:null,Re=e=>e.slice(0,300),ze=new Map(Object.entries({a:{href:e=>{let t=e.trim();return ke.test(t)?t:null},title:Re},abbr:{title:Re},b:{},blockquote:{},br:{},caption:{align:E},cite:{},code:{},dd:{},del:{},details:{},div:{align:E},dl:{},dt:{},em:{},hr:{},i:{},ins:{},kbd:{},li:{},mark:{},ol:{start:Le},p:{align:E},q:{},s:{},samp:{},small:{},span:{},strike:{},strong:{},sub:{},summary:{},sup:{},table:{align:E},tbody:{},td:{align:E,colspan:Ie,rowspan:Ie},tfoot:{},th:{align:E,colspan:Ie,rowspan:Ie},thead:{},tr:{align:E},u:{},ul:{},var:{},h1:{align:E},h2:{align:E},h3:{align:E},h4:{align:E},h5:{align:E},h6:{align:E}}).map(([e,t])=>[e,new Map(Object.entries({title:Re,...t}))])),Be=new Set([`br`,`hr`,`img`,`input`,`source`,`meta`,`link`,`base`,`wbr`,`col`,`area`,`track`,`param`,`embed`]),Ve=new Set([`script`,`style`,`iframe`,`object`,`embed`,`svg`,`math`,`template`,`noscript`,`textarea`,`frame`,`frameset`,`applet`,`head`,`title`,`select`]),He=new Set(`picture.pre.source.track.input.form.label.button.option.optgroup.font.center.section.article.header.footer.nav.figure.figcaption.main.aside.html.body.meta.link.base.wbr.col.colgroup.area.map.param.fieldset.legend.dialog`.split(`.`)),Ue=new Set(`address.article.aside.blockquote.caption.center.dd.details.dialog.div.dl.dt.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hr.li.main.nav.ol.p.pre.section.summary.table.tbody.td.tfoot.th.thead.tr.ul`.split(`.`)),We=new RegExp(["`[^`\\n]+`",`<(\\/?)([A-Za-z][A-Za-z0-9-]*)((?:\\s+[^\\s"'<>\\/=]+(?:\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s"'=<>\`]+))?)*)\\s*(\\/?)>`,`&(?:#\\d{1,7}|#[xX][0-9a-fA-F]{1,6}|[A-Za-z][A-Za-z0-9]{1,31});`].join(`|`),`g`),Ge=/([^\s"'<>/=]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/g;function Ke(e){return e.replace(/&(#\d{1,7}|#[xX][0-9a-fA-F]{1,6}|amp|lt|gt|quot|apos|nbsp);/g,(e,t)=>{if(t[0]===`#`){let e=t[1]===`x`||t[1]===`X`?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return e>0&&e<=1114111?String.fromCodePoint(e):``}return{amp:`&`,lt:`<`,gt:`>`,quot:`"`,apos:`'`,nbsp:`\xA0`}[t]??``})}function qe(e){let t=new Map;for(let n of e.matchAll(Ge)){let e=n[1].toLowerCase();t.has(e)||t.set(e,Ke(n[2]??n[3]??n[4]??``))}return t}function Je(e){let t=e.match(/^h([1-6])$/);return t?`h${Math.min(Number(t[1]),3)+3}`:e}function Ye(e,t){let n=Je(e),r=ze.get(e),i=[];for(let[e,n]of qe(t)){let t=r.get(e),a=t?t(n):null;a!==null&&i.push(` ${e}="${T(a)}"`)}return e===`a`&&i.some(e=>e.startsWith(` href=`))&&i.push(` target="_blank" rel="noopener noreferrer"`),`<${n}${i.join(``)}>`}function Xe(e){let t=[],n=e=>`${t.push(e)-1}`,r=``,i=0;We.lastIndex=0;for(let t;t=We.exec(e);){let[a,o,s,c,l]=t,u=null;if(a[0]===`&`)u=n({kind:`entity`,name:``,tag:``,markup:a});else if(s){let t=s.toLowerCase();if(t===`img`){let e=qe(c),r=e.get(`alt`);u=n({kind:`text`,name:t,tag:``,markup:o?``:Fe(e.get(`src`),Ne(r))??T(r??``)})}else if(t===`video`||t===`audio`){let r=o?void 0:qe(c).get(`src`);if(!o&&!l){let n=e.slice(We.lastIndex),i=n.match(RegExp(`</${t}\\s*>`,`i`)),a=i?n.slice(0,i.index):``;r??=qe(a.match(/<source\b([^<>]*)>/i)?.[1]??``).get(`src`),i&&(We.lastIndex+=i.index+i[0].length)}u=n({kind:`text`,name:t,tag:``,markup:(o?null:Fe(r,t===`video`?`Open attached video`:`Open attached audio`))??``})}else if(Ve.has(t)){if(!o&&!l&&!Be.has(t)){let n=RegExp(`</${t}\\s*>`,`i`),r=e.slice(We.lastIndex),i=r.search(n);i!==-1&&(We.lastIndex+=i+r.slice(i).match(n)[0].length)}u=``}else if(He.has(t))u=n({kind:`text`,name:t,tag:``,markup:``});else if(ze.has(t)){let e=Je(t);u=o?n({kind:`close`,name:t,tag:e,markup:``}):Be.has(t)?n({kind:`void`,name:t,tag:e,markup:Ye(t,c)}):n({kind:`open`,name:t,tag:e,markup:Ye(t,c)})}}u!==null&&(r+=e.slice(i,t.index)+u,i=We.lastIndex)}return{text:r+e.slice(i),tokens:t}}function Ze(e,t){for(let n of e.matchAll(/\u0002(\d+)\u0002/g))if(t.tokens[Number(n[1])].kind!==`entity`)return!0;return!1}function Qe(e,t){let n=e.match(Oe);return!!(n&&Ue.has(t.tokens[Number(n[1])].name))}function $e(e){let t=[];return e.replace(/<a\b[^>]*>|<\/a>/g,e=>{if(e===`</a>`)return t.pop()?``:e;let n=t.length>0;return t.push(n),n?``:e})}function et(e,t){let n=[],r=e=>{let r=t.tokens[e];if(r.kind===`open`)return n.push(r.tag),r.markup;if(r.kind===`close`){let e=n.lastIndexOf(r.tag);return e===-1?``:n.splice(e).reverse().map(e=>`</${e}>`).join(``)}return r.markup},i=``,a=0,o=!1;for(let n=0;n<e.length;n++){let s=e[n];if(s===`<`)o=!0;else if(s===`>`)o=!1;else if(s===``){let s=e.indexOf(``,n+1);if(s===-1)break;let c=Number(e.slice(n+1,s));i+=e.slice(a,n)+(o&&t.tokens[c].kind!==`entity`?``:r(c)),n=s,a=s+1}}return i+e.slice(a)+n.reverse().map(e=>`</${e}>`).join(``)}var tt=`\0`,nt=``,rt=/\u0000(\d+)\u0000/g,it=/^\u0000\d+\u0000$/,at=/\u0001(\d+)\u0001/g;function ot(e,t={}){let{text:n,blocks:r}=ft(dt(e.replace(/[\u0000\u0001\u0002]/g,``),t),t);if(!t.safeHtml)return gt(Ct(n),r);let i=Xe(n);return $e(et(gt(Ct(i.text,i),r),i))}function st(e){return e.match(/^\s*(`{3,}|~{3,})\s*[\w+#.-]*\s*$/)?.[1][0]??null}function ct(e,t){return RegExp(`^\\s*${t}{3,}\\s*$`).test(e)}var lt=/`[^`\n]+`|<!--/g;function ut(e,t){lt.lastIndex=t;for(let t;t=lt.exec(e);)if(t[0]===`<!--`)return t.index;return-1}function dt(e,t={}){let n=[],r=null,i=!1,a=null,o=0;for(let s of e.split(`
|
|
3
3
|
`)){let c=o;if(o+=s.length+1,r){let e=ct(s,r);e&&(r=null),n.push({raw:s,visible:s,code:e?`close`:`body`});continue}if(!i&&(r=st(s),r)){n.push({raw:s,visible:s,code:`open`});continue}if(!t.hideHtmlComments){n.push({raw:s,visible:s});continue}let l=i?a:null,u=``,d=0;for(;d<s.length;){if(i){let e=s.indexOf(`-->`,d);if(e===-1)break;d=e+3,i=!1;continue}let t=ut(s,d);if(t===-1||e.indexOf(`-->`,c+t+4)===-1){u+=s.slice(d);break}u+=s.slice(d,t),d=t+4,i=!0}if(l){l.visible+=u,n.push({raw:s,visible:``,absent:!0});continue}let f={raw:s,visible:u};i&&(a=u.trim()===``?null:f),n.push(f)}return n}function ft(e,t={}){let n=[],r=[],i=null,a,o=()=>{r.push(`${tt}${n.length}${tt}`);let e=i.join(`
|
|
4
4
|
`);n.push(a===void 0?{code:e}:{code:e,diagram:{label:`Mermaid diagram: ${a??ht(e)}`}}),i=null};for(let n of e)n.absent||(n.code===`open`?(i=[],a=t.mermaid&&pt(n.raw).toLowerCase()===`mermaid`?mt(r):void 0):n.code===`body`?i.push(n.raw):n.code===`close`?o():r.push(n.visible));return i&&o(),{text:r.join(`
|
|
5
5
|
`),blocks:n}}function pt(e){return e.match(/^\s*(?:`{3,}|~{3,})\s*([\w+#.-]*)/)?.[1]??``}function mt(e){for(let t=e.length-1;t>=0;t--){let n=e[t].trim();if(!n)continue;let r=n.match(/^#{1,6}\s+(.+?)\s*#*$/)?.[1]??n.match(/^(\*\*|__)(.+)\1$/)?.[2];return r&&r.replace(/[`*_]/g,``).trim()||null}return null}function ht(e){let t=e.split(`
|
package/static/chunk-DRtin0n-.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(e,t){e.addEventListener(`pageshow`,e=>{e.persisted&&t()})}var t=[`checkbox`,`radio`,`button`,`submit`,`reset`].map(e=>`:not([type="${e}"])`).join(``);function n(e){if(!e||typeof e.closest!=`function`)return!1;let n=e;return n.isContentEditable?!0:n.closest(`input${t}, textarea, select, [contenteditable=""], [contenteditable="true"]`)!==null}var r=`prbNav`,i=`prb-workspace`,a=`prb-nav-session`,o=`prb-nav-head`,s=`prb-nav-handoff`,c=`prb-nav-places`,l=200,u=15e3,d=`unstored`;function f(e){if(!e||typeof e!=`object`)return null;let t=e[r];if(!t||typeof t!=`object`)return null;let{v:n,owner:i,session:a,idx:o,id:s,ui:c}=t;if(n!==1||i!==`prb-workspace`||typeof a!=`string`||a===``||typeof o!=`number`||!Number.isInteger(o)||o<0)return null;let l=c&&typeof c==`object`&&!Array.isArray(c)?c:null;return{v:n,owner:i,session:a,idx:o,...typeof s==`string`&&s!==``?{id:s}:{},ui:l}}function p(e){if(!e||typeof e!=`object`)return{};let{[r]:t,...n}=e;return n}function m(e,t){if(!e||typeof e!=`object`)return!1;let n=e;return n.owner===`prb-workspace`&&n.session===t}function h(e,t){try{return e?.getItem(t)??null}catch{return null}}function g(e,t,n){try{n===null?e?.removeItem(t):e?.setItem(t,n)}catch{}}function _(e){let{history:t,storage:n,location:_}=e,v=e.navigation??null,y=[],b=null,x=null,S=null,C=t=>{S!==null&&e.clearTimeout(S),S=t?t():null,e.capturePending(S!==null)},w=null,T=(()=>{if(!n)return d;let t=h(n,a);if(t)return t;let r=e.uuid();return g(n,a,r),h(n,a)===r?r:d})(),E=()=>`${_.pathname}${_.search}`,D=e=>`${E()}${e}`,O=()=>{try{v?.updateCurrentEntry({state:{owner:i,session:T}})}catch{}},k=()=>{for(let e of y)e()},A=(e,n)=>{n===void 0?t.replaceState(e,``):t.replaceState(e,``,n),O()},j=()=>Number(h(n,o)??0)||0,M=()=>{try{let e=JSON.parse(h(n,c)??`{}`);return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}catch{return{}}},ee=(e,t)=>{if(!e||!n)return;let r=M();delete r[e],r[e]=t;let i=Object.keys(r);for(let e of i.slice(0,Math.max(0,i.length-l)))delete r[e];g(n,c,JSON.stringify(r))},te=e=>{if(!e)return null;let t=e.id?M()[e.id]:void 0;return t&&typeof t==`object`&&!Array.isArray(t)?t:e.ui},ne=()=>{if(!b)return null;try{return b()}catch{return null}},re=()=>{let a=f(t.state);if(a&&a.session===T&&a.id){w=a.id,O();return}let c=a?.idx??0;if(!a){let t=h(n,s);g(n,s,null),c=0;try{let n=t?JSON.parse(t):null,r=e.referrer!==``&&new URL(e.referrer).origin===_.origin;n&&r&&n.session===T&&typeof n.idx==`number`&&typeof n.at==`number`&&e.now()-n.at<u&&(c=n.idx+1)}catch{c=0}g(n,o,String(c))}let l=a?.id??e.uuid();w=l;let d={v:1,owner:i,session:T,idx:c,id:l,ui:a?.ui??null};A({...p(t.state),[r]:d})},N=()=>f(t.state)??{v:1,owner:`prb-workspace`,session:T,idx:0,ui:null},P=()=>{S!==null&&C(null);let e=ne();if(!e||!w)return;let n=JSON.stringify(e),i=f(t.state);if(!i||i.id!==w){ee(w,e);return}(n!==x||JSON.stringify(i.ui)!==n)&&(x=n,ee(w,e),A({...p(t.state),[r]:{...i,ui:e}}))},F=e=>{if(v){let t=v.currentEntry?.index;if(typeof t!=`number`||t<0)return!1;let n=v.entries()[t+e];if(!n)return!1;try{return m(n.getState(),T)}catch{return!1}}let n=f(t.state);return!n||n.session!==T||t.length<2?!1:e===-1?n.idx>0:n.idx<j()};re();try{t.scrollRestoration=`manual`}catch{}return{session:T,current(){return{route:p(t.state),ui:te(f(t.state))}},push(a,s){if(a!==``&&!a.startsWith(`#`))throw Error(`Workspace history pushes within this document only; "${a}" is not a fragment.`);if(D(a)===`${E()}${_.hash}`)return!1;P();let c=N().idx+1;g(n,o,String(c));let l=e.uuid(),u={v:1,owner:i,session:T,idx:c,id:l,ui:null};return w=l,t.pushState({...p(s),[r]:u},``,D(a)),x=null,O(),k(),!0},replace(e,t){if(e!==``&&!e.startsWith(`#`))throw Error(`Workspace history replaces within this document only; "${e}" is not a fragment.`);A({...p(t),[r]:N()},D(e))},setCapturer(e){b=e},captureNow:P,scheduleCapture(){C(()=>e.setTimeout(P,250))},leaving(){P(),g(n,s,JSON.stringify({session:T,idx:N().idx,at:e.now()}))},canGoBack:()=>F(-1),canGoForward:()=>F(1),back(){return F(-1)?(P(),t.back(),!0):!1},forward(){return F(1)?(P(),t.forward(),!0):!1},moved(){S!==null&&C(null);let e=ne();e&&ee(w,e),x=null,w=f(t.state)?.id??null;let n=f(t.state);!n||!n.id||n.session!==T?re():O(),k()},onAvailability(e){y.push(e)}}}function v(e){return e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey}function y(e){let t=e?.userAgentData?.platform??e?.platform??``;return/mac|iphone|ipad/i.test(t)}function b(e,t,r){if(e.defaultPrevented||e.isComposing)return null;let i=t?e.metaKey:e.ctrlKey,a=t?e.ctrlKey:e.metaKey;if(!i||a||e.altKey||e.shiftKey)return null;let o=e.key===`[`||e.key!==`]`&&e.code===`BracketLeft`?`back`:e.key===`]`||e.code===`BracketRight`?`forward`:null;return!o||n(e.target)||r.querySelector(`dialog[open], [data-menu-panel]:not([hidden])`)?null:o}var x=[`data-id`,`data-finding-card`,`data-goto-section`,`data-view-nav`,`data-file`,`data-line`,`data-history`,`data-history-toggle`,`data-load-more`,`data-select`,`data-pin`,`data-focus-toggle`,`data-ask-toggle`,`data-rail-toggle`,`data-search`,`data-status-filter`,`data-author-filter`,`data-pr-filter`,`data-card`,`data-placement`,`data-collection`,`data-notification-id`,`data-guide-section`,`data-guide-detail`,`data-view`];function S(e){if(e.id)return{attrs:[[`id`,e.id]]};let t=x.filter(t=>e.hasAttribute(t)).map(t=>[t,e.getAttribute(t)??``]);return t.length>0?{attrs:t}:null}function C(e,t){if(!e||e===t||!t.contains(e))return null;let n=[],r=e;for(;r&&r!==t&&n.length<3;){let t=S(r);t?n.unshift(t):r===e&&n.unshift({tag:r.tagName.toLowerCase(),...r.classList[0]?{cls:r.classList[0]}:{}}),r=r.parentElement}return n.length>0?n:null}function w(e){if(!e||typeof e!=`object`)return!1;let{attrs:t,tag:n,cls:r}=e;return t===void 0?typeof n==`string`&&/^[a-z][a-z0-9-]*$/.test(n)&&(r===void 0||typeof r==`string`):Array.isArray(t)&&t.length>0&&t.every(e=>Array.isArray(e)&&e.length===2&&x.concat(`id`).includes(e[0])&&typeof e[1]==`string`)}function T(e,t){return t.attrs?t.attrs.every(([t,n])=>e.getAttribute(t)===n):e.tagName.toLowerCase()===t.tag&&(t.cls===void 0||e.classList.contains(t.cls))}function E(e,t){let n=t.attrs?`[${t.attrs[0][0]}]`:t.tag;for(let r of e.querySelectorAll(n))if(T(r,t))return r;return null}function D(e,t){if(!Array.isArray(t)||t.length===0||!t.every(w))return null;let n=null,r=e;for(let e of t){let t=E(r,e);if(!t)return n;n=t,r=t}return n}function O(e){let t=e.activeElement;return{focus:C(t,e.body),focusVisible:t!==null&&t!==e.body&&t.matches(`:focus-visible`)}}function k(e,t,n){let r=D(e,t);if(!r)return;let i={preventScroll:!0,focusVisible:n===!0};if(r.tabIndex<0&&!r.matches(`a[href], button, input, select, textarea, summary`)){r.querySelector(`a[href], button:not([disabled]), input, select, textarea, [tabindex="0"]`)?.focus(i);return}r.focus(i)}function A(e,t){let n=e?.[t];return typeof n==`number`&&Number.isFinite(n)&&n>=0?n:null}function j(e,t){let n=e?.[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}function M(e){try{return e.sessionStorage}catch{return null}}function ee(e,t){let n=e===`back`?`[`:`]`;return`${e===`back`?`Back`:`Forward`} (${t?`⌘${n}`:`Ctrl+${n}`})`}function te(e,t){if(e.target&&e.target!==`_self`||e.hasAttribute(`download`))return!1;let n;try{n=new URL(e.getAttribute(`href`)??``,t.href)}catch{return!1}return n.origin===t.origin?n.pathname!==t.pathname||n.search!==t.search:!1}function ne(e,t){let n=e.querySelector(`[data-nav-announce]`);!n||!t||(n.textContent=``,e.defaultView?.setTimeout(()=>{n.textContent=t},50))}function re(e={},t=window,n=document){let r=t.navigation??null,i=_({history:t.history,navigation:r,storage:M(t),location:t.location,referrer:n.referrer,now:()=>Date.now(),uuid:()=>t.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,setTimeout:(e,n)=>t.setTimeout(e,n),clearTimeout:e=>t.clearTimeout(e),capturePending:e=>n.documentElement.toggleAttribute(`data-nav-capture-pending`,e)}),a=y(t.navigator),o=[...n.querySelectorAll(`[data-history]`)],s=()=>{for(let e of o)e.disabled=!((e.dataset.history===`forward`?`forward`:`back`)==`back`?i.canGoBack():i.canGoForward())};for(let e of o){let t=e.dataset.history===`forward`?`forward`:`back`;e.dataset.tip=ee(t,a),e.addEventListener(`click`,()=>{t===`back`?i.back():i.forward()})}s(),i.onAvailability(s),r?.addEventListener?.(`currententrychange`,s),t.addEventListener(`keydown`,e=>{let t=b(e,a,n);t&&(e.preventDefault(),t===`back`?i.back():i.forward())}),t.addEventListener(`popstate`,()=>i.moved()),t.addEventListener(`pagehide`,()=>i.captureNow()),n.addEventListener(`visibilitychange`,()=>{n.visibilityState===`hidden`&&i.captureNow()}),n.addEventListener(`click`,e=>{let n=e.target?.closest?.(`a[href]`);!n||!v(e)||e.defaultPrevented||te(n,t.location)&&i.leaving()},!0),n.addEventListener(`pointerdown`,e=>{(e.button===3||e.button===4)&&i.captureNow()},!0);let c=()=>i.scheduleCapture();for(let e of[`scroll`,`click`,`input`,`toggle`,`focusin`])n.addEventListener(e,c,{capture:!0,passive:!0});if(!e.ownsRestore){let e=n.querySelector(`.prb-shell > main`);i.setCapturer(()=>({main:e?.scrollTop??0,...O(n)}));let{ui:t}=i.current(),r=A(t,`main`);e&&r!==null&&(e.scrollTop=r),t&&k(n,t.focus,t.focusVisible)}return i}var N=[{id:`active`,name:`Active`,action:`Move to active`},{id:`waiting`,name:`Waiting`,action:`Mark waiting`},{id:`done`,name:`Done`,action:`Mark done`}];function P(e){if(typeof e!=`object`||!e)return;let{state:t,at:n}=e;if(!(t!==`waiting`&&t!==`done`||typeof n!=`number`||!Number.isFinite(n)))return{state:t,at:n}}function F(e){return N.find(t=>t.id===e).action}function ie(e){return N.find(t=>t.id===(e?.state??`active`)).name}function ae(e){return e?.state===`waiting`?`menu`:e?.state===`done`?`active`:`done`}function oe(e){let t=ae(e);return`${ie(e)}. ${t===`menu`?`Choose what happens next`:F(t)}`}var se=[`created`,`updated`,`merged`,`closed`,`reopened`];function ce(e){return le({at:Number(e.activityAt),kind:e.activityKind,...e.activityMovedAt===void 0?{}:{movedAt:Number(e.activityMovedAt)}})}function le(e){if(typeof e!=`object`||!e)return;let{at:t,kind:n,movedAt:r}=e;if(!(typeof t!=`number`||!Number.isFinite(t)||!se.includes(n)))return{at:t,kind:n,...typeof r==`number`&&Number.isFinite(r)?{movedAt:r}:{}}}function ue(e,t){return!e||e.state===`waiting`&&fe(e,t)?`active`:e.state}function de(e,t){if(!e||!t)return;if(e.state===`waiting`)return fe(e,t)?`Changed while waiting`:void 0;if(t.kind===`reopened`&&t.at>e.at)return`Reopened since done`;let n=t.movedAt??(t.kind===`updated`?t.at:void 0);return n!==void 0&&n>e.at?`Changed since done`:void 0}function fe(e,t){return t!==void 0&&t.kind!==`created`&&t.at>e.at}function pe(e,t,n){return de(t,n)!==void 0||e!==(t?.state??`active`)}function me(e,t,n){return e===`done`&&t?.state===`done`&&de(t,n)!==void 0?`Keep done`:F(e)}var he=[`pinned`,`active`,`waiting`,`done`],ge=[`in-progress`,...he],_e=e=>N.find(t=>t.id===e).name,ve={"in-progress":{title:`In progress`,key:`i`},pinned:{title:`Pinned`,key:`p`},active:{title:_e(`active`),key:`a`},waiting:{title:_e(`waiting`),key:`w`},done:{title:_e(`done`),key:`d`}};function ye(e){return typeof e==`string`&&ge.includes(e)}function be(e){if(ye(e))return!0;if(typeof e!=`string`)return!1;let t=/^collection(?:-done)?:(.*)$/.exec(e);return t!==null&&Se(t[1])}var xe=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Se(e){return typeof e==`string`&&xe.test(e)}function Ce(e,t,n,r){return e&&!I(r)?`pinned`:ue(t,n)}function we(e,t,n,r,i){if(!(r&&!e&&!I(i)))return Ce(e,t,n,i)}function Te(e,t,n,r){if(!(e||I(r)))return ue(t,n)===`done`?`completed`:`active`}function Ee(e,t){let n=`${e} active`;return t===0?n:`${n} · ${t} pinned`}function De(e,t,n){let r=t.filter(t=>t.id!==n&&e.includes(t.id)).map(e=>e.name);if(r.length!==0)return`${n===void 0?`In`:`Also in`} ${r.join(`, `)}`}function Oe(e,t){if(!(e.active>0))return t?`Nothing in this collection matches the filters.`:e.members===0?`Nothing here yet. Add reviews from a card’s menu, or select several and choose Manage collections.`:e.pinned>0&&e.completed===0?`Its reviews are pinned, so they are listed under Pinned.`:`No active reviews`}function ke(e){return`Show completed (${e})`}function Ae(e,t,n){let r=new Map;for(let i of e){let e=t(i);if(e===void 0)continue;let a=r.get(e)??{shown:[],total:0};a.total<n(e)&&a.shown.push(i),a.total+=1,r.set(e,a)}return r}function je(e,t){let n=e.filter(e=>e.includes(t)).length;return n===0?`none`:n===e.length?`all`:`some`}function Me(e){return e===`all`?`remove`:`add`}var Ne=`none`;function Pe(e,t){if(t.length===0)return!0;let n=e??[];return n.length===0?t.includes(Ne):n.some(e=>t.includes(e))}function Fe(e,t){return e.length===0?`All`:e.length>1?`${e.length} chosen`:e[0]===`none`?`Uncollected`:t.find(t=>t.id===e[0])?.name??`All`}function I(e){return e===`queue`}var Ie=[`all`,`queue`,`in-progress`,`complete`],Le=[`any`,`open`,`merged`,`closed`],Re=[`q`,`f`,`by`,`pr`,`col`,`page`],L={query:``,filter:`all`,author:``,pr:`any`,collections:[]};function ze(e){return e.query.trim()!==``||e.filter!==L.filter||e.author!==L.author||e.pr!==L.pr||e.collections.length>0}function Be(e,t,n){let r=n===void 0?`${e} review${e===1?``:`s`}`:`${e} of ${n} review${n===1?``:`s`}`;return e===t?r:`${r} · ${t} branch${t===1?``:`es`}`}function Ve(e,t,n){let r={pinned:{shown:[],total:0},active:{shown:[],total:0},waiting:{shown:[],total:0},done:{shown:[],total:0}};for(let i of e){let e=t(i),a=r[e];a.total<n[e]&&a.shown.push(i),a.total+=1}return r}function He(){return{pinned:15,active:15,waiting:15,done:15}}function Ue(e){let t=new URLSearchParams(e.replace(/^#/,``)),n=t.get(`f`)??``,r=t.get(`pr`)??``,i=new URLSearchParams;for(let[e,n]of t)!Re.includes(e)&&/^[a-z][a-z0-9_-]*$/i.test(e)&&n!==``&&i.append(e,n);let a=i.toString();return{query:t.get(`q`)??``,filter:Ie.includes(n)?n:`all`,author:t.get(`by`)??``,pr:Le.includes(r)?r:`any`,collections:[...new Set((t.get(`col`)??``).split(`,`).filter(e=>e===`none`||Se(e)))],...a===``?{}:{extra:a}}}function We(e){let t=new URLSearchParams;e.query!==``&&t.set(`q`,e.query),e.filter!==`all`&&t.set(`f`,e.filter),e.author!==``&&t.set(`by`,e.author),e.pr!==`any`&&t.set(`pr`,e.pr),e.collections.length>0&&t.set(`col`,e.collections.join(`,`));for(let[n,r]of new URLSearchParams(e.extra??``))Re.includes(n)||t.append(n,r);let n=t.toString();return n===``?``:`#${n}`}function Ge(e,t){return t===`all`||t===`queue`?!0:t===`in-progress`?e.status!==`complete`:e.status===t}function Ke(e,t){return t===`any`||e.prState===t}function qe(e,t){return t===``||e===t}function Je(e){return e===`complete`?`Mark reviewed`:`Mark not reviewed`}function Ye(e){return e?`Unpin review`:`Pin review`}function Xe(e){return e?`Remove from review queue`:`Add to review queue`}function Ze(e,t){let n=t.query.trim().toLowerCase();return Qe(e.filter(e=>(!n||e.searchText.includes(n))&&Ge(e,t.filter)&&qe(e.author,t.author)&&Ke(e,t.pr)&&Pe(e.collections,t.collections??[])),t.filter)}function Qe(e,t){return I(t)?e.filter(e=>e.queue!==void 0).sort((e,t)=>(e.queue??0)-(t.queue??0)):e}function $e(e){return e===0?`Queue`:`Queue (${e})`}function et(e){return e===`complete`?`Reviewed`:e===`in-progress`?`Not reviewed`:`New`}function tt(e){return`${et(e)}. Mark as ${e===`complete`?`not reviewed`:`reviewed`}`}function nt(e){return e===0?`Select reviews to take action`:`${e} review${e===1?``:`s`} selected`}var rt=`Use the checkboxes or choose Select all.`;function it(e,t,n){return e===0?rt:[t===null?``:`of ${t}`,n>0?`${n} not shown`:``].filter(Boolean).join(` · `)}function at(e,t=!1){return e===0||t?`Select all`:`Select all ${e}`}function ot(e){return e===0?`Delete`:`Delete ${e} review${e===1?``:`s`}`}function st(e){return`${ot(e)}?`}function ct(e,t,n){return e===``||t===``||t===e?`wait`:n?`hold`:`reload`}var lt=[`in-progress`,`recent`],ut={"in-progress":{title:`In progress`,key:`i`},recent:{title:`Recent runs and issues`,key:`r`}};function dt(e){return typeof e==`string`&<.includes(e)}var ft=[{id:`global`,label:`Global`},{id:`reviews`,label:`Reviews list`},{id:`runs`,label:`Runs list`},{id:`notifications`,label:`Activity list`},{id:`findings`,label:`Issues and Questions`},{id:`sections`,label:`Review sections`},{id:`buddy`,label:`Buddy AI`},{id:`actions`,label:`Review actions`},{id:`workspace`,label:`Workspace and focus`}],R=(...e)=>({kind:`chord`,keys:e}),z=(e,t)=>({kind:`key`,key:e,...t?{shift:t}:{}}),pt=e=>({kind:`key`,key:e,primary:!0}),mt=ge.map(e=>({id:`reviews.section.${e}`,label:`${ve[e].title} section`,group:`reviews`,page:`reviews`,binding:R(`l`,ve[e].key)})),ht=lt.map(e=>({id:`runs.section.${e}`,label:`${ut[e].title} section`,group:`runs`,page:`runs`,binding:R(`l`,ut[e].key)})),B=[{id:`palette.open`,label:`Command palette`,group:`global`,page:`global`,binding:{kind:`combo`,key:`k`}},{id:`add.open`,label:`New review`,group:`global`,page:`global`,binding:{kind:`combo`,key:`p`}},{id:`add.pullRequest`,label:`Review pull requests`,group:`global`,page:`global`,binding:R(`p`,`p`)},{id:`add.branch`,label:`Review branch`,group:`global`,page:`global`,binding:R(`p`,`b`)},{id:`navigate.reviews`,label:`Go to Reviews`,group:`global`,page:`global`,binding:R(`r`)},{id:`navigate.runs`,label:`Go to Runs`,group:`global`,page:`global`,binding:R(`e`)},{id:`navigate.notifications`,label:`Go to Activity`,group:`global`,page:`global`,binding:R(`n`)},{id:`sidebar.hide`,label:`Hide or show the sidebar`,group:`global`,page:`global`,binding:R(`h`)},{id:`help.shortcuts`,label:`Keyboard shortcuts`,group:`global`,page:`global`,binding:R(`?`)},{id:`reviews.search`,label:`Search reviews`,group:`reviews`,page:`reviews`,binding:R(`s`)},{id:`reviews.filters`,label:`Filters`,group:`reviews`,page:`reviews`,binding:R(`f`)},...mt,{id:`reviews.collection.new`,label:`New collection`,group:`reviews`,page:`reviews`,binding:R(`l`,`n`)},{id:`reviews.collection.fold`,label:`Expand or collapse a collection`,group:`reviews`,page:`reviews`,binding:R(`l`,`c`)},{id:`reviews.next`,label:`Next review`,group:`reviews`,page:`reviews`,binding:z(`j`)},{id:`reviews.previous`,label:`Previous review`,group:`reviews`,page:`reviews`,binding:z(`k`)},{id:`reviews.open`,label:`Open review`,group:`reviews`,page:`reviews`,binding:z(`Enter`)},{id:`reviews.openInNewTab`,label:`Open review in new tab`,group:`reviews`,page:`reviews`,binding:z(`Enter`,!0)},{id:`reviews.menu`,label:`Open review menu`,group:`reviews`,page:`reviews`,binding:z(` `)},{id:`reviews.selection.exit`,label:`Exit selection`,group:`reviews`,page:`reviews`,binding:z(`Escape`),hint:`[data-bulk-exit]`,showHint:!0},{id:`runs.search`,label:`Search runs`,group:`runs`,page:`runs`,binding:R(`s`)},{id:`runs.next`,label:`Next run`,group:`runs`,page:`runs`,binding:z(`j`)},{id:`runs.previous`,label:`Previous run`,group:`runs`,page:`runs`,binding:z(`k`)},{id:`runs.open`,label:`Open run’s review`,group:`runs`,page:`runs`,binding:z(`Enter`)},{id:`runs.openInNewTab`,label:`Open run’s review in new tab`,group:`runs`,page:`runs`,binding:z(`Enter`,!0)},{id:`runs.menu`,label:`Open run menu`,group:`runs`,page:`runs`,binding:z(` `)},...ht,{id:`notifications.next`,label:`Next activity`,group:`notifications`,page:`notifications`,binding:z(`j`)},{id:`notifications.previous`,label:`Previous activity`,group:`notifications`,page:`notifications`,binding:z(`k`)},{id:`notifications.open`,label:`Open activity`,group:`notifications`,page:`notifications`,binding:z(`Enter`)},{id:`notifications.openInNewTab`,label:`Open activity in new tab`,group:`notifications`,page:`notifications`,binding:z(`Enter`,!0)},{id:`review.findings.next`,label:`Next card`,group:`findings`,page:`review`,binding:z(`j`)},{id:`review.findings.previous`,label:`Previous card`,group:`findings`,page:`review`,binding:z(`k`)},{id:`review.findings.askBuddy`,label:`Ask Buddy about the card`,group:`findings`,page:`review`,binding:z(` `)},{id:`review.findings.copy`,label:`Copy the card`,group:`findings`,page:`review`,binding:pt(`c`)},{id:`review.findings.choose`,label:`Include in feedback, or leave out`,group:`findings`,page:`review`,binding:z(`Enter`)},{id:`review.feedback.prepare`,label:`Prepare feedback from the chosen cards`,group:`findings`,page:`review`,binding:pt(`Enter`),hint:`[data-feedback-prepare]`,showHint:!0},{id:`review.feedback.copyDraft`,label:`Copy the feedback draft`,group:`findings`,page:`review`,binding:pt(`c`),within:`[data-feedback-dialog]`,hint:`[data-feedback-copy]`,showHint:!0},{id:`review.section.review`,label:`Review overview`,group:`sections`,page:`review`,binding:R(`s`,`r`)},{id:`review.section.kiss`,label:`KISS`,group:`sections`,page:`review`,binding:R(`s`,`k`)},{id:`review.section.issues`,label:`Issues`,group:`sections`,page:`review`,binding:R(`s`,`i`)},{id:`review.section.diagrams`,label:`Diagrams`,group:`sections`,page:`review`,binding:R(`s`,`g`)},{id:`review.section.questions`,label:`Questions`,group:`sections`,page:`review`,binding:R(`s`,`q`)},{id:`review.section.files`,label:`Files`,group:`sections`,page:`review`,binding:R(`s`,`f`)},{id:`review.buddy.open`,label:`Open Buddy AI`,group:`buddy`,page:`review`,binding:R(`b`,`o`)},{id:`review.buddy.prompt`,label:`Choose a prompt`,group:`buddy`,page:`review`,binding:R(`b`,`p`)},{id:`review.mark.reviewed`,label:`Mark reviewed`,group:`actions`,page:`review`,binding:R(`m`,`r`),hint:`[data-review-menu] [data-mark-status]`},{id:`review.mark.waiting`,label:`Mark waiting`,group:`actions`,page:`review`,binding:R(`m`,`w`),hint:`[data-review-menu] [data-lifecycle-set="waiting"]`},{id:`review.mark.done`,label:`Mark done`,group:`actions`,page:`review`,binding:R(`m`,`d`),hint:`[data-review-menu] [data-lifecycle-set="done"]`},{id:`review.checkUpdates`,label:`Check for updates`,group:`actions`,page:`review`,binding:R(`a`,`c`),hint:`[data-review-menu] [data-fresh-check]`},{id:`review.update`,label:`Update review`,group:`actions`,page:`review`,binding:R(`a`,`u`)},{id:`review.queue.toggle`,label:`Queue`,group:`actions`,page:`review`,binding:R(`a`,`q`),hint:`[data-review-menu] [data-queue-action]`},{id:`review.feedback.toggle`,label:`Start or exit Prepare feedback`,group:`actions`,page:`review`,binding:R(`a`,`p`)},{id:`review.delete`,label:`Delete`,group:`actions`,page:`review`,binding:R(`a`,`d`),hint:`[data-review-menu] [data-delete]`},{id:`review.focus.toggle`,label:`Expand or collapse this section`,group:`workspace`,page:`review`,binding:z(`\\`),hint:`[data-focus-toggle]`},{id:`review.leave`,label:`Leave the Buddy AI field, Prepare feedback, or focus mode`,group:`workspace`,page:`review`,binding:z(`Escape`)}],gt=[{page:`global`,keys:[`p`],label:`New review`,combo:`p`},{page:`review`,keys:[`s`],label:`Sections`},{page:`review`,keys:[`m`],label:`Mark`},{page:`review`,keys:[`a`],label:`Actions`},{page:`review`,keys:[`b`],label:`Buddy AI`},{page:`reviews`,keys:[`l`],label:`List sections`},{page:`runs`,keys:[`l`],label:`List sections`}];function _t(e,t=B){return t.filter(t=>t.page===`global`||t.page===e)}function vt(e,t=B){let n={kind:`node`,key:``,label:`Commands`,children:[]},r=(t,r)=>{let i=n;for(let[n,a]of t.entries()){let o=i.children.find(e=>e.key===a);if(o?.kind===`leaf`)throw Error(`Chord ${t.slice(0,n+1).join(` `)} is a command and a namespace on ${e}`);if(o){i=o;continue}let s={kind:`node`,key:a,label:gt.find(r=>(r.page===e||r.page===`global`)&&r.keys.join(` `)===t.slice(0,n+1).join(` `))?.label??r??a.toUpperCase(),children:[]};i.children.push(s),i=s}return i};for(let n of _t(e,t)){if(n.binding.kind!==`chord`)continue;let t=n.binding.keys,i=r(t.slice(0,-1)),a=t[t.length-1];if(i.children.some(e=>e.key===a))throw Error(`Chord ${t.join(` `)} is bound twice on ${e}`);i.children.push({kind:`leaf`,key:a,command:n})}return n}function yt(e){return _t(e).filter(e=>e.binding.kind===`key`)}var bt=new Set([`Shift`,`Control`,`Alt`,`Meta`,`CapsLock`,`Fn`,`AltGraph`,`OS`]);function xt(e){return bt.has(e.key)}function St(e){let t=e.key;if(t.length===1){if(/^[a-z]$/i.test(t))return t.toLowerCase();let n=/^Key([A-Z])$/.exec(e.code??``);return n&&/\p{L}/u.test(t)?n[1].toLowerCase():t}return null}var Ct=new Set(B.flatMap(e=>e.binding.kind===`combo`?[e.binding.key]:[]));function wt(e,t){let n=t?e.metaKey:e.ctrlKey,r=t?e.ctrlKey:e.metaKey;if(!n||r||e.altKey||e.shiftKey||e.isComposing)return null;let i=St(e);return i!==null&&Ct.has(i)?i:null}function Tt(e){return B.find(t=>t.binding.kind===`combo`&&t.binding.key===e)}function Et(e,t,n=!1){if(e.kind!==`key`||t.altKey||t.isComposing)return!1;let r=n?t.metaKey:t.ctrlKey;return(n?t.ctrlKey:t.metaKey)||r!==(e.primary===!0)||t.shiftKey!==(e.shift===!0)?!1:e.key===`\\`?t.key===`\\`||t.code===`Backslash`:e.key.length===1?St(t)===e.key:t.key===e.key}function Dt(e){let t=null,n=[];return{get at(){return t},get path(){return n},start(r=[]){let i=e,a=[];for(let e of r){let t=i.children.find(t=>t.key===e);if(t?.kind!==`node`)break;i=t,a.push(e)}t=i,n=a},press(e){let r=t?.children.find(t=>t.key===e);return r?r.kind===`leaf`?(t=null,n=[],{kind:`run`,command:r.command}):(t=r,n=[...n,e],{kind:`descend`,node:r}):(t=null,n=[],{kind:`cancel`})},reset(){t=null,n=[]}}}var Ot={Escape:`Esc`,Enter:`Enter`,"\\":`\\`," ":`Space`};function V(e){return Ot[e]??(e.length===1?e.toUpperCase():e)}function H(e,t=`k`){let n=t.toUpperCase();return e?`⌘${n}`:`Ctrl+${n}`}function U(e,t){let n=gt.find(t=>t.combo!==void 0&&t.keys.every((t,n)=>e[n]===t));return n?[H(t,n.combo),...e.slice(n.keys.length).map(V)]:[H(t),...e.map(V)]}function W(e,t){return e.kind===`combo`?t?`⌘${V(e.key)}`:`Ctrl+${V(e.key)}`:e.kind===`chord`?U(e.keys,t).join(` `):e.primary?t?`⌘${V(e.key)}`:`Ctrl+${V(e.key)}`:e.shift?`Shift+${V(e.key)}`:V(e.key)}function kt(e,t){return e.kind===`chord`?U(e.keys,t):[W(e,t)]}function At(e,t){if(e.kind===`chord`)return null;if(e.kind===`combo`)return`${t?`Meta`:`Control`}+${e.key.toUpperCase()}`;let n=e.key===` `?`Space`:e.key.length===1?e.key.toUpperCase():e.key;return e.primary?`${t?`Meta`:`Control`}+${n}`:e.shift?`Shift+${n}`:n}function jt(e){return ft.map(t=>({group:t.id,label:t.label,rows:B.filter(e=>e.group===t.id).map(t=>({id:t.id,keys:kt(t.binding,e),label:t.label}))})).filter(e=>e.rows.length>0)}function G(e,t,n,r){let i=e.createElement(t);return n&&(i.className=n),r!==void 0&&(i.textContent=r),i}function K(e,t){return G(e,`kbd`,`prb-kbd`,t)}function Mt(e,t,n){let r=G(e,`dialog`,`prb-palette`);r.setAttribute(`data-command-palette`,``),r.setAttribute(`aria-labelledby`,`prb-palette-title`);let i=G(e,`div`,`prb-palette-panel`);i.tabIndex=-1,r.append(i),e.body.append(r),r.addEventListener(`click`,e=>{if(e.stopPropagation(),e.target===r)return n();let i=e.target?.closest?.(`[data-palette-key]`);i?.dataset.paletteKey!==void 0&&i.getAttribute(`aria-disabled`)!==`true`&&t(i.dataset.paletteKey)}),r.addEventListener(`cancel`,e=>{e.preventDefault(),n()});let a=(t,n)=>{let r=G(e,`div`,`prb-palette-head`),i=G(e,`span`,`prb-palette-trail`);for(let[n,r]of t.entries())n>0&&i.append(G(e,`span`,`prb-palette-sep`,`›`)),i.append(K(e,r));let a=G(e,`h2`,`prb-palette-title`,n);return a.id=`prb-palette-title`,r.append(i,a),r};return{dialog:r,show:t=>{i.replaceChildren(a(t.trail,t.title));let n=G(e,`div`,`prb-palette-list`);n.setAttribute(`role`,`group`),n.setAttribute(`aria-labelledby`,`prb-palette-title`);let o=null;for(let r of t.rows){t.groupLabels&&r.group!==o&&(n.append(G(e,`p`,`prb-palette-group`,t.groupLabels[r.group]??r.group)),o=r.group);let i=G(e,`button`,`prb-palette-row`);i.type=`button`,i.dataset.paletteKey=r.key,r.available||i.setAttribute(`aria-disabled`,`true`),r.namespace&&i.setAttribute(`aria-haspopup`,`true`),i.append(K(e,r.keyLabel),G(e,`span`,`prb-palette-label`,r.namespace?`${r.label}…`:r.label)),r.state&&i.append(G(e,`span`,`prb-palette-state`,r.state)),n.append(i)}if(t.rows.length===0&&n.append(G(e,`p`,`prb-palette-empty`,`Nothing here on this page.`)),i.append(n),t.footer.length>0){let n=G(e,`div`,`prb-palette-footer`);n.append(G(e,`p`,`prb-palette-group`,`Keys on this page`));let r=G(e,`ul`,`prb-palette-keys`);for(let n of t.footer){let t=G(e,`li`);t.append(K(e,n.keys),G(e,`span`,void 0,n.label)),r.append(t)}n.append(r),i.append(n)}r.open||r.showModal(),i.focus()},showPanel:(t,n,o)=>{i.replaceChildren(a(t,n.title));let s=G(e,`div`,`prb-palette-body`);i.append(s),r.open||r.showModal(),i.dataset.mode=n.title;let c=n.mount(s,o);return()=>{delete i.dataset.mode,c?.()}},close:()=>{r.open&&r.close()},isOpen:()=>r.open}}function Nt(e,t,n){let r=[...e.querySelectorAll(`[data-palette-key]`)];if(r.length===0)return!1;let i=r.indexOf(n),a=t===`ArrowDown`?r[i<0?0:(i+1)%r.length]:t===`ArrowUp`?r[i<0?r.length-1:(i-1+r.length)%r.length]:t===`Home`?r[0]:t===`End`?r[r.length-1]:null;return a?(a.focus(),!0):!1}function Pt(e,t){let n=G(e,`div`,`prb-shortcuts-table`);for(let r of t){let t=G(e,`section`,`prb-shortcuts-group`);t.append(G(e,`h3`,`prb-shortcuts-heading`,r.label));let i=G(e,`dl`,`prb-shortcuts-list`);for(let t of r.rows){let n=G(e,`dt`,`prb-shortcuts-keys`);n.dataset.commandId=t.id;for(let r of t.keys)n.append(K(e,r));i.append(n,G(e,`dd`,`prb-shortcuts-label`,t.label))}t.append(i),n.append(t)}return n}function Ft(e,t,n,r){let i=G(e,`dialog`,`prb-dialog prb-shortcuts`);i.setAttribute(`data-shortcuts-dialog`,``),i.setAttribute(`aria-labelledby`,`prb-shortcuts-title`);let a=G(e,`div`,`prb-shortcuts-head`),o=G(e,`h2`,void 0,`Keyboard shortcuts`);o.id=`prb-shortcuts-title`;let s=G(e,`button`,`prb-shortcuts-close`,`Close`);s.type=`button`,s.setAttribute(`data-shortcuts-close`,``),a.append(o,s),i.append(a,G(e,`p`,`prb-shortcuts-hint`,n),Pt(e,t)),e.body.append(i);let c=null;return s.addEventListener(`click`,()=>i.close()),i.addEventListener(`click`,e=>{e.target===i&&i.close()}),i.addEventListener(`close`,()=>{c?.isConnected&&c.focus(),c=null,r?.()}),{dialog:i,open:()=>{if(i.open)return;let t=e.activeElement;c=t instanceof HTMLElement&&t!==e.body?t:null,i.showModal(),s.focus()},isOpen:()=>i.open}}var It=/https?:\/\/[^\s<>()"'`]+/gi,Lt=/^https?:\/\/(?:www\.)?github\.com\/([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)\/pull\/(\d+)(?:[/?#]|$)/i,Rt=/^https?:\/\/([^/]+)\/((?:[^/?#]+\/)+?)(?:-\/)?merge_requests\/(\d+)(?:[/?#]|$)/i,zt=/^https?:\/\/(?:www\.)?bitbucket\.org\/([^/?#]+)\/([^/?#]+)\/pull-requests\/(\d+)(?:[/?#]|$)/i;function Bt(e){let t=e.replace(/[.,;:!?)\]]+$/,``),n=Lt.exec(t);if(n){let[,e,t,r]=n,i=t.replace(/\.git$/i,``),a=Number(r);return{kind:`github`,owner:e,repo:i,number:a,url:`https://github.com/${e}/${i}/pull/${a}`,key:`${e}/${i}#${a}`.toLowerCase()}}let r=zt.exec(t);if(r){let[,e,n,i]=r;return{kind:`unsupported`,provider:`Bitbucket`,label:`${e}/${n} #${i}`,url:t,key:`bitbucket:${e}/${n}#${i}`.toLowerCase()}}let i=Rt.exec(t);if(i){let[,e,n,r]=i,a=n.replace(/\/$/,``);return{kind:`unsupported`,provider:`GitLab`,label:`${a} !${r}`,url:t,key:`gitlab:${e}/${a}!${r}`.toLowerCase()}}return null}function Vt(e){let t=[],n=new Set;for(let r of e.matchAll(It)){let e=Bt(r[0]);!e||n.has(e.key)||(n.add(e.key),t.push(e))}return t}function Ht(e){return`${e} isn't supported yet`}var Ut=`prb:review-started`;function Wt(e){e.dispatchEvent(new(e.defaultView??window).Event(Ut))}function Gt(e,t){e.addEventListener(Ut,t)}function Kt(e,t){let n=null,r=!1,i=!1,a=!1,o=async()=>{n=null,r=!0;let s=await t();if(r=!1,s===null){a=!0;return}let c=i?0:s;i=!1,n=e.setTimeout(()=>void o(),c)};return o(),{now:()=>{if(!a){if(r){i=!0;return}n!==null&&e.clearTimeout(n),o()}}}}function qt(e){return e.model?`Keeps its original agent and model: ${e.agent}, ${e.model}`:`Keeps its original agent: ${e.agent}`}var Jt={waiting:`Queued`,reviewing:`Analysing`,"already-reviewed":`Already reviewed`,ready:`Ready`,failed:`Failed`},Yt={waiting:`○`,reviewing:`◐`,"already-reviewed":`✓`,ready:`✓`,failed:`!`},Xt=250,Zt=1500,Qt=6e4;async function q(e,t,n){try{let r=await e.fetch(t,n===void 0?{}:{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}),i=await r.json().catch(()=>({}));if(!r.ok){let e=i;return{...e,ok:!1,status:r.status,error:typeof e.error==`string`?e.error:`Something went wrong. Try again.`}}return{ok:!0,value:i}}catch{return{ok:!1,status:0,error:`The workspace server did not answer. Check it is still running.`}}}function $t(e,t,n){let r=null,i=!1,a=o=>{r=e.setTimeout(async()=>{let r=await q(e,`/add-review/batches/${t}`);i||(r.ok?(n.rows(r.value.rows,r.value.finished),a(r.value.finished?Qt:Zt)):r.status===404?n.lost(r.error):a(Zt))},o)};return a(Zt),()=>{i=!0,r!==null&&e.clearTimeout(r)}}function J(e,t,n,r){let i=e.createElement(t);return n&&(i.className=n),r!==void 0&&(i.textContent=r),i}function Y(e,t,n){let r=J(e,`option`,void 0,t);return r.value=n,r}function X(e,t,n){let r=J(e,`a`,`prb-addreview-link`,n);return r.href=`/open?id=${encodeURIComponent(t)}`,r}function en(e,t){let n=J(e,`details`,`prb-addreview-technical`);return n.append(J(e,`summary`,void 0,`Technical details`),J(e,`pre`,void 0,t)),n}function tn(e){let t=J(e,`div`,`prb-addreview-problemblock`);t.setAttribute(`role`,`alert`);let n=J(e,`p`,`prb-addreview-error`);return n.hidden=!0,t.append(n),{element:t,show(r){n.textContent=r.error,n.hidden=!1,t.querySelector(`.prb-addreview-technical`)?.remove(),r.detail&&t.append(en(e,r.detail))},hide(){n.hidden=!0,t.querySelector(`.prb-addreview-technical`)?.remove()}}}function nn(e,t,n=`prb-addreview-path`){let r=J(e,`span`,n),i=t.replace(/\/+$/,``).lastIndexOf(`/`);return i<=0?r.textContent=t:r.append(J(e,`span`,`prb-addreview-path-parent`,t.slice(0,i+1)),J(e,`span`,`prb-addreview-path-name`,t.slice(i+1))),r}function Z(e,t){return J(e,`code`,void 0,t)}var Q=e=>`${e} commit${e===1?``:`s`}`;function rn(e,t){let n=t.options.find(e=>e.where===`remote`)?.display??`origin/${t.name}`,r=J(e,`p`,`prb-addreview-choice-text`),i=t.divergence,a=i&&i.ahead>0&&i.behind>0?[`Your local `,Z(e,t.name),` and `,Z(e,n),` have diverged: ${Q(i.ahead)} on the local side, ${Q(i.behind)} on the remote.`]:i&&i.ahead>0?[`Your local `,Z(e,t.name),` is ${Q(i.ahead)} ahead of `,Z(e,n),`.`]:i&&i.behind>0?[`Your local `,Z(e,t.name),` is ${Q(i.behind)} behind `,Z(e,n),`.`]:[`Your local `,Z(e,t.name),` and `,Z(e,n),` are different commits.`];return r.append(...a),r}function an(e,t,n){let r=t.baseChoice,i=J(e,`div`,`prb-addreview-choice`);i.setAttribute(`data-addreview-base-choice`,``);let a=J(e,`p`,`prb-addreview-choice-title`,`Choose a base branch`);a.id=`prb-addreview-choice-title`;let o=J(e,`div`,`prb-addreview-choice-options`);o.setAttribute(`role`,`radiogroup`),o.setAttribute(`aria-labelledby`,a.id);for(let t of r.options){let i=J(e,`label`,`prb-addreview-choice-option`),a=J(e,`input`);a.type=`radio`,a.name=`prb-addreview-base-choice`,a.value=t.base,a.addEventListener(`change`,()=>{a.checked&&n(t.base)});let s=`${t.where===`remote`?`Remote`:`Local`} ${r.name}`,c=t.commits===void 0?``:t.commits===0?` (no new changes)`:` (${Q(t.commits)} to review)`;i.append(a,Z(e,t.display),J(e,`span`,`prb-addreview-choice-what`,` ${s}${c}`)),o.append(i)}return i.append(a,rn(e,r),J(e,`p`,`prb-addreview-choice-text`,`Select which branch to compare against:`),o),t.detail&&i.append(en(e,t.detail)),i}function on(e,t){return t&&e.status===`waiting`?`Not started`:t&&e.status===`reviewing`?`Started`:Jt[e.status]}function sn(e,t){let n=e.filter(e=>e.status===`ready`||e.status===`already-reviewed`).length,r=[`reviewing`,`waiting`,`failed`].map(n=>[on({status:n},t).toLowerCase(),e.filter(e=>e.status===n).length]).filter(([,e])=>e>0);return[`${n} of ${e.length} ${e.length===1?`review`:`reviews`} ready`,...r.map(([e,t])=>`${t} ${e}`)].join(` · `)}function cn(e,t,n,r,i){let a=J(e,`div`,`prb-addreview-progress`);a.setAttribute(`data-addreview-progress`,``);let o=J(e,`p`,`prb-addreview-summary`);o.setAttribute(`aria-live`,`polite`);let s=J(e,`ul`,`prb-addreview-rows`);s.setAttribute(`aria-label`,`Started reviews`);let c=J(e,`p`,`prb-palette-summary`),l=tn(e),u=J(e,`div`,`prb-addreview-footer`),d=J(e,`button`,`prb-addreview-start`,`Close`);d.type=`button`,d.setAttribute(`data-addreview-close`,``),d.addEventListener(`click`,i),u.append(d),a.append(o,s,c,l.element,u);let f=r,p=null,m=!1,h=!1,g=new Map,_=(t,n)=>{let r=n.contains(e.activeElement),i=n.querySelector(`.prb-addreview-technical`)?.open??!1;n.replaceChildren(),n.dataset.status=h&&t.status===`waiting`?`not-started`:t.status,n.dataset.state=t.status===`failed`?`problem`:`ok`;let a=J(e,`div`,`prb-addreview-row-head`),o=J(e,`span`,`prb-addreview-mark`,Yt[t.status]);if(o.setAttribute(`aria-hidden`,`true`),a.append(o,t.reviewId?X(e,t.reviewId,t.label):J(e,`span`,`prb-addreview-row-label`,t.label)),a.append(J(e,`span`,`prb-addreview-badge`,on(t,h))),n.append(a),t.reason&&n.append(J(e,`span`,`prb-addreview-status prb-addreview-${t.status===`failed`?`problem`:`muted`}`,t.reason)),t.kept&&n.append(J(e,`span`,`prb-addreview-status prb-addreview-muted`,qt(t.kept))),t.detail){let r=en(e,t.detail);r.open=i,n.append(r)}if(t.status===`failed`&&!h){let r=t.stale===!0,i=J(e,`button`,`prb-addreview-retry`,r?`Start fresh review`:`Retry`);i.type=`button`,i.setAttribute(r?`data-addreview-fresh`:`data-addreview-retry`,``),i.setAttribute(`aria-label`,`${r?`Start a fresh review of`:`Retry`} ${t.label}`),i.addEventListener(`click`,()=>void b(t.key,i,r)),n.append(i)}r&&n.focus()},v=()=>{let t=f.map(t=>{let n=JSON.stringify([t,h]),r=g.get(t.key);if(!r){let n=J(e,`li`,`prb-addreview-row`);n.dataset.rowKey=t.key,n.tabIndex=-1,r={item:n,json:``},g.set(t.key,r)}return r.json!==n&&(_(t,r.item),r.json=n),r.item});(t.some((e,t)=>s.children[t]!==e)||s.children.length!==t.length)&&s.replaceChildren(...t),o.textContent=sn(f,h),c.textContent=!h&&f.some(e=>e.status===`waiting`)?`Queued reviews start as running ones finish. Reviews carry on in the background, so you can close this; they appear in your reviews list.`:`Reviews carry on in the background, so you can close this; they appear in your reviews list.`},y=()=>{p?.(),p=$t(t,n,{rows:e=>{f=e,v()},lost:e=>{l.show({error:e}),h=!0,v()}})},b=async(r,i,a)=>{i.disabled=!0;let o=await q(t,`/add-review/batches/${n}/retry`,{key:r,...a?{fresh:!0}:{}});if(o.ok&&Wt(e),!m){if(!o.ok){i.disabled=!1,l.show(o),o.status===404&&(h=!0,p?.(),v());return}l.hide(),f=o.value.rows,v(),y()}};return v(),y(),{element:a,focus:()=>d.focus(),stop:()=>{m=!0,p?.()}}}function ln(e,t,n){let r=J(e,`details`,`prb-addreview-options`);r.append(J(e,`summary`,void 0,`Review options`));let i=J(e,`div`,`prb-addreview-grid`);r.append(i);let a=(t,n)=>{let r=J(e,`label`,`prb-addreview-key`,t),a=`prb-addreview-${t.toLowerCase()}`;n.id=a,r.htmlFor=a,i.append(r,n)},o=J(e,`select`,`prb-addreview-control`);o.setAttribute(`data-addreview-agent`,``);let s=J(e,`input`,`prb-addreview-control`);s.type=`text`,s.placeholder=`Default`,s.spellcheck=!1,s.autocomplete=`off`,s.setAttribute(`data-addreview-model`,``);let c=J(e,`input`,`prb-addreview-control`);c.type=`text`,c.placeholder=`Auto`,c.spellcheck=!1,c.autocomplete=`off`,c.setAttribute(`data-addreview-base`,``),a(`Agent`,o),a(`Model`,s);let l=J(e,`div`,`prb-addreview-modelhelp`),u=J(e,`button`,`prb-addreview-helplink`,`How do I find model names?`);u.type=`button`,u.setAttribute(`aria-expanded`,`false`),u.setAttribute(`data-addreview-model-help`,``);let d=J(e,`p`,`prb-addreview-help`);d.id=`prb-addreview-model-help`,d.hidden=!0,u.setAttribute(`aria-controls`,d.id),l.append(u,d),i.append(l),n&&a(`Base`,c);let f=tn(e);r.append(f.element);let p=[],m=()=>{let t=p.find(e=>e.id===o.value);if(!t){d.replaceChildren(`Choose an agent to see how to find its model names.`);return}let n=t.displayName,r=t.modelHelp;d.replaceChildren(...r?.command?[`To see the models ${n} offers, run `,Z(e,r.command),` in a terminal.`]:r?.note?[`To see the models ${n} offers, ${r.note}.`]:[`${n} does not say how to list its models. Use a name from its own documentation.`],` Leave Model empty to use ${n}'s default.`)};u.addEventListener(`click`,()=>{d.hidden=!d.hidden,u.setAttribute(`aria-expanded`,String(!d.hidden)),d.hidden?s.removeAttribute(`aria-describedby`):s.setAttribute(`aria-describedby`,d.id),m()}),o.addEventListener(`change`,m);let h=null,g=!1;return{element:r,base:c,loaded:q(t,`/add-review/options`).then(t=>{if(g=!0,!t.ok)return f.show(t),r.open=!0,null;p=t.value.agents;let{agent:n}=t.value,i=p.filter(e=>e.installed);n.kind!==`resolved`&&o.append(Y(e,`Choose an agent`,``));for(let t of i)o.append(Y(e,t.displayName,t.id));return n.kind===`resolved`?(h=n.id,i.some(e=>e.id===n.id)||o.append(Y(e,n.displayName,n.id)),o.value=n.id):(o.value=``,r.open=!0,n.kind===`refused`&&f.show({error:n.error})),m(),t.value}),complete:()=>g&&o.value!==``,values:()=>({...o.value&&o.value!==h?{agent:o.value}:{},...s.value.trim()?{model:s.value.trim()}:{},...n&&c.value.trim()?{base:c.value.trim()}:{}}),setBasePlaceholder:e=>{c.placeholder=e?`Auto (${e})`:`Auto`},showProblem:e=>{r.open=!0,f.show(e),(e.field===`model`?s:o).focus()},hideProblem:()=>f.hide()}}function un(e){let t=J(e,`button`,`prb-addreview-start`);return t.type=`button`,t.setAttribute(`data-addreview-start`,``),t}function dn(e){return{title:`New review`,escape:`close`,mount(t,n){let r=e.defaultView,i=J(e,`div`,`prb-addreview`);i.setAttribute(`data-addreview`,`pull-requests`);let a=J(e,`div`,`prb-addreview-config`),o=J(e,`label`,`prb-addreview-label`,`Paste PR links`),s=J(e,`textarea`,`prb-palette-input prb-addreview-paste`);s.id=`prb-addreview-paste`,o.htmlFor=s.id,s.rows=3,s.spellcheck=!1,s.autocomplete=`off`,s.placeholder=`https://github.com/owner/repo/pull/123`;let c=J(e,`p`,`prb-palette-summary`);c.setAttribute(`aria-live`,`polite`);let l=J(e,`ul`,`prb-addreview-rows`),u=ln(e,r,!1),d=tn(e),f=J(e,`p`,`prb-addreview-error`);f.setAttribute(`data-addreview-limit`,``),f.hidden=!0;let p=J(e,`div`,`prb-addreview-footer`),m=un(e);p.append(m),a.append(o,s,c,f,l,u.element,d.element,p),i.append(J(e,`p`,`prb-addreview-mode`,`Pull request`),a),t.append(i);let h=[],g=new Map,_=!1,v=0,y=null,b=null,x=!1,S=!1,C=()=>h.filter(e=>(e.ok||e.needsFolder)&&!!g.get(e.key)),w=0,T=()=>{let e=C().length;m.textContent=e>1?`Review ${e} PRs`:`Review PR`,m.disabled=b!==null||x||_||w>0||e===0||!u.complete()},E=()=>{f.hidden=w===0,f.textContent=`At most 20 pull requests can be reviewed at once. Remove ${w} to continue.`},D=(t,n)=>J(e,`span`,`prb-addreview-status prb-addreview-${n}`,t),O=()=>{l.replaceChildren(...h.map(t=>{let n=J(e,`li`,`prb-addreview-row`);n.dataset.rowKey=t.key;let r=t.ok||!!g.get(t.key);n.dataset.state=r?`ok`:`problem`;let i=J(e,`div`,`prb-addreview-row-head`),a=J(e,`span`,`prb-addreview-mark`,r?`✓`:`!`);if(a.setAttribute(`aria-hidden`,`true`),i.append(a,J(e,`span`,`prb-addreview-row-label`,t.label)),n.append(i),t.reviewed?.kept){let r=D(``,`muted`);r.append(X(e,t.reviewed.reviewId,`Resumes where it stopped`)),n.append(r,D(qt(t.reviewed.kept),`muted`))}else if(t.reviewed){let r=D(``,`muted`);r.append(X(e,t.reviewed.reviewId,`Already reviewed`)),n.append(r)}else t.ok?n.append(D(`Ready to start`,`muted`)):t.reason&&n.append(D(t.reason,`problem`));if(t.folders.length>1){let r=J(e,`select`,`prb-addreview-control prb-addreview-folder`);r.setAttribute(`aria-label`,`Local folder for ${t.label}`);for(let n of t.folders)r.append(Y(e,n.branch?`${n.display} (${n.branch})`:n.display,n.path));r.value=g.get(t.key)??t.folder??``,r.addEventListener(`change`,()=>g.set(t.key,r.value)),n.append(r)}else if(t.folders.length===1)n.append(nn(e,t.folders[0].display));else if(t.needsFolder){let r=J(e,`input`,`prb-addreview-control prb-addreview-folder`);r.type=`text`,r.placeholder=`Local folder for this repository, e.g. ~/code/repo`,r.setAttribute(`aria-label`,`Local folder for ${t.label}`),r.spellcheck=!1,r.autocomplete=`off`,r.value=g.get(t.key)??``,r.addEventListener(`input`,()=>{r.value.trim()?g.set(t.key,r.value.trim()):g.delete(t.key),n.dataset.state=r.value.trim()?`ok`:`problem`,T()}),n.append(r)}return n}))},k=()=>{let e=Vt(s.value),t=e.filter(e=>e.kind===`github`).length;c.textContent=e.length===0?s.value.trim()?`No pull request links found.`:``:t===1?`1 pull request recognised`:`${t} pull requests recognised`,h=e.map(e=>e.kind===`github`?h.find(t=>t.key===e.key)??{key:e.key,label:`${e.owner}/${e.repo} #${e.number}`,url:e.url,ok:!1,folders:[]}:{key:e.key,label:`${e.provider} ${e.provider===`GitLab`?`merge request`:`pull request`}`,url:e.url,ok:!1,reason:Ht(e.provider),folders:[]}),_=e.some(e=>e.kind===`github`),w=Math.max(0,t-20);let n=++v;O(),E(),T(),y!==null&&r.clearTimeout(y),_&&(y=r.setTimeout(async()=>{y=null;let e=await q(r,`/add-review/pull-requests/preview`,{text:s.value});if(!(S||n!==v)){if(_=!1,!e.ok)d.show(e);else{d.hide(),h=e.value.rows;for(let e of h)e.folder&&!g.has(e.key)&&g.set(e.key,e.folder)}O(),T()}},Xt))},A=async()=>{if(T(),m.disabled)return;x=!0,T();let t=C().map(e=>({url:e.url,folder:g.get(e.key)})),i=await q(r,`/add-review/pull-requests`,{items:t,...u.values()});if(x=!1,i.ok&&Wt(e),!S){if(!i.ok){i.field?(d.hide(),u.showProblem(i)):(u.hideProblem(),d.show(i)),T();return}b=cn(e,r,i.value.batchId,i.value.rows,n),a.replaceWith(b.element),b.focus()}};return s.addEventListener(`input`,k),m.addEventListener(`click`,()=>void A()),i.addEventListener(`change`,()=>T()),i.addEventListener(`keydown`,e=>{if(b||e.key!==`Enter`||e.shiftKey||e.isComposing)return;let t=e.target;t.tagName!==`SELECT`&&t.tagName!==`BUTTON`&&t.tagName!==`A`&&t.tagName!==`SUMMARY`&&(e.preventDefault(),A())}),u.loaded.then(()=>T()),T(),s.focus(),()=>{S=!0,y!==null&&r.clearTimeout(y),b?.stop()}}}}function fn(e){return{title:`New review`,escape:`close`,mount(t,n){let r=e.defaultView,i=J(e,`div`,`prb-addreview`);i.setAttribute(`data-addreview`,`branch`);let a=J(e,`div`,`prb-addreview-config`),o=J(e,`label`,`prb-addreview-label`,`Working folder`),s=J(e,`div`,`prb-addreview-pathrow`),c=J(e,`input`,`prb-palette-input`);c.id=`prb-addreview-folder`,o.htmlFor=c.id,c.type=`text`,c.spellcheck=!1,c.autocomplete=`off`,c.placeholder=`~/code/project`;let l=J(e,`button`,`prb-addreview-browse`,`Browse…`);l.type=`button`,l.hidden=!0,s.append(c,l);let u=J(e,`div`,`prb-addreview-detected`);u.setAttribute(`aria-live`,`polite`);let d=J(e,`p`,`prb-palette-group`,`Recent`),f=J(e,`div`,`prb-palette-results prb-addreview-recent`);f.setAttribute(`role`,`group`),f.setAttribute(`aria-label`,`Recent folders`),d.hidden=!0;let p=ln(e,r,!0),m=tn(e),h=J(e,`div`,`prb-addreview-footer`),g=un(e);g.textContent=`Review branch`,h.append(g),a.append(o,s,u,d,f,p.element,m.element,h),i.append(J(e,`p`,`prb-addreview-mode`,`Branch`),a),t.append(i);let _=null,v=null,y=!1,b=null,x=!1,S=null,C=(e,t)=>`${e}\n${t.trim()}`,w=()=>C(c.value,p.base.value),T=()=>{g.disabled=y||b!==null||!_?.result.ok||_.key!==w()||!p.complete()},E=e=>{S={base:e,path:c.value},p.base.value=e,v!==null&&r.clearTimeout(v),T(),O().then(e=>{!x&&e.ok&&g.focus()})},D=t=>{if(u.replaceChildren(),!t)return;if(!t.ok){if(t.baseChoice){u.append(an(e,{error:t.error??``,...t.detail?{detail:t.detail}:{},baseChoice:t.baseChoice},E));return}u.append(J(e,`p`,`prb-addreview-error`,t.error??`This folder cannot be reviewed.`)),t.detail&&u.append(en(e,t.detail));return}let n=J(e,`dl`,`prb-addreview-grid prb-addreview-facts`),r=(t,r)=>{let i=J(e,`dd`);i.append(r),n.append(J(e,`dt`,`prb-addreview-key`,t),i)};if(r(`Repository`,t.repo??``),r(`Branch`,t.branch??``),r(`Base`,t.base??`Not found`),t.reviewed?.kept){let n=X(e,t.reviewed.reviewId,`Resumes where it stopped`),i=J(e,`span`,`prb-addreview-kept`,qt(t.reviewed.kept)),a=J(e,`span`);a.append(n,J(e,`br`),i),r(`Review`,a)}else t.reviewed&&r(`Review`,X(e,t.reviewed.reviewId,t.reviewed.inProgress?`Being reviewed now`:`Already reviewed`));u.append(n),p.setBasePlaceholder(t.base??null)},O=()=>{let e=c.value,t=p.base.value.trim(),n=C(e,t);return _?.key===n?Promise.resolve(_.result):e.trim()?q(r,`/add-review/folder/inspect`,{path:e,...t?{base:t}:{}}).then(e=>{let t=e.ok?e.value:{ok:!1,error:e.error,...e.detail?{detail:e.detail}:{}};return!x&&w()===n&&(_={key:n,result:t},D(t),T()),t}):(_=null,D(null),T(),Promise.resolve({ok:!1}))},k=e=>{c.value=e,A(),v!==null&&r.clearTimeout(v),T(),O(),c.focus()},A=()=>{!S||S.path===c.value||(p.base.value===S.base&&(p.base.value=``),S=null)},j=async()=>{if(y||b)return;y=!0;let t=w(),i=c.value,o=p.values();T(),v!==null&&(r.clearTimeout(v),v=null);let s=await O();if(x)return;if(!s.ok||!p.complete()||w()!==t)return y=!1,T();let l=await q(r,`/add-review/branch`,{path:i,...o});if(y=!1,l.ok&&Wt(e),!x){if(!l.ok){l.baseChoice?(_={key:t,result:{...l,ok:!1}},D(_.result),m.hide()):l.field?p.showProblem(l):m.show(l),T();return}b=cn(e,r,l.value.batchId,l.value.rows,n),a.replaceWith(b.element),b.focus()}},M=()=>{T(),v!==null&&r.clearTimeout(v),v=r.setTimeout(()=>{v=null,O()},Xt)};return c.addEventListener(`input`,()=>{A(),M()}),p.base.addEventListener(`input`,M),l.addEventListener(`click`,async()=>{let e=await q(r,`/add-review/folder/choose`,{});if(!x){if(!e.ok){m.show(e);return}e.value.path?k(e.value.path):c.focus()}}),f.addEventListener(`click`,e=>{let t=e.target.closest(`[data-folder-path]`);t?.dataset.folderPath&&k(t.dataset.folderDisplay??t.dataset.folderPath)}),g.addEventListener(`click`,()=>void j()),i.addEventListener(`keydown`,e=>{if(b||e.isComposing)return;let t=[...f.querySelectorAll(`[data-folder-path]`)],n=t.indexOf(e.target);if(e.key===`ArrowDown`||e.key===`ArrowUp`){let r=e.key===`ArrowDown`?e.target===c?t[0]:n>=0?t[n+1]:null:n===0?c:n>0?t[n-1]:null;if(!r)return;e.preventDefault(),r.focus();return}if(e.key!==`Enter`||e.shiftKey||n>=0)return;let r=e.target;r.tagName!==`SELECT`&&r.tagName!==`BUTTON`&&r.tagName!==`A`&&r.tagName!==`SUMMARY`&&(e.preventDefault(),j())}),i.addEventListener(`change`,()=>T()),p.loaded.then(e=>{x||(l.hidden=!e?.canChooseFolder,T())}),q(r,`/add-review/folders`).then(t=>{x||!t.ok||(f.replaceChildren(...t.value.folders.map(t=>{let n=J(e,`button`,`prb-palette-result`);return n.type=`button`,n.dataset.folderPath=t.path,n.dataset.folderDisplay=t.display,n.append(J(e,`span`,`prb-palette-result-title`,t.branch?`${t.repo} · ${t.branch}`:t.repo),nn(e,t.display,`prb-palette-result-where`)),n})),d.hidden=t.value.folders.length===0)}),T(),c.focus(),()=>{x=!0,b?.stop(),v!==null&&r.clearTimeout(v)}}}}function pn(e){return e?.compact?`Expand sidebar`:`Collapse sidebar`}function mn(e,t){let n=e.documentElement,r=()=>({compact:n.hasAttribute(`data-sidebar-compact`),hidden:n.hasAttribute(`data-sidebar-hidden`)}),i=()=>{let t=r();for(let n of e.querySelectorAll(`[data-sidebar-toggle="rail"]`)){let e=n.querySelector(`.prb-rail-title`);e&&(e.textContent=pn(t)),n.setAttribute(`aria-expanded`,String(!t.compact))}},a=n=>{let r=e.body,i=r?.dataset.token,a=i?`${r.dataset.apiBase??``}/prefs?t=${encodeURIComponent(i)}`:`/sidebar`;t.fetch(a,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({sidebar:n})}).catch(()=>{})},o=e.querySelector(`.prb-rail`),s,c=!1,l=()=>{let e=r();return e.compact===!0&&!e.hidden},u=e=>{t.clearTimeout(s),s=void 0,n.toggleAttribute(`data-sidebar-peek`,e&&l())},d=e=>{try{return typeof e?.matches==`function`&&e.matches(`:focus-visible`)}catch{return!1}},f=()=>o?.contains(e.activeElement)===!0&&d(e.activeElement);o?.addEventListener(`pointerenter`,()=>{c=!0,l()&&(t.clearTimeout(s),s=t.setTimeout(()=>u(!0),150))}),o?.addEventListener(`pointerleave`,()=>{c=!1,f()||u(!1)}),o?.addEventListener(`focusin`,e=>{d(e.target)&&l()&&u(!0)}),o?.addEventListener(`focusout`,e=>{let t=e.relatedTarget;t&&o.contains(t)||c||u(!1)});let p=e=>{n.toggleAttribute(`data-sidebar-compact`,e),u(!1),i(),a({compact:e})},m=t=>{n.toggleAttribute(`data-sidebar-hidden`,t),u(!1);let r=e.activeElement;t&&r?.closest(`.prb-rail`)&&e.querySelector(`[data-sidebar-toggle="strip"]`)?.focus(),!t&&r?.matches(`[data-sidebar-toggle="strip"]`)&&e.querySelector(`[data-sidebar-toggle="rail"]`)?.focus(),i(),a({hidden:t})};for(let t of e.querySelectorAll(`[data-sidebar-toggle]`))t.addEventListener(`click`,()=>{r().hidden?m(!1):p(!r().compact)});return i(),{hidden:()=>r().hidden===!0,setHidden:m}}function hn(e){return e.querySelector(`dialog[open], [data-menu-panel]:not([hidden])`)!==null}function gn(e){for(let t of e.children)return t.kind===`leaf`?t.command.group:gn(t);return`global`}function _n(e,t,r={}){let i=r.win??window,a=r.doc??document,o=r.isMac??y(i.navigator),s=Dt(vt(e)),c=null,l=e=>{let t=a.querySelector(`a[href="${e}"]:not([target])`);t?t.click():i.location.assign(e)},u=Ft(a,jt(o),`${H(o)} opens the command palette and ${H(o,`p`)} starts a new review, from anywhere in the workspace. Single keys never act while you are typing.`,()=>r.onSettle?.()),d=mn(a,i),f={"palette.open":{run:()=>D()},"add.open":{run:()=>D([`p`])},"add.pullRequest":{panel:dn(a)},"add.branch":{panel:fn(a)},"navigate.reviews":{run:()=>l(`/`)},"navigate.runs":{run:()=>l(`/runs`)},"navigate.notifications":{run:()=>l(`/notifications`)},"help.shortcuts":{run:()=>u.open()},"sidebar.hide":{run:()=>d.setHidden(!d.hidden()),label:()=>d.hidden()?`Show sidebar`:`Hide sidebar`}},p=B.find(e=>e.id===`add.open`),m=W(p.binding,o);for(let e of a.querySelectorAll(`[data-new-review]`)){e.setAttribute(`aria-keyshortcuts`,At(p.binding,o)??``),e.dataset.newReview===`strip`&&(e.dataset.tip=`New review (${m})`);let t=e.querySelector(`[data-new-review-key]`);t&&(t.textContent=m),e.addEventListener(`click`,()=>f[`add.open`].run?.())}let h=e=>f[e.id]??t[e.id],g=(e,t)=>{let n=h(e);return!!n&&(n.available?.(t)??!0)},_=null,v=`back`,b=[],x=()=>{_?.(),_=null},S=(e=`dismissed`)=>{x(),s.reset(),C.close();let t=c;c=null,t?.isConnected&&t.focus(),e===`dismissed`&&r.onSettle?.()},C=Mt(a,e=>O(e),S),w=yt(e).map(e=>({keys:W(e.binding,o),label:e.label})),T=Object.fromEntries(ft.map(e=>[e.id,e.label])),E=()=>{let e=s.at;if(!e)return;let t=e.children.map(e=>e.kind===`leaf`?{key:e.key,keyLabel:e.key.toUpperCase(),label:h(e.command)?.label?.()??e.command.label,namespace:!1,available:g(e.command),group:e.command.group,state:h(e.command)?.state?.()??null}:{key:e.key,keyLabel:e.key.toUpperCase(),label:e.label,namespace:!0,available:!0,group:gn(e)}),n=s.path.length===0?ft.flatMap(e=>t.filter(t=>t.group===e.id)):t;C.show({trail:U(s.path,o),title:e.label,rows:n,groupLabels:s.path.length===0?T:null,footer:w})};function D(e=[]){if(C.isOpen())return S();r.onOpen?.();let t=a.activeElement;c=t instanceof HTMLElement&&t!==a.body?t:null,s.start(e),E()}function O(e){let t=s.press(e);if(t.kind===`descend`)return E();let n=t.kind===`run`&&g(t.command)?h(t.command):null;if(n?.panel&&t.kind===`run`)return k(t.command,n.panel);S(n?`running`:`dismissed`),n?.run?.()}function k(e,t){b=e.binding.kind===`chord`?e.binding.keys.slice(0,-1):[],v=t.escape??`back`;let n=e.binding.kind===`chord`?U(e.binding.keys,o):[H(o)];_=C.showPanel(n,t,()=>S(`running`))}function A(){x(),s.start();for(let e of b)s.press(e);E()}let j=yt(e);return i.addEventListener(`keydown`,e=>{if(C.isOpen()){if(xt(e))return;let t=()=>{e.preventDefault(),e.stopPropagation()};if(_)return e.key===`Escape`&&!e.isComposing?(t(),v===`close`?S():A()):wt(e,o)?(t(),S()):void 0;if(e.key===`Escape`||wt(e,o))return t(),S();if([`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key)){t(),Nt(C.dialog,e.key,a.activeElement);return}if(e.target?.closest?.(`[data-palette-key]`)&&(e.key===`Enter`||e.key===` `)||e.key===`Tab`||e.metaKey||e.ctrlKey||e.altKey)return;t(),O(St(e)??``);return}if(e.defaultPrevented||e.isComposing)return;let t=wt(e,o),r=t?Tt(t):void 0;if(r){if(a.querySelector(`dialog[open]`))return;e.preventDefault(),e.stopPropagation(),h(r)?.run?.(e);return}for(let t of j){if(!Et(t.binding,e,o))continue;let r=t.within;if(r){if(!a.querySelector(r)?.matches(`[open]`))continue}else if(t.binding.kind===`key`&&t.binding.key!==`Escape`&&(n(e.target)||hn(a)))continue;if(g(t,e)){e.preventDefault(),h(t).run?.(e);return}}},!0),i.addEventListener(`pagehide`,()=>{C.isOpen()&&S(`unloading`)}),vn(a,e,o),{isOpen:()=>C.isOpen()||u.isOpen(),close:()=>S()}}function vn(e,t,n){for(let r of _t(t)){let t=r.hint;if(t)for(let i of e.querySelectorAll(t))if(r.binding.kind===`chord`)i.dataset.shortcutHint=W(r.binding,n);else{let e=At(r.binding,n);if(e&&i.setAttribute(`aria-keyshortcuts`,e),r.showHint&&!i.querySelector(`:scope > .prb-key-hint`)){let e=i.ownerDocument.createElement(`kbd`);e.className=`prb-key-hint`,e.setAttribute(`aria-hidden`,`true`),e.textContent=W(r.binding,n),i.append(e)}}}}function yn(e){return`${e} more`}function bn(e){return e===0?`Nothing unread`:`${e} unread`}function xn(e){return e===`moved-again`?`replaced by a later move`:`replaced when the review caught up`}function Sn(e){return e===`restarting`?`Workspace server restarting`:e===`unreachable`?`Workspace server not running`:`Workspace server running`}function $(e,t){let n=e.querySelector(`[data-server-status]`);if(!n)return;n.dataset.serverStatus=t;let r=n.querySelector(`[data-server-status-label]`);r&&(r.textContent=Sn(t))}function Cn(e,t){let n=e.querySelector(`[data-server-status]`);!n||n.dataset.serverStatus===`restarting`||$(e,t?`running`:`unreachable`)}function wn(e,t){if(typeof t==`number`)for(let n of e.querySelectorAll(`[data-unread-count]`))n.dataset.unreadStyle===`rail`&&(n.textContent=t===0?``:bn(t)),n.hidden=t===0}function Tn(e){return e===0?`Nothing running`:`${e} ${e===1?`run`:`runs`} in progress`}function En(e){return e>9?`9+`:String(e)}function Dn(e,t){if(typeof t==`number`)for(let n of e.querySelectorAll(`[data-running-count]`)){let e=n.dataset.runningStyle;e===`rail`?(n.textContent=t===0?``:String(t),n.setAttribute(`aria-label`,Tn(t))):n.textContent=e===`digit`?t===0?``:En(t):t===0?``:Tn(t),e!==`words`&&(n.hidden=t===0)}}var On=6e3,kn=5e3;function An(e=document){let t=e.querySelector(`.prb-toasts`);if(t)return t;let n=e.createElement(`div`);return n.className=`prb-toasts`,n.setAttribute(`role`,`status`),n.setAttribute(`aria-live`,`polite`),e.body.append(n),n}function jn(e,t,n=window){return Mn(e,{kind:t.kind,text:t.text},n)}function Mn(e,t,n){let r=e.ownerDocument,i=r.createElement(`div`);i.className=`prb-toast`,i.dataset.kind=t.kind;let a=r.createElement(`span`);a.className=`prb-toast-text`,a.textContent=t.text;let o=r.createElement(`a`);o.className=`prb-toast-open`,t.href!==void 0&&t.link!==void 0&&(o.href=t.href,o.textContent=t.link);let s=r.createElement(`button`);for(s.type=`button`,s.className=`prb-toast-close`,s.setAttribute(`aria-label`,`Dismiss: ${t.text}`),s.textContent=`×`,i.append(a,...t.href===void 0?[]:[o],s),e.append(i);e.children.length>3;)e.firstElementChild?.remove();let c=n.setTimeout(()=>i.remove(),On),l=()=>n.clearTimeout(c),u=()=>{n.clearTimeout(c),c=n.setTimeout(()=>i.remove(),On)};return i.addEventListener(`mouseenter`,l),i.addEventListener(`mouseleave`,u),i.addEventListener(`focusin`,l),i.addEventListener(`focusout`,u),s.addEventListener(`click`,()=>{n.clearTimeout(c),i.remove()}),i}var Nn=`prb-carried-notices`;function Pn(e=document,t=window){let n=[...e.querySelectorAll(`.prb-toast[data-kind="failed"] .prb-toast-text`)].map(e=>e.textContent??``).filter(Boolean);try{n.length>0&&t.sessionStorage.setItem(Nn,JSON.stringify(n))}catch{}t.location.reload()}function Fn(e=document,t=window){let n;try{n=JSON.parse(t.sessionStorage.getItem(Nn)??`null`),t.sessionStorage.removeItem(Nn)}catch{return}if(Array.isArray(n))for(let r of n)typeof r==`string`&&jn(An(e),{kind:`failed`,text:r},t)}function In(e,t,n=window){return Mn(e,{kind:t.tone,text:t.headline,href:`/notifications/open?id=${encodeURIComponent(t.id)}`,link:`Open`},n)}function Ln(e,t,n=window){return Mn(e,{kind:`more`,text:yn(t),href:`/notifications`,link:`View all`},n)}function Rn(e=document,t=window,n={}){let r=Number(e.body.dataset.notificationsSince);if(!Number.isFinite(r)||r<=0)return;let i=An(e),a=async()=>{try{let a=await t.fetch(`/notifications/recent?after=${r}`);if(Cn(e,!0),a.status===403)return;if(a.ok){let o=await a.json();n.paintUnread&&(wn(e,o.unread),Dn(e,o.running)),typeof o.now==`number`&&(r=o.now);for(let e of[...o.notifications??[]].reverse())In(i,e,t);typeof o.more==`number`&&o.more>0&&Ln(i,o.more,t)}}catch{Cn(e,!1)}t.setTimeout(()=>void a(),kn)};t.setTimeout(()=>void a(),kn)}function zn(e,t){wn(e,t.unread),Dn(e,t.running),typeof t.driving==`boolean`&&Bn(e,t.driving)}function Bn(e,t){let n=e.querySelector(`[data-restart]`),r=e.querySelector(`[data-restart-note]`);n&&(n.disabled=t),r&&(r.hidden=!t)}var Vn=`prb-server-restarted`;function Hn(e=document,t=window){let n=null;try{n=t.sessionStorage.getItem(Vn),t.sessionStorage.removeItem(Vn)}catch{}n!==null&&jn(An(e),{kind:`ready`,text:`Server restarted. Workspace is back online.`},t)}var Un=2e4,Wn=300;function Gn(e){Hn();let t=document.querySelector(`[data-restart]`),n=document.querySelector(`[data-restart-note]`);t&&t.addEventListener(`click`,()=>{t.disabled=!0,Kn(e,t,n)})}async function Kn(e,t,n){let r,i=null;try{let a=await fetch(e,{method:`POST`});if(a.status===409){Bn(document,!0);return}if(!a.ok)return void tr(t,n,await er(a));let o=await a.json();r=typeof o.startedAt==`number`?o.startedAt:null,i=Qn(window.location.href,o.port)}catch{tr(t,n,`The workspace server could not be reached.`);return}if(document.body.dataset.restarting=`true`,$(document,`restarting`),i!==null){if(await Xn(Number(new URL(i).port)))return void window.location.assign(i)}else if(await qn(r)){try{window.sessionStorage.setItem(Vn,`1`)}catch{}window.location.reload();return}if(delete document.body.dataset.restarting,await $n()){$(document,`running`),tr(t,n,`The server did not restart, and is still the one that was running.`);return}$(document,`unreachable`),tr(t,n,`Server restart failed. Run prreviewbuddy open to start the workspace again.`)}async function qn(e){let t=Date.now()+Un;for(;Date.now()<t;){await new Promise(e=>setTimeout(e,Wn));try{let t=await fetch(`/health`,{cache:`no-store`});if(!t.ok)continue;let n=await t.json();if(typeof n.startedAt==`number`&&n.startedAt!==e)return!0}catch{}}return!1}var Jn=4,Yn={now:()=>Date.now(),sleep:e=>new Promise(t=>setTimeout(t,e))};async function Xn(e,t=()=>Zn(e),n=Yn){let r=n.now()+Un,i=0;for(;n.now()<r;){await n.sleep(Wn);let e=await t();if(e===`moved`||(i=e===`gone`?i+1:0,i>=Jn))return!0}for(let e=0;e<Jn;e+=1){let e=await t();if(e!==`gone`)return e===`moved`;await n.sleep(Wn)}return!0}async function Zn(e){try{let t=await fetch(`/health`,{cache:`no-store`});return t.ok&&(await t.json()).movedTo===e?`moved`:`here`}catch{return`gone`}}function Qn(e,t){if(typeof t!=`number`||!Number.isInteger(t))return null;let n=new URL(e);return t===(n.port===``?n.protocol===`https:`?443:80:Number(n.port))?null:(n.port=String(t),n.href)}async function $n(){try{return(await fetch(`/health`,{cache:`no-store`})).ok}catch{return!1}}async function er(e){try{return(await e.json()).error??`The server could not be restarted.`}catch{return`The server could not be restarted.`}}function tr(e,t,n){e.disabled=!1,t&&(t.textContent=n,t.hidden=!1)}export{nt as $,ke as A,Ae as B,ge as C,Te as D,Oe as E,We as F,Ue as G,Me as H,we as I,$e as J,Ye as K,He as L,ot as M,st as N,Fe as O,Ze as P,it as Q,ze as R,he as S,Ee as T,je as U,Je as V,I as W,Ve as X,ct as Y,at as Z,Pt as _,k as _t,jn as a,ie as at,dt as b,n as bt,Dn as c,pe as ct,$ as d,ne as dt,et,xn as f,re as ft,Kt as g,A as gt,Gt as h,v as ht,Fn as i,me as it,Be as j,De as k,wn as l,le as lt,_n as m,y as mt,zn as n,ce as nt,Rn as o,ae as ot,bn as p,O as pt,Xe as q,Pn as r,de as rt,An as s,oe as st,Gn as t,tt,Cn as u,P as ut,jt as v,p as vt,Ne as w,L as x,e as xt,lt as y,j as yt,be as z};
|