@techdocs/cli 1.8.5 → 1.8.6-next.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 +18 -9
- package/dist/embedded-app/.config-schema.json +603 -112
- package/dist/embedded-app/index.html +1 -1
- package/dist/embedded-app/static/124.b3c877f4.chunk.js +5 -0
- package/dist/embedded-app/static/124.b3c877f4.chunk.js.map +1 -0
- package/dist/embedded-app/static/2401.dc2fecde.chunk.js +5 -0
- package/dist/embedded-app/static/2401.dc2fecde.chunk.js.map +1 -0
- package/dist/embedded-app/static/2420.cd4a65c3.chunk.js +5 -0
- package/dist/embedded-app/static/2420.cd4a65c3.chunk.js.map +1 -0
- package/dist/embedded-app/static/287.4b32d161.chunk.js +5 -0
- package/dist/embedded-app/static/287.4b32d161.chunk.js.map +1 -0
- package/dist/embedded-app/static/3182.1f1ac12b.chunk.js +6 -0
- package/dist/embedded-app/static/{3182.950641c7.chunk.js.map → 3182.1f1ac12b.chunk.js.map} +1 -1
- package/dist/embedded-app/static/3308.7a6908ef.chunk.js +7 -0
- package/dist/embedded-app/static/3308.7a6908ef.chunk.js.map +1 -0
- package/dist/embedded-app/static/3632.92f2c3f7.chunk.js +5 -0
- package/dist/embedded-app/static/3632.92f2c3f7.chunk.js.map +1 -0
- package/dist/embedded-app/static/4036.63ab04b7.chunk.js +3 -0
- package/dist/embedded-app/static/4036.63ab04b7.chunk.js.map +1 -0
- package/dist/embedded-app/static/4992.d68a0e7c.chunk.js +3 -0
- package/dist/embedded-app/static/4992.d68a0e7c.chunk.js.map +1 -0
- package/dist/embedded-app/static/5011.6e192014.chunk.js +3 -0
- package/dist/embedded-app/static/5011.6e192014.chunk.js.map +1 -0
- package/dist/embedded-app/static/6271.18498a88.chunk.js +5 -0
- package/dist/embedded-app/static/6271.18498a88.chunk.js.map +1 -0
- package/dist/embedded-app/static/8307.4878037e.chunk.js +8 -0
- package/dist/embedded-app/static/{8307.2c2ef2dd.chunk.js.map → 8307.4878037e.chunk.js.map} +1 -1
- package/dist/embedded-app/static/8384.69d4b96e.chunk.js +5 -0
- package/dist/embedded-app/static/8384.69d4b96e.chunk.js.map +1 -0
- package/dist/embedded-app/static/9605.d238f558.chunk.js +11 -0
- package/dist/embedded-app/static/9605.d238f558.chunk.js.map +1 -0
- package/dist/embedded-app/static/9652.80cea275.chunk.js +5 -0
- package/dist/embedded-app/static/9652.80cea275.chunk.js.map +1 -0
- package/dist/embedded-app/static/main.d7355744.js +497 -0
- package/dist/embedded-app/static/main.d7355744.js.map +1 -0
- package/dist/embedded-app/static/module-lodash.11460fc1.js +29 -0
- package/dist/embedded-app/static/module-lodash.11460fc1.js.map +1 -0
- package/dist/embedded-app/static/module-react-router-dom.3fde9fd7.js +22 -0
- package/dist/embedded-app/static/module-react-router-dom.3fde9fd7.js.map +1 -0
- package/dist/embedded-app/static/module-react-router.296c491a.js +22 -0
- package/dist/embedded-app/static/module-react-router.296c491a.js.map +1 -0
- package/dist/embedded-app/static/{runtime.1f016c9f.js → runtime.d7355744.js} +2 -2
- package/dist/embedded-app/static/{runtime.1f016c9f.js.map → runtime.d7355744.js.map} +1 -1
- package/dist/embedded-app/static/vendor.d7355744.js +160 -0
- package/dist/embedded-app/static/vendor.d7355744.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/package.json +6 -6
- package/dist/embedded-app/static/124.0135c04a.chunk.js +0 -5
- package/dist/embedded-app/static/124.0135c04a.chunk.js.map +0 -1
- package/dist/embedded-app/static/2401.ef30400a.chunk.js +0 -5
- package/dist/embedded-app/static/2401.ef30400a.chunk.js.map +0 -1
- package/dist/embedded-app/static/2420.9681849a.chunk.js +0 -5
- package/dist/embedded-app/static/2420.9681849a.chunk.js.map +0 -1
- package/dist/embedded-app/static/2490.5e7810f2.chunk.js +0 -3
- package/dist/embedded-app/static/2490.5e7810f2.chunk.js.map +0 -1
- package/dist/embedded-app/static/287.06d3556f.chunk.js +0 -5
- package/dist/embedded-app/static/287.06d3556f.chunk.js.map +0 -1
- package/dist/embedded-app/static/3182.950641c7.chunk.js +0 -6
- package/dist/embedded-app/static/3308.4f503c75.chunk.js +0 -7
- package/dist/embedded-app/static/3308.4f503c75.chunk.js.map +0 -1
- package/dist/embedded-app/static/3632.09c5925e.chunk.js +0 -5
- package/dist/embedded-app/static/3632.09c5925e.chunk.js.map +0 -1
- package/dist/embedded-app/static/4036.35345ea7.chunk.js +0 -3
- package/dist/embedded-app/static/4036.35345ea7.chunk.js.map +0 -1
- package/dist/embedded-app/static/5011.04a961a3.chunk.js +0 -3
- package/dist/embedded-app/static/5011.04a961a3.chunk.js.map +0 -1
- package/dist/embedded-app/static/6271.df98b248.chunk.js +0 -5
- package/dist/embedded-app/static/6271.df98b248.chunk.js.map +0 -1
- package/dist/embedded-app/static/8307.2c2ef2dd.chunk.js +0 -8
- package/dist/embedded-app/static/8384.516f6f61.chunk.js +0 -5
- package/dist/embedded-app/static/8384.516f6f61.chunk.js.map +0 -1
- package/dist/embedded-app/static/9605.333ca2de.chunk.js +0 -11
- package/dist/embedded-app/static/9605.333ca2de.chunk.js.map +0 -1
- package/dist/embedded-app/static/9652.a7eea251.chunk.js +0 -5
- package/dist/embedded-app/static/9652.a7eea251.chunk.js.map +0 -1
- package/dist/embedded-app/static/main.1f016c9f.js +0 -495
- package/dist/embedded-app/static/main.1f016c9f.js.map +0 -1
- package/dist/embedded-app/static/module-lodash.a94db66d.js +0 -29
- package/dist/embedded-app/static/module-lodash.a94db66d.js.map +0 -1
- package/dist/embedded-app/static/module-react-router-dom.b2a616ac.js +0 -22
- package/dist/embedded-app/static/module-react-router-dom.b2a616ac.js.map +0 -1
- package/dist/embedded-app/static/module-react-router.96a60fdb.js +0 -22
- package/dist/embedded-app/static/module-react-router.96a60fdb.js.map +0 -1
- package/dist/embedded-app/static/vendor.1f016c9f.js +0 -160
- package/dist/embedded-app/static/vendor.1f016c9f.js.map +0 -1
|
@@ -0,0 +1,497 @@
|
|
|
1
|
+
(()=>{(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[8792],{86519:function(Y,T,t){"use strict";t.d(T,{c:function(){return o}});const o=Symbol.for("CATALOG_FILTER_EXISTS_0e15b590c0b343a2bae3e787e84c2111")},72348:function(Y,T,t){"use strict";t.d(T,{P:function(){return u},_P:function(){return i},oQ:function(){return o}});const o="default",i="backstage.io/view-url",u="backstage.io/edit-url",A="kubernetes.io/api-server",m="kubernetes.io/api-server-certificate-authority",g="kubernetes.io/auth-provider"},6820:function(Y,T,t){"use strict";t.d(T,{KU:function(){return A},U2:function(){return m},sM:function(){return u}});var o=t(72348);function i(g){let c=g.indexOf(":");const d=g.indexOf("/");d!==-1&&d<c&&(c=-1);const y=c===-1?void 0:g.slice(0,c),E=d===-1?void 0:g.slice(c+1,d),O=g.slice(Math.max(c+1,d+1));if(y===""||E===""||O==="")throw new TypeError(`Entity reference "${g}" was not on the form [<kind>:][<namespace>/]<name>`);return{kind:y,namespace:E,name:O}}function u(g){return{kind:g.kind,namespace:g.metadata.namespace||o.oQ,name:g.metadata.name}}function A(g,c){if(!g)throw new Error("Entity reference must not be empty");const d=c==null?void 0:c.defaultKind,y=(c==null?void 0:c.defaultNamespace)||o.oQ;let E,O,p;if(typeof g=="string"){const w=i(g);var C;E=(C=w.kind)!==null&&C!==void 0?C:d;var f;O=(f=w.namespace)!==null&&f!==void 0?f:y,p=w.name}else{var R;E=(R=g.kind)!==null&&R!==void 0?R:d;var P;O=(P=g.namespace)!==null&&P!==void 0?P:y,p=g.name}if(E)if(O){if(!p){const w=JSON.stringify(g);throw new Error(`Entity reference ${w} had missing or empty name`)}}else{const w=JSON.stringify(g);throw new Error(`Entity reference ${w} had missing or empty namespace`)}else{const w=JSON.stringify(g);throw new Error(`Entity reference ${w} had missing or empty kind (e.g. did not start with "component:" or similar)`)}return{kind:E,namespace:O,name:p}}function m(g){let c,d,y;if("metadata"in g){c=g.kind;var E;d=(E=g.metadata.namespace)!==null&&E!==void 0?E:o.oQ,y=g.metadata.name}else{c=g.kind;var O;d=(O=g.namespace)!==null&&O!==void 0?O:o.oQ,y=g.name}return`${c.toLocaleLowerCase("en-US")}:${d.toLocaleLowerCase("en-US")}/${y.toLocaleLowerCase("en-US")}`}},51372:function(Y,T,t){"use strict";t.d(T,{fT:function(){return d},jn:function(){return C},nC:function(){return c},sA:function(){return f},vv:function(){return o}});const o="ownedBy",i="ownerOf",u="consumesApi",A="apiConsumedBy",m="providesApi",g="apiProvidedBy",c="dependsOn",d="dependencyOf",y="parentOf",E="childOf",O="memberOf",p="hasMember",C="partOf",f="hasPart"},17736:function(Y,T,t){"use strict";t.d(T,{Eo:function(){return o},I4:function(){return u}});const o="backstage.io/managed-by-location",i="backstage.io/managed-by-origin-location",u="backstage.io/source-location"},78692:function(Y,T,t){"use strict";t.d(T,{Cr:function(){return g},KL:function(){return m},aY:function(){return A}});var o=t(6820),i=t(17736);const u=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i;function A(c){if(typeof c!="string")throw new TypeError(`Unable to parse location ref '${c}', unexpected argument ${typeof c}`);const d=c.indexOf(":");if(d<0)throw new TypeError(`Unable to parse location ref '${c}', expected '<type>:<target>', e.g. 'url:https://host/path'`);const y=c.substring(0,d).trim(),E=c.substring(d+1).trim();if(!y||!E)throw new TypeError(`Unable to parse location ref '${c}', expected '<type>:<target>', e.g. 'url:https://host/path'`);if(y==="http"||y==="https")throw new TypeError(`Invalid location ref '${c}', please prefix it with 'url:', e.g. 'url:${c}'`);if(u.test(E))throw new TypeError(`Invalid location ref '${c}', target is a javascript: URL`);return{type:y,target:E}}function m(c){const{type:d,target:y}=c;if(d){if(!y)throw new TypeError("Unable to stringify location ref, empty target")}else throw new TypeError("Unable to stringify location ref, empty type");if(u.test(y))throw new TypeError(`Invalid location ref '${d}:${y}', target is a javascript: URL`);return`${d}:${y}`}function g(c){var d,y,E,O,p;const C=(p=(y=c.metadata)===null||y===void 0||(d=y.annotations)===null||d===void 0?void 0:d[i.I4])!==null&&p!==void 0?p:(O=c.metadata)===null||O===void 0||(E=O.annotations)===null||E===void 0?void 0:E[i.Eo];if(!C)throw new Error(`Entity '${(0,o.U2)(c)}' is missing location`);return A(C)}},77310:function(Y,T,t){"use strict";t.d(T,{z:function(){return y}});var o=t(31085),i=t(10394),u=t(54917),A=t(14041),m=t(69578),g=t(40697),c=t(25577),d=t(37916);function y(E){const{text:O,language:p,showLineNumbers:C=!1,highlightedNumbers:f,customStyle:R,showCopyCodeButton:P=!1}=E,w=(0,u.A)(),M=w.palette.type==="dark"?g.A:c.A,D=w.palette.type==="dark"?"#256bf3":"#e6ffed";return(0,o.jsxs)(i.A,{position:"relative",children:[(0,o.jsx)(m.A,{customStyle:R,language:p,style:M,showLineNumbers:C,wrapLines:!0,lineNumberStyle:{color:w.palette.textVerySubtle},lineProps:b=>f!=null&&f.includes(b)?{style:{backgroundColor:D}}:{},children:O}),P&&(0,o.jsx)(i.A,{position:"absolute",top:0,right:0,children:(0,o.jsx)(d.l,{text:O})})]})}},37916:function(Y,T,t){"use strict";t.d(T,{l:function(){return O}});var o=t(31085),i=t(72427),u=t(39837),A=t(29365),m=t(71677),g=t(99594),c=t(14041),d=t(51100),y=t(10315),E=t(87849);function O(p){const{t:C}=(0,E.i)(y.O),{text:f,tooltipDelay:R=1e3,tooltipText:P=C("copyTextButton.tooltipText"),"aria-label":w="Copy text"}=p,M=(0,i.gf)(u.m),[D,b]=(0,c.useState)(!1),[{error:z},G]=(0,d.A)();(0,c.useEffect)(()=>{z&&M.post(z)},[z,M]);const q=K=>{K.stopPropagation(),b(!0),G(f)};return(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(m.Ay,{id:"copy-test-tooltip",title:P,placement:"top",leaveDelay:R,onClose:()=>b(!1),open:D,children:(0,o.jsx)(A.A,{onClick:q,"aria-label":w,children:(0,o.jsx)(g.A,{})})})})}},44186:function(Y,T,t){"use strict";t.d(T,{p:function(){return C}});var o=t(31085),i=t(42899),u=t(58837),A=t(72501),m=t(14041),g=t.p+"static/missingAnnotation.67f79e98..svg",c=t.p+"static/noInformation.4b426325..svg",d=t.p+"static/createComponent.975d1e1e..svg",y=t.p+"static/noBuild.1715fa71..svg";const E=(0,u.A)({generalImg:{width:"95%",zIndex:2,position:"relative",left:"50%",top:"50%",transform:"translate(-50%, 15%)"}},{name:"BackstageEmptyStateImage"}),O=({missing:f})=>{const R=E();switch(f){case"field":return(0,o.jsx)("img",{src:g,className:R.generalImg,alt:"annotation is missing"});case"info":return(0,o.jsx)("img",{src:c,alt:"no Information",className:R.generalImg});case"content":return(0,o.jsx)("img",{src:d,alt:"create Component",className:R.generalImg});case"data":return(0,o.jsx)("img",{src:y,alt:"no Build",className:R.generalImg});default:return null}},p=(0,u.A)(f=>({root:{backgroundColor:f.palette.background.default,padding:f.spacing(2,0,0,0)},action:{marginTop:f.spacing(2)},imageContainer:{position:"relative"}}),{name:"BackstageEmptyState"});function C(f){const{title:R,description:P,missing:w,action:M}=f,D=p();return(0,o.jsxs)(i.A,{container:!0,direction:"row",justifyContent:"space-around",alignItems:"flex-start",className:D.root,spacing:2,children:[(0,o.jsx)(i.A,{item:!0,xs:12,md:6,children:(0,o.jsxs)(i.A,{container:!0,direction:"column",children:[(0,o.jsx)(i.A,{item:!0,xs:!0,children:(0,o.jsx)(A.A,{variant:"h5",children:R})}),(0,o.jsx)(i.A,{item:!0,xs:!0,children:(0,o.jsx)(A.A,{variant:"body1",children:P})}),(0,o.jsx)(i.A,{item:!0,xs:!0,className:D.action,children:M})]})}),(0,o.jsx)(i.A,{item:!0,xs:12,md:6,className:D.imageContainer,children:typeof w=="string"?(0,o.jsx)(O,{missing:w}):w.customImage})]})}},22020:function(Y,T,t){"use strict";t.d(T,{b:function(){return O}});var o=t(31085),i=t(58837),u=t(58007),A=t(8109),m=t(5951),g=t(14041),c=t(37916),d=t(88640);const y=(0,i.A)(p=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:p.spacing(2)},divider:{margin:p.spacing(2)}}),{name:"BackstageErrorPanel"}),E=({error:p,message:C,stack:f,children:R})=>{const P=y();return(0,o.jsxs)(u.A,{dense:!0,children:[(0,o.jsxs)(A.A,{alignItems:"flex-start",children:[(0,o.jsx)(m.A,{classes:{secondary:P.text},primary:"Error",secondary:p}),(0,o.jsx)(c.l,{text:p})]}),(0,o.jsxs)(A.A,{alignItems:"flex-start",children:[(0,o.jsx)(m.A,{classes:{secondary:P.text},primary:"Message",secondary:C}),(0,o.jsx)(c.l,{text:C})]}),f&&(0,o.jsxs)(A.A,{alignItems:"flex-start",children:[(0,o.jsx)(m.A,{classes:{secondary:P.text},primary:"Stack Trace",secondary:f}),(0,o.jsx)(c.l,{text:f})]}),R]})};function O(p){const{title:C,error:f,defaultExpanded:R,titleFormat:P,children:w}=p;return(0,o.jsx)(d.B,{severity:"error",title:C!=null?C:f.message,defaultExpanded:R,titleFormat:P,children:(0,o.jsx)(E,{error:f.name,message:f.message,stack:f.stack,children:w})})}},72072:function(Y,T,t){"use strict";t.d(T,{N_:function(){return K}});var o=t(31085),i=t(72427),u=t(65461),A=t(93368),m=t(49203),g=t(58837),c=t(72501),d=t(53373),y=t.n(d),E=t(45250),O=t.n(E),p=t(14041),C=t(18690),f=t(73970);function R(){const[W]=(0,C.AV)((0,o.jsx)(C.qh,{index:!0,element:(0,o.jsx)("div",{})}));return!W.index}const P=(0,g.A)({visuallyHidden:{clip:"rect(0 0 0 0)",clipPath:"inset(50%)",overflow:"hidden",position:"absolute",userSelect:"none",whiteSpace:"nowrap",height:1,width:1},externalLink:{position:"relative"}},{name:"Link"}),w=W=>/^([a-z+.-]+):/.test(W),M=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i,D=window.open;if(D&&!D.__backstage){const W=function(...H){const _=String(H[0]);if(M.test(_))throw new Error("Rejected window.open() with a javascript: URL as a security precaution");return D.apply(this,H)};W.__backstage=!0,window.open=W}const b=()=>{try{return(0,i.gf)(u.U).getOptionalString("app.baseUrl")}catch{return}},z=()=>{const W="http://sample.dev";var X;const H=(X=b())!==null&&X!==void 0?X:"/",{pathname:_}=new URL(H,W);return(0,E.trimEnd)(_,"/")},G=W=>{let X=String(W);const H=z(),_=w(X),it=X.startsWith(H);return!_&&!it&&(X=H.concat(X)),X},q=W=>{if(W instanceof Array)return W.map(q).join(" ").trim();if(typeof W=="object"&&W){var X;return q(W==null||(X=W.props)===null||X===void 0?void 0:X.children)}return["string","number"].includes(typeof W)?String(W):""},K=p.forwardRef(({onClick:W,noTrack:X,...H},_)=>{const it=P(),gt=(0,A.s)(),ut=R()?G(H.to):H.to,bt=q(H.children)||ut,st=w(ut),yt=st&&!!/^https?:/.exec(ut);if(M.test(ut))throw new Error("Link component rejected javascript: URL as a security precaution");const dt=at=>{W==null||W(at),X||gt.captureEvent("click",bt,{attributes:{to:ut}})};return st?(0,o.jsxs)(m.A,{...yt?{target:"_blank",rel:"noopener"}:{},...H,...H["aria-label"]?{"aria-label":`${H["aria-label"]}, Opens in a new window`}:{},ref:_,href:ut,onClick:dt,className:y()(it.externalLink,H.className),children:[H.children,(0,o.jsx)(c.A,{component:"span",className:it.visuallyHidden,children:", Opens in a new window"})]}):(0,o.jsx)(m.A,{...H,ref:_,component:f.N_,to:ut,onClick:dt})})},73896:function(Y,T,t){"use strict";t.d(T,{z:function(){return g}});var o=t(31085),i=t(64947),u=t(14041),A=t(72072);const m=u.forwardRef((d,y)=>(0,o.jsx)(A.N_,{ref:y,...d,color:"initial"})),g=u.forwardRef((d,y)=>(0,o.jsx)(i.A,{ref:y,component:m,...d})),c=null},4650:function(Y,T,t){"use strict";t.d(T,{h:function(){return O}});var o=t(31085),i=t(58837),u=t(45872),A=t(61125),m=t(14041),g=t(77310);const c=(0,i.A)(p=>({markdown:{"& table":{borderCollapse:"collapse",border:`1px solid ${p.palette.border}`},"& th, & td":{border:`1px solid ${p.palette.border}`,padding:p.spacing(1)},"& td":{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:p.spacing(3,2,3,2.5),borderBottom:0},"& th":{backgroundColor:p.palette.background.paper},"& tr":{backgroundColor:p.palette.background.paper},"& tr:nth-child(odd)":{backgroundColor:p.palette.background.default},"& a":{color:p.palette.link},"& img":{maxWidth:"100%"}}}),{name:"BackstageMarkdownContent"}),d=(p,C)=>C?typeof C=="string"?p+C:m.Children.toArray(C.props.children).reduce(d,p):p,y=({level:p,children:C})=>{const P=m.Children.toArray(C).reduce(d,"").toLocaleLowerCase("en-US").replace(/\W/g,"-");return m.createElement(`h${p}`,{id:P},C)},E={code:({inline:p,className:C,children:f,...R})=>{const P=String(f).replace(/\n+$/,""),w=/language-(\w+)/.exec(C||"");return!p&&w?(0,o.jsx)(g.z,{language:w[1],text:P}):(0,o.jsx)("code",{className:C,...R,children:f})},h1:y,h2:y,h3:y,h4:y,h5:y,h6:y};function O(p){const{content:C,dialect:f="gfm",linkTarget:R,transformLinkUri:P,transformImageUri:w,className:M}=p,D=c();return(0,o.jsx)(u.$,{remarkPlugins:f==="gfm"?[A.A]:[],className:`${D.markdown} ${M}`,children:C,components:E,linkTarget:R,transformLinkUri:P,transformImageUri:w})}},68146:function(Y,T,t){"use strict";t.d(T,{k:function(){return g}});var o=t(31085),i=t(10394),u=t(88951),A=t(54917),m=t(14041);function g(c){const d=(0,A.A)(),[y,E]=(0,m.useState)(!1);return(0,m.useEffect)(()=>{const O=setTimeout(()=>E(!0),d.transitions.duration.short);return()=>clearTimeout(O)},[d.transitions.duration.short]),y?(0,o.jsx)(u.A,{...c,"data-testid":"progress"}):(0,o.jsx)(i.A,{display:"none"})}},66917:function(Y,T,t){"use strict";t.d(T,{w:function(){return K}});var o=t(31085),i=t(10394),u=t(69076),A=t(67720),m=t(95061),g=t(41857),c=t(48543),d=t(26343),y=t(81215),E=t(7031),O=t(12398),p=t(58837),C=t(72501),f=t(14041),R=t(10437);const P=(0,p.A)(W=>(0,O.A)({icon:{position:"absolute",right:W.spacing(.5),pointerEvents:"none",color:"#616161"}}),{name:"BackstageClosedDropdown"});var M=()=>{const W=P();return(0,o.jsx)(R.A,{className:W.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,o.jsx)("path",{d:"M7.5 8L6 9.5L12.0703 15.5703L18.1406 9.5L16.6406 8L12.0703 12.5703L7.5 8Z",fill:"currentColor"})})};const D=(0,p.A)(W=>(0,O.A)({icon:{position:"absolute",right:W.spacing(.5),pointerEvents:"none",color:"#616161"}}),{name:"BackstageOpenedDropdown"});var z=()=>{const W=D();return(0,o.jsx)(R.A,{className:W.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,o.jsx)("path",{d:"M16.5 16L18 14.5L11.9297 8.42969L5.85938 14.5L7.35938 16L11.9297 11.4297L16.5 16Z",fill:"currentColor"})})};const G=(0,E.A)(W=>(0,O.A)({root:{"label + &":{marginTop:W.spacing(3)},"&.Mui-focused > div[role=button]":{borderColor:W.palette.primary.main}},input:{borderRadius:W.shape.borderRadius,position:"relative",backgroundColor:W.palette.background.paper,border:"1px solid #ced4da",fontSize:W.typography.body1.fontSize,padding:W.spacing(1.25,3.25,1.25,1.5),transition:W.transitions.create(["border-color","box-shadow"]),"&:focus":{background:W.palette.background.paper,borderRadius:W.shape.borderRadius}}}),{name:"BackstageSelectInputBase"})(g.A),q=(0,p.A)(W=>(0,O.A)({formControl:{margin:W.spacing(1,0),maxWidth:300},label:{transform:"initial",fontWeight:"bold",fontSize:W.typography.body2.fontSize,fontFamily:W.typography.fontFamily,color:W.palette.text.primary,"&.Mui-focused":{color:W.palette.text.primary}},formLabel:{transform:"initial",fontWeight:"bold",fontSize:W.typography.body2.fontSize,fontFamily:W.typography.fontFamily,color:W.palette.text.primary,"&.Mui-focused":{color:W.palette.text.primary}},chips:{display:"flex",flexWrap:"wrap"},chip:{margin:2},checkbox:{},root:{display:"flex",flexDirection:"column"}}),{name:"BackstageSelect"});function K(W){const{multiple:X,items:H,label:_,placeholder:it,selected:gt,onChange:ut,triggerReset:bt,native:st=!1,disabled:yt=!1,margin:dt}=W,at=q(),[vt,et]=(0,f.useState)(gt||(X?[]:"")),[Ct,Et]=(0,f.useState)(!1);(0,f.useEffect)(()=>{et(X?[]:"")},[bt,X]),(0,f.useEffect)(()=>{et(gt||(X?[]:""))},[gt,X]);const nt=At=>{et(At.target.value),ut(At.target.value)},ot=At=>{if(yt){At.preventDefault();return}Et(N=>X&&!(At.target instanceof HTMLElement)?!0:!N)},ft=()=>{Et(!1)},Pt=At=>()=>{const N=vt.filter(V=>V!==At);et(N),ut(N)};return(0,o.jsx)(i.A,{className:at.root,children:(0,o.jsxs)(m.A,{className:at.formControl,children:[(0,o.jsx)(c.A,{className:at.formLabel,children:_}),(0,o.jsxs)(y.A,{"aria-label":_,value:vt,native:st,disabled:yt,"data-testid":"select",displayEmpty:!0,multiple:X,margin:dt,onChange:nt,open:Ct,onOpen:ot,onClose:ft,input:(0,o.jsx)(G,{}),label:_,renderValue:At=>{var N;return X&&vt.length!==0?(0,o.jsx)(i.A,{className:at.chips,children:At.map(V=>{const pt=H.find(xt=>xt.value===V);return pt?(0,o.jsx)(A.A,{label:pt==null?void 0:pt.label,clickable:!0,onDelete:Pt(V),className:at.chip},pt==null?void 0:pt.value):!1})}):(0,o.jsx)(C.A,{children:vt.length===0?it||"":(N=H.find(V=>V.value===At))===null||N===void 0?void 0:N.label})},IconComponent:()=>Ct?(0,o.jsx)(z,{}):(0,o.jsx)(M,{}),MenuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},getContentAnchorEl:null},children:[it&&!X&&(0,o.jsx)(d.A,{value:[],children:it}),st?H&&H.map(At=>(0,o.jsx)("option",{value:At.value,children:At.label},At.value)):H&&H.map(At=>(0,o.jsxs)(d.A,{value:At.value,children:[X&&(0,o.jsx)(u.A,{color:"primary",checked:vt.includes(At.value)||!1,className:at.checkbox}),At.label]},At.value))]})]})})}},3851:function(Y,T,t){"use strict";t.d(T,{Y:function(){return vt}});var o=t(31085),i=t(82266),u=t(10394),A=t(64947),m=t(93453),g=t(29365),c=t(46423),d=t(5951),y=t(26343),E=t(28233),O=t(55197),p=t(58837),C=t(72501),f=t(5893),R=t(14041),P=t(10795),w=t(27799);function M(et){const{id:Ct,Fallback:Et=w.A,...nt}=et,ot=(0,i.n)();var ft;const Pt=(ft=ot.getSystemIcon(Ct))!==null&&ft!==void 0?ft:Et;return(0,o.jsx)(Pt,{...nt})}function D(et){return _jsx(M,{id:"brokenImage",...et})}function b(et){return _jsx(M,{id:"catalog",...et})}function z(et){return _jsx(M,{id:"chat",...et})}function G(et){return _jsx(M,{id:"dashboard",...et})}function q(et){return _jsx(M,{id:"docs",...et})}function K(et){return _jsx(M,{id:"email",...et})}function W(et){return _jsx(M,{id:"github",...et})}function X(et){return _jsx(M,{id:"group",...et})}function H(et){return(0,o.jsx)(M,{id:"help",...et})}function _(et){return _jsx(M,{id:"user",...et})}function it(et){return _jsx(M,{id:"warning",...et})}var gt=t(72072),ut=t(10315),bt=t(87849);const st=(0,p.A)({popoverList:{minWidth:260,maxWidth:400},menuItem:{whiteSpace:"normal"}},{name:"BackstageSupportButton"}),yt=({icon:et})=>{const Ct=(0,i.n)();var Et;const nt=et&&(Et=Ct.getSystemIcon(et))!==null&&Et!==void 0?Et:H;return(0,o.jsx)(nt,{})},dt=({link:et})=>{var Ct;return(0,o.jsx)(gt.N_,{to:et.url,children:(Ct=et.title)!==null&&Ct!==void 0?Ct:et.url})},at=({item:et})=>{var Ct;return(0,o.jsxs)(y.A,{children:[(0,o.jsx)(c.A,{children:(0,o.jsx)(yt,{icon:et.icon})}),(0,o.jsx)(d.A,{primary:et.title,secondary:(Ct=et.links)===null||Ct===void 0?void 0:Ct.reduce((Et,nt,ot)=>[...Et,ot>0&&(0,o.jsx)("br",{},ot),(0,o.jsx)(dt,{link:nt},nt.url)],[])})]})};function vt(et){const{t:Ct}=(0,bt.i)(ut.O),{title:Et,items:nt,children:ot}=et,{items:ft}=(0,P.l)(),[Pt,At]=(0,R.useState)(!1),[N,V]=(0,R.useState)(null),pt=st(),xt=(0,f.A)(Tt=>Tt.breakpoints.down("sm")),Bt=Tt=>{V(Tt.currentTarget),At(!0)},Rt=()=>{At(!1)};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.A,{display:"flex",ml:1,children:xt?(0,o.jsx)(g.A,{color:"primary",size:"small",onClick:Bt,"data-testid":"support-button","aria-label":"Support",children:(0,o.jsx)(H,{})}):(0,o.jsx)(A.A,{"data-testid":"support-button","aria-label":"Support",color:"primary",onClick:Bt,startIcon:(0,o.jsx)(H,{}),children:Ct("supportButton.title")})}),(0,o.jsxs)(O.Ay,{"data-testid":"support-button-popover",open:Pt,anchorEl:N,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:Rt,children:[(0,o.jsxs)(E.A,{className:pt.popoverList,autoFocusItem:!!N,children:[Et&&(0,o.jsx)(y.A,{alignItems:"flex-start",className:pt.menuItem,children:(0,o.jsx)(C.A,{variant:"subtitle1",children:Et})}),R.Children.map(ot,(Tt,Ut)=>(0,o.jsx)(y.A,{alignItems:"flex-start",className:pt.menuItem,children:Tt},`child-${Ut}`)),(nt!=null?nt:ft).map((Tt,Ut)=>(0,o.jsx)(at,{item:Tt},`item-${Ut}`))]}),(0,o.jsx)(m.A,{children:(0,o.jsx)(A.A,{color:"primary",onClick:Rt,"aria-label":"Close",children:Ct("supportButton.close")})})]})]})}},14209:function(Y,T,t){"use strict";t.d(T,{X:function(){return ft}});var o=t(31085),i=t(25301),u=t(10394),A=t(29365),m=t(7031),g=t(58837),c=t(54917),d=t(72501),y=t(83313),E=t(89019),O=t(62461),p=t(68887),C=t(63798),f=t(64704),R=t(6774),P=t(75625),w=t(65859),M=t(5416),D=t(33494),b=t(80113),z=t(26229),G=t(46802),q=t(45250),K=t(14041),W=t(64947),X=t(66917),H=t(10315),_=t(87849);const it=(0,g.A)(N=>({root:{height:"100%",width:"315px",display:"flex",flexDirection:"column",marginRight:N.spacing(3)},value:{fontWeight:"bold",fontSize:18},header:{display:"flex",alignItems:"center",height:N.spacing(7.5),justifyContent:"space-between",borderBottom:`1px solid ${N.palette.grey[500]}`},filters:{display:"flex",flexDirection:"column","& > *":{marginTop:N.spacing(2)}}}),{name:"BackstageTableFilters"}),gt=N=>{var V;const pt=it(),{onChangeFilters:xt}=N,{t:Bt}=(0,_.i)(H.O),[Rt,Tt]=(0,K.useState)({...N.selectedFilters}),[Ut,wt]=(0,K.useState)(!1),Ft=()=>{Tt({}),wt(Xt=>!Xt)};return(0,K.useEffect)(()=>{xt(Rt)},[Rt,xt]),(0,o.jsxs)(u.A,{className:pt.root,children:[(0,o.jsxs)(u.A,{className:pt.header,children:[(0,o.jsx)(u.A,{className:pt.value,children:Bt("table.filter.title")}),(0,o.jsx)(W.A,{color:"primary",onClick:Ft,children:Bt("table.filter.clearAll")})]}),(0,o.jsx)(u.A,{className:pt.filters,children:((V=N.filters)===null||V===void 0?void 0:V.length)&&N.filters.map(Xt=>(0,o.jsx)(X.w,{triggerReset:Ut,...Xt.element,selected:Rt[Xt.element.label],onChange:se=>Tt({...Rt,[Xt.element.label]:se})},Xt.element.label))})]})};var ut=t(78467);function bt(N){return(0,o.jsx)("tbody",{"data-testid":"loading-indicator",children:(0,o.jsx)("tr",{children:(0,o.jsx)("td",{colSpan:N.colSpan,children:(0,o.jsx)(u.A,{sx:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",minHeight:"15rem"},children:(0,o.jsx)(ut.A,{size:"5rem"})})})})})}const st={Add:(0,K.forwardRef)((N,V)=>(0,o.jsx)(y.A,{...N,ref:V})),Check:(0,K.forwardRef)((N,V)=>(0,o.jsx)(O.A,{...N,ref:V})),Clear:(0,K.forwardRef)((N,V)=>(0,o.jsx)(f.A,{...N,ref:V})),Delete:(0,K.forwardRef)((N,V)=>(0,o.jsx)(R.A,{...N,ref:V})),DetailPanel:(0,K.forwardRef)((N,V)=>(0,o.jsx)(C.A,{...N,ref:V})),Edit:(0,K.forwardRef)((N,V)=>(0,o.jsx)(P.A,{...N,ref:V})),Export:(0,K.forwardRef)((N,V)=>(0,o.jsx)(z.A,{...N,ref:V})),Filter:(0,K.forwardRef)((N,V)=>(0,o.jsx)(w.A,{...N,ref:V})),FirstPage:(0,K.forwardRef)((N,V)=>(0,o.jsx)(M.A,{...N,ref:V})),LastPage:(0,K.forwardRef)((N,V)=>(0,o.jsx)(D.A,{...N,ref:V})),NextPage:(0,K.forwardRef)((N,V)=>(0,o.jsx)(C.A,{...N,ref:V})),PreviousPage:(0,K.forwardRef)((N,V)=>(0,o.jsx)(p.A,{...N,ref:V})),ResetSearch:(0,K.forwardRef)((N,V)=>(0,o.jsx)(f.A,{...N,ref:V})),Search:(0,K.forwardRef)((N,V)=>(0,o.jsx)(w.A,{...N,ref:V})),SortArrow:(0,K.forwardRef)((N,V)=>(0,o.jsx)(E.A,{...N,ref:V})),ThirdStateCheck:(0,K.forwardRef)((N,V)=>(0,o.jsx)(b.A,{...N,ref:V})),ViewColumn:(0,K.forwardRef)((N,V)=>(0,o.jsx)(G.A,{...N,ref:V}))};function yt(N,V){const pt=V.split(".");let xt=N[pt[0]];for(let Bt=1;Bt<pt.length;++Bt){if(xt===void 0)return xt;const Rt=pt[Bt];xt=xt[Rt]}return xt}const dt=(0,m.A)(N=>({header:{padding:N.spacing(1,2,1,2.5),borderTop:`1px solid ${N.palette.grey.A100}`,borderBottom:`1px solid ${N.palette.grey.A100}`,fontWeight:N.typography.fontWeightBold,position:"static",wordBreak:"normal",textTransform:"uppercase"}}),{name:"BackstageTableHeader"})(i.rV),at=(0,m.A)(N=>({root:{padding:N.spacing(3,0,2.5,2.5)},title:{"& > h6":{fontWeight:N.typography.fontWeightBold}},searchField:{paddingRight:N.spacing(2)}}),{name:"BackstageTableToolbar"})(i.Nb),vt=(0,g.A)(N=>({root:{display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontWeight:N.typography.fontWeightBold,fontSize:18,whiteSpace:"nowrap"}}),{name:"BackstageTableFiltersContainer"}),et=(0,g.A)(()=>({root:{display:"flex",alignItems:"start"}}),{name:"BackstageTable"});function Ct(N,V){return N.map(pt=>{var xt;const Bt=(xt=pt.headerStyle)!==null&&xt!==void 0?xt:{};let Rt=pt.cellStyle||{};if(pt.highlight)if(Bt.color=V.palette.textContrast,typeof Rt=="object")Rt.fontWeight=V.typography.fontWeightBold;else{const Tt=Rt;Rt=(Ut,wt,Ft)=>({...Tt(Ut,wt,Ft),fontWeight:V.typography.fontWeightBold})}return{...pt,headerStyle:Bt,cellStyle:Rt}})}function Et(N,V){return(0,q.transform)(N,(pt,xt,Bt)=>{(0,q.isEqual)(xt,V[Bt])||(pt[Bt]=xt)})}const nt={search:"",filtersOpen:!1,filters:{}};function ot(N){const{toolbarRef:V,setSearch:pt,hasFilters:xt,selectedFiltersLength:Bt,toggleFilters:Rt}=N,Tt=vt(),Ut=(0,K.useCallback)(wt=>{N.onSearchChanged(wt),pt(wt)},[N,pt]);return xt?(0,o.jsxs)(u.A,{className:Tt.root,children:[(0,o.jsxs)(u.A,{className:Tt.root,children:[(0,o.jsx)(A.A,{onClick:Rt,"aria-label":"filter list",children:(0,o.jsx)(w.A,{})}),(0,o.jsxs)(d.A,{className:Tt.title,children:["Filters (",Bt,")"]})]}),(0,o.jsx)(at,{...N,ref:V,onSearchChanged:Ut})]}):(0,o.jsx)(at,{...N,ref:V,onSearchChanged:Ut})}function ft(N){const{data:V,columns:pt,emptyContent:xt,options:Bt,title:Rt,subtitle:Tt,localization:Ut,filters:wt,initialState:Ft,onStateChange:Xt,components:se,isLoading:ie,..._t}=N,$t=et(),Zt=(0,c.A)(),Ce={...nt,...Ft},[ke,Ke]=(0,K.useState)(Ce.filtersOpen),Je=(0,K.useCallback)(()=>Ke(Se=>!Se),[Ke]),[Ie,rn]=(0,K.useState)(Ce.filters),[Ge,le]=(0,K.useState)(Ce.search);(0,K.useEffect)(()=>{if(Xt){const Se=Et({search:Ge,filtersOpen:ke,filters:Ie},nt);Xt(Se)}},[Ge,ke,Ie,Xt]);const ze=(0,K.useCallback)(Se=>{var j;return(j=pt.find(v=>v.title===Se))===null||j===void 0?void 0:j.field},[pt]),He=(0,K.useMemo)(()=>{if(typeof V=="function"||!Ie)return V;const Se=Object.values(Ie);return V&&Se.flat().length?V.filter(v=>!!Object.entries(Ie).filter(([,B])=>!!B.length).every(([B,F])=>{const lt=yt(v,ze(B));return Array.isArray(lt)&&Array.isArray(F)?lt.some(tt=>F.includes(tt)):Array.isArray(lt)?lt.includes(F):Array.isArray(F)?F.includes(lt):lt===F})):V},[V,Ie,ze]),sn=Object.values(Ie).flat().length,Fe=!!(wt!=null&&wt.length),he=(0,K.useCallback)(Se=>(0,o.jsx)(ot,{setSearch:le,hasFilters:Fe,selectedFiltersLength:sn,toggleFilters:Je,...Se}),[Je,Fe,sn,le]),Ve=typeof V!="function"&&V.length===0,Xe=pt.length,_e=(0,K.useMemo)(()=>Pt({hasNoRows:Ve,emptyContent:xt,columnCount:Xe,loading:ie}),[Ve,xt,Xe,ie]);return(0,o.jsxs)(u.A,{className:$t.root,children:[ke&&V&&typeof V!="function"&&(wt==null?void 0:wt.length)&&(0,o.jsx)(gt,{filters:At(wt,V,pt),selectedFilters:Ie,onChangeFilters:rn}),(0,o.jsx)(i.Ay,{components:{Header:dt,Body:_e,Toolbar:he,...se},options:Bt,columns:Ct(pt,Zt),icons:st,title:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(d.A,{variant:"h5",component:"h2",children:Rt}),Tt&&(0,o.jsx)(d.A,{color:"textSecondary",variant:"body1",children:Tt})]}),data:He,style:{width:"100%"},localization:{toolbar:{searchPlaceholder:"Filter",searchTooltip:"Filter"},...Ut},..._t})]})}ft.icons=Object.freeze(st);function Pt({columnCount:N,emptyContent:V,hasNoRows:pt,loading:xt}){return Bt=>xt?(0,o.jsx)(bt,{colSpan:N}):V&&pt?(0,o.jsx)("tbody",{children:(0,o.jsx)("tr",{children:(0,o.jsx)("td",{colSpan:N,children:V})})}):(0,o.jsx)(i.C6,{...Bt})}function At(N,V,pt){const xt=Rt=>{const Tt=new Set,Ut=wt=>{wt!=null&&Tt.add(wt)};return V&&V.forEach(wt=>{var Ft;const Xt=yt(wt,(Ft=pt.find(se=>se.title===Rt))===null||Ft===void 0?void 0:Ft.field);Array.isArray(Xt)?Xt.forEach(Ut):Ut(Xt)}),Tt},Bt=Rt=>({placeholder:"All results",label:Rt.column,multiple:Rt.type==="multiple-select",items:[...xt(Rt.column)].sort().map(Tt=>({label:Tt,value:Tt}))});return N.map(Rt=>({type:Rt.type,element:Bt(Rt)}))}},88640:function(Y,T,t){"use strict";t.d(T,{B:function(){return b}});var o=t(31085),i=t(268),u=t(58837),A=t(8973),m=t(29655),g=t(91567),c=t(42899),d=t(72501),y=t(9181),E=t(6924),O=t(14041),p=t(4650);const C=(z,G)=>(G.palette.type==="light"?i.e$:i.a)(G.palette[z].light,.6),f=(z,G)=>(G.palette.type==="light"?i.a:i.e$)(G.palette[z].light,.9),R=(0,u.A)(z=>({root:{marginRight:z.spacing(1),fill:({severity:G})=>C(G,z)}})),P=({severity:z})=>{const G=R({severity:z});return(0,o.jsx)(y.A,{classes:G})},w=({severity:z})=>{const G=R({severity:z});return(0,o.jsx)(E.A,{classes:G})},M=(0,u.A)(z=>({panel:{backgroundColor:({severity:G})=>f(G,z),color:({severity:G})=>C(G,z),verticalAlign:"middle"},summary:{display:"flex",flexDirection:"row"},summaryText:{color:({severity:G})=>C(G,z),fontWeight:z.typography.fontWeightBold},markdownContent:{"& p":{display:"inline"}},message:{width:"100%",display:"block",color:({severity:G})=>C(G,z),backgroundColor:({severity:G})=>f(G,z)},details:{width:"100%",display:"block",color:z.palette.textContrast,backgroundColor:z.palette.background.default,border:`1px solid ${z.palette.border}`,padding:z.spacing(2),fontFamily:"sans-serif"}}),{name:"BackstageWarningPanel"}),D=z=>z.charAt(0).toLocaleUpperCase("en-US")+z.slice(1);function b(z){const{severity:G="warning",title:q,titleFormat:K,message:W,children:X,defaultExpanded:H}=z,_=M({severity:G}),it=D(G)+(q?`: ${q}`:"");return(0,o.jsxs)(A.A,{defaultExpanded:H!=null?H:!1,className:_.panel,role:"alert",children:[(0,o.jsxs)(m.A,{expandIcon:(0,o.jsx)(w,{severity:G}),className:_.summary,children:[(0,o.jsx)(P,{severity:G}),(0,o.jsx)(d.A,{className:_.summaryText,variant:"subtitle1",children:K==="markdown"?(0,o.jsx)(p.h,{content:it,className:_.markdownContent}):it})]}),(W||X)&&(0,o.jsx)(g.A,{children:(0,o.jsxs)(c.A,{container:!0,children:[W&&(0,o.jsx)(c.A,{item:!0,xs:12,children:(0,o.jsx)(d.A,{className:_.message,variant:"body1",children:W})}),X&&(0,o.jsx)(c.A,{item:!0,xs:12,className:_.details,children:X})]})})]})}},10795:function(Y,T,t){"use strict";t.d(T,{l:function(){return g}});var o=t(72427),i=t(65461),u=t(10315),A=t(87849);const m=()=>{const{t:c}=(0,A.i)(u.O);return{url:"https://github.com/backstage/backstage/issues",items:[{title:c("supportConfig.default.title"),icon:"warning",links:[{title:c("supportConfig.default.linkTitle"),url:"https://github.com/backstage/backstage/blob/master/app-config.yaml"}]}]}};function g(){const d=(0,o.Q2)().get(i.U),y=d==null?void 0:d.getOptionalConfig("app.support"),E=m();return y?{url:y.getString("url"),items:y.getConfigArray("items").flatMap(O=>{var p;return{title:O.getString("title"),icon:O.getOptionalString("icon"),links:((p=O.getOptionalConfigArray("links"))!==null&&p!==void 0?p:[]).flatMap(C=>({url:C.getString("url"),title:C.getString("title")}))}})}:E}},26280:function(Y,T,t){"use strict";t.d(T,{U:function(){return c}});var o=t(31085),i=t(58837),u=t(53373),A=t.n(u),m=t(14041);const g=(0,i.A)(d=>({root:{gridArea:"pageContent",minWidth:0,paddingTop:d.spacing(3),paddingBottom:d.spacing(3),paddingLeft:d.spacing(2),paddingRight:d.spacing(2),[d.breakpoints.up("sm")]:{paddingLeft:d.spacing(3),paddingRight:d.spacing(3)}},stretch:{display:"flex",flexDirection:"column",flexGrow:1},noPadding:{padding:0}}),{name:"BackstageContent"});function c(d){const{className:y,stretch:E,noPadding:O,children:p,...C}=d,f=g();return(0,o.jsx)("article",{...C,className:A()(f.root,y,{[f.stretch]:E,[f.noPadding]:O}),children:p})}},59428:function(Y,T,t){"use strict";t.d(T,{d:function(){return y}});var o=t(31085),i=t(10394),u=t(58837),A=t(72501),m=t(14041),g=t(93285);const c=E=>(0,u.A)(O=>({container:{width:"100%",display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",alignItems:"center",marginBottom:O.spacing(2),textAlign:E.textAlign},leftItemsBox:{flex:"1 1 auto",minWidth:0,overflow:"visible"},rightItemsBox:{flex:"0 1 auto",display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"center",marginLeft:O.spacing(1),minWidth:0,overflow:"visible"},description:{},title:{display:"inline-flex",marginBottom:0}}),{name:"BackstageContentHeader"}),d=({title:E="Unknown page",className:O})=>(0,o.jsx)(A.A,{variant:"h4",component:"h2",className:O,"data-testid":"header-title",children:E});function y(E){const{description:O,title:p,titleComponent:C=void 0,children:f,textAlign:R="left"}=E,P=c({textAlign:R})(),w=C||(0,o.jsx)(d,{title:p,className:P.title});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(g.m,{title:p}),(0,o.jsxs)(i.A,{className:P.container,children:[(0,o.jsxs)(i.A,{className:P.leftItemsBox,children:[w,O&&(0,o.jsx)(A.A,{className:P.description,variant:"body2",children:O})]}),(0,o.jsx)(i.A,{className:P.rightItemsBox,children:f})]})]})}},12173:function(Y,T,t){"use strict";t.d(T,{M:function(){return M}});var o=t(31085),i=t(42899),u=t(58837),A=t(72501),m=t(14041),g=t(18690),c=t(72072),d=t(10795),y=t.p+"static/mic-drop.fe3ef4d0..svg";const E=(0,u.A)(D=>({micDrop:{maxWidth:"60%",bottom:D.spacing(2),right:D.spacing(2),[D.breakpoints.down("xs")]:{maxWidth:"96%",bottom:"unset",right:"unset",margin:D.spacing(10,"auto",4)}}}),{name:"BackstageErrorPageMicDrop"}),O=()=>{const D=E();return(0,o.jsx)("img",{src:y,className:D.micDrop,alt:"Girl dropping mic from her hands"})};var p=t(77310),C=t(87849),f=t(10315);const R=(0,u.A)(D=>({title:{paddingBottom:D.spacing(5),[D.breakpoints.down("xs")]:{paddingBottom:D.spacing(4),fontSize:D.typography.h3.fontSize}}}),{name:"BackstageErrorPageStackDetails"});function P(D){const{stack:b}=D,z=R(),{t:G}=(0,C.i)(f.O),[q,K]=(0,m.useState)(!1);return q?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(A.A,{variant:"h6",className:z.title,children:(0,o.jsx)(c.N_,{to:"#",onClick:()=>K(!1),children:G("errorPage.showLessDetails")})}),(0,o.jsx)(p.z,{text:b,language:"text",showCopyCodeButton:!0,showLineNumbers:!0})]}):(0,o.jsx)(A.A,{variant:"h6",className:z.title,children:(0,o.jsx)(c.N_,{to:"#",onClick:()=>K(!0),children:G("errorPage.showMoreDetails")})})}const w=(0,u.A)(D=>({container:{padding:D.spacing(8),[D.breakpoints.down("xs")]:{padding:D.spacing(2)}},title:{paddingBottom:D.spacing(5),[D.breakpoints.down("xs")]:{paddingBottom:D.spacing(4),fontSize:D.typography.h3.fontSize}},subtitle:{color:D.palette.textSubtle}}),{name:"BackstageErrorPage"});function M(D){const{status:b="",statusMessage:z,additionalInfo:G,supportUrl:q,stack:K}=D,W=w(),X=(0,g.Zp)(),H=(0,d.l)(),{t:_}=(0,C.i)(f.O);return(0,o.jsxs)(i.A,{container:!0,className:W.container,children:[(0,o.jsxs)(i.A,{item:!0,xs:12,sm:8,md:4,children:[(0,o.jsx)(A.A,{"data-testid":"error",variant:"body1",className:W.subtitle,children:_("errorPage.subtitle",{status:b,statusMessage:z})}),(0,o.jsx)(A.A,{variant:"body1",className:W.subtitle,children:G}),(0,o.jsx)(A.A,{variant:"h2",className:W.title,children:_("errorPage.title")}),(0,o.jsxs)(A.A,{variant:"h6",className:W.title,children:[(0,o.jsx)(c.N_,{to:"#","data-testid":"go-back-link",onClick:()=>X(-1),children:_("errorPage.goBack")}),"... or please"," ",(0,o.jsx)(c.N_,{to:q||H.url,children:"contact support"})," if you think this is a bug."]}),K&&(0,o.jsx)(P,{stack:K})]}),(0,o.jsx)(O,{})]})}},69814:function(Y,T,t){"use strict";t.d(T,{Y:function(){return X}});var o=t(31085),i=t(72427),u=t(65461),A=t(10394),m=t(42899),g=t(58837),c=t(71677),d=t(72501),y=t(14041),E=t(93285),O=t(72072),p=t(45634),C=t(58007),f=t(8109),R=t(55197),P=t(7031);const w=(0,P.A)({root:{textDecoration:"underline",cursor:"pointer"}},{name:"BackstageBreadcrumbsClickableText"})(d.A),M=(0,P.A)({root:{textDecoration:"underline",color:"inherit"}},{name:"BackstageBreadcrumbsStyledBox"})(A.A),D=(0,P.A)({root:{fontStyle:"italic"}},{name:"BreadcrumbsCurrentPage"})(A.A);function b(H){const{children:_,...it}=H,[gt,ut]=y.useState(null),bt=y.Children.toArray(_),[st,yt,...dt]=bt,at=dt.length?dt.pop():bt[bt.length-1],vt=bt.length>3,et=nt=>{ut(nt.currentTarget)},Ct=()=>{ut(null)},Et=!!gt;return(0,o.jsxs)(y.Fragment,{children:[(0,o.jsxs)(p.A,{"aria-label":"breadcrumb",...it,children:[bt.length>1&&(0,o.jsx)(M,{clone:!0,children:st}),bt.length>2&&(0,o.jsx)(M,{clone:!0,children:yt}),vt&&(0,o.jsx)(w,{onClick:et,children:"..."}),(0,o.jsx)(D,{children:at})]}),(0,o.jsx)(R.Ay,{open:Et,anchorEl:gt,onClose:Ct,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:(0,o.jsx)(C.A,{children:dt.map((nt,ot)=>(0,o.jsx)(f.A,{button:!0,children:(0,o.jsx)(M,{clone:!0,children:nt})},ot))})})]})}var z=t(73524);const G=(0,g.A)(H=>({header:{gridArea:"pageHeader",padding:H.spacing(3),width:"100%",boxShadow:H.shadows[4],position:"relative",zIndex:100,display:"flex",flexDirection:"row",alignItems:"center",backgroundImage:H.page.backgroundImage,backgroundPosition:"center",backgroundSize:"cover",[H.breakpoints.down("sm")]:{flexWrap:"wrap"}},leftItemsBox:{maxWidth:"100%",flexGrow:1},rightItemsBox:{width:"auto",alignItems:"center"},title:{color:H.page.fontColor,wordBreak:"break-word",fontSize:H.typography.h3.fontSize,marginBottom:0},subtitle:{color:H.page.fontColor,opacity:.8,display:"inline-block",marginTop:H.spacing(1),maxWidth:"75ch"},type:{textTransform:"uppercase",fontSize:11,opacity:.8,marginBottom:H.spacing(1),color:H.page.fontColor},breadcrumb:{color:H.page.fontColor},breadcrumbType:{fontSize:"inherit",opacity:.7,marginRight:-H.spacing(.3),marginBottom:H.spacing(.3)},breadcrumbTitle:{fontSize:"inherit",marginLeft:-H.spacing(.3),marginBottom:H.spacing(.3)}}),{name:"BackstageHeader"}),q=({type:H,typeLink:_,classes:it,pageTitle:gt})=>H?_?(0,o.jsxs)(b,{className:it.breadcrumb,children:[(0,o.jsx)(O.N_,{to:_,children:H}),(0,o.jsx)(d.A,{children:gt})]}):(0,o.jsx)(d.A,{className:it.type,children:H}):null,K=({pageTitle:H,classes:_,tooltip:it})=>{const{contentRef:gt}=(0,z.H)(),ut=(0,o.jsx)(d.A,{ref:gt,tabIndex:-1,className:_.title,variant:"h1",children:H});return it?(0,o.jsx)(c.Ay,{title:it,placement:"top-start",children:ut}):ut},W=({classes:H,subtitle:_})=>_?typeof _!="string"?(0,o.jsx)(o.Fragment,{children:_}):(0,o.jsx)(d.A,{className:H.subtitle,variant:"subtitle2",component:"span",children:_}):null;function X(H){const{children:_,pageTitleOverride:it,style:gt,subtitle:ut,title:bt,tooltip:st,type:yt,typeLink:dt}=H,at=G(),et=(0,i.gf)(u.U).getOptionalString("app.title")||"Backstage",Ct=it||bt,Et=bt||it,nt=`${Ct} | %s | ${et}`,ot=`${Ct} | ${et}`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(E.m,{titleTemplate:nt,defaultTitle:ot}),(0,o.jsxs)("header",{style:gt,className:at.header,children:[(0,o.jsxs)(A.A,{className:at.leftItemsBox,children:[(0,o.jsx)(q,{classes:at,type:yt,typeLink:dt,pageTitle:Et}),(0,o.jsx)(K,{classes:at,pageTitle:Et,tooltip:st}),(0,o.jsx)(W,{classes:at,subtitle:ut})]}),(0,o.jsx)(m.A,{container:!0,className:at.rightItemsBox,spacing:4,children:_})]})]})}},24504:function(Y,T,t){"use strict";t.d(T,{Y:function(){return g}});var o=t(31085),i=t(14041),u=t(58837),A=t(50868);const m=(0,u.A)(c=>({root:{display:"grid",gridTemplateAreas:"'pageHeader pageHeader pageHeader' 'pageSubheader pageSubheader pageSubheader' 'pageNav pageContent pageSidebar'",gridTemplateRows:"max-content auto 1fr",gridTemplateColumns:"auto 1fr auto",overflowY:"auto",height:"100vh",[c.breakpoints.down("xs")]:{height:"100%"},"@media print":{display:"block",height:"auto",overflowY:"inherit"}}}),{name:"BackstagePage"});function g(c){const{themeId:d,children:y}=c,E=m();return(0,o.jsx)(A.A,{theme:O=>({...O,page:O.getPageTheme({themeId:d})}),children:(0,o.jsx)("main",{className:E.root,children:y})})}},27155:function(Y,T,t){"use strict";t.d(T,{d:function(){return m}});var o=t(31085),i=t(14041),u=t(69814),A=t(24504);function m(g){const{themeId:c,children:d,...y}=g;return(0,o.jsxs)(A.Y,{themeId:c,children:[(0,o.jsx)(u.Y,{...y}),d]})}},73524:function(Y,T,t){"use strict";t.d(T,{G:function(){return p},H:function(){return C}});var o=t(31085),i=t(10394),u=t(58837),A=t(5893),m=t(14041),g=t(72664),c;(function(f){f.SIDEBAR_PIN_STATE="sidebarPinState"})(c||(c={}));const d={getSidebarPinState(){let f;try{f=JSON.parse(window.localStorage.getItem("sidebarPinState")||"true")}catch{return!0}return!!f},setSidebarPinState(f){return window.localStorage.setItem("sidebarPinState",JSON.stringify(f))}};var y=t(34435);const E=(0,u.A)(f=>({root:{width:"100%",transition:"padding-left 0.1s ease-out",isolation:"isolate",[f.breakpoints.up("sm")]:{paddingLeft:R=>R.isPinned?R.sidebarConfig.drawerWidthOpen:R.sidebarConfig.drawerWidthClosed},[f.breakpoints.down("xs")]:{paddingBottom:R=>R.sidebarConfig.mobileSidebarHeight},"@media print":{padding:"0px !important"}},content:{zIndex:0,isolation:"isolate","&:focus":{outline:0}}}),{name:"BackstageSidebarPage"}),O=(0,m.createContext)({content:{contentRef:void 0}});function p(f){const[R,P]=(0,m.useState)(()=>d.getSidebarPinState()),{sidebarConfig:w}=(0,m.useContext)(g.yY),M=(0,m.useRef)(null),D=(0,m.useMemo)(()=>({content:{contentRef:M}}),[M]);(0,m.useEffect)(()=>{d.setSidebarPinState(R)},[R]);const b=(0,A.A)(q=>q.breakpoints.down("xs"),{noSsr:!0}),z=()=>P(!R),G=E({isPinned:R,sidebarConfig:w});return(0,o.jsx)(y.qj,{value:{isPinned:R,toggleSidebarPinState:z,isMobile:b},children:(0,o.jsx)(O.Provider,{value:D,children:(0,o.jsx)(i.A,{className:G.root,children:f.children})})})}function C(){const{content:f}=(0,m.useContext)(O);return{focusContent:(0,m.useCallback)(()=>{var P,w;f==null||(w=f.contentRef)===null||w===void 0||(P=w.current)===null||P===void 0||P.focus()},[f]),contentRef:f==null?void 0:f.contentRef}}},34435:function(Y,T,t){"use strict";t.d(T,{Ut:function(){return y},qj:function(){return d}});var o=t(31085),i=t(43836),u=t(10602),A=t(14041);const m={isPinned:!0,toggleSidebarPinState:()=>{},isMobile:!1},g=(0,A.createContext)(m),c=(0,i.tK)("sidebar-pin-state-context");function d(E){const{children:O,value:p}=E;return(0,o.jsx)(g.Provider,{value:p,children:(0,o.jsx)(c.Provider,{value:(0,u.B)({1:p}),children:O})})}const y=()=>{const E=(0,A.useContext)(c),O=(0,A.useContext)(g);if(E===void 0)return O||m;const p=E.atVersion(1);if(p===void 0)throw new Error("No context found for version 1.");return p}},72664:function(Y,T,t){"use strict";t.d(T,{Rv:function(){return g},U1:function(){return O},hC:function(){return m},i8:function(){return d},yY:function(){return E}});var o=t(14041);const i=72,u=24,A=18,m={drawerWidthClosed:i,drawerWidthOpen:224,defaultOpenDelayMs:100,defaultCloseDelayMs:0,defaultFadeDuration:200,logoHeight:32,iconContainerWidth:i,iconSize:i-u*2,iconPadding:u,selectedIndicatorWidth:3,userBadgePadding:A,userBadgeDiameter:i-A*2,mobileSidebarHeight:56},g=p=>({...m,...p,iconContainerWidth:m.drawerWidthClosed,iconSize:m.drawerWidthClosed-m.iconPadding*2,userBadgeDiameter:m.drawerWidthClosed-m.userBadgePadding*2}),c={drawerWidthClosed:0,drawerWidthOpen:202,defaultOpenDelayMs:m.defaultOpenDelayMs+200},d=p=>({...c,...p}),y="@backstage/core/sidebar-intro-dismissed",E=(0,o.createContext)({sidebarConfig:m,submenuConfig:c}),O=(0,o.createContext)({isHoveredOn:!1,setIsHoveredOn:()=>{}})},10315:function(Y,T,t){"use strict";t.d(T,{O:function(){return i}});var o=t(93184);const i=(0,o.h)({id:"core-components",messages:{signIn:{title:"Sign In",loginFailed:"Login failed",customProvider:{title:"Custom User",subtitle:`Enter your own User ID and credentials.
|
|
2
|
+
This selection will not be stored.`,userId:"User ID",tokenInvalid:"Token is not a valid OpenID Connect JWT Token",continue:"Continue",idToken:"ID Token (optional)"},guestProvider:{title:"Guest",subtitle:`Enter as a Guest User.
|
|
3
|
+
You will not have a verified identity, meaning some features might be unavailable.`,enter:"Enter"}},skipToContent:"Skip to content",copyTextButton:{tooltipText:"Text copied to clipboard"},simpleStepper:{reset:"Reset",finish:"Finish",next:"Next",skip:"Skip",back:"Back"},errorPage:{subtitle:"ERROR {{status}}: {{statusMessage}}",title:"Looks like someone dropped the mic!",goBack:"Go back",showMoreDetails:"Show more details",showLessDetails:"Show less details"},emptyState:{missingAnnotation:{title:"Missing Annotation",actionTitle:"Add the annotation to your component YAML as shown in the highlighted example below:",readMore:"Read more"}},supportConfig:{default:{title:"Support Not Configured",linkTitle:"Add `app.support` config key"}},errorBoundary:{title:"Please contact {{slackChannel}} for help."},oauthRequestDialog:{title:"Login Required",authRedirectTitle:"This will trigger a http redirect to OAuth Login.",login:"Log in",rejectAll:"Reject All"},supportButton:{title:"Support",close:"Close"},table:{filter:{title:"Filters",clearAll:"Clear all"}},alertDisplay:{message_one:"({{ count }} older message)",message_other:"({{ count }} older messages)"},autoLogout:{stillTherePrompt:{title:"Logging out due to inactivity",buttonText:"Yes! Don't log me out"}},proxiedSignInPage:{title:"You do not appear to be signed in. Please try reloading the browser page."}}})},25862:function(Y,T,t){"use strict";t.d(T,{Ig:function(){return c},pn:function(){return g}});var o=t(31085),i=t(43836),u=t(10602),A=t(14041);const m=(0,i.tK)("analytics-context"),g=()=>{const y=(0,A.useContext)(m);if(y===void 0)return{routeRef:"unknown",pluginId:"root",extension:"App"};const E=y.atVersion(1);if(E===void 0)throw new Error("No context found for version 1.");return E},c=y=>{const{attributes:E,children:O}=y,C={...g(),...E},f=(0,u.B)({1:C});return(0,o.jsx)(m.Provider,{value:f,children:O})};function d(y,E){const O=p=>_jsx(c,{attributes:E,children:_jsx(y,{...p})});return O.displayName=`WithAnalyticsContext(${y.displayName||y.name||"Component"})`,O}},67237:function(Y,T,t){"use strict";t.d(T,{J:function(){return m},t:function(){return A}});var o=t(18990),i=t(63544);const u=(0,i.Q)("core-plugin-api:analytics-tracker-events",()=>({mostRecentGatheredNavigation:void 0,mostRecentRoutableExtensionRender:void 0,beforeUnloadRegistered:!1})),A="_ROUTABLE-EXTENSION-RENDERED";class m{setContext(c){this.context=c}captureEvent(c,d,{value:y,attributes:E}={}){const{_routeNodeType:O,...p}=this.context;if(c===A){u.mostRecentGatheredNavigation&&(u.mostRecentRoutableExtensionRender={context:{...p,extension:"App"}});return}if(u.mostRecentGatheredNavigation){try{this.analyticsApi.captureEvent({...u.mostRecentGatheredNavigation,...u.mostRecentRoutableExtensionRender})}catch(C){console.warn("Error during analytics event capture. %o",C)}u.mostRecentGatheredNavigation=void 0,u.mostRecentRoutableExtensionRender=void 0}if(c==="navigate"&&O==="gathered"&&p.pluginId==="root"){u.mostRecentGatheredNavigation={action:c,subject:d,value:y,attributes:E,context:p};return}try{this.analyticsApi.captureEvent({action:c,subject:d,value:y,attributes:E,context:p})}catch(C){console.warn("Error during analytics event capture. %o",C)}}constructor(c,d={routeRef:"unknown",pluginId:"root",extension:"App"}){(0,o._)(this,"analyticsApi",void 0),(0,o._)(this,"context",void 0),this.analyticsApi=c,this.context=d,u.beforeUnloadRegistered||(addEventListener("beforeunload",()=>{u.mostRecentGatheredNavigation&&(this.analyticsApi.captureEvent({...u.mostRecentGatheredNavigation,...u.mostRecentRoutableExtensionRender}),u.mostRecentGatheredNavigation=void 0,u.mostRecentRoutableExtensionRender=void 0)},{once:!0,passive:!0}),u.beforeUnloadRegistered=!0)}}},93368:function(Y,T,t){"use strict";t.d(T,{s:function(){return c}});var o=t(25862),i=t(72427),u=t(99303),A=t(14041),m=t(67237);function g(){try{return(0,i.gf)(u.c)}catch{return{captureEvent:()=>{}}}}function c(){const d=(0,A.useRef)(null),y=(0,o.pn)(),E=g();function O(){return d.current===null&&(d.current=new m.J(E)),d.current}const p=O();return p.setContext(y),p}},36017:function(Y,T,t){"use strict";t.d(T,{k:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"core.alert"})},99303:function(Y,T,t){"use strict";t.d(T,{c:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"core.analytics"})},65461:function(Y,T,t){"use strict";t.d(T,{U:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"core.config"})},57405:function(Y,T,t){"use strict";t.d(T,{I:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"core.discovery"})},39837:function(Y,T,t){"use strict";t.d(T,{m:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"core.error"})},63636:function(Y,T,t){"use strict";t.d(T,{B:function(){return u},S:function(){return i}});var o=t(55309),i;(function(A){A[A.None=0]="None",A[A.Active=1]="Active"})(i||(i={}));const u=(0,o.y)({id:"core.featureflags"})},70795:function(Y,T,t){"use strict";t.d(T,{a:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"core.fetch"})},16009:function(Y,T,t){"use strict";t.d(T,{K:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"core.identity"})},56038:function(Y,T,t){"use strict";t.d(T,{J:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"core.translation"})},55309:function(Y,T,t){"use strict";t.d(T,{y:function(){return u}});var o=t(18990);class i{get id(){return this.config.id}get T(){throw new Error(`tried to read ApiRef.T of ${this}`)}toString(){return`apiRef{${this.config.id}}`}constructor(m){if((0,o._)(this,"config",void 0),this.config=m,!m.id.split(".").flatMap(c=>c.split("-")).every(c=>c.match(/^[a-z][a-z0-9]*$/)))throw new Error(`API id must only contain period separated lowercase alphanum tokens with dashes, got '${m.id}'`)}}function u(A){return new i(A)}},12935:function(Y,T,t){"use strict";t.d(T,{b:function(){return o}});function o(i,u){return"id"in i?{api:i,deps:{},factory:()=>u}:i}},72427:function(Y,T,t){"use strict";t.d(T,{Q2:function(){return m},gf:function(){return g}});var o=t(31085),i=t(14041),u=t(43836),A=t(97142);function m(){const d=(0,u.qO)("api-context");if(!d)throw new A.EH("API context is not available");const y=d.atVersion(1);if(!y)throw new A.EH("ApiContext v1 not available");return y}function g(d){const E=m().get(d);if(!E)throw new A.EH(`No implementation available for ${d}`);return E}function c(d){return function(E){const O=C=>{const f=m(),R={};for(const P in d)if(d.hasOwnProperty(P)){const w=d[P],M=f.get(w);if(!M)throw new NotImplementedError(`No implementation available for ${w}`);R[P]=M}return _jsx(E,{...C,...R})},p=E.displayName||E.name||"Component";return O.displayName=`withApis(${p})`,O}}},82266:function(Y,T,t){"use strict";t.d(T,{n:function(){return i}});var o=t(43836);const i=()=>{const u=(0,o.qO)("app-context");if(!u)throw new Error("App context is not available");const A=u.atVersion(1);if(!A)throw new Error("AppContext v1 not available");return A}},19402:function(Y,T,t){"use strict";t.d(T,{E:function(){return m},h:function(){return A}});var o=t(63544);const i=(0,o.Q)("component-data-store",()=>new WeakMap),u="__backstage_data";function A(g,c,d){const y=g;var E;let O=(E=y[u])!==null&&E!==void 0?E:i.get(g);if(O||(O={map:new Map},Object.defineProperty(y,u,{enumerable:!1,configurable:!0,writable:!1,value:O}),i.set(g,O)),O.map.has(c)){const p=g.displayName||g.name;throw new Error(`Attempted to attach duplicate data "${c}" to component "${p}"`)}O.map.set(c,d)}function m(g,c){if(!g)return;const d=g.type;if(!d)return;var y;const E=(y=d[u])!==null&&y!==void 0?y:i.get(d);if(E)return E.map.get(c)}},88758:function(Y,T,t){"use strict";t.d(T,{NC:function(){return p},zZ:function(){return C},QJ:function(){return O}});var o=t(31085),i=t(14041),u=t(93368),A=t(25862),m=t(82266),g=t(9222),c=t(19402),d=t(18990);class y extends i.Component{static getDerivedStateFromError(R){return{error:R}}render(){const{error:R}=this.state,{app:P,plugin:w}=this.props,{ErrorBoundaryFallback:M}=P.getComponents();return R?(0,o.jsx)(M,{error:R,resetError:this.handleErrorReset,plugin:w}):this.props.children}constructor(...R){super(...R),(0,d._)(this,"state",{error:void 0}),(0,d._)(this,"handleErrorReset",()=>{this.setState({error:void 0})})}}var E=t(67237);function O(f){const{component:R,mountPoint:P,name:w}=f;return C({component:{lazy:()=>R().then(M=>{const D=z=>{const G=(0,u.s)();try{(0,g.S)(P)}catch(q){if(typeof q=="object"&&q!==null){const{message:K}=q;if(typeof K=="string"&&K.startsWith("No path for "))throw new Error(`Routable extension component with mount point ${P} was not discovered in the app element tree. Routable extension components may not be rendered by other components and must be directly available as an element within the App provider component.`)}throw q}return(0,i.useEffect)(()=>{G.captureEvent(E.t,"")},[G]),(0,o.jsx)(M,{...z})},b=w||M.displayName||M.name||"LazyComponent";return D.displayName=`RoutableExtension(${b})`,D},M=>b=>{const z=(0,m.n)(),{BootErrorPage:G}=z.getComponents();return(0,o.jsx)(G,{step:"load-chunk",error:M})})},data:{"core.mountPoint":P},name:w})}function p(f){const{component:R,name:P}=f;return C({component:R,name:P})}function C(f){const{data:R={},name:P}=f;P||console.warn("Declaring extensions without name is DEPRECATED. Make sure that all usages of createReactExtension, createComponentExtension and createRoutableExtension provide a name.");let w;if("lazy"in f.component){const D=f.component.lazy;w=(0,i.lazy)(()=>D().then(b=>({default:b})))}else w=f.component.sync;const M=P||w.displayName||w.name||"Component";return{expose(D){const b=z=>{const G=(0,m.n)(),{Progress:q}=G.getComponents(),K=R==null?void 0:R["core.mountPoint"];return(0,o.jsx)(i.Suspense,{fallback:(0,o.jsx)(q,{}),children:(0,o.jsx)(y,{app:G,plugin:D,children:(0,o.jsx)(A.Ig,{attributes:{pluginId:D.getId(),...P&&{extension:P},...K&&{routeRef:K.id}},children:(0,o.jsx)(w,{...z})})})})};(0,c.h)(b,"core.plugin",D),(0,c.h)(b,"core.extensionName",P);for(const[z,G]of Object.entries(R))(0,c.h)(b,z,G);return b.displayName=`Extension(${M})`,b}}}},82442:function(Y,T,t){"use strict";t.d(T,{O:function(){return d}});var o=t(18990),i=t(14041),u=t(19402),A=t(72427),m=t(63636);function g(y,E,O,p){return i.Children.toArray(y).flatMap(C=>{if(!(0,i.isValidElement)(C))return[];if(C.type===i.Fragment)return g(C.props.children,E,O,p);if((0,u.E)(C,"core.featureFlagged")){const f=C.props;return("with"in f?E.isActive(f.with):!E.isActive(f.without))?g(C.props.children,E,O,p):[]}if(O===void 0||O(C))return[C];if(p)throw new Error(p);return g(C.props.children,E,O,p)})}class c{selectByComponentData(E){const O=g(this.node,this.featureFlagsApi,p=>(0,u.E)(p,E.key)!==void 0,E.withStrictError);return new c(O,this.featureFlagsApi)}findComponentData(E){return g(this.node,this.featureFlagsApi,p=>(0,u.E)(p,E.key)!==void 0).map(p=>(0,u.E)(p,E.key)).filter(p=>p!==void 0)}getElements(){return g(this.node,this.featureFlagsApi)}constructor(E,O){(0,o._)(this,"node",void 0),(0,o._)(this,"featureFlagsApi",void 0),this.node=E,this.featureFlagsApi=O}}function d(y,E,O=[]){const p=(0,A.gf)(m.B),C=new c(y,p);return(0,i.useMemo)(()=>E(C),[y,...O])}},9803:function(Y,T,t){"use strict";t.d(T,{i:function(){return u}});var o=t(18990);class i{getId(){return this.config.id}getApis(){var m;return(m=this.config.apis)!==null&&m!==void 0?m:[]}getFeatureFlags(){var m,g;return(g=(m=this.config.featureFlags)===null||m===void 0?void 0:m.slice())!==null&&g!==void 0?g:[]}get routes(){var m;return(m=this.config.routes)!==null&&m!==void 0?m:{}}get externalRoutes(){var m;return(m=this.config.externalRoutes)!==null&&m!==void 0?m:{}}provide(m){return m.expose(this)}toString(){return`plugin{${this.config.id}}`}constructor(m){(0,o._)(this,"config",void 0),this.config=m}}function u(A){return new i(A)}},34569:function(Y,T,t){"use strict";t.d(T,{H:function(){return g}});var o=t(18990),i=t(59598);let u=i.b,A=u;class m{get title(){return this.id}toString(){return`routeRef{type=absolute,id=${this.id}}`}constructor(d,y){(0,o._)(this,"id",void 0),(0,o._)(this,"params",void 0),(0,o._)(this,A,void 0),this.id=d,this.params=y,this[u]="absolute"}}function g(c){var d;return new m(c.id,(d=c.params)!==null&&d!==void 0?d:[])}},59598:function(Y,T,t){"use strict";t.d(T,{b:function(){return i}});var o=t(63544);const i=(0,o.Q)("route-ref-type",()=>Symbol("route-ref-type"))},9222:function(Y,T,t){"use strict";t.d(T,{S:function(){return A}});var o=t(14041),i=t(18690),u=t(43836);function A(m){const{pathname:g}=(0,i.zy)(),c=(0,u.qO)("routing-context");if(!c)throw new Error("Routing context is not available");const d=c.atVersion(1),y=(0,o.useMemo)(()=>d&&d.resolve(m,{pathname:g}),[d,m,g]);if(!c)throw new Error("useRouteRef used outside of routing context");if(!d)throw new Error("RoutingContext v1 not available");const E="optional"in m&&m.optional;if(!y&&!E)throw new Error(`No path for ${m}`);return y}},93184:function(Y,T,t){"use strict";t.d(T,{h:function(){return O},v:function(){return p}});var o=t(96324),i=t(87081),u=t(33284),A=t(18990),m=t(99833);function g(C){const f=new Array;function R(P,w){for(const[M,D]of Object.entries(P))typeof D=="string"?f.push([w+M,D]):R(D,`${w}${M}.`)}return R(C,""),Object.fromEntries(f)}var c=new WeakMap,d=new WeakMap,y=new WeakMap;class E{get id(){return(0,o._)(this,c)}get T(){throw new Error("Not implemented")}getDefaultMessages(){return(0,o._)(this,d)}setDefaultResource(f){(0,u._)(this,y,f)}getDefaultResource(){return(0,o._)(this,y)}toString(){return`TranslationRef{id=${this.id}}`}constructor(f){(0,i._)(this,c,{writable:!0,value:void 0}),(0,i._)(this,d,{writable:!0,value:void 0}),(0,i._)(this,y,{writable:!0,value:void 0}),(0,A._)(this,"$$type","@backstage/TranslationRef"),(0,A._)(this,"version","v1"),(0,u._)(this,c,f.id),(0,u._)(this,d,g(f.messages))}}function O(C){const f=new E(C);return C.translations&&f.setDefaultResource((0,m.o)({ref:f,translations:C.translations})),f}function p(C){const f=C;if(f.$$type!=="@backstage/TranslationRef")throw new Error(`Invalid translation ref, bad type '${f.$$type}'`);if(f.version!=="v1")throw new Error(`Invalid translation ref, bad version '${f.version}'`);return f}},99833:function(Y,T,t){"use strict";t.d(T,{Y:function(){return o},o:function(){return i}});function o(u){const A=u;if(A.$$type!=="@backstage/TranslationResource")throw new Error(`Invalid translation resource, bad type '${A.$$type}'`);if(A.version!=="v1")throw new Error(`Invalid translation resource, bad version '${A.version}'`);return A}function i(u){return{$$type:"@backstage/TranslationResource",version:"v1",id:u.ref.id,resources:Object.entries(u.translations).map(([A,m])=>({language:A,loader:()=>m().then(g=>{const c=g.default;return{messages:(c==null?void 0:c.$$type)==="@backstage/TranslationMessages"?c.messages:c}})}))}}},87849:function(Y,T,t){"use strict";t.d(T,{i:function(){return g}});var o=t(14041),i=t(72427),u=t(39837),A=t(56038);const m=new WeakSet,g=c=>{const d=(0,i.gf)(u.m),y=(0,i.gf)(A.J),[E,O]=(0,o.useState)(()=>y.getTranslation(c)),p=(0,o.useMemo)(()=>y.translation$(c),[y,c]),C=(0,o.useCallback)(R=>{if(!m.has(c)){const P=`Failed to load translation resource '${c.id}'; caused by ${R}`;console.error(P),d.post(new Error(P)),m.add(c)}},[d,c]);(0,o.useEffect)(()=>{const R=p.subscribe({next(P){P.ready&&O(P)},error(P){C(P)}});return()=>{R.unsubscribe()}},[p,C]);const f=(0,o.useRef)(!0);if((0,o.useEffect)(()=>{f.current?f.current=!1:O(y.getTranslation(c))},[y,c]),!E.ready)throw new Promise(R=>{const P=p.subscribe({next(w){w.ready&&(P.unsubscribe(),R())},error(w){P.unsubscribe(),C(w),R()}})});return{t:E.t}}},70835:function(Y,T,t){"use strict";t.d(T,{o:function(){return A}});var o=t(18990),i=t(59750);async function u(m){try{const c=await m.text();if(c){var g;if(!((g=m.headers.get("content-type"))===null||g===void 0)&&g.startsWith("application/json"))try{const d=JSON.parse(c);if(d.error&&d.response)return d}catch{}return{error:{name:"Error",message:`Request failed with status ${m.status} ${m.statusText}, ${c}`},response:{statusCode:m.status}}}}catch{}return{error:{name:"Error",message:`Request failed with status ${m.status} ${m.statusText}`},response:{statusCode:m.status}}}class A extends Error{static async fromResponse(g){const c=await u(g),d=c.response.statusCode||g.status,y=g.statusText,E=`Request failed with ${d} ${y}`,O=(0,i.cy)(c.error);return new A({message:E,response:g,data:c,cause:O,statusCode:d,statusText:y})}constructor(g){super(g.message),(0,o._)(this,"response",void 0),(0,o._)(this,"body",void 0),(0,o._)(this,"cause",void 0),(0,o._)(this,"statusCode",void 0),(0,o._)(this,"statusText",void 0),this.name="ResponseError",this.response=g.response,this.body=g.data,this.cause=g.cause,this.statusCode=g.statusCode,this.statusText=g.statusText}}},93007:function(Y,T,t){"use strict";t.d(T,{b:function(){return o}});function o(u){if(typeof u!="object"||u===null||Array.isArray(u))return!1;const A=u;return!(typeof A.name!="string"||A.name===""||typeof A.message!="string")}function i(u){if(typeof u!="object"||u===null||Array.isArray(u))throw new Error(`Encountered invalid error, not an object, got '${u}'`);const A=u;if(typeof A.name!="string"||A.name==="")throw new Error(`Encountered error object without a name, got '${u}'`);if(typeof A.message!="string")throw new Error(`Encountered error object without a message, got '${u}'`)}},97142:function(Y,T,t){"use strict";t.d(T,{m_:function(){return d},EH:function(){return O}});var o=t(18990),i=t(93007),u=t(59750);class A extends Error{constructor(R,P){var w,M;let D=R;if(P!==void 0){const b=(0,u.M5)(P);D?D+=`; caused by ${b}`:D=`caused by ${b}`}super(D),(0,o._)(this,"cause",void 0),(w=(M=Error).captureStackTrace)===null||w===void 0||w.call(M,this,this.constructor),(!this.name||this.name==="Error")&&this.constructor.name!=="Error"&&(this.name=this.constructor.name),this.cause=(0,i.b)(P)?P:void 0}}class m extends A{constructor(...R){super(...R),(0,o._)(this,"name","InputError")}}class g extends A{constructor(...R){super(...R),(0,o._)(this,"name","AuthenticationError")}}class c extends A{constructor(...R){super(...R),(0,o._)(this,"name","NotAllowedError")}}class d extends A{constructor(...R){super(...R),(0,o._)(this,"name","NotFoundError")}}class y extends A{constructor(...R){super(...R),(0,o._)(this,"name","ConflictError")}}class E extends A{constructor(...R){super(...R),(0,o._)(this,"name","NotModifiedError")}}class O extends A{constructor(...R){super(...R),(0,o._)(this,"name","NotImplementedError")}}class p extends null{}class C extends A{constructor(R,P){super(R,P),this.name=(0,i.b)(P)?P.name:"Error"}}},59750:function(Y,T,t){"use strict";t.d(T,{M5:function(){return g},cy:function(){return m}});var o=t(69655),i=t.n(o),u=t(93007);function A(c,d){const E={name:"Unknown",message:"<no reason given>",...serializeErrorInternal(c)};return d!=null&&d.includeStack||delete E.stack,E}function m(c){const d=(0,o.deserializeError)(c);return c.stack||(d.stack=void 0),d}function g(c){if((0,u.b)(c)){const d=String(c);return d!=="[object Object]"?d:`${c.name}: ${c.message}`}return`unknown error '${c}'`}},43320:function(Y,T,t){"use strict";t.d(T,{L:function(){return _e},Y:function(){return Se}});var o=t(18990),i=t(59869);const u="amazonaws.com";function A(j){var v;const B=j.getOptionalString("endpoint");var F;const lt=(F=j.getOptionalBoolean("s3ForcePathStyle"))!==null&&F!==void 0?F:!1;let tt,Dt;if(B){try{const me=new URL(B);tt=me.host,Dt=me.pathname}catch{throw new Error(`invalid awsS3 integration config, endpoint '${B}' is not a valid URL`)}if(Dt!=="/")throw new Error(`invalid awsS3 integration config, endpoints cannot contain path, got '${B}'`)}else tt=u;const qt=j.getOptionalString("accessKeyId"),ee=(v=j.getOptionalString("secretAccessKey"))===null||v===void 0?void 0:v.trim(),pe=j.getOptionalString("roleArn"),ve=j.getOptionalString("externalId");return{host:tt,endpoint:B,s3ForcePathStyle:lt,accessKeyId:qt,secretAccessKey:ee,roleArn:pe,externalId:ve}}function m(j){const v=j.map(A);return v.some(B=>B.host===u)||v.push({host:u}),v}class g{get type(){return"awsS3"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){return(0,i.ku)(v)}resolveEditUrl(v){return v}constructor(v){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=v}}(0,o._)(g,"factory",({config:j})=>{var v;const B=m((v=j.getOptionalConfigArray("integrations.awsS3"))!==null&&v!==void 0?v:[]);return(0,i.oS)(B.map(F=>new g(F)),F=>F.config.host)});var c=t(96324),d=t(87081),y=t(33284);const E="GB";var O=new WeakMap,p=new WeakMap,C=new WeakMap,f=new WeakMap,R=new WeakMap,P=new WeakMap,w=new WeakMap;class M{static fromRepoUrl(v){const B=new URL(v);let F,lt,tt;const Dt=B.pathname.split("/").map(me=>decodeURIComponent(me));if(Dt[2]==="_git"?(F=Dt[1],lt=tt=Dt[3]):Dt[3]==="_git"?(F=Dt[1],lt=Dt[2],tt=Dt[4]):Dt[4]==="_git"&&(F=`${Dt[1]}/${Dt[2]}`,lt=Dt[3],tt=Dt[5]),!F||!lt||!tt)throw new Error("Azure URL must point to a git repository");var qt;const ee=(qt=B.searchParams.get("path"))!==null&&qt!==void 0?qt:void 0;let pe;const ve=B.searchParams.get("version");if(ve){if(ve.slice(0,2)!=="GB")throw new Error("Azure URL version must point to a git branch");pe=ve.slice(2)}return new M(B.origin,F,lt,tt,ee,pe)}toRepoUrl(){let v;return(0,c._)(this,C)===(0,c._)(this,f)?v=(0,c._)(this,w).call(this,(0,c._)(this,p),"_git",(0,c._)(this,f)):v=(0,c._)(this,w).call(this,(0,c._)(this,p),(0,c._)(this,C),"_git",(0,c._)(this,f)),(0,c._)(this,R)&&v.searchParams.set("path",(0,c._)(this,R)),(0,c._)(this,P)&&v.searchParams.set("version",E+(0,c._)(this,P)),v.toString()}toFileUrl(){if(!(0,c._)(this,R))throw new Error("Azure URL must point to a specific path to be able to download a file");const v=(0,c._)(this,w).call(this,(0,c._)(this,p),(0,c._)(this,C),"_apis","git","repositories",(0,c._)(this,f),"items");return v.searchParams.set("api-version","6.0"),v.searchParams.set("path",(0,c._)(this,R)),(0,c._)(this,P)&&v.searchParams.set("version",(0,c._)(this,P)),v.toString()}toArchiveUrl(){const v=(0,c._)(this,w).call(this,(0,c._)(this,p),(0,c._)(this,C),"_apis","git","repositories",(0,c._)(this,f),"items");return v.searchParams.set("recursionLevel","full"),v.searchParams.set("download","true"),v.searchParams.set("api-version","6.0"),(0,c._)(this,R)&&v.searchParams.set("scopePath",(0,c._)(this,R)),(0,c._)(this,P)&&v.searchParams.set("version",(0,c._)(this,P)),v.toString()}toCommitsUrl(){const v=(0,c._)(this,w).call(this,(0,c._)(this,p),(0,c._)(this,C),"_apis","git","repositories",(0,c._)(this,f),"commits");return v.searchParams.set("api-version","6.0"),(0,c._)(this,P)&&v.searchParams.set("searchCriteria.itemVersion.version",(0,c._)(this,P)),v.toString()}getOwner(){return(0,c._)(this,p)}getProject(){return(0,c._)(this,C)}getRepo(){return(0,c._)(this,f)}getPath(){return(0,c._)(this,R)}getRef(){return(0,c._)(this,P)}constructor(v,B,F,lt,tt,Dt){(0,d._)(this,O,{writable:!0,value:void 0}),(0,d._)(this,p,{writable:!0,value:void 0}),(0,d._)(this,C,{writable:!0,value:void 0}),(0,d._)(this,f,{writable:!0,value:void 0}),(0,d._)(this,R,{writable:!0,value:void 0}),(0,d._)(this,P,{writable:!0,value:void 0}),(0,d._)(this,w,{writable:!0,value:(...qt)=>{const ee=new URL((0,c._)(this,O));return ee.pathname=qt.map(pe=>encodeURIComponent(pe)).join("/"),ee}}),(0,y._)(this,O,v),(0,y._)(this,p,B),(0,y._)(this,C,F),(0,y._)(this,f,lt),(0,y._)(this,R,tt),(0,y._)(this,P,Dt)}}const D="dev.azure.com",b=["clientId","clientSecret","tenantId","personalAccessToken"],z=new Map([["ClientSecret",["clientId","clientSecret","tenantId"]],["ManagedIdentity",["clientId"]],["PersonalAccessToken",["personalAccessToken"]]]);function G(j){for(const v of z.entries()){const[B,F]=v,lt=b.filter(tt=>!F.includes(tt));if(F.every(tt=>j[tt]!==void 0)&<.every(tt=>j[tt]===void 0))return{kind:B,organizations:j.organizations,...F.reduce((tt,Dt)=>(tt[Dt]=j[Dt],tt),{})}}throw new Error("is not a valid credential")}function q(j){var v,B,F;const lt=(F=j.getOptionalString("host"))!==null&&F!==void 0?F:D;let tt=(v=j.getOptionalConfigArray("credentials"))===null||v===void 0?void 0:v.map(ue=>{var Yt,Pe;return{organizations:ue.getOptionalStringArray("organizations"),personalAccessToken:(Yt=ue.getOptionalString("personalAccessToken"))===null||Yt===void 0?void 0:Yt.trim(),tenantId:ue.getOptionalString("tenantId"),clientId:ue.getOptionalString("clientId"),clientSecret:(Pe=ue.getOptionalString("clientSecret"))===null||Pe===void 0?void 0:Pe.trim()}});const Dt=(B=j.getOptionalString("token"))===null||B===void 0?void 0:B.trim();if(j.getOptional("credential")!==void 0&&j.getOptional("credentials")!==void 0)throw new Error("Invalid Azure integration config, 'credential' and 'credentials' cannot be used together. Use 'credentials' instead.");if(j.getOptional("token")!==void 0&&j.getOptional("credentials")!==void 0)throw new Error("Invalid Azure integration config, 'token' and 'credentials' cannot be used together. Use 'credentials' instead.");if(Dt!==void 0){const ue=[{personalAccessToken:Dt}];var qt;tt=(qt=tt==null?void 0:tt.concat(ue))!==null&&qt!==void 0?qt:ue}if(j.getOptional("credential")!==void 0){var ee,pe;const ue=[{organizations:j.getOptionalStringArray("credential.organizations"),token:(ee=j.getOptionalString("credential.token"))===null||ee===void 0?void 0:ee.trim(),tenantId:j.getOptionalString("credential.tenantId"),clientId:j.getOptionalString("credential.clientId"),clientSecret:(pe=j.getOptionalString("credential.clientSecret"))===null||pe===void 0?void 0:pe.trim()}];var ve;tt=(ve=tt==null?void 0:tt.concat(ue))!==null&&ve!==void 0?ve:ue}if(!(0,i.HO)(lt))throw new Error(`Invalid Azure integration config, '${lt}' is not a valid host`);let me;if(tt!==void 0){const ue=tt==null?void 0:tt.reduce((Yt,Pe,Le)=>{let Ht;try{G(Pe)}catch(oe){Ht=oe.message}return Ht!==void 0&&Yt.push(`credential at position ${Le+1} ${Ht}`),Yt},Array.of()).concat(Object.entries(tt.filter(Yt=>Yt.organizations!==void 0&&Yt.organizations.length>0).reduce((Yt,Pe,Le)=>{var Ht;return(Ht=Pe.organizations)===null||Ht===void 0||Ht.forEach(oe=>{Yt[oe]||(Yt[oe]=[]),Yt[oe].push(Le+1)}),Yt},{})).filter(([Yt,Pe])=>Pe.length>1).reduce((Yt,[Pe,Le])=>(Yt.push(`organization ${Pe} is specified multiple times in credentials at positions ${Le.slice(0,Le.length-1).join(", ")} and ${Le[Le.length-1]}`),Yt),Array.of()));if((ue==null?void 0:ue.length)>0)throw new Error(`Invalid Azure integration config for ${lt}: ${ue.join("; ")}`);if(me=tt.map(Yt=>G(Yt)),me.some(Yt=>Yt.kind!=="PersonalAccessToken")&<!==D)throw new Error(`Invalid Azure integration config for ${lt}, only personal access tokens can be used with hosts other than ${D}`);if(me.filter(Yt=>Yt.organizations===void 0||Yt.organizations.length===0).length>1)throw new Error(`Invalid Azure integration config for ${lt}, you cannot specify multiple credentials without organizations`)}return{host:lt,credentials:me}}function K(j){const v=j.map(q);return v.some(B=>B.host===D)||v.push({host:D}),v}class W{get type(){return"azure"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){const{url:B,base:F}=v;if((0,i.AY)(B))return B;try{const tt=M.fromRepoUrl(F),Dt=new URL(F);var lt;const qt=new URL(`https://a.com${(lt=tt.getPath())!==null&<!==void 0?lt:""}`),ee=new URL(B,qt).pathname;return Dt.searchParams.set("path",ee),v.lineNumber&&(Dt.searchParams.set("line",String(v.lineNumber)),Dt.searchParams.set("lineEnd",String(v.lineNumber+1)),Dt.searchParams.set("lineStartColumn","1"),Dt.searchParams.set("lineEndColumn","1")),Dt.toString()}catch{return new URL(B,F).toString()}}resolveEditUrl(v){return v}constructor(v){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=v}}(0,o._)(W,"factory",({config:j})=>{var v;const B=K((v=j.getOptionalConfigArray("integrations.azure"))!==null&&v!==void 0?v:[]);return(0,i.oS)(B.map(F=>new W(F)),F=>F.config.host)});var X=t(52536),H=t.n(X);const _="bitbucket.org",it="https://api.bitbucket.org/2.0";function gt(j){var v;const B=_,F=it,lt=j.getString("username"),tt=(v=j.getString("appPassword"))===null||v===void 0?void 0:v.trim();return{host:B,apiBaseUrl:F,username:lt,appPassword:tt}}function ut(j){const v=j.map(gt);return v.length===0&&v.push({host:_,apiBaseUrl:it}),v}class bt{get type(){return"bitbucketCloud"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){const B=(0,i.ku)(v);if(v.lineNumber){const F=new URL(B);return F.hash=`lines-${v.lineNumber}`,F.toString()}return B}resolveEditUrl(v){const B=H()(v),F=new URL(v);return F.searchParams.set("mode","edit"),F.searchParams.set("at",B.ref),F.toString()}constructor(v){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=v}}(0,o._)(bt,"factory",({config:j})=>{var v;const B=ut((v=j.getOptionalConfigArray("integrations.bitbucketCloud"))!==null&&v!==void 0?v:[]);return(0,i.oS)(B.map(F=>new bt(F)),F=>F.config.host)});var st=t(45250);const yt="bitbucket.org",dt="https://api.bitbucket.org/2.0";function at(j){var v,B,F;const lt=(F=j.getOptionalString("host"))!==null&&F!==void 0?F:yt;let tt=j.getOptionalString("apiBaseUrl");const Dt=(v=j.getOptionalString("token"))===null||v===void 0?void 0:v.trim(),qt=j.getOptionalString("username"),ee=(B=j.getOptionalString("appPassword"))===null||B===void 0?void 0:B.trim();if(!(0,i.HO)(lt))throw new Error(`Invalid Bitbucket integration config, '${lt}' is not a valid host`);return tt?tt=(0,st.trimEnd)(tt,"/"):lt===yt?tt=dt:tt=`https://${lt}/rest/api/1.0`,{host:lt,apiBaseUrl:tt,token:Dt,username:qt,appPassword:ee}}function vt(j){const v=j.map(at);return v.some(B=>B.host===yt)||v.push({host:yt,apiBaseUrl:dt}),v}class et{get type(){return"bitbucket"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){const B=(0,i.ku)(v);if(!v.lineNumber)return B;const F=new URL(B);return this.integrationConfig.host==="bitbucket.org"?F.hash=`lines-${v.lineNumber}`:F.hash=`${v.lineNumber}`,F.toString()}resolveEditUrl(v){const B=H()(v),F=new URL(v);return F.searchParams.set("mode","edit"),F.searchParams.set("spa","0"),F.searchParams.set("at",B.ref),F.toString()}constructor(v){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=v}}(0,o._)(et,"factory",({config:j})=>{var v,B,F;const lt=vt((F=j.getOptionalConfigArray("integrations.bitbucket"))!==null&&F!==void 0?F:[...(v=j.getOptionalConfigArray("integrations.bitbucketCloud"))!==null&&v!==void 0?v:[],...(B=j.getOptionalConfigArray("integrations.bitbucketServer"))!==null&&B!==void 0?B:[]]);return(0,i.oS)(lt.map(tt=>new et(tt)),tt=>tt.config.host)});function Ct(j){var v;const B=j.getString("host");let F=j.getOptionalString("apiBaseUrl");const lt=(v=j.getOptionalString("token"))===null||v===void 0?void 0:v.trim(),tt=j.getOptionalString("username"),Dt=j.getOptionalString("password");if(!(0,i.HO)(B))throw new Error(`Invalid Bitbucket Server integration config, '${B}' is not a valid host`);return F?F=(0,st.trimEnd)(F,"/"):F=`https://${B}/rest/api/1.0`,{host:B,apiBaseUrl:F,token:lt,username:tt,password:Dt}}function Et(j){return j.map(Ct)}class nt{get type(){return"bitbucketServer"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){const B=(0,i.ku)(v);if(v.lineNumber){const F=new URL(B);return F.hash=v.lineNumber.toString(),F.toString()}return B}resolveEditUrl(v){return v.includes("?")?v.substring(0,v.indexOf("?")):v}constructor(v){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=v}}(0,o._)(nt,"factory",({config:j})=>{var v;const B=Et((v=j.getOptionalConfigArray("integrations.bitbucketServer"))!==null&&v!==void 0?v:[]);return(0,i.oS)(B.map(F=>new nt(F)),F=>F.config.host)});function ot(j){var v;const B=j.getString("host");let F=j.getOptionalString("baseUrl"),lt=j.getOptionalString("cloneUrl"),tt=j.getOptionalString("gitilesBaseUrl");const Dt=j.getOptionalString("username"),qt=(v=j.getOptionalString("password"))===null||v===void 0?void 0:v.trim();if((0,i.HO)(B)){if(F&&!(0,i.AY)(F))throw new Error(`Invalid Gerrit integration config, '${F}' is not a valid baseUrl`);if(lt&&!(0,i.AY)(lt))throw new Error(`Invalid Gerrit integration config, '${lt}' is not a valid cloneUrl`);if(tt&&!(0,i.AY)(tt))throw new Error(`Invalid Gerrit integration config, '${tt}' is not a valid gitilesBaseUrl`)}else throw new Error(`Invalid Gerrit integration config, '${B}' is not a valid host`);return F?F=(0,st.trimEnd)(F,"/"):F=`https://${B}`,tt?tt=(0,st.trimEnd)(tt,"/"):tt=`https://${B}`,lt?lt=(0,st.trimEnd)(lt,"/"):lt=F,{host:B,baseUrl:F,cloneUrl:lt,gitilesBaseUrl:tt,username:Dt,password:qt}}function ft(j){return j.map(ot)}var Pt=t(1048).hp;const At=")]}'";function N(j,v){const B=new URL(j.gitilesBaseUrl),F=new URL(v),tt=F.pathname.substring(F.pathname.startsWith("/a/")?2:0).replace(B.pathname,"").split("/").filter(me=>!!me),Dt=tt.indexOf("+");if(Dt<=0)throw new Error(`Unable to parse project from url: ${v}`);const qt=(0,st.trimStart)(tt.slice(0,Dt).join("/"),"/"),ee=tt.indexOf("heads");if(ee<=0)throw new Error(`Unable to parse branch from url: ${v}`);const pe=tt[ee+1],ve=tt.slice(ee+2).join("/");return{branch:pe,filePath:ve===""?"/":ve,project:qt}}function V(j,v,B,F){return`${j.gitilesBaseUrl}/${v}/+/refs/heads/${B}/${(0,st.trimStart)(F,"/")}`}function pt(j,v,B,F){const lt=F==="/"||F===""?".tar.gz":`/${F}.tar.gz`;return`${Bt(j)}/${v}/+archive/refs/heads/${B}${lt}`}function xt(j){return j.password?"/a/":"/"}function Bt(j){if(!j.baseUrl||!j.gitilesBaseUrl)throw new Error("Unexpected Gerrit config values. baseUrl or gitilesBaseUrl not set.");if(j.gitilesBaseUrl.startsWith(j.baseUrl))return j.gitilesBaseUrl.replace(j.baseUrl.concat("/"),j.baseUrl.concat(xt(j)));if(j.password)throw new Error("Since the baseUrl (Gerrit) is not part of the gitilesBaseUrl, an authentication URL could not be constructed.");return j.gitilesBaseUrl}function Rt(j,v){const{branch:B,project:F}=N(j,v);return`${j.baseUrl}${xt(j)}projects/${encodeURIComponent(F)}/branches/${B}`}function Tt(j,v){const{project:B}=N(j,v);return`${j.cloneUrl}${xt(j)}${B}`}function Ut(j,v){const{branch:B,filePath:F,project:lt}=N(j,v);return`${j.baseUrl}${xt(j)}projects/${encodeURIComponent(lt)}/branches/${B}/files/${encodeURIComponent(F)}/content`}function wt(j){return`${j.baseUrl}${xt(j)}projects/`}function Ft(j){const v={};if(!j.password)return v;const B=Pt.from(`${j.username}:${j.password}`,"utf8");return v.Authorization=`Basic ${B.toString("base64")}`,{headers:v}}async function Xt(j){const v=await j.text();if(v.startsWith(At))try{return JSON.parse(v.slice(At.length))}catch(B){throw new Error(`Invalid response from Gerrit: ${v.slice(0,10)} - ${B}`)}throw new Error(`Gerrit JSON body prefix missing. Found: ${v.slice(0,10)}`)}class se{get type(){return"gerrit"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){const{url:B,base:F,lineNumber:lt}=v;let tt;if(B.startsWith("/")){const{branch:Dt,project:qt}=N(this.config,F);return V(this.config,qt,Dt,B)}return B?tt=new URL(B,F):tt=new URL(F),lt&&(tt.hash=lt.toString()),tt.toString()}resolveEditUrl(v){return v}constructor(v){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=v}}(0,o._)(se,"factory",({config:j})=>{var v;const B=ft((v=j.getOptionalConfigArray("integrations.gerrit"))!==null&&v!==void 0?v:[]);return(0,i.oS)(B.map(F=>new se(F)),F=>F.config.host)});var ie=t(36021);const _t="gitlab.com",$t="https://gitlab.com/api/v4";function Zt(j){var v;const B=j.getString("host");let F=j.getOptionalString("apiBaseUrl");const lt=(v=j.getOptionalString("token"))===null||v===void 0?void 0:v.trim();let tt=j.getOptionalString("baseUrl");if(F?F=(0,st.trimEnd)(F,"/"):B===_t&&(F=$t),tt?tt=(0,st.trimEnd)(tt,"/"):tt=`https://${B}`,(0,i.HO)(B)){if(!F||!(0,i.AY)(F))throw new Error(`Invalid GitLab integration config, '${F}' is not a valid apiBaseUrl`);if(!(0,i.AY)(tt))throw new Error(`Invalid GitLab integration config, '${tt}' is not a valid baseUrl`)}else throw new Error(`Invalid GitLab integration config, '${B}' is not a valid host`);return{host:B,token:lt,apiBaseUrl:F,baseUrl:tt}}function Ce(j){const v=j.map(Zt);return v.some(B=>B.host===_t)||v.push({host:_t,apiBaseUrl:$t,baseUrl:`https://${_t}`}),v}function ke(j){let v="";return j.host!==_t&&(v=new URL(j.baseUrl).pathname),trimEnd(v,"/")}class Ke{get type(){return"gitlab"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){return(0,i.ku)(v)}resolveEditUrl(v){return Je(v,"edit")}constructor(v){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=v}}(0,o._)(Ke,"factory",({config:j})=>{var v;const B=Ce((v=j.getOptionalConfigArray("integrations.gitlab"))!==null&&v!==void 0?v:[]);return(0,i.oS)(B.map(F=>new Ke(F)),F=>F.config.host)});function Je(j,v){return j.replace(/\/\-\/(blob|tree|edit)\//,`/-/${v}/`)}function Ie(j){var v;const B=j.getString("host");let F=j.getOptionalString("baseUrl");const lt=j.getOptionalString("username"),tt=(v=j.getOptionalString("password"))===null||v===void 0?void 0:v.trim();if((0,i.HO)(B)){if(F&&!(0,i.AY)(F))throw new Error(`Invalid Gitea integration config, '${F}' is not a valid baseUrl`)}else throw new Error(`Invalid Gitea integration config, '${B}' is not a valid host`);return F?F=(0,st.trimEnd)(F,"/"):F=`https://${B}`,{host:B,baseUrl:F,username:lt,password:tt}}var rn=t(1048).hp;function Ge(j,v){const B=Fe(j,v);return`${B.url}/${B.owner}/${B.name}/_edit/${B.ref}/${B.path}`}function le(j,v){const B=Fe(j,v);return`${B.url}/api/v1/repos/${B.owner}/${B.name}/contents/${B.path}?ref=${B.ref}`}function ze(j,v){const B=Fe(j,v);return`${B.url}/api/v1/repos/${B.owner}/${B.name}/archive/${B.ref}.tar.gz`}function He(j,v){const B=Fe(j,v);return`${B.url}/api/v1/repos/${B.owner}/${B.name}/git/commits/${B.ref}`}function sn(j){const v={},{username:B,password:F}=j;return F?(B?v.Authorization=`basic ${rn.from(`${B}:${F}`).toString("base64")}`:v.Authorization=`token ${F}`,{headers:v}):v}function Fe(j,v){var B;const F=(B=j.baseUrl)!==null&&B!==void 0?B:`https://${j.host}`;try{const[lt,tt,Dt,qt,ee,pe,...ve]=v.replace(F,"").split("/"),me=ve.join("/").replace(/^\//,"");return{url:F,owner:tt,name:Dt,ref:pe,path:me}}catch(lt){throw new Error(`Incorrect URL: ${v}, ${lt}`)}}class he{get type(){return"gitea"}get title(){return this.config.host}resolveUrl(v){return(0,i.ku)(v)}resolveEditUrl(v){return Ge(this.config,v)}constructor(v){(0,o._)(this,"config",void 0),this.config=v}}(0,o._)(he,"factory",({config:j})=>{var v;const F=((v=j.getOptionalConfigArray("integrations.gitea"))!==null&&v!==void 0?v:[]).map(lt=>Ie(lt));return(0,i.oS)(F.map(lt=>new he(lt)),lt=>lt.config.host)});class Ve{static fromConfig(v){return new Ve({awsS3:g.factory({config:v}),azure:W.factory({config:v}),bitbucket:et.factory({config:v}),bitbucketCloud:bt.factory({config:v}),bitbucketServer:nt.factory({config:v}),gerrit:se.factory({config:v}),github:ie.U.factory({config:v}),gitlab:Ke.factory({config:v}),gitea:he.factory({config:v})})}get awsS3(){return this.byType.awsS3}get azure(){return this.byType.azure}get bitbucket(){return this.byType.bitbucket}get bitbucketCloud(){return this.byType.bitbucketCloud}get bitbucketServer(){return this.byType.bitbucketServer}get gerrit(){return this.byType.gerrit}get github(){return this.byType.github}get gitlab(){return this.byType.gitlab}get gitea(){return this.byType.gitea}list(){return Object.values(this.byType).flatMap(v=>v.list())}byUrl(v){let B=Object.values(this.byType).map(F=>F.byUrl(v)).filter(Boolean);if(B.length>1){const F=B.filter(lt=>!(lt instanceof et));F.length!==0&&(B=F)}return B[0]}byHost(v){return Object.values(this.byType).map(B=>B.byHost(v)).find(Boolean)}resolveUrl(v){const B=this.byUrl(v.base);return B?B.resolveUrl(v):(0,i.ku)(v)}resolveEditUrl(v){const B=this.byUrl(v);return B?B.resolveEditUrl(v):v}constructor(v){(0,o._)(this,"byType",void 0),this.byType=v}}var Xe=t(55309);class _e{static fromConfig(v){return Ve.fromConfig(v)}}const Se=(0,Xe.y)({id:"integration.scmintegrations"})},36021:function(Y,T,t){"use strict";t.d(T,{U:function(){return y},F:function(){return E}});var o=t(18990),i=t(59869),u=t(45250);const A="github.com",m="https://api.github.com",g="https://raw.githubusercontent.com";function c(O){var p,C,f;const R=(f=O.getOptionalString("host"))!==null&&f!==void 0?f:A;let P=O.getOptionalString("apiBaseUrl"),w=O.getOptionalString("rawBaseUrl");const M=(p=O.getOptionalString("token"))===null||p===void 0?void 0:p.trim(),D=(C=O.getOptionalConfigArray("apps"))===null||C===void 0?void 0:C.map(b=>({appId:b.getNumber("appId"),clientId:b.getString("clientId"),clientSecret:b.getString("clientSecret"),webhookSecret:b.getString("webhookSecret"),privateKey:b.getString("privateKey"),allowedInstallationOwners:b.getOptionalStringArray("allowedInstallationOwners")}));if(!(0,i.HO)(R))throw new Error(`Invalid GitHub integration config, '${R}' is not a valid host`);return P?P=(0,u.trimEnd)(P,"/"):R===A&&(P=m),w?w=(0,u.trimEnd)(w,"/"):R===A&&(w=g),{host:R,apiBaseUrl:P,rawBaseUrl:w,token:M,apps:D}}function d(O){const p=O.map(c);return p.some(C=>C.host===A)||p.push({host:A,apiBaseUrl:m,rawBaseUrl:g}),p}class y{get type(){return"github"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(p){return E((0,i.ku)(p),"tree")}resolveEditUrl(p){return E(p,"edit")}parseRateLimitInfo(p){return{isRateLimited:p.status===429||p.status===403&&p.headers.get("x-ratelimit-remaining")==="0"}}constructor(p){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=p}}(0,o._)(y,"factory",({config:O})=>{var p;const C=d((p=O.getOptionalConfigArray("integrations.github"))!==null&&p!==void 0?p:[]);return(0,i.oS)(C.map(f=>new y(f)),f=>f.config.host)});function E(O,p){return O.replace(/\/\/([^/]+)\/([^/]+)\/([^/]+)\/(blob|tree|edit)\//,(C,f,R,P)=>`//${f}/${R}/${P}/${p}/`)}},59869:function(Y,T,t){"use strict";t.d(T,{AY:function(){return g},HO:function(){return m},ku:function(){return d},oS:function(){return c}});var o=t(52536),i=t.n(o),u=t(45250),A=t.n(u);function m(E){const O=new URL("http://example.com");return O.host=E,O.host===E}function g(E){try{return new URL(E),!0}catch{return!1}}function c(E,O){return{list(){return E},byUrl(p){try{const C=typeof p=="string"?new URL(p):p;return E.find(f=>O(f)===C.host)}catch{return}},byHost(p){return E.find(C=>O(C)===p)}}}function d(E){const{url:O,base:p,lineNumber:C}=E;try{return new URL(O),O}catch{}let f;if(O.startsWith("/")){const{href:R,filepath:P}=i()(p);f=new URL(R);const w=(0,u.trimEnd)(f.pathname.substring(0,f.pathname.length-P.length),"/");f.pathname=`${w}${O}`}else f=new URL(O,p);return f.search=new URL(p).search,C&&(f.hash=`L${C}`),f.toString()}function y(E){beforeAll(()=>E.listen({onUnhandledRequest:"error"})),afterAll(()=>E.close()),afterEach(()=>E.resetHandlers())}},56041:function(Y,T,t){"use strict";var o={};t.r(o),t.d(o,{TechDocsPlugin:function(){return g.Ju}});var i=t(31085),u=t(14041),A=t(25873),m=t(18690),g=t(39278),c=t(85920),d=t(72020),y=t(99730),E=t(64947),O=t(12173),p=t(22020),C=t(68146),f=t(73970);function R({children:r}){return(0,m.Ri)()?(0,i.jsx)(i.Fragment,{children:r}):(0,i.jsx)(m.fS,{children:r})}const P=()=>(0,i.jsx)(O.M,{status:"404",statusMessage:"PAGE NOT FOUND"}),w=({step:r,error:e})=>{let n="";return r==="load-config"?n=`The configuration failed to load, someone should have a look at this error: ${e.message}`:r==="load-chunk"&&(n=`Lazy loaded chunk failed to load, try to reload the page: ${e.message}`),(0,i.jsx)(R,{children:(0,i.jsx)(O.M,{statusMessage:n,stack:e.stack})})},M=({error:r,resetError:e,plugin:n})=>(0,i.jsx)(p.b,{title:`Error in ${n==null?void 0:n.getId()}`,defaultExpanded:!0,error:r,children:(0,i.jsx)(E.A,{variant:"outlined",onClick:e,children:"Retry"})}),D={Progress:C.k,Router:f.Kd,NotFoundErrorPage:P,BootErrorPage:w,ErrorBoundaryFallback:M};var b=t(18990);const z="Invalid discovery URL pattern,";class G{static compile(e){const n=e.split(/\{\{\s*pluginId\s*\}\}/),s=n.join("pluginId");let a;try{a=new URL(s)}catch{throw new Error(`${z} URL '${s}' is invalid`)}if(a.hash)throw new Error(`${z} URL must not have a hash`);if(a.search)throw new Error(`${z} URL must not have a query`);if(s.endsWith("/"))throw new Error(`${z} URL must not end with a slash`);return new G(n)}async getBaseUrl(e){return this.parts.join(encodeURIComponent(e))}constructor(e){(0,b._)(this,"parts",void 0),this.parts=e}}var q=t(96403),K=t.n(q);let W=Symbol.observable;class X{[W](){return this}get closed(){return this.isClosed}next(e){if(this.isClosed)throw new Error("PublishSubject is closed");this.subscribers.forEach(n=>n.next(e))}error(e){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.terminatingError=e,this.subscribers.forEach(n=>n.error(e))}complete(){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.subscribers.forEach(e=>e.complete())}subscribe(e,n,s){const a=typeof e=="function"?{next:e,error:n,complete:s}:e;return this.observable.subscribe(a)}constructor(){(0,b._)(this,"isClosed",!1),(0,b._)(this,"terminatingError",void 0),(0,b._)(this,"observable",new(K())(e=>this.isClosed?(this.terminatingError?e.error(this.terminatingError):e.complete(),()=>{}):(this.subscribers.add(e),()=>{this.subscribers.delete(e)}))),(0,b._)(this,"subscribers",new Set)}}let H=Symbol.observable;class _{[H](){return this}get closed(){return this.isClosed}next(e){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.currentValue=e,this.subscribers.forEach(n=>n.next(e))}error(e){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.terminatingError=e,this.subscribers.forEach(n=>n.error(e))}complete(){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.subscribers.forEach(e=>e.complete())}subscribe(e,n,s){const a=typeof e=="function"?{next:e,error:n,complete:s}:e;return this.observable.subscribe(a)}constructor(e){(0,b._)(this,"isClosed",void 0),(0,b._)(this,"currentValue",void 0),(0,b._)(this,"terminatingError",void 0),(0,b._)(this,"observable",void 0),(0,b._)(this,"subscribers",new Set),this.isClosed=!1,this.currentValue=e,this.terminatingError=void 0,this.observable=new(K())(n=>this.isClosed?(this.terminatingError?n.error(this.terminatingError):n.complete(),()=>{}):(n.next(this.currentValue),this.subscribers.add(n),()=>{this.subscribers.delete(n)}))}}class it{post(e){this.subject.next(e)}alert$(){return this.subject}constructor(){(0,b._)(this,"subject",new X)}}class gt{captureEvent(e){}}class ut{post(e,n){return n!=null&&n.hidden||this.alertApi.post({message:e.message,severity:"error"}),this.errorApi.post(e,n)}error$(){return this.errorApi.error$()}constructor(e,n){(0,b._)(this,"alertApi",void 0),(0,b._)(this,"errorApi",void 0),this.alertApi=e,this.errorApi=n}}class bt{post(e,n){this.subject.next({error:e,context:n})}error$(){return this.subject}constructor(){(0,b._)(this,"subject",new X)}}class st{static forward(e,n){window.addEventListener("unhandledrejection",s=>{e.post(s.reason,n)})}}const yt=new Map;class dt{static create(e){var n;return new dt((n=e.namespace)!==null&&n!==void 0?n:"",e.errorApi)}static addStorageEventListener(){window.addEventListener("storage",e=>{for(const[s,a]of yt.entries()){var n;!((n=e.key)===null||n===void 0)&&n.startsWith(s)&&a.handleStorageChange(e.key)}})}get(e){return this.snapshot(e).value}snapshot(e){let n,s="absent";try{const a=localStorage.getItem(this.getKeyName(e));a&&(n=JSON.parse(a,(l,S)=>(typeof S=="object"&&S!==null&&Object.freeze(S),S)),s="present")}catch{this.errorApi.post(new Error(`Error when parsing JSON config from storage for: ${e}`))}return{key:e,value:n,presence:s}}forBucket(e){const n=`${this.namespace}/${e}`;return yt.has(n)||yt.set(n,new dt(n,this.errorApi)),yt.get(n)}async set(e,n){localStorage.setItem(this.getKeyName(e),JSON.stringify(n)),this.notifyChanges(e)}async remove(e){localStorage.removeItem(this.getKeyName(e)),this.notifyChanges(e)}observe$(e){return dt.hasSubscribed||(dt.addStorageEventListener(),dt.hasSubscribed=!0),this.observable.filter(({key:n})=>n===e)}handleStorageChange(e){if(!(e!=null&&e.startsWith(this.namespace)))return;const n=e==null?void 0:e.slice(`${this.namespace}/`.length);n.includes("/")||this.notifyChanges(decodeURIComponent(n))}getKeyName(e){return`${this.namespace}/${encodeURIComponent(e)}`}notifyChanges(e){const n=this.snapshot(e);for(const s of this.subscribers)s.next(n)}constructor(e,n){(0,b._)(this,"namespace",void 0),(0,b._)(this,"errorApi",void 0),(0,b._)(this,"subscribers",void 0),(0,b._)(this,"observable",void 0),this.namespace=e,this.errorApi=n,this.subscribers=new Set,this.observable=new(K())(s=>(this.subscribers.add(s),()=>{this.subscribers.delete(s)}))}}(0,b._)(dt,"hasSubscribed",!1);function at(r){let e=r.baseImplementation||t.g.fetch;var n;const s=[(n=r.middleware)!==null&&n!==void 0?n:[]].flat().reverse();for(const a of s)e=a.apply(e);return{fetch:e}}class vt{static create(e){var n,s;const a=et(e),l=((n=e.header)===null||n===void 0?void 0:n.name)||"authorization",S=((s=e.header)===null||s===void 0?void 0:s.value)||(x=>`Bearer ${x}`);return new vt(e.identityApi,a,l,S)}apply(e){return async(n,s)=>{const a=new Request(n,s),{token:l}=await this.identityApi.getCredentials();return a.headers.get(this.headerName)||typeof l!="string"||!l||!this.allowUrl(a.url)?e(n,s):(a.headers.set(this.headerName,this.headerValue(l)),e(a))}}constructor(e,n,s,a){(0,b._)(this,"identityApi",void 0),(0,b._)(this,"allowUrl",void 0),(0,b._)(this,"headerName",void 0),(0,b._)(this,"headerValue",void 0),this.identityApi=e,this.allowUrl=n,this.headerName=s,this.headerValue=a}}function et(r){return r.allowUrl?r.allowUrl:r.urlPrefixAllowlist?Ct(r.urlPrefixAllowlist):r.config?Ct([r.config.getString("backend.baseUrl")]):()=>!1}function Ct(r){const e=r.map(n=>n.replace(/\/$/,""));return n=>e.some(s=>n===s||n.startsWith(`${s}/`))}function Et(r,e){return!e||e==="/"?r:`${r.replace(/\/$/,"")}/${e.replace(/^\//,"")}`}class nt{apply(e){return async(n,s)=>{const a=new Request(n,s),l="plugin://";if(!a.url.startsWith(l))return e(n,s);const{hostname:S,pathname:x,search:L,hash:k,username:Z,password:rt}=new URL(`http://${a.url.substring(l.length)}`);let ht=await this.discoveryApi.getBaseUrl(S);if(Z||rt){const Ot=new URL(ht),zt=`${Z}${rt?`:${rt}`:""}@`;ht=`${Ot.protocol}//${zt}${Ot.host}${Ot.pathname}`}const mt=`${Et(ht,x)}${L}${k}`;return e(mt,typeof n=="string"||ot(n)?s:n)}}constructor(e){(0,b._)(this,"discoveryApi",void 0),this.discoveryApi=e}}function ot(r){return typeof r=="object"&&(r==null?void 0:r.constructor)===URL}class ft{static resolvePluginProtocol(e){return new nt(e.discoveryApi)}static injectIdentityAuth(e){return vt.create(e)}constructor(){}}function Pt(r,e){for(const n of e)if(!r.has(n))return!1;return!0}function At(r,...e){const n=new Set(r);for(const s of e)for(const a of s)n.add(a);return n}class N{request(e){return new Promise((n,s)=>{this.requests.push({scopes:e,resolve:n,reject:s}),this.subject.next(this.getCurrentPending())})}resolve(e,n){this.requests=this.requests.filter(s=>Pt(e,s.scopes)?(s.resolve(n),!1):!0),this.subject.next(this.getCurrentPending())}reject(e){this.requests.forEach(n=>n.reject(e)),this.requests=[],this.subject.next(this.getCurrentPending())}pending(){return this.subject}getCurrentPending(){const e=this.requests.length===0?void 0:this.requests.slice(1).reduce((n,s)=>At(n,s.scopes),this.requests[0].scopes);return{scopes:e,resolve:n=>{e&&this.resolve(e,n)},reject:n=>{e&&this.reject(n)}}}constructor(){(0,b._)(this,"requests",[]),(0,b._)(this,"subject",new _(this.getCurrentPending()))}}class V{createAuthRequester(e){const n=new N,s=this.handlerCount;return this.handlerCount++,n.pending().subscribe({next:a=>{const l=this.currentRequests.slice(),S=this.makeAuthRequest(a,e);S?l[s]=S:delete l[s],this.currentRequests=l,this.subject.next(l.filter(Boolean))}}),a=>n.request(a)}makeAuthRequest(e,n){const{scopes:s}=e;if(s)return{provider:n.provider,trigger:async()=>{const a=await n.onAuthRequest(s);e.resolve(a)},reject:()=>{const a=new Error("Login failed, rejected by user");a.name="RejectedError",e.reject(a)}}}authRequest$(){return this.subject}constructor(){(0,b._)(this,"subject",new _([])),(0,b._)(this,"currentRequests",[]),(0,b._)(this,"handlerCount",0)}}function pt(r){return new Promise((e,n)=>{const s=r.width||500,a=r.height||700,l=window.screen.width/2-s/2,S=window.screen.height/2-a/2,x=window.open(r.url,r.name,`menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=${s},height=${a},top=${S},left=${l}`);let L="";if(!x||typeof x.closed=="undefined"||x.closed){const ht=new Error("Failed to open auth popup.");ht.name="PopupRejectedError",n(ht);return}const k=ht=>{if(ht.source!==x||ht.origin!==r.origin)return;const{data:mt}=ht;if(mt.type==="config_info"){L=mt.targetOrigin;return}if(mt.type!=="authorization_response")return;const Ot=mt;if("error"in Ot){const zt=new Error(Ot.error.message);zt.name=Ot.error.name,n(zt)}else e(Ot.response);rt()},Z=setInterval(()=>{if(x.closed){const ht=`Login failed, ${L&&L!==window.location.origin?`Incorrect app origin, expected ${L}`:"popup was closed"}`,mt=new Error(ht);mt.name="PopupClosedError",n(mt),rt()}},100);function rt(){window.removeEventListener("message",k),clearInterval(Z)}window.addEventListener("message",k)})}let xt=!1;function Bt(r){return[...r].join(" ")}class Rt{async createSession(e){return e.instantPopup?this.enableExperimentalRedirectFlow?this.executeRedirect(e.scopes):this.showPopup(e.scopes):this.authRequester(e.scopes)}async refreshSession(e){const n=await fetch(await this.buildUrl("/refresh",{optional:!0,...e&&{scope:this.joinScopesFunc(e)}}),{headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(a=>{throw new Error(`Auth refresh request failed, ${a}`)});if(!n.ok){const a=new Error(`Auth refresh request failed, ${n.statusText}`);throw a.status=n.status,a}const s=await n.json();if(s.error){const a=new Error(s.error.message);throw s.error.name&&(a.name=s.error.name),a}return await this.sessionTransform(s)}async removeSession(){const e=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(n=>{throw new Error(`Logout request failed, ${n}`)});if(!e.ok){const n=new Error(`Logout request failed, ${e.statusText}`);throw n.status=e.status,n}}async showPopup(e){var n,s,a,l,S,x,L,k;const Z=this.joinScopesFunc(e),rt=await this.buildUrl("/start",{scope:Z,origin:window.location.origin,flow:"popup"}),ht=!((s=this.popupOptions)===null||s===void 0||(n=s.size)===null||n===void 0)&&n.fullscreen?window.screen.width:((l=this.popupOptions)===null||l===void 0||(a=l.size)===null||a===void 0?void 0:a.width)||450,mt=!((x=this.popupOptions)===null||x===void 0||(S=x.size)===null||S===void 0)&&S.fullscreen?window.screen.height:((k=this.popupOptions)===null||k===void 0||(L=k.size)===null||L===void 0?void 0:L.height)||730,Ot=await pt({url:rt,name:`${this.provider.title} Login`,origin:new URL(rt).origin,width:ht,height:mt});return await this.sessionTransform(Ot)}async executeRedirect(e){const n=this.joinScopesFunc(e);return window.location.href=await this.buildUrl("/start",{scope:n,origin:window.location.origin,redirectUrl:window.location.href,flow:"redirect"}),new Promise(()=>{})}async buildUrl(e,n){const s=await this.discoveryApi.getBaseUrl("auth"),a=this.buildQueryString({...n,env:this.environment});return`${s}/${this.provider.id}${e}${a}`}buildQueryString(e){if(!e)return"";const n=Object.entries(e).map(([s,a])=>{if(typeof a=="string")return`${encodeURIComponent(s)}=${encodeURIComponent(a)}`;if(a)return encodeURIComponent(s)}).filter(Boolean).join("&");return n?`?${n}`:""}constructor(e){(0,b._)(this,"discoveryApi",void 0),(0,b._)(this,"environment",void 0),(0,b._)(this,"provider",void 0),(0,b._)(this,"joinScopesFunc",void 0),(0,b._)(this,"authRequester",void 0),(0,b._)(this,"sessionTransform",void 0),(0,b._)(this,"enableExperimentalRedirectFlow",void 0),(0,b._)(this,"popupOptions",void 0);const{configApi:n,discoveryApi:s,environment:a,provider:l,joinScopes:S=Bt,oauthRequestApi:x,sessionTransform:L=rt=>rt,popupOptions:k}=e;!xt&&!n&&(console.warn("DEPRECATION WARNING: Authentication providers require a configApi instance to configure the authentication flow. Please provide one to the authentication provider constructor."),xt=!0);var Z;this.enableExperimentalRedirectFlow=n&&(Z=n.getOptionalBoolean("enableExperimentalRedirectFlow"))!==null&&Z!==void 0?Z:!1,this.authRequester=x.createAuthRequester({provider:l,onAuthRequest:async rt=>this.enableExperimentalRedirectFlow?this.executeRedirect(rt):this.showPopup(rt)}),this.discoveryApi=s,this.environment=a,this.provider=l,this.joinScopesFunc=S,this.sessionTransform=L,this.popupOptions=k}}function Tt(r,e){for(const n of e)if(!r.has(n))return!1;return!0}class Ut{sessionExistsAndHasScope(e,n){if(!e)return!1;if(!n||this.options.sessionScopes===void 0)return!0;const s=this.options.sessionScopes(e);return Tt(s,n)}getExtendedScope(e,n){const s=new Set(this.options.defaultScopes);if(e&&this.options.sessionScopes!==void 0){const a=this.options.sessionScopes(e);for(const l of a)s.add(l)}if(n)for(const a of n)s.add(a);return s}constructor(e){(0,b._)(this,"options",void 0),this.options=e}}var wt=t(55309),Ft;(function(r){r.SignedIn="SignedIn",r.SignedOut="SignedOut"})(Ft||(Ft={}));const Xt=(0,wt.y)({id:"core.auth.google"}),se=(0,wt.y)({id:"core.auth.github"}),ie=(0,wt.y)({id:"core.auth.okta"}),_t=(0,wt.y)({id:"core.auth.gitlab"}),$t=(0,wt.y)({id:"core.auth.microsoft"}),Zt=(0,wt.y)({id:"core.auth.onelogin"}),Ce=(0,wt.y)({id:"core.auth.bitbucket"}),ke=(0,wt.y)({id:"core.auth.bitbucket-server"}),Ke=(0,wt.y)({id:"core.auth.atlassian"}),Je=(0,wt.y)({id:"core.auth.vmware-cloud"});class Ie{setIsSignedIn(e){this.signedIn!==e&&(this.signedIn=e,this.subject.next(this.signedIn?Ft.SignedIn:Ft.SignedOut))}sessionState$(){return this.subject}constructor(){(0,b._)(this,"subject",new _(Ft.SignedOut)),(0,b._)(this,"signedIn",!1)}}class rn{async getSession(e){if(this.helper.sessionExistsAndHasScope(this.currentSession,e.scopes)){if(!this.sessionShouldRefreshFunc(this.currentSession))return this.currentSession;try{const s=await this.collapsedSessionRefresh(e.scopes),a=this.sessionScopesFunc(this.currentSession),l=this.sessionScopesFunc(s);return Tt(l,a)&&(this.currentSession=s),s}catch(s){if(e.optional)return;throw s}}if(!this.currentSession&&!e.instantPopup)try{const n=await this.collapsedSessionRefresh(e.scopes);return this.currentSession=n,this.getSession(e)}catch{}if(!e.optional)return this.currentSession=await this.connector.createSession({...e,scopes:this.helper.getExtendedScope(this.currentSession,e.scopes)}),this.stateTracker.setIsSignedIn(!0),this.currentSession}async removeSession(){this.currentSession=void 0,await this.connector.removeSession(),this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}async collapsedSessionRefresh(e){if(this.refreshPromise)return this.refreshPromise;this.refreshPromise=this.connector.refreshSession(this.helper.getExtendedScope(this.currentSession,e));try{const n=await this.refreshPromise;return this.stateTracker.setIsSignedIn(!0),n}finally{delete this.refreshPromise}}constructor(e){(0,b._)(this,"connector",void 0),(0,b._)(this,"helper",void 0),(0,b._)(this,"sessionScopesFunc",void 0),(0,b._)(this,"sessionShouldRefreshFunc",void 0),(0,b._)(this,"stateTracker",new Ie),(0,b._)(this,"refreshPromise",void 0),(0,b._)(this,"currentSession",void 0);const{connector:n,defaultScopes:s=new Set,sessionScopes:a,sessionShouldRefresh:l}=e;this.connector=n,this.sessionScopesFunc=a,this.sessionShouldRefreshFunc=l,this.helper=new Ut({sessionScopes:a,defaultScopes:s})}}const Ge={id:"oauth2",title:"Your Identity Provider",icon:()=>null};class le{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=Ge,oauthRequestApi:S,defaultScopes:x=[],scopeTransform:L=ht=>ht,popupOptions:k}=e,Z=new Rt({configApi:n,discoveryApi:s,environment:a,provider:l,oauthRequestApi:S,sessionTransform({backstageIdentity:ht,...mt}){const Ot={...mt,providerInfo:{idToken:mt.providerInfo.idToken,accessToken:mt.providerInfo.accessToken,scopes:le.normalizeScopes(L,mt.providerInfo.scope),expiresAt:mt.providerInfo.expiresInSeconds?new Date(Date.now()+mt.providerInfo.expiresInSeconds*1e3):void 0}};if(ht){var zt;const Vt=(zt=ht.expiresInSeconds)!==null&&zt!==void 0?zt:mt.providerInfo.expiresInSeconds;Ot.backstageIdentity={token:ht.token,identity:ht.identity,expiresAt:Vt?new Date(Date.now()+Vt*1e3):void 0}}return Ot},popupOptions:k}),rt=new rn({connector:Z,defaultScopes:new Set(x),sessionScopes:ht=>ht.providerInfo.scopes,sessionShouldRefresh:ht=>{var mt,Ot;let zt=1/0;return!((mt=ht.providerInfo)===null||mt===void 0)&&mt.expiresAt&&(zt=Math.min(zt,(ht.providerInfo.expiresAt.getTime()-Date.now())/1e3)),!((Ot=ht.backstageIdentity)===null||Ot===void 0)&&Ot.expiresAt&&(zt=Math.min(zt,(ht.backstageIdentity.expiresAt.getTime()-Date.now())/1e3)),zt<60*5}});return new le({sessionManager:rt,scopeTransform:L})}async signIn(){await this.getAccessToken()}async signOut(){await this.sessionManager.removeSession()}sessionState$(){return this.sessionManager.sessionState$()}async getAccessToken(e,n){const s=le.normalizeScopes(this.scopeTransform,e),a=await this.sessionManager.getSession({...n,scopes:s});var l;return(l=a==null?void 0:a.providerInfo.accessToken)!==null&&l!==void 0?l:""}async getIdToken(e={}){const n=await this.sessionManager.getSession({...e,scopes:new Set(["openid"])});var s;return(s=n==null?void 0:n.providerInfo.idToken)!==null&&s!==void 0?s:""}async getBackstageIdentity(e={}){const n=await this.sessionManager.getSession(e);return n==null?void 0:n.backstageIdentity}async getProfile(e={}){const n=await this.sessionManager.getSession(e);return n==null?void 0:n.profile}static normalizeScopes(e,n){if(!n)return new Set;const s=Array.isArray(n)?n:n.split(/[\s|,]/).filter(Boolean);return new Set(e(s))}constructor(e){(0,b._)(this,"sessionManager",void 0),(0,b._)(this,"scopeTransform",void 0),this.sessionManager=e.sessionManager,this.scopeTransform=e.scopeTransform}}const ze={id:"google",title:"Google",icon:()=>null},He="https://www.googleapis.com/auth/";class sn{static create(e){const{configApi:n,discoveryApi:s,oauthRequestApi:a,environment:l="development",provider:S=ze,defaultScopes:x=["openid",`${He}userinfo.email`,`${He}userinfo.profile`]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:a,provider:S,environment:l,defaultScopes:x,scopeTransform(L){return L.map(k=>k==="openid"?k:k==="profile"||k==="email"?`${He}userinfo.${k}`:k.startsWith(He)?k:`${He}${k}`)}})}}const Fe={id:"microsoft",title:"Microsoft",icon:()=>null};class he{static create(e){return new he(e)}microsoftGraph(){return this.oauth2[he.MicrosoftGraphID]}static resourceForScopes(e){const n=[...new Set(e.split(" ").map(he.resourceForScope).filter(l=>l!=="openid"))];if(n.length>1)return Promise.reject(new Error(`Requested access token with scopes from multiple Azure resources: ${n.join(", ")}. Access tokens can only have a single audience.`));var s;const a=(s=n[0])!==null&&s!==void 0?s:he.MicrosoftGraphID;return Promise.resolve(a)}static resourceForScope(e){var n;const s=(n=e.match(RegExp("^(?<resourceURI>.*)\\/(?<scp>[^\\/]*)$")))===null||n===void 0?void 0:n.groups;if(s){const{resourceURI:a}=s;return a.replace(/^api:\/\//,"")}switch(e){case"email":case"openid":case"offline_access":case"profile":return"openid";default:return he.MicrosoftGraphID}}async getAccessToken(e,n){const s=e===void 0?he.MicrosoftGraphID:await he.resourceForScopes(Array.isArray(e)?e.join(" "):e);return s in this.oauth2||(this.oauth2[s]=le.create({configApi:this.configApi,discoveryApi:this.discoveryApi,oauthRequestApi:this.oauthRequestApi,provider:this.provider,environment:this.environment,scopeTransform:this.scopeTransform})),this.oauth2[s].getAccessToken(e,n)}getIdToken(e){return this.microsoftGraph().getIdToken(e)}getProfile(e){return this.microsoftGraph().getProfile(e)}getBackstageIdentity(e){return this.microsoftGraph().getBackstageIdentity(e)}signIn(){return this.microsoftGraph().signIn()}signOut(){return this.microsoftGraph().signOut()}sessionState$(){return this.microsoftGraph().sessionState$()}constructor(e){(0,b._)(this,"oauth2",void 0),(0,b._)(this,"configApi",void 0),(0,b._)(this,"environment",void 0),(0,b._)(this,"provider",void 0),(0,b._)(this,"oauthRequestApi",void 0),(0,b._)(this,"discoveryApi",void 0),(0,b._)(this,"scopeTransform",void 0);const{configApi:n,environment:s="development",provider:a=Fe,oauthRequestApi:l,discoveryApi:S,defaultScopes:x=["openid","offline_access","profile","email","User.Read"],scopeTransform:L=k=>k.concat("offline_access")}=e;this.configApi=n,this.environment=s,this.provider=a,this.oauthRequestApi=l,this.discoveryApi=S,this.scopeTransform=L,this.oauth2={[he.MicrosoftGraphID]:le.create({configApi:this.configApi,discoveryApi:this.discoveryApi,oauthRequestApi:this.oauthRequestApi,provider:this.provider,environment:this.environment,scopeTransform:this.scopeTransform,defaultScopes:x})}}}(0,b._)(he,"MicrosoftGraphID","00000003-0000-0000-c000-000000000000");const Ve={id:"github",title:"GitHub",icon:()=>null};class Xe{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=Ve,oauthRequestApi:S,defaultScopes:x=["read:user"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:x})}}const _e={id:"okta",title:"Okta",icon:()=>null},Se=new Set(["openid","profile","email","phone","address","groups","offline_access"]),j="okta.";class v{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=_e,oauthRequestApi:S,defaultScopes:x=["openid","email","profile","offline_access"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:x,scopeTransform(L){return L.map(k=>Se.has(k)||k.startsWith(j)?k:`${j}${k}`)}})}}const B={id:"gitlab",title:"GitLab",icon:()=>null};class F{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=B,oauthRequestApi:S,defaultScopes:x=["read_user"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:x})}}const lt={id:"onelogin",title:"onelogin",icon:()=>null},tt=new Set(["openid","profile","email","phone","address","groups","offline_access"]),Dt="onelogin.";class qt{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=lt,oauthRequestApi:S}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:["openid","email","profile","offline_access"],scopeTransform(x){return x.map(L=>tt.has(L)||L.startsWith(Dt)?L:`${Dt}${L}`)}})}}const ee={id:"bitbucket",title:"Bitbucket",icon:()=>null};class pe{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=ee,oauthRequestApi:S,defaultScopes:x=["account"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:x})}}const ve={id:"bitbucketServer",title:"Bitbucket Server",icon:()=>null};class me{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=ve,oauthRequestApi:S,defaultScopes:x=["PROJECT_ADMIN"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a,defaultScopes:x})}}const ue={id:"atlassian",title:"Atlassian",icon:()=>null};class Yt{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=ue,oauthRequestApi:S}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:S,provider:l,environment:a})}}const Pe={id:"vmwareCloudServices",title:"VMware Cloud",icon:()=>null};class Le{static create(e){const{configApi:n,discoveryApi:s,oauthRequestApi:a,environment:l="development",provider:S=Pe,defaultScopes:x=["openid"]}=e;return le.create({configApi:n,discoveryApi:s,oauthRequestApi:a,provider:S,environment:l,defaultScopes:x})}}var Ht=t(12935),oe=t(57405),ce=t(65461),Kn=t(36017),Oo=t(99303),Te=t(39837);const zn=(0,wt.y)({id:"core.storage"});var Hn=t(70795),an=t(16009);const Me=(0,wt.y)({id:"core.oauthrequest"});var wo=t(96824),qe=t(70835),Po=t(10288),Vn=t.n(Po),To=t(52964),Qt=t(46195),tn=t(54241);const un=Qt.z.lazy(()=>Qt.z.object({rule:Qt.z.string(),resourceType:Qt.z.string(),params:Qt.z.record(Qt.z.any()).optional()}).or(Qt.z.object({anyOf:Qt.z.array(un).nonempty()})).or(Qt.z.object({allOf:Qt.z.array(un).nonempty()})).or(Qt.z.object({not:un}))),Gn=Qt.z.object({result:Qt.z.literal(tn.b.ALLOW).or(Qt.z.literal(tn.b.DENY))}),Ro=Qt.z.union([Qt.z.object({result:Qt.z.literal(tn.b.ALLOW).or(Qt.z.literal(tn.b.DENY))}),Qt.z.object({result:Qt.z.literal(tn.b.CONDITIONAL),pluginId:Qt.z.string(),resourceType:Qt.z.string(),conditions:un})]),Io=(r,e)=>Qt.z.object({items:Qt.z.array(Qt.z.intersection(Qt.z.object({id:Qt.z.string()}),r)).refine(n=>n.length===e.size&&n.every(({id:s})=>e.has(s)),{message:"Items in response do not match request"})});class Do{async authorize(e,n){return this.makeRequest(e,Gn,n)}async authorizeConditional(e,n){return this.makeRequest(e,Ro,n)}async makeRequest(e,n,s){if(!this.enabled)return e.map(Z=>({result:tn.b.ALLOW}));const a={items:e.map(Z=>({id:To.A(),...Z}))},l=await this.discovery.getBaseUrl("permission"),S=await Vn()(`${l}/authorize`,{method:"POST",body:JSON.stringify(a),headers:{...this.getAuthorizationHeader(s==null?void 0:s.token),"content-type":"application/json"}});if(!S.ok)throw await qe.o.fromResponse(S);const x=await S.json(),k=Io(n,new Set(a.items.map(({id:Z})=>Z))).parse(x).items.reduce((Z,rt)=>(Z[rt.id]=rt,Z),{});return a.items.map(Z=>k[Z.id])}getAuthorizationHeader(e){return e?{Authorization:`Bearer ${e}`}:{}}constructor(e){(0,b._)(this,"enabled",void 0),(0,b._)(this,"discovery",void 0),this.discovery=e.discovery;var n;this.enabled=(n=e.config.getOptionalBoolean("permission.enabled"))!==null&&n!==void 0?n:!1}}class Cn{static create(e){const{config:n,discovery:s,identity:a}=e,l=new Do({discovery:s,config:n});return new Cn(l,a)}async authorize(e){return(await this.permissionClient.authorize([e],await this.identityApi.getCredentials()))[0]}constructor(e,n){(0,b._)(this,"permissionClient",void 0),(0,b._)(this,"identityApi",void 0),this.permissionClient=e,this.identityApi=n}}const Lo=[(0,Ht.b)({api:oe.I,deps:{configApi:ce.U},factory:({configApi:r})=>G.compile(`${r.getString("backend.baseUrl")}/api/{{ pluginId }}`)}),(0,Ht.b)({api:Kn.k,deps:{},factory:()=>new it}),(0,Ht.b)({api:Oo.c,deps:{},factory:()=>new gt}),(0,Ht.b)({api:Te.m,deps:{alertApi:Kn.k},factory:({alertApi:r})=>{const e=new ut(r,new bt);return st.forward(e,{hidden:!1}),e}}),(0,Ht.b)({api:zn,deps:{errorApi:Te.m},factory:({errorApi:r})=>dt.create({errorApi:r})}),(0,Ht.b)({api:Hn.a,deps:{configApi:ce.U,identityApi:an.K,discoveryApi:oe.I},factory:({configApi:r,identityApi:e,discoveryApi:n})=>at({middleware:[ft.resolvePluginProtocol({discoveryApi:n}),ft.injectIdentityAuth({identityApi:e,config:r})]})}),(0,Ht.b)({api:Me,deps:{},factory:()=>new V}),(0,Ht.b)({api:Xt,deps:{discoveryApi:oe.I,oauthRequestApi:Me,configApi:ce.U},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>sn.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Ht.b)({api:$t,deps:{discoveryApi:oe.I,oauthRequestApi:Me,configApi:ce.U},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>he.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Ht.b)({api:se,deps:{discoveryApi:oe.I,oauthRequestApi:Me,configApi:ce.U},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>Xe.create({configApi:n,discoveryApi:r,oauthRequestApi:e,defaultScopes:["read:user"],environment:n.getOptionalString("auth.environment")})}),(0,Ht.b)({api:ie,deps:{discoveryApi:oe.I,oauthRequestApi:Me,configApi:ce.U},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>v.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Ht.b)({api:_t,deps:{discoveryApi:oe.I,oauthRequestApi:Me,configApi:ce.U},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>F.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Ht.b)({api:Zt,deps:{discoveryApi:oe.I,oauthRequestApi:Me,configApi:ce.U},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>qt.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Ht.b)({api:Ce,deps:{discoveryApi:oe.I,oauthRequestApi:Me,configApi:ce.U},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>pe.create({configApi:n,discoveryApi:r,oauthRequestApi:e,defaultScopes:["account"],environment:n.getOptionalString("auth.environment")})}),(0,Ht.b)({api:ke,deps:{discoveryApi:oe.I,oauthRequestApi:Me,configApi:ce.U},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>me.create({configApi:n,discoveryApi:r,oauthRequestApi:e,defaultScopes:["REPO_READ"]})}),(0,Ht.b)({api:Ke,deps:{discoveryApi:oe.I,oauthRequestApi:Me,configApi:ce.U},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>Yt.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Ht.b)({api:Je,deps:{discoveryApi:oe.I,oauthRequestApi:Me,configApi:ce.U},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>Le.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Ht.b)({api:wo.x,deps:{discovery:oe.I,identity:an.K,config:ce.U},factory:({config:r,discovery:e,identity:n})=>Cn.create({config:r,discovery:e,identity:n})})];var Sn=t(14451),bn=t(27799),Yn=t(94389),Mo=t(20947),jo=t(20473),Bo=t(45917),Uo=t(39347),Fo=t(63309),$o=t(82451),No=t(85121),Qn=t(17400),Wo=t(42226),ko=t(69550),Zn=t(52755),Jn=t(89350),Ko=t(8911),On=t(33602),wn=t(48108),zo=t(77225),Xn=t(55700),_n=t(71865);const qn={brokenImage:bn.A,catalog:Ko.A,scaffolder:Mo.A,techdocs:jo.A,search:Bo.A,chat:Uo.A,dashboard:Fo.A,docs:$o.A,email:No.A,github:Wo.A,group:On.A,help:ko.A,"kind:api":Qn.A,"kind:component":Jn.A,"kind:domain":Sn.A,"kind:group":On.A,"kind:location":Zn.A,"kind:system":Yn.A,"kind:user":wn.A,"kind:resource":Xn.A,"kind:template":_n.A,user:wn.A,warning:zo.A};var Ho=t(58733),Vo=t(55288),Go=t(91360),Yo=t(50868),Pn=t(12285),Qo=t(65730);const Tn=(0,Vo.A)({productionPrefix:"jss4-"});function to(r){const{children:e,theme:n,noCssBaseline:s=!1}=r,a=n.getTheme("v4"),l=n.getTheme("v5");let S;s||(S=(0,i.jsx)(Ho.Ay,{}));let x=(0,i.jsxs)(i.Fragment,{children:[S,e]});return a&&(x=(0,i.jsx)(Go.Ay,{generateClassName:Tn,children:(0,i.jsx)(Yo.A,{theme:a,children:x})})),l&&(x=(0,i.jsx)(Pn.A,{injectFirst:!0,children:(0,i.jsx)(Qo.A,{theme:l,children:x})})),x}const eo={light:{type:"light",mode:"light",background:{default:"#F8F8F8",paper:"#FFFFFF"},status:{ok:"#1DB954",warning:"#FF9800",error:"#E22134",running:"#1F5493",pending:"#FFED51",aborted:"#757575"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#1F5493"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",closeButtonColor:"#FFFFFF",warning:"#FF9800"},border:"#E6E6E6",textContrast:"#000000",textVerySubtle:"#DDD",textSubtle:"#6E6E6E",highlight:"#FFFBCC",errorBackground:"#FFEBEE",warningBackground:"#F59B23",infoBackground:"#ebf5ff",errorText:"#CA001B",infoText:"#004e8a",warningText:"#000000",linkHover:"#2196F3",link:"#0A6EBE",gold:"#FFD600",navigation:{background:"#171717",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#181818",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}},dark:{type:"dark",mode:"dark",background:{default:"#333333",paper:"#424242"},status:{ok:"#71CF88",warning:"#FFB84D",error:"#F84C55",running:"#3488E3",pending:"#FEF071",aborted:"#9E9E9E"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#9CC9FF",dark:"#82BAFD"},secondary:{main:"#FF88B2"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",closeButtonColor:"#FFFFFF",warning:"#FF9800"},border:"#E6E6E6",textContrast:"#FFFFFF",textVerySubtle:"#727272",textSubtle:"#CCCCCC",highlight:"#FFFBCC",errorBackground:"#FFEBEE",warningBackground:"#F59B23",infoBackground:"#ebf5ff",errorText:"#CA001B",infoText:"#004e8a",warningText:"#000000",linkHover:"#82BAFD",link:"#9CC9FF",gold:"#FFD600",navigation:{background:"#424242",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#404040",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}}};var Lt=t(96324),fe=t(87081),h=t(33284),I=t(98392),U=t(75679);const $={wave:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1368' height='401' x='0' y='0' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M437 116C223 116 112 0 112 0h1256v400c-82 0-225-21-282-109-112-175-436-175-649-175z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1368 400V282C891-29 788 40 711 161 608 324 121 372 0 361v39h1368z'/%3e%3cpath fill='url(%23paint2_linear)' d='M1368 244v156H0V94c92-24 198-46 375 0l135 41c176 51 195 109 858 109z'/%3e%3cpath fill='url(%23paint3_linear)' d='M1252 400h116c-14-7-35-14-116-16-663-14-837-128-1013-258l-85-61C98 28 46 8 0 0v400h1252z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M-172-98h1671v601H-172z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='602' x2='1093.5' y1='-960.5' y2='272' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='482' x2='480' y1='1058.5' y2='70.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='424' x2='446.1' y1='-587.5' y2='274.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='587' x2='349' y1='-1120.5' y2='341' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`,wave2:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1764' height='479' x='-229' y='-6' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M0 400h1350C1321 336 525 33 179-2c-345-34-395 236-408 402H0z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1378 177v223H0V217s219 75 327 52C436 246 717-35 965 45s254 144 413 132z'/%3e%3cpath fill='url(%23paint2_linear)' d='M26 400l-78-16c-170 205-44-6-137-30l-4-1 4 1 137 30c37-45 89-110 159-201 399-514-45 238 1176-50 275-65 354-39 91 267H26z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='431' x2='397.3' y1='-599' y2='372.8' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='236.5' x2='446.6' y1='-586' y2='381.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='851.8' x2='640.4' y1='-867.2' y2='363.7' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`,round:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='2269' height='1408' x='-610' y='-509' maskUnits='userSpaceOnUse'%3e%3ccircle cx='1212.8' cy='74.8' r='317.5' fill='url(%23paint0_linear)' transform='rotate(-52 1213 75)'/%3e%3ccircle cx='737.8' cy='445.8' r='317.5' fill='url(%23paint1_linear)' transform='rotate(-116 738 446)'/%3e%3ccircle cx='601.8' cy='52.8' r='418.6' fill='url(%23paint2_linear)' transform='rotate(-117 602 53)'/%3e%3ccircle cx='999.8' cy='364' r='389.1' fill='url(%23paint3_linear)' transform='rotate(31 1000 364)'/%3e%3cellipse cx='-109.2' cy='263.5' fill='url(%23paint4_linear)' rx='429.2' ry='465.8' transform='rotate(-85 -109 264)'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='1301.2' x2='161.4' y1='-1879.7' y2='-969.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='826.2' x2='-313.6' y1='-1508.7' y2='-598.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='718.4' x2='-784.3' y1='-2524' y2='-1324.2' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='1108.2' x2='-288.6' y1='-2031.1' y2='-915.9' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint4_linear' x1='10.4' x2='-1626.5' y1='-2603.8' y2='-1399.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`},Q={darkGrey:["#171717","#383838"],marineBlue:["#006D8F","#0049A1"],veryBlue:["#0027AF","#270094"],rubyRed:["#98002B","#8D1134"],toastyOrange:["#BE2200","#A41D00"],purpleSky:["#8912CA","#3E00EA"],eveningSea:["#00FFF2","#035355"],teal:["#005B4B"],pinkSea:["#C8077A","#C2297D"],greens:["#4BB8A5","#187656"]};function J(r){const{colors:e,shape:n,options:s}=r,l=`linear-gradient(90deg, ${(e.length===1?[e[0],e[0]]:e).join(", ")})`,S=`${n}, ${l}`;var x;const L=(x=s==null?void 0:s.fontColor)!==null&&x!==void 0?x:"#FFFFFF";return{colors:e,shape:n,backgroundImage:S,fontColor:L}}const ct={home:J({colors:Q.teal,shape:$.wave}),documentation:J({colors:Q.pinkSea,shape:$.wave2}),tool:J({colors:Q.purpleSky,shape:$.round}),service:J({colors:Q.marineBlue,shape:$.wave}),website:J({colors:Q.veryBlue,shape:$.wave}),library:J({colors:Q.rubyRed,shape:$.wave}),other:J({colors:Q.darkGrey,shape:$.wave}),app:J({colors:Q.toastyOrange,shape:$.wave}),apis:J({colors:Q.teal,shape:$.wave2}),card:J({colors:Q.greens,shape:$.wave})},St=16,jt='"Helvetica Neue", Helvetica, Roboto, Arial, sans-serif',Nt="home",Gt={htmlFontSize:St,fontFamily:jt,h1:{fontSize:54,fontWeight:700,marginBottom:10},h2:{fontSize:40,fontWeight:700,marginBottom:8},h3:{fontSize:32,fontWeight:700,marginBottom:6},h4:{fontWeight:700,fontSize:28,marginBottom:6},h5:{fontWeight:700,fontSize:24,marginBottom:4},h6:{fontWeight:700,fontSize:20,marginBottom:2}};function Wt(r){const{palette:e,htmlFontSize:n=St,fontFamily:s=jt,defaultPageTheme:a=Nt,pageTheme:l=ct,typography:S}=r;if(!l[a])throw new Error(`${a} is not defined in pageTheme.`);return Gt.htmlFontSize=n,Gt.fontFamily=s,{palette:e,typography:S!=null?S:Gt,page:l[a],getPageTheme:({themeId:x})=>{var L;return(L=l[x])!==null&&L!==void 0?L:l[a]}}}var It=t(67936);const de={MuiCssBaseline:{styleOverrides:r=>({html:{height:"100%",fontFamily:r.typography.fontFamily},body:{height:"100%",fontFamily:r.typography.fontFamily,overscrollBehaviorY:"none",fontSize:"0.875rem",lineHeight:1.43},a:{color:"inherit",textDecoration:"none"}})},MuiGrid:{defaultProps:{spacing:2}},MuiSwitch:{defaultProps:{color:"primary"}},MuiTableRow:{styleOverrides:{root:({theme:r})=>({"&:nth-of-type(odd)":{backgroundColor:r.palette.background.default}}),hover:{"&:hover":{cursor:"pointer"}},head:({theme:r})=>({"&:nth-of-type(odd)":{backgroundColor:r.palette.background.paper}})}},MuiTableCell:{styleOverrides:{root:({theme:r})=>({wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:r.spacing(3,2,3,2.5),borderBottom:0}),sizeSmall:({theme:r})=>({padding:r.spacing(1.5,2,1.5,2.5)}),head:({theme:r})=>({wordBreak:"break-word",overflow:"hidden",color:r.palette.textSubtle,fontWeight:"normal",lineHeight:"1"})}},MuiTabs:{styleOverrides:{root:{minHeight:24}}},MuiTab:{styleOverrides:{root:({theme:r})=>({color:r.palette.link,minHeight:24,textTransform:"initial",letterSpacing:"0.07em","&:hover":{color:(0,It.e$)(r.palette.link,.3),background:(0,It.a)(r.palette.link,.95)},[r.breakpoints.up("md")]:{minWidth:120,fontSize:r.typography.pxToRem(14),fontWeight:500}}),textColorPrimary:({theme:r})=>({color:r.palette.link})}},MuiTableSortLabel:{styleOverrides:{root:{color:"inherit","&:hover":{color:"inherit"},"&:focus":{color:"inherit"},"&.Mui-active":{fontWeight:"bold",color:"inherit"}}}},MuiListItemText:{styleOverrides:{dense:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}},MuiButton:{styleOverrides:{text:{padding:void 0}}},MuiChip:{styleOverrides:{root:({theme:r})=>({marginRight:r.spacing(1),marginBottom:r.spacing(1)}),label:({theme:r})=>({lineHeight:r.spacing(2.5),fontWeight:r.typography.fontWeightMedium,fontSize:r.spacing(1.75)}),labelSmall:({theme:r})=>({fontSize:r.spacing(1.5)}),deleteIcon:({theme:r})=>({width:r.spacing(3),height:r.spacing(3),margin:r.spacing(0,.75,0,-.75)}),deleteIconSmall:({theme:r})=>({width:r.spacing(2),height:r.spacing(2),margin:r.spacing(0,.5,0,-.5)})}},MuiCard:{styleOverrides:{root:{display:"flex",flexDirection:"column"}}},MuiCardHeader:{styleOverrides:{root:{paddingBottom:0}}},MuiCardContent:{styleOverrides:{root:{flexGrow:1,"&:last-child":{paddingBottom:void 0}}}},MuiCardActions:{styleOverrides:{root:{justifyContent:"flex-end"}}},MuiLink:{defaultProps:{underline:"hover"}},MuiPaper:{styleOverrides:{root:{backgroundImage:"unset"}}}},ye=r=>(...e)=>{const n=e.length===0?[1]:e,s=(a,l)=>typeof a=="string"?a:l*a;return n.map(a=>{const l=s(a,r);return typeof l=="number"?`${l}px`:l}).join(" ")};function Jt(r,e){if(!e||typeof e=="string")return;const n=typeof e=="function"?e(r):e;if(n)return{"@global":n}}function kt(r,e){if(!(!e||typeof e=="string")){if(typeof e=="object"){const n={...r},s=r.spacing(1);return typeof s=="number"&&(n.spacing=ye(s)),Object.fromEntries(Object.entries(e).map(([a,l])=>typeof l=="function"?[a,l({theme:n})]:[a,l]))}return e}}const ae=/^&.Mui-([\w-]+)$/;function Ee(r){let e=r;if(!r||typeof r!="object")return e;for(const n of Object.keys(r)){const s=r[n];if(!(!s||typeof s!="object"))for(const a of Object.keys(s)){const l=a,S=l.match(ae);if(S){const[,x]=S,{[l]:L,...k}=s;L&&(e={...e,[n]:k,[x]:L})}}}return e}function Mt(r,e={}){const n={},s={};for(const a of Object.keys(e)){const l=e[a];l&&("styleOverrides"in l&&(a==="MuiCssBaseline"?n[a]=Jt(r,l.styleOverrides):n[a]=Ee(kt(r,l.styleOverrides))),"defaultProps"in l&&(s[a]=l.defaultProps))}return{overrides:n,props:s}}var Kt=new WeakMap;class te{getTheme(e){return(0,Lt._)(this,Kt).get(e)}constructor(e,n){(0,fe._)(this,Kt,{writable:!0,value:new Map}),(0,h._)(this,Kt,new Map),e&&(0,Lt._)(this,Kt).set("v4",e),n&&(0,Lt._)(this,Kt).set("v5",n)}}function Ae(r){const e=Wt(r),n={...de,...r.components},s=(0,U.A)({...e,components:n}),a=Mt(s,n),l={...(0,I.A)(e),...a};return new te(l,s)}function je(r){const e=adaptV4Theme(r),n=createTheme(r);return new te(n,createV5Theme(e))}const $e={light:Ae({palette:eo.light}),dark:Ae({palette:eo.dark})};var ge=t(75962),Be=t(87145);const re=[{id:"light",title:"Light Theme",variant:"light",icon:(0,i.jsx)(Be.A,{}),Provider:({children:r})=>(0,i.jsx)(to,{theme:$e.light,children:r})},{id:"dark",title:"Dark Theme",variant:"dark",icon:(0,i.jsx)(ge.A,{}),Provider:({children:r})=>(0,i.jsx)(to,{theme:$e.dark,children:r})}];var Rn=t(91638),In=t(39067),Dn=t.n(In);class no{get(e){for(const n of this.holders){const s=n.get(e);if(s)return s}}constructor(...e){(0,b._)(this,"holders",void 0),this.holders=e}}var en=t(43836),hn=t(10602);const vr=(0,en.tK)("api-context"),Zo=r=>{var e;const{apis:n,children:s}=r,a=(e=(0,u.useContext)(vr))===null||e===void 0?void 0:e.atVersion(1),l=a?new no(n,a):n;return(0,i.jsx)(vr.Provider,{value:(0,hn.B)({1:l}),children:s})};Zo.propTypes={apis:Dn().shape({get:Dn().func.isRequired}).isRequired,children:Dn().node};const vs=/^[a-z][a-z0-9]*(?:[-_][a-z][a-z0-9]*)*$/i;function oo(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}function Jo(r){return typeof r!="object"||r===null?r:Array.isArray(r)?r.map(Jo):Object.fromEntries(Object.entries(r).map(([e,n])=>[e,Jo(n)]))}function Ln(r,e){if(r===null)return;if(r===void 0)return e===void 0?void 0:Ln(e);if(typeof r!="object"||Array.isArray(r))return r;const n=oo(e)?e:{},s={};for(const a of new Set([...Object.keys(r),...Object.keys(n)])){const l=Ln(r[a],n[a]);l!==void 0&&(s[a]=l)}return s}function Xo(r){if(r===null)return"null";if(Array.isArray(r))return"array";const e=typeof r;return e==="number"&&isNaN(r)?"nan":e==="string"&&r===""?"empty-string":e}const Ne={type(r,e,n,s){return`Invalid type in config for key '${r}' in '${e}', got ${n}, wanted ${s}`},missing(r,e){return`Missing required config value at '${r}' in '${e}'`},convert(r,e,n){return`Unable to convert config value for key '${r}' in '${e}' to a ${n}`}};class fn{static fromConfigs(e){return e.length===0?new fn(void 0):e.reduce((n,{data:s,context:a,filteredKeys:l,deprecatedKeys:S})=>{const x=new fn(s,a,n);if(x.filteredKeys=l,S)for(const{key:L,description:k}of S)console.warn(`The configuration key '${L}' of ${a} is deprecated and may be removed soon. ${k||""}`);return x},void 0)}has(e){var n;const s=this.readValue(e);if(s===null)return!1;if(s!==void 0)return!0;var a;return(a=(n=this.fallback)===null||n===void 0?void 0:n.has(e))!==null&&a!==void 0?a:!1}keys(){var e;const n=this.data?Object.keys(this.data):[];var s;const a=(s=(e=this.fallback)===null||e===void 0?void 0:e.keys())!==null&&s!==void 0?s:[];return[...new Set([...n,...a])].filter(l=>{var S;return((S=this.data)===null||S===void 0?void 0:S[l])!==null})}get(e){const n=this.getOptional(e);if(n===void 0)throw new Error(Ne.missing(this.fullKey(e!=null?e:""),this.context));return n}getOptional(e){var n;const s=Jo(this.readValue(e)),a=(n=this.fallback)===null||n===void 0?void 0:n.getOptional(e);if(s!==null){if(s===void 0){if(0)var l;return Ln(a)}else if(a===void 0)return Ln(s);return Ln(s,a)}}getConfig(e){const n=this.getOptionalConfig(e);if(n===void 0)throw new Error(Ne.missing(this.fullKey(e),this.context));return n}getOptionalConfig(e){var n;const s=this.readValue(e),a=(n=this.fallback)===null||n===void 0?void 0:n.getOptionalConfig(e);if(oo(s))return this.copy(s,e,a);if(s!==null){if(s!==void 0)throw new TypeError(Ne.type(this.fullKey(e),this.context,Xo(s),"object"));return a}}getConfigArray(e){const n=this.getOptionalConfigArray(e);if(n===void 0)throw new Error(Ne.missing(this.fullKey(e),this.context));return n}getOptionalConfigArray(e){const n=this.readConfigValue(e,a=>{if(!Array.isArray(a))return{expected:"object-array"};for(const[l,S]of a.entries())if(!oo(S))return{expected:"object-array",value:S,key:`${e}[${l}]`};return!0});if(!n){if(0)var s;return}return n.map((a,l)=>this.copy(a,`${e}[${l}]`))}getNumber(e){const n=this.getOptionalNumber(e);if(n===void 0)throw new Error(Ne.missing(this.fullKey(e),this.context));return n}getOptionalNumber(e){const n=this.readConfigValue(e,a=>typeof a=="number"||typeof a=="string"||{expected:"number"});if(typeof n=="number"||n===void 0)return n;const s=Number(n);if(!Number.isFinite(s))throw new Error(Ne.convert(this.fullKey(e),this.context,"number"));return s}getBoolean(e){const n=this.getOptionalBoolean(e);if(n===void 0)throw new Error(Ne.missing(this.fullKey(e),this.context));return n}getOptionalBoolean(e){const n=this.readConfigValue(e,a=>typeof a=="boolean"||typeof a=="number"||typeof a=="string"||{expected:"boolean"});if(typeof n=="boolean"||n===void 0)return n;const s=String(n).trim();if(/^(?:y|yes|true|1|on)$/i.test(s))return!0;if(/^(?:n|no|false|0|off)$/i.test(s))return!1;throw new Error(Ne.convert(this.fullKey(e),this.context,"boolean"))}getString(e){const n=this.getOptionalString(e);if(n===void 0)throw new Error(Ne.missing(this.fullKey(e),this.context));return n}getOptionalString(e){return this.readConfigValue(e,n=>typeof n=="string"&&n!==""||{expected:"string"})}getStringArray(e){const n=this.getOptionalStringArray(e);if(n===void 0)throw new Error(Ne.missing(this.fullKey(e),this.context));return n}getOptionalStringArray(e){return this.readConfigValue(e,n=>{if(!Array.isArray(n))return{expected:"string-array"};for(const[s,a]of n.entries())if(typeof a!="string"||a==="")return{expected:"string-array",value:a,key:`${e}[${s}]`};return!0})}fullKey(e){return`${this.prefix}${this.prefix?".":""}${e}`}copy(e,n,s){const a=new fn(e,this.context,s,this.fullKey(n));return a.filteredKeys=this.filteredKeys,a}readConfigValue(e,n){const s=this.readValue(e);if(s===void 0){var a;if(0)var l;return(a=this.fallback)===null||a===void 0?void 0:a.readConfigValue(e,n)}if(s===null)return;const S=n(s);if(S!==!0){const{key:x=e,value:L=s,expected:k}=S;throw new TypeError(Ne.type(this.fullKey(x),this.context,Xo(L),k))}return s}readValue(e){const n=e?e.split("."):[];for(const a of n)if(!vs.test(a))throw new TypeError(`Invalid config key '${e}'`);if(this.data===void 0)return;let s=this.data;for(const[a,l]of n.entries())if(oo(s))s=s[l];else if(s!=null){const S=this.fullKey(n.slice(0,a).join("."));throw new TypeError(Ne.type(S,this.context,Xo(s),"object"))}return s}constructor(e,n="mock-config",s,a=""){(0,b._)(this,"data",void 0),(0,b._)(this,"context",void 0),(0,b._)(this,"fallback",void 0),(0,b._)(this,"prefix",void 0),(0,b._)(this,"filteredKeys",void 0),(0,b._)(this,"notifiedFilteredKeys",void 0),this.data=e,this.context=n,this.fallback=s,this.prefix=a,this.notifiedFilteredKeys=new Set}}const Mn="theme";class ro{static createWithStorage(e){const n=new ro(e);if(!window.localStorage)return n;var s;const a=(s=window.localStorage.getItem(Mn))!==null&&s!==void 0?s:void 0;return n.setActiveThemeId(a),n.activeThemeId$().subscribe(l=>{l?window.localStorage.setItem(Mn,l):window.localStorage.removeItem(Mn)}),window.addEventListener("storage",l=>{if(l.key===Mn){var S;const x=(S=localStorage.getItem(Mn))!==null&&S!==void 0?S:void 0;n.setActiveThemeId(x)}}),n}getInstalledThemes(){return this.themes.slice()}activeThemeId$(){return this.subject}getActiveThemeId(){return this.activeThemeId}setActiveThemeId(e){this.activeThemeId=e,this.subject.next(e)}constructor(e){(0,b._)(this,"themes",void 0),(0,b._)(this,"activeThemeId",void 0),(0,b._)(this,"subject",void 0),this.themes=e,this.subject=new _(void 0)}}var gn=t(63636);function mr(r){if(r.length<3)throw new Error(`The '${r}' feature flag must have a minimum length of three characters.`);if(r.length>150)throw new Error(`The '${r}' feature flag must not exceed 150 characters.`);if(!r.match(/^[a-z]+[a-z0-9-]+$/))throw new Error(`The '${r}' feature flag must start with a lowercase letter and only contain lowercase letters, numbers and hyphens. Examples: feature-flag-one, alpha, release-2020`)}class ms{registerFlag(e){mr(e.name),this.registeredFeatureFlags.push(e)}getRegisteredFlags(){return this.registeredFeatureFlags.slice()}isActive(e){return this.flags||(this.flags=this.load()),this.flags.get(e)===gn.S.Active}save(e){this.flags||(this.flags=this.load()),e.merge||this.flags.clear();for(const[s,a]of Object.entries(e.states))this.flags.set(s,a);const n=Array.from(this.flags.entries()).filter(([,s])=>s===gn.S.Active);window.localStorage.setItem("featureFlags",JSON.stringify(Object.fromEntries(n)))}load(){try{const e=window.localStorage.getItem("featureFlags");if(!e)return new Map;const n=JSON.parse(e);if(typeof n!="object"||n===null||Array.isArray(n))return new Map;const s=Object.entries(n).filter(([a,l])=>(mr(a),l===gn.S.Active));return new Map(s)}catch{return new Map}}constructor(){(0,b._)(this,"registeredFeatureFlags",[]),(0,b._)(this,"flags",void 0)}}const so=(0,wt.y)({id:"core.apptheme"}),yr=(0,wt.y)({id:"core.applanguage"});var ys=t(56038);class _o{static validateFactories(e,n){for(const s of n){const a=[s],l=new Set;for(;a.length;){const S=a.shift(),x=e.get(S);if(x)for(const L of Object.values(x.deps)){if(L.id===s.id)throw new Error(`Circular dependency of api factory for ${s}`);l.has(L)||(l.add(L),a.push(L))}}}}get(e){return this.load(e)}load(e,n=[]){const s=this.apis.get(e.id);if(s)return s;const a=this.factories.get(e);if(!a)return;if(n.includes(a.api))throw new Error(`Circular dependency of api factory for ${a.api}`);const l=this.loadDeps(e,a.deps,[...n,a.api]),S=a.factory(l);return this.apis.set(e.id,S),S}loadDeps(e,n,s){const a={};for(const l in n)if(n.hasOwnProperty(l)){const S=n[l],x=this.load(S,s);if(!x)throw new Error(`No API factory available for dependency ${S} of dependent ${e}`);a[l]=x}return a}constructor(e){(0,b._)(this,"factories",void 0),(0,b._)(this,"apis",void 0),this.factories=e,this.apis=new Map}}var qo;(function(r){r[r.default=10]="default",r[r.app=50]="app",r[r.static=100]="static"})(qo||(qo={}));class Es{register(e,n){const s=qo[e],a=this.factories.get(n.api.id);return a&&a.priority>=s?!1:(this.factories.set(n.api.id,{priority:s,factory:n}),!0)}get(e){const n=this.factories.get(e.id);if(n)return n.factory}getAllApis(){const e=new Set;for(const{factory:n}of this.factories.values())e.add(n.api);return e}constructor(){(0,b._)(this,"factories",new Map)}}function As(r){const e={};for(const s in r.collectors)r.collectors.hasOwnProperty(s)&&(e[s]=r.collectors[s]());const n=[{node:u.Children.toArray(r.root),parent:void 0,contexts:{}}];for(;n.length!==0;){const{node:s,parent:a,contexts:l}=n.shift();u.Children.forEach(s,S=>{if(!(0,u.isValidElement)(S))return;const x={};for(const L in e)if(e.hasOwnProperty(L)){const k=e[L];x[L]=k.visit(k.accumulator,S,a,l[L])}for(const L of r.discoverers){const k=L(S);k&&n.push({node:k,parent:S,contexts:x})}})}return Object.fromEntries(Object.entries(e).map(([s,a])=>[s,a.accumulator]))}function io(r,e){return()=>({accumulator:r(),visit:e})}function xs(r){var e;return(e=r.props)===null||e===void 0?void 0:e.children}function Cs(r){var e,n;if(!((e=r.props)===null||e===void 0)&&e.path&&(!((n=r.props)===null||n===void 0)&&n.element)){var s;return(s=r.props)===null||s===void 0?void 0:s.element}}var Re=t(19402);const Ss=io(()=>new Set,(r,e)=>{const n=(0,Re.E)(e,"core.plugin");n&&r.add(n)});var jn=t(72427);const Er=r=>{const{children:e}=r,n=(0,jn.gf)(gn.B),s="with"in r?n.isActive(r.with):!n.isActive(r.without);return(0,i.jsx)(i.Fragment,{children:s?e:null})};(0,Re.h)(Er,"core.featureFlagged",!0);const ao={caseSensitive:!1,path:"*",element:"match-all",routeRefs:new Set,plugins:new Set};function lo(r){const e=r;if(e!=null&&e.type){var n,s;return(s=(n=e.type.displayName)!==null&&n!==void 0?n:e.type.name)!==null&&s!==void 0?s:String(e.type)}return String(e)}const Ar=r=>{const e=new Set;return r&&e.add(r),e};function xr(r,e=new Array){return u.Children.forEach(r,n=>{if(!(0,u.isValidElement)(n))return;const s=(0,Re.E)(n,"core.mountPoint");if(s){const a=(0,Re.E)(n,"core.plugin");e.push({routeRef:s,plugin:a})}xr(n.props.children,e)}),e}const bs=io(()=>({paths:new Map,parents:new Map,objects:new Array}),(r,e,n,s)=>{var a,l;if(s!=null&&s.isElementAncestor)return s;if((n==null?void 0:n.props.element)===e)return{...s,isElementAncestor:!0};const S=(a=e.props)===null||a===void 0?void 0:a.path,x=(0,Re.E)(e,"core.mountPoint");if(x&&S)throw new Error(`Path property may not be set directly on a routable extension "${lo(e)}"`);var L;const k=(L=s==null||(l=s.obj)===null||l===void 0?void 0:l.children)!==null&&L!==void 0?L:r.objects;if(S!==void 0){if(typeof S!="string")throw new Error(`Element path must be a string at "${lo(e)}"`);const Ot=S.startsWith("/")?S.slice(1):S,zt=e.props.element;if((0,Re.E)(e,"core.gatherMountPoints")){var Z;if(zt)throw new Error(`Mount point gatherers may not have an element prop "${lo(e)}"`);const Vt={path:Ot,element:"gathered",routeRefs:new Set,caseSensitive:!!(!((Z=e.props)===null||Z===void 0)&&Z.caseSensitive),children:[ao],plugins:new Set};return k.push(Vt),{obj:Vt,gatherPath:Ot,routeRef:s==null?void 0:s.routeRef,gatherRouteRef:s==null?void 0:s.routeRef}}if(zt){var rt;const[Vt,...ne]=xr(zt);if(ne.length>0)throw new Error(`Route element with path "${S}" may not contain multiple routable extensions`);if(!Vt)return s;const{routeRef:xe,plugin:Ze}=Vt,kn={path:Ot,element:"mounted",routeRefs:new Set([xe]),caseSensitive:!!(!((rt=e.props)===null||rt===void 0)&&rt.caseSensitive),children:[ao],plugins:Ar(Ze)};return k.push(kn),r.paths.set(xe,Ot),r.parents.set(xe,s==null?void 0:s.routeRef),{obj:kn,routeRef:xe!=null?xe:s==null?void 0:s.routeRef,gatherPath:Ot,gatherRouteRef:s==null?void 0:s.gatherRouteRef}}}if(x){var ht;if((s==null?void 0:s.gatherPath)===void 0)throw new Error(`Routable extension "${lo(e)}" with mount point "${x}" must be assigned a path`);s==null||(ht=s.obj)===null||ht===void 0||ht.routeRefs.add(x);const Ot=(0,Re.E)(e,"core.plugin");if(Ot){var mt;s==null||(mt=s.obj)===null||mt===void 0||mt.plugins.add(Ot)}return r.paths.set(x,s.gatherPath),r.parents.set(x,s==null?void 0:s.gatherRouteRef),{...s,routeRef:x}}return s}),Os=io(()=>({paths:new Map,parents:new Map,objects:new Array}),(r,e,n,s)=>{var a,l,S;if((n==null?void 0:n.props.element)===e)return s;let x=s==null?void 0:s.obj,L=s==null?void 0:s.routeRef,k=s==null?void 0:s.sticky;const Z=(a=e.props)===null||a===void 0?void 0:a.path;var rt;const ht=(rt=x==null?void 0:x.children)!==null&&rt!==void 0?rt:r.objects,mt=!!(!((l=e.props)===null||l===void 0)&&l.caseSensitive);let Ot=s==null?void 0:s.path;if((0,Re.E)(e,"core.gatherMountPoints")){if(!Z)throw new Error("Mount point gatherer must have a path");Ot=Z}const zt=(S=e.props)===null||S===void 0?void 0:S.element;let Vt=(0,Re.E)(e,"core.mountPoint");if(!Vt&&(0,u.isValidElement)(zt)&&(Vt=(0,Re.E)(zt,"core.mountPoint")),Vt){let Ze=Z;if(Ot&&(Ze?Ot=void 0:Ze=Ot),!Ze)throw new Error("Mounted routable extension must have a path");r.paths.set(Vt,Ze),L&&k?(r.parents.set(Vt,L),Z&&(L=Vt,k=!1)):(r.parents.set(Vt,L),L=Vt),Z?(x={caseSensitive:mt,path:Z,element:"mounted",routeRefs:new Set([Vt]),children:[ao],plugins:Ar((0,Re.E)(e.props.element,"core.plugin"))},ht.push(x)):x==null||x.routeRefs.add(Vt)}if((0,Re.E)(e,"core.gatherMountPoints")&&(k=!0),(0,Re.E)(e,"core.gatherMountPoints")){if(!Z)throw new Error("Mount point gatherer must have a path");if(!Vt){var xe;x={caseSensitive:mt,path:Z,element:"gathered",routeRefs:new Set,children:[ao],plugins:(s==null||(xe=s.obj)===null||xe===void 0?void 0:xe.plugins)||new Set},ht.push(x)}}return{obj:x,path:Ot,routeRef:L,sticky:k}}),ws=io(()=>new Set,(r,e)=>{if(e.type===Er){const n=e.props;r.add("with"in n?n.with:n.without)}});var Bn=t(74808),Ps=t(63544);const Un=(0,Ps.Q)("route-ref-type",()=>Symbol("route-ref-type"));function Cr(r){return r[Un]==="absolute"}function Sr(r){return r[Un]==="sub"}function Ts(r){return r[Un]==="external"}function co(...r){const e=r.join("/").replace(/\/\/+/g,"/");return e!=="/"&&e.endsWith("/")?e.slice(0,-1):e}var Rs=t(46155),Is=t.n(Rs);function Ds(r,e,n){let s,a="";if(Cr(r))s=r;else if(Sr(r))s=r.parent,a=r.path;else if(Ts(r)){const x=n.get(r);if(!x)return[void 0,""];if(Cr(x))s=x;else if(Sr(x))s=x.parent,a=x.path;else throw new Error(`ExternalRouteRef was bound to invalid target, ${x}`)}else throw r[Un]?new Error(`Unknown or invalid route ref type, ${r[Un]}`):new Error(`Unknown object passed to useRouteRef, got ${r}`);if(!s)return[void 0,""];const l=e.get(s);if(l===void 0)return[void 0,""];const S=co(l,a);return[s,S]}function Ls(r,e,n,s,a){var l;const S=(l=(0,Bn.ue)(a,e))!==null&&l!==void 0?l:[],x=Array();let L=-1;for(let rt=r;rt&&(L=S.findIndex(ht=>ht.route.routeRefs.has(rt)),L===-1);rt=s.get(rt))x.unshift(rt);x.length===0&&(L-=1);const k=L===-1?"":S[L].pathname,Z=x.slice(0,-1).map(rt=>{const ht=n.get(rt);if(ht===void 0)throw new Error(`No path for ${rt}`);if(ht.includes(":"))throw new Error(`Cannot route to ${r} with parent ${rt} as it has parameters`);return ht});return`${co(k,...Z)}/`}class Ms{resolve(e,n){const[s,a]=Ds(e,this.routePaths,this.routeBindings);if(!s)return;let l;typeof n=="string"?l=this.trimPath(n):n.pathname?l={...n,pathname:this.trimPath(n.pathname)}:l=n;const S=this.appBasePath+Ls(s,l,this.routePaths,this.routeParents,this.routeObjects);return(...[L])=>{const k=L&&Is()(L,Z=>typeof Z=="string"?Z.replaceAll(/[&?#;\/]/g,rt=>encodeURIComponent(rt)):Z);return co(S,(0,Bn.tW)(a,k))}}trimPath(e){return e&&(e.startsWith(this.appBasePath)?e.slice(this.appBasePath.length):e)}constructor(e,n,s,a,l){(0,b._)(this,"routePaths",void 0),(0,b._)(this,"routeParents",void 0),(0,b._)(this,"routeObjects",void 0),(0,b._)(this,"routeBindings",void 0),(0,b._)(this,"appBasePath",void 0),this.routePaths=e,this.routeParents=n,this.routeObjects=s,this.routeBindings=a,this.appBasePath=l}}const js=(0,en.tK)("routing-context"),Bs=({routePaths:r,routeParents:e,routeObjects:n,routeBindings:s,basePath:a="",children:l})=>{const S=new Ms(r,e,n,s,a),x=(0,hn.B)({1:S});return(0,i.jsx)(js.Provider,{value:x,children:l})};function Us(r,e){const n=new Set(e.values());n.delete(void 0);for(const s of e.keys()){if(n.has(s))continue;let a=s,l="";for(;a;){const x=r.get(a);if(x===void 0)throw new Error(`No path for ${a}`);l=co(x,l),a=e.get(a)}const S=l.match(/:(\w+)/g);if(S){for(let x=0;x<S.length;x++)for(let L=x+1;L<S.length;L++)if(S[L]===S[x])throw new Error(`Parameter ${S[L]} is duplicated in path ${l}`)}}}function Fs(r,e){for(const n of e)if(n.externalRoutes){for(const[s,a]of Object.entries(n.externalRoutes))if(!a.optional&&!r.has(a))throw new Error(`External route '${s}' of the '${n.getId()}' plugin must be bound to a target route. See https://backstage.io/link?bind-routes for details.`)}}const $s=(0,en.tK)("app-context"),Ns=({appContext:r,children:e})=>{const n=(0,hn.B)({1:r});return(0,i.jsx)($s.Provider,{value:n,children:e})};function br(r){return new Error(`Tried to access IdentityApi ${r} before app was loaded`)}function tr(r){console.warn(`WARNING: Call to ${r} is deprecated and will break in the future`)}class Ws{setTarget(e,n){this.target=e,this.signOutTargetUrl=n.signOutTargetUrl,this.resolveTarget(e)}getUserId(){if(!this.target)throw br("getUserId");if(!this.target.getUserId)throw new Error("IdentityApi does not implement getUserId");return tr("getUserId"),this.target.getUserId()}getProfile(){if(!this.target)throw br("getProfile");if(!this.target.getProfile)throw new Error("IdentityApi does not implement getProfile");return tr("getProfile"),this.target.getProfile()}async getProfileInfo(){return this.waitForTarget.then(e=>e.getProfileInfo())}async getBackstageIdentity(){const e=await this.waitForTarget.then(n=>n.getBackstageIdentity());return e.userEntityRef.match(/^.*:.*\/.*$/)||console.warn(`WARNING: The App IdentityApi provided an invalid userEntityRef, '${e.userEntityRef}'. It must be a full Entity Reference of the form '<kind>:<namespace>/<name>'.`),e}async getCredentials(){return this.waitForTarget.then(e=>e.getCredentials())}async getIdToken(){return this.waitForTarget.then(e=>{if(!e.getIdToken)throw new Error("IdentityApi does not implement getIdToken");return tr("getIdToken"),e.getIdToken()})}async signOut(){await this.waitForTarget.then(e=>e.signOut()),window.location.href=this.signOutTargetUrl}constructor(){(0,b._)(this,"target",void 0),(0,b._)(this,"waitForTarget",void 0),(0,b._)(this,"resolveTarget",()=>{}),(0,b._)(this,"signOutTargetUrl","/"),this.waitForTarget=new Promise(e=>{this.resolveTarget=e})}}var ks=t(45145);function Ks(r,e,n){if(r!==void 0){const a=n.find(l=>l.id===r);if(a)return a}if(e){const a=n.find(l=>l.variant==="dark");if(a)return a}const s=n.find(a=>a.variant==="light");return s||n[0]}const zs=()=>{const r=(0,u.useMemo)(()=>window.matchMedia("(prefers-color-scheme: dark)"),[]),[e,n]=(0,u.useState)(r.matches);return(0,u.useEffect)(()=>{const s=a=>{n(a.matches)};return r.addListener(s),()=>{r.removeListener(s)}},[r]),e};function Or({children:r}){const e=(0,jn.gf)(so),n=(0,ks.A)(e.activeThemeId$(),e.getActiveThemeId()),s=window.matchMedia?zs():!1,a=Ks(n,s,e.getInstalledThemes());if(!a)throw new Error("App has no themes");return(0,i.jsx)(a.Provider,{children:r})}const wr=async()=>Hs();function Hs(r="__APP_INJECTED_RUNTIME_CONFIG__"){const e=[{context:"app-config.yaml",data:{app:{title:"Techdocs Preview App",baseUrl:"http://localhost:3000"},backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}}}];if(!e)throw new Error("No static configuration provided");if(!Array.isArray(e))throw new Error("Static configuration has invalid format");const n=e.slice();if(r!=="__app_injected_runtime_config__".toLocaleUpperCase("en-US"))try{const a=JSON.parse(r);Array.isArray(a)?n.push(...a):n.push({data:a,context:"env"})}catch(a){throw new Error(`Failed to load runtime configuration, ${a}`)}const s=window.__APP_CONFIG__;return s&&n.push({context:"window",data:s}),n}class Vs{add(e,n){return this.apis.push([e.id,n]),n}build(){return new pn(new Map(this.apis))}constructor(){(0,b._)(this,"apis",[])}}class pn{static builder(){return new Vs}static from(e){return new pn(new Map(e.map(([n,s])=>[n.id,s])))}static with(e,n){return new pn(new Map([[e.id,n]]))}with(e,n){return new pn(new Map([...this.apis,[e.id,n]]))}get(e){return this.apis.get(e.id)}constructor(e){(0,b._)(this,"apis",void 0),this.apis=e}}function Gs(r){const e=new Map;return r&&r({bind:(s,a)=>{for(const[l,S]of Object.entries(a)){const x=s[l];if(!x)throw new Error(`Key ${l} is not an existing external route`);if(!S&&!x.optional)throw new Error(`External route ${l} is required but was undefined`);S&&e.set(x,S)}}}),e}function Fn(){const[r]=(0,m.AV)((0,i.jsx)(m.qh,{index:!0,element:(0,i.jsx)("div",{})}));return!r.index}const Pr=(0,u.createContext)(void 0);var Tr=t(82266),Rr=t(93368),Ys=t(25862);const Qs=(r,e)=>{try{const n=(0,Bn.ue)(e,{pathname:r}),s=n==null?void 0:n.filter(L=>{var k;return(L==null||(k=L.route.routeRefs)===null||k===void 0?void 0:k.size)>0}).pop(),a=s==null?void 0:s.route;if(!a||a.path===""&&r!=="/")return;let l;a.routeRefs.size===1&&(l=a.routeRefs.values().next().value);let S;a.plugins.size===1&&(S=a.plugins.values().next().value);const x=Object.entries((s==null?void 0:s.params)||{}).reduce((L,[k,Z])=>(Z!==void 0&&k!=="*"&&(L[k]=Z),L),{});return{extension:"App",pluginId:(S==null?void 0:S.getId())||"root",...l?{routeRef:l.id}:{},_routeNodeType:a.element,params:x}}catch{return}},Zs=({pathname:r,search:e,hash:n,attributes:s})=>{const a=(0,Rr.s)();return(0,u.useEffect)(()=>{a.captureEvent("navigate",`${r}${e}${n}`,{attributes:s})},[a,r,e,n,s]),null},uo=({routeObjects:r})=>{const{pathname:e,search:n,hash:s}=(0,m.zy)(),{params:a,...l}=Qs(e,r)||{params:{}};return(0,i.jsx)(Ys.Ig,{attributes:l,children:(0,i.jsx)(Zs,{pathname:e,search:n,hash:s,attributes:a})})};function Js(r){return Fn()?er(r):""}function er(r){var e;let{pathname:n}=new URL((e=r.getOptionalString("app.baseUrl"))!==null&&e!==void 0?e:"/","http://sample.dev");return n=n.replace(/\/*$/,""),n}function Ir({component:r,appIdentityProxy:e,children:n}){const[s,a]=(0,u.useState)(),l=(0,jn.gf)(ce.U),S=er(l);return s?(e.setTarget(s,{signOutTargetUrl:S||"/"}),(0,i.jsx)(i.Fragment,{children:n})):(0,i.jsx)(r,{onSignInSuccess:a})}function Dr(r){const{Router:e,SignInPage:n}=(0,Tr.n)().getComponents(),s=(0,jn.gf)(ce.U),a=er(s),l=`${a}/*`,S=(0,u.useContext)(Pr);if(!S)throw new Error("AppRouter must be rendered within the AppProvider");const{routeObjects:x,appIdentityProxy:L}=S;return n?Fn()?(0,i.jsxs)(e,{children:[(0,i.jsx)(uo,{routeObjects:x}),(0,i.jsx)(Ir,{component:n,appIdentityProxy:L,children:(0,i.jsx)(m.BV,{children:(0,i.jsx)(m.qh,{path:l,element:(0,i.jsx)(i.Fragment,{children:r.children})})})})]}):(0,i.jsxs)(e,{basename:a,children:[(0,i.jsx)(uo,{routeObjects:x}),(0,i.jsx)(Ir,{component:n,appIdentityProxy:L,children:r.children})]}):(L.setTarget({getUserId:()=>"guest",getIdToken:async()=>{},getProfile:()=>({email:"guest@example.com",displayName:"Guest"}),getProfileInfo:async()=>({email:"guest@example.com",displayName:"Guest"}),getBackstageIdentity:async()=>({type:"user",userEntityRef:"user:default/guest",ownershipEntityRefs:["user:default/guest"]}),getCredentials:async()=>({}),signOut:async()=>{}},{signOutTargetUrl:a||"/"}),Fn()?(0,i.jsxs)(e,{children:[(0,i.jsx)(uo,{routeObjects:x}),(0,i.jsx)(m.BV,{children:(0,i.jsx)(m.qh,{path:l,element:(0,i.jsx)(i.Fragment,{children:r.children})})})]}):(0,i.jsxs)(e,{basename:a,children:[(0,i.jsx)(uo,{routeObjects:x}),r.children]}))}(0,Re.h)(Dr,"core.type","AppRouter");const $n="language",Ye="en";var Nn=new WeakMap,vn=new WeakMap,ho=new WeakMap;class fo{static create(e){var n;const s=(n=e==null?void 0:e.availableLanguages)!==null&&n!==void 0?n:[Ye];if(s.length!==new Set(s).size)throw new Error(`Supported languages may not contain duplicates, got '${s.join("', '")}'`);if(!s.includes(Ye))throw new Error(`Supported languages must include '${Ye}'`);var a;const l=(a=e==null?void 0:e.defaultLanguage)!==null&&a!==void 0?a:Ye;if(!s.includes(l))throw new Error(`Initial language must be one of the supported languages, got '${l}'`);return new fo(s,l)}static createWithStorage(e){const n=fo.create(e);if(!window.localStorage)return n;const s=window.localStorage.getItem($n),{languages:a}=n.getAvailableLanguages();return s&&a.includes(s)&&n.setLanguage(s),n.language$().subscribe(({language:l})=>{l!==window.localStorage.getItem($n)&&window.localStorage.setItem($n,l)}),window.addEventListener("storage",l=>{if(l.key===$n){var S;const x=(S=localStorage.getItem($n))!==null&&S!==void 0?S:void 0;x&&n.setLanguage(x)}}),n}getAvailableLanguages(){return{languages:(0,Lt._)(this,Nn).slice()}}setLanguage(e){const n=e!=null?e:Ye;if(n!==(0,Lt._)(this,vn)){if(n&&!(0,Lt._)(this,Nn).includes(n))throw new Error(`Failed to change language to '${n}', available languages are '${(0,Lt._)(this,Nn).join("', '")}'`);(0,h._)(this,vn,n),(0,Lt._)(this,ho).next({language:n})}}getLanguage(){return{language:(0,Lt._)(this,vn)}}language$(){return(0,Lt._)(this,ho)}constructor(e,n){(0,fe._)(this,Nn,{writable:!0,value:void 0}),(0,fe._)(this,vn,{writable:!0,value:void 0}),(0,fe._)(this,ho,{writable:!0,value:void 0}),(0,h._)(this,Nn,e),(0,h._)(this,vn,n),(0,h._)(this,ho,new _({language:(0,Lt._)(this,vn)}))}}var We=t(75944),ln=t(91196),Xs=t(47304),_s=t(99833),Lr=t(93184);function Mr(r){return Object.fromEntries(Object.entries(r).filter(e=>e[1]!==null))}var mn=new WeakMap,go=new WeakMap,yn=new WeakMap,po=new WeakSet;class qs{addTranslationResource(e){const n=(0,_s.Y)(e);for(const s of n.resources){const a=(0,We._)(this,po,nr).call(this,s.language,n.id);(0,Lt._)(this,yn).has(a)||(0,Lt._)(this,yn).set(a,s.loader)}}needsLoading(e,n){const s=(0,We._)(this,po,nr).call(this,e,n);return(0,Lt._)(this,yn).get(s)?!(0,Lt._)(this,mn).has(s):!1}async load(e,n){const s=(0,We._)(this,po,nr).call(this,e,n),a=(0,Lt._)(this,yn).get(s);if(!a||(0,Lt._)(this,mn).has(s))return;const l=(0,Lt._)(this,go).get(s);if(l){await l;return}const S=a().then(x=>{this.onLoad({language:e,namespace:n,messages:x.messages}),(0,Lt._)(this,mn).add(s)},x=>{throw(0,Lt._)(this,mn).add(s),x});(0,Lt._)(this,go).set(s,S),await S}constructor(e){(0,ln._)(this,po),(0,b._)(this,"onLoad",void 0),(0,fe._)(this,mn,{writable:!0,value:void 0}),(0,fe._)(this,go,{writable:!0,value:void 0}),(0,fe._)(this,yn,{writable:!0,value:void 0}),this.onLoad=e,(0,h._)(this,mn,new Set),(0,h._)(this,go,new Map),(0,h._)(this,yn,new Map)}}function nr(r,e){return`${r}/${e}`}var Wn=new WeakMap,En=new WeakMap,cn=new WeakMap,or=new WeakMap,vo=new WeakMap,jr=new WeakSet,mo=new WeakSet,rr=new WeakSet;class sr{static create(e){const{languages:n}=e.languageApi.getAvailableLanguages(),s=(0,Xs.Q_)({fallbackLng:Ye,supportedLngs:n,interpolation:{escapeValue:!1},ns:[],defaultNS:!1,fallbackNS:!1,initImmediate:!1});if(s.init(),!s.isInitialized)throw new Error("i18next was unexpectedly not initialized");const{language:a}=e.languageApi.getLanguage();a!==Ye&&s.changeLanguage(a);const l=new qs(L=>{s.addResourceBundle(L.language,L.namespace,Mr(L.messages),!1,!0)}),S=(e==null?void 0:e.resources)||[];for(let L=S.length-1;L>=0;L--){const k=S[L];k.$$type==="@backstage/TranslationResource"?l.addTranslationResource(k):k.$$type==="@backstage/TranslationMessages"&&s.addResourceBundle(Ye,k.id,Mr(k.messages),!0,!1)}const x=new sr(s,l,e.languageApi.getLanguage().language);return e.languageApi.language$().subscribe(({language:L})=>{(0,We._)(x,jr,ti).call(x,L)}),x}getTranslation(e){const n=(0,Lr.v)(e);return(0,We._)(this,rr,Br).call(this,n),(0,We._)(this,mo,ir).call(this,n)}translation$(e){const n=(0,Lr.v)(e);return(0,We._)(this,rr,Br).call(this,n),new(K())(s=>{let a={};const l=()=>{a={};const x=a;(0,Lt._)(this,En).load((0,Lt._)(this,cn),n.id).then(()=>{if(x===a){const L=(0,We._)(this,mo,ir).call(this,n);L.ready&&s.next(L)}},L=>{x===a&&s.error(Array.isArray(L)?L[0]:L)})},S=()=>{const x=(0,We._)(this,mo,ir).call(this,n);x.ready?s.next(x):l()};return(0,Lt._)(this,En).needsLoading((0,Lt._)(this,cn),n.id)&&l(),(0,Lt._)(this,vo).add(S),()=>{(0,Lt._)(this,vo).delete(S)}})}constructor(e,n,s){(0,ln._)(this,jr),(0,ln._)(this,mo),(0,ln._)(this,rr),(0,fe._)(this,Wn,{writable:!0,value:void 0}),(0,fe._)(this,En,{writable:!0,value:void 0}),(0,fe._)(this,cn,{writable:!0,value:void 0}),(0,fe._)(this,or,{writable:!0,value:new Set}),(0,fe._)(this,vo,{writable:!0,value:new Set}),(0,h._)(this,Wn,e),(0,h._)(this,En,n),(0,h._)(this,cn,s)}}function ti(r){(0,Lt._)(this,cn)!==r&&((0,h._)(this,cn,r),(0,Lt._)(this,Wn).changeLanguage(r),(0,Lt._)(this,vo).forEach(e=>e()))}function ir(r){return(0,Lt._)(this,En).needsLoading((0,Lt._)(this,cn),r.id)?{ready:!1}:{ready:!0,t:(0,Lt._)(this,Wn).getFixedT(null,r.id)}}function Br(r){if((0,Lt._)(this,or).has(r.id))return;(0,Lt._)(this,or).add(r.id);const e=r.getDefaultMessages();(0,Lt._)(this,Wn).addResourceBundle(Ye,r.id,e,!0,!1);const n=r.getDefaultResource();n&&(0,Lt._)(this,En).addTranslationResource(n)}function Ur(r){const e=new URL(r);return e.protocol=document.location.protocol,e.hostname=document.location.hostname,e.port=document.location.port,e.toString().replace(/\/$/,"")}function ei(r){const e=fn.fromConfigs(r),n=e.getOptionalString("app.baseUrl"),s=e.getOptionalString("backend.baseUrl");let a=r,l,S;if(n&&s){const x=new URL(n).origin,L=new URL(s).origin;if(x===L){const k=Ur(s);s!==k&&(l=k)}}if(n){const x=Ur(n);n!==x&&(S=x)}return(S||l)&&(a=a.concat({data:{app:S&&{baseUrl:S},backend:l&&{baseUrl:l}},context:"relative-resolver"})),a}function ni(r,e,n){var s;const a=!!r,l=(0,Rn.default)(r||(()=>Promise.resolve([])));let S;if(a&&l.loading){const{Progress:k}=e;S=(0,i.jsx)(k,{})}else if(l.error){const{BootErrorPage:k}=e;S=(0,i.jsx)(k,{step:"load-config",error:l.error})}const{ThemeProvider:x=Or}=e;return S?{node:(0,i.jsx)(Zo,{apis:pn.with(so,n),children:(0,i.jsx)(x,{children:S})})}:{api:fn.fromConfigs(!((s=l.value)===null||s===void 0)&&s.length?ei(l.value):[])}}class oi{getPlugins(){return this.app.getPlugins()}getSystemIcon(e){return this.app.getSystemIcon(e)}getSystemIcons(){return this.app.getSystemIcons()}getComponents(){return this.app.getComponents()}constructor(e){(0,b._)(this,"app",void 0),this.app=e}}var ar=new WeakMap;class ri{getPlugins(){return Array.from(this.plugins)}getSystemIcon(e){return this.icons[e]}getSystemIcons(){return this.icons}getComponents(){return this.components}createRoot(e){const n=this.getProvider();return()=>(0,i.jsx)(n,{children:e})}getProvider(){if((0,Lt._)(this,ar))throw new Error("app.getProvider() or app.createRoot() has already been called, and can only be called once");(0,h._)(this,ar,!0);const e=new oi(this);let n=!1;return({children:a})=>{const l=(0,u.useRef)(!0),S=(0,u.useMemo)(()=>ro.createWithStorage(this.themes),[]),{routing:x,featureFlags:L,routeBindings:k}=(0,u.useMemo)(()=>{const Ot=Fn();Ot&&console.warn(`
|
|
4
|
+
DEPRECATION WARNING: React Router Beta is deprecated and support for it will be removed in a future release.
|
|
5
|
+
Please migrate to use React Router v6 stable.
|
|
6
|
+
See https://backstage.io/docs/tutorials/react-router-stable-migration
|
|
7
|
+
`);const zt=As({root:a,discoverers:[xs,Cs],collectors:{routing:Ot?Os:bs,collectedPlugins:Ss,featureFlags:ws}});return zt.collectedPlugins.forEach(Vt=>this.plugins.add(Vt)),this.verifyPlugins(this.plugins),this.getApiHolder(),{...zt,routeBindings:Gs(this.bindRoutes)}},[a]);n||(n=!0,Us(x.paths,x.parents),Fs(k,this.plugins));const Z=ni(this.configLoader,this.components,S),rt="api"in Z;if(rt){const{api:Ot}=Z;this.configApi=Ot}if("node"in Z)return Z.node;if(rt&&l.current){l.current=!1;const Ot=this.getApiHolder().get(gn.B);if(Ot){for(const ne of this.featureFlags)Ot.registerFlag({...ne,pluginId:""});for(const ne of this.plugins.values())if("getFeatureFlags"in ne)for(const xe of ne.getFeatureFlags())Ot.registerFlag({name:xe.name,pluginId:ne.getId()});else for(const xe of ne.output())xe.type==="feature-flag"&&Ot.registerFlag({name:xe.name,pluginId:ne.getId()});const zt=Ot.getRegisteredFlags(),Vt=new Set(zt.map(ne=>ne.name));for(const ne of L)Vt.has(ne)||Ot.registerFlag({name:ne,pluginId:""})}}const{ThemeProvider:ht=Or,Progress:mt}=this.components;return(0,i.jsx)(Zo,{apis:this.getApiHolder(),children:(0,i.jsx)(Ns,{appContext:e,children:(0,i.jsx)(ht,{children:(0,i.jsx)(Bs,{routePaths:x.paths,routeParents:x.parents,routeObjects:x.objects,routeBindings:k,basePath:Js(Z.api),children:(0,i.jsx)(Pr.Provider,{value:{routeObjects:x.objects,appIdentityProxy:this.appIdentityProxy},children:(0,i.jsx)(u.Suspense,{fallback:(0,i.jsx)(mt,{}),children:a})})})})})})}}getRouter(){return Dr}getApiHolder(){if(this.apiHolder){for(const e of this.plugins)for(const n of e.getApis())this.apiFactoryRegistry.get(n.api)||this.apiFactoryRegistry.register("default",n);return _o.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder}this.apiFactoryRegistry.register("static",{api:so,deps:{},factory:()=>ro.createWithStorage(this.themes)}),this.apiFactoryRegistry.register("static",{api:ce.U,deps:{},factory:()=>{if(!this.configApi)throw new Error("Tried to access config API before config was loaded");return this.configApi}}),this.apiFactoryRegistry.register("static",{api:an.K,deps:{},factory:()=>this.appIdentityProxy}),this.apiFactoryRegistry.register("static",{api:yr,deps:{},factory:()=>this.appLanguageApi}),this.apiFactoryRegistry.register("default",{api:ys.J,deps:{languageApi:yr},factory:({languageApi:e})=>sr.create({languageApi:e,resources:this.translationResources})}),this.apiFactoryRegistry.register("default",{api:gn.B,deps:{},factory:()=>new ms});for(const e of this.defaultApis)this.apiFactoryRegistry.register("default",e);for(const e of this.plugins)for(const n of e.getApis())if(!this.apiFactoryRegistry.register("default",n))throw new Error(`Plugin ${e.getId()} tried to register duplicate or forbidden API factory for ${n.api}`);for(const e of this.apis)if(!this.apiFactoryRegistry.register("app",e))throw new Error(`Duplicate or forbidden API factory for ${e.api} in app`);return _o.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder=new _o(this.apiFactoryRegistry),this.apiHolder}verifyPlugins(e){const n=new Set;for(const s of e){const a=s.getId();if(n.has(a))throw new Error(`Duplicate plugin found '${a}'`);n.add(a)}}constructor(e){var n,s,a;(0,b._)(this,"apiHolder",void 0),(0,b._)(this,"configApi",void 0),(0,b._)(this,"apis",void 0),(0,b._)(this,"icons",void 0),(0,b._)(this,"plugins",void 0),(0,b._)(this,"featureFlags",void 0),(0,b._)(this,"components",void 0),(0,b._)(this,"themes",void 0),(0,b._)(this,"configLoader",void 0),(0,b._)(this,"defaultApis",void 0),(0,b._)(this,"bindRoutes",void 0),(0,b._)(this,"appLanguageApi",void 0),(0,b._)(this,"translationResources",void 0),(0,b._)(this,"appIdentityProxy",new Ws),(0,b._)(this,"apiFactoryRegistry",void 0),(0,fe._)(this,ar,{writable:!0,value:!1});var l;this.apis=(l=e.apis)!==null&&l!==void 0?l:[],this.icons=e.icons;var S;this.plugins=new Set((S=e.plugins)!==null&&S!==void 0?S:[]);var x;this.featureFlags=(x=e.featureFlags)!==null&&x!==void 0?x:[],this.components=e.components,this.themes=e.themes;var L;this.configLoader=(L=e.configLoader)!==null&&L!==void 0?L:wr;var k;this.defaultApis=(k=e.defaultApis)!==null&&k!==void 0?k:[],this.bindRoutes=e.bindRoutes,this.apiFactoryRegistry=new Es,this.appLanguageApi=fo.createWithStorage({defaultLanguage:(n=e.__experimentalTranslations)===null||n===void 0?void 0:n.defaultLanguage,availableLanguages:(s=e.__experimentalTranslations)===null||s===void 0?void 0:s.availableLanguages});var Z;this.translationResources=(Z=(a=e.__experimentalTranslations)===null||a===void 0?void 0:a.resources)!==null&&Z!==void 0?Z:[]}}function si(r){return new ri(r)}function ii(r){var e,n,s,a;return si({...r,apis:(e=r==null?void 0:r.apis)!==null&&e!==void 0?e:[],bindRoutes:r==null?void 0:r.bindRoutes,components:{...D,...r==null?void 0:r.components},configLoader:r==null?void 0:r.configLoader,defaultApis:Lo,icons:{...qn,...r==null?void 0:r.icons},plugins:(n=r==null?void 0:r.plugins)!==null&&n!==void 0?n:[],featureFlags:(s=r==null?void 0:r.featureFlags)!==null&&s!==void 0?s:[],themes:(a=r==null?void 0:r.themes)!==null&&a!==void 0?a:re})}var yo=t(82442);let Fr=!1;const $r=r=>{const e=(0,Tr.n)(),{NotFoundErrorPage:n}=e.getComponents(),s=(0,u.useMemo)(()=>Fn(),[]),l=[...(0,yo.O)(r.children,S=>S.getElements().flatMap(x=>{let L=x.props.path;if(L==="")return[];var k;L=(k=L==null?void 0:L.replace(/\/\*$/,""))!==null&&k!==void 0?k:"/";let Z=s?x:x.props.element;return!s&&!Z&&(Z=x,Fr||(console.warn("DEPRECATION WARNING: All elements within <FlatRoutes> must be of type <Route> with an element prop. Existing usages of <Navigate key=[path] to=[to] /> should be replaced with <Route path=[path] element={<Navigate to=[to] />} />."),Fr=!0)),[{path:L,element:Z,children:x.props.children?[{path:L==="/"?"/":"*",element:x.props.children}]:void 0}]}).sort((x,L)=>L.path.localeCompare(x.path)).map(x=>({...x,path:x.path==="/"?"/":`${x.path}/*`}))),{path:"*",element:(0,i.jsx)(n,{})}];return(0,m.Ye)(l)};(0,Re.h)($r,"core.type","FlatRoutes");var nn=t(6820),ai=t(78692),li=t(86519);function Nr(r){return!r.cursor}function $a(r){return!Nr(r)}const be="catalog";var Oe=t(94214);class ci{async analyzeLocation(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/analyze-location").expand({});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"POST",body:JSON.stringify(e.body)})}async createLocation(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/locations{?dryRun}").expand({...e.query});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"POST",body:JSON.stringify(e.body)})}async deleteEntityByUid(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/entities/by-uid/{uid}").expand({uid:e.path.uid});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"DELETE"})}async deleteLocation(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/locations/{id}").expand({id:e.path.id});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"DELETE"})}async getEntities(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/entities{?fields,limit,filter*,offset,after,order*}").expand({...e.query});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getEntitiesByQuery(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/entities/by-query{?fields,limit,orderField*,cursor,filter*,fullTextFilterTerm,fullTextFilterFields}").expand({...e.query});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getEntitiesByRefs(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/entities/by-refs/{?filter*}").expand({...e.query});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"POST",body:JSON.stringify(e.body)})}async getEntityAncestryByName(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/entities/by-name/{kind}/{namespace}/{name}/ancestry").expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getEntityByName(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/entities/by-name/{kind}/{namespace}/{name}").expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getEntityByUid(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/entities/by-uid/{uid}").expand({uid:e.path.uid});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getEntityFacets(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/entity-facets{?facet*,filter*}").expand({...e.query});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getLocation(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/locations/{id}").expand({id:e.path.id});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getLocationByEntity(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/locations/by-entity/{kind}/{namespace}/{name}").expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async getLocations(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/locations").expand({});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"GET"})}async refreshEntity(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/refresh").expand({});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"POST",body:JSON.stringify(e.body)})}async validateEntity(e,n){const s=await this.discoveryApi.getBaseUrl(be),l=Oe.parse("/validate-entity").expand({});return await this.fetchApi.fetch(`${s}${l}`,{headers:{"Content-Type":"application/json",...(n==null?void 0:n.token)&&{Authorization:`Bearer ${n==null?void 0:n.token}`}},method:"POST",body:JSON.stringify(e.body)})}constructor(e){(0,b._)(this,"discoveryApi",void 0),(0,b._)(this,"fetchApi",void 0),this.discoveryApi=e.discoveryApi,this.fetchApi=e.fetchApi||{fetch:Vn()}}}class di{async getEntityAncestors(e,n){return await this.requestRequired(await this.apiClient.getEntityAncestryByName({path:(0,nn.KU)(e.entityRef)},n))}async getLocationById(e,n){return await this.requestOptional(await this.apiClient.getLocation({path:{id:e}},n))}async getLocationByEntity(e,n){return await this.requestOptional(await this.apiClient.getLocationByEntity({path:(0,nn.KU)(e)},n))}async getEntities(e,n){const{filter:s=[],fields:a=[],order:l,offset:S,limit:x,after:L}=e!=null?e:{},k=[];if(l)for(const ht of[l].flat())ht&&k.push(`${ht.order}:${ht.field}`);const Z=await this.requestRequired(await this.apiClient.getEntities({query:{fields:a,limit:x,filter:this.getFilterValue(s),offset:S,after:L,order:l?k:void 0}},n)),rt=(ht,mt)=>{var Ot,zt;if(((Ot=ht.metadata)===null||Ot===void 0?void 0:Ot.name)===void 0||ht.kind===void 0||((zt=mt.metadata)===null||zt===void 0?void 0:zt.name)===void 0||mt.kind===void 0)return 0;const Vt=(0,nn.U2)(ht),ne=(0,nn.U2)(mt);return Vt<ne?-1:Vt>ne?1:0};return{items:Z.sort(rt)}}async getEntitiesByRefs(e,n){const s=await this.apiClient.getEntitiesByRefs({body:{entityRefs:e.entityRefs,fields:e.fields},query:{filter:this.getFilterValue(e.filter)}},n);if(!s.ok)throw await qe.o.fromResponse(s);const{items:a}=await s.json();return{items:a.map(l=>l!=null?l:void 0)}}async queryEntities(e={},n){const s={};if(Nr(e)){var a,l;const{fields:S=[],filter:x,limit:L,orderFields:k,fullTextFilter:Z}=e;s.filter=this.getFilterValue(x),L!==void 0&&(s.limit=L),k!==void 0&&(s.orderField=(Array.isArray(k)?k:[k]).map(({field:ht,order:mt})=>`${ht},${mt}`)),S.length&&(s.fields=S);const rt=Z==null||(a=Z.term)===null||a===void 0?void 0:a.trim();rt&&(s.fullTextFilterTerm=rt),!(Z==null||(l=Z.fields)===null||l===void 0)&&l.length&&(s.fullTextFilterFields=Z.fields)}else{const{fields:S=[],limit:x,cursor:L}=e;s.cursor=L,x!==void 0&&(s.limit=x),S.length&&(s.fields=S)}return this.apiClient.getEntitiesByQuery({query:s},n).then(S=>S.json())}async getEntityByRef(e,n){return this.requestOptional(await this.apiClient.getEntityByName({path:(0,nn.KU)(e)},n))}async getEntityByName(e,n){const{kind:s,namespace:a="default",name:l}=e;return this.requestOptional(await this.apiClient.getEntityByName({path:{kind:s,namespace:a,name:l}},n))}async refreshEntity(e,n){const s=await this.apiClient.refreshEntity({body:{entityRef:e}},n);if(s.status!==200)throw new Error(await s.text())}async getEntityFacets(e,n){const{filter:s=[],facets:a}=e;return await this.requestOptional(await this.apiClient.getEntityFacets({query:{facet:a,filter:this.getFilterValue(s)}},n))}async addLocation(e,n){const{type:s="url",target:a,dryRun:l}=e,S=await this.apiClient.createLocation({body:{type:s,target:a},query:{dryRun:l?"true":void 0}},n);if(S.status!==201)throw new Error(await S.text());const{location:x,entities:L,exists:k}=await S.json();if(!x)throw new Error(`Location wasn't added: ${a}`);return{location:x,entities:L,exists:k}}async getLocationByRef(e,n){return(await this.requestRequired(await this.apiClient.getLocations({},n))).map(a=>a.data).find(a=>e===(0,ai.KL)(a))}async removeLocationById(e,n){await this.requestIgnored(await this.apiClient.deleteLocation({path:{id:e}},n))}async removeEntityByUid(e,n){await this.requestIgnored(await this.apiClient.deleteEntityByUid({path:{uid:e}},n))}async validateEntity(e,n,s){const a=await this.apiClient.validateEntity({body:{entity:e,location:n}},s);if(a.ok)return{valid:!0};if(a.status!==400)throw await qe.o.fromResponse(a);const{errors:l=[]}=await a.json();return{valid:!1,errors:l}}async requestIgnored(e){if(!e.ok)throw await qe.o.fromResponse(e)}async requestRequired(e){if(!e.ok)throw await qe.o.fromResponse(e);return e.json()}async requestOptional(e){if(!e.ok){if(e.status===404)return;throw await qe.o.fromResponse(e)}return await e.json()}getFilterValue(e=[]){const n=[];for(const s of[e].flat()){const a=[];for(const[l,S]of Object.entries(s))for(const x of[S].flat())x===li.c?a.push(l):typeof x=="string"&&a.push(`${l}=${x}`);a.length&&n.push(a.join(","))}return n}constructor(e){(0,b._)(this,"apiClient",void 0),this.apiClient=new ci(e)}}var Wr=t(7341),ui=t(18),hi=t(82292),kr=t(29207),An=t(95203),fi=t(9803),Ue=t(88758),gi=t(54560),xn=t(45250);async function pi({storageApi:r}){const e=r.forBucket("settings"),n=r.forBucket("starredEntities"),s=e.snapshot("starredEntities").value;if(!(0,xn.isArray)(s))return;var a;const l=new Set((a=n.snapshot("entityRefs").value)!==null&&a!==void 0?a:[]);s.filter(xn.isString).map(S=>S.split(":")).filter(S=>S.length===4&&S[0]==="entity").map(([S,x,L,k])=>(0,nn.U2)({kind:x,namespace:L,name:k})).forEach(S=>l.add(S)),await n.set("entityRefs",Array.from(l)),await e.remove("starredEntities")}class vi{async toggleStarred(e){this.starredEntities.has(e)?this.starredEntities.delete(e):this.starredEntities.add(e),await this.settingsStore.set("entityRefs",Array.from(this.starredEntities))}starredEntitie$(){return this.observable}notifyChanges(){for(const e of this.subscribers)e.next(new Set(this.starredEntities))}constructor(e){(0,b._)(this,"settingsStore",void 0),(0,b._)(this,"starredEntities",void 0),(0,b._)(this,"subscribers",new Set),(0,b._)(this,"observable",new(K())(s=>(s.next(new Set(this.starredEntities)),this.subscribers.add(s),()=>{this.subscribers.delete(s)}))),pi(e).then(),this.settingsStore=e.storageApi.forBucket("starredEntities");var n;this.starredEntities=new Set((n=this.settingsStore.snapshot("entityRefs").value)!==null&&n!==void 0?n:[]),this.settingsStore.observe$("entityRefs").subscribe({next:s=>{var a;this.starredEntities=new Set((a=s.value)!==null&&a!==void 0?a:[]),this.notifyChanges()}})}}function lr(r){const{years:e=0,months:n=0,weeks:s=0,days:a=0,hours:l=0,minutes:S=0,seconds:x=0,milliseconds:L=0}=r;return((((e*365+n*30+s*7+a)*24+l)*60+S)*60+x)*1e3+L}var mi=t(25033),yi=t.n(mi),Ei=t(25295),Ai=t.n(Ei),xi=t(88083);const Ci={seconds:10},Si={milliseconds:50},bi={api:Qn.A,component:Jn.A,system:Yn.A,resource:Xn.A,domain:Sn.A,location:Zn.A,user:wn.A,group:On.A,template:_n.A};function Kr(r){return{async:r.async,render:({entityRef:e,entity:n,context:s})=>({snapshot:(0,xi.T)(n||e,s),loadEntity:r.async})}}var Eo=new WeakMap,cr=new WeakMap,Ao=new WeakMap,dr=new WeakMap,xo=new WeakMap,zr=new WeakSet,Hr=new WeakSet,Vr=new WeakSet;class Co{static createLocal(){return new Co({renderer:Kr({async:!1})})}static create(e){return new Co(e)}forEntity(e,n){const{entityRef:s,kind:a,entity:l,needsLoad:S}=(0,We._)(this,zr,Oi).call(this,e),x=Z=>{const{snapshot:rt}=(0,Lt._)(this,xo).render({entityRef:s,loading:Z.loading,entity:Z.entity,context:n||{}});return{...rt,entityRef:s,Icon:(0,We._)(this,Vr,Pi).call(this,rt.Icon,a)}};let L;try{L=x({loading:S,entity:l})}catch{L={primaryTitle:s,entityRef:s}}const k=S?new(K())(Z=>{let rt=!1;return Promise.resolve().then(()=>{var ht;return(ht=(0,Lt._)(this,Ao))===null||ht===void 0?void 0:ht.load(s)}).then(ht=>{if(!rt&&ht&&ht.metadata.etag!==(l==null?void 0:l.metadata.etag)){const mt=x({loading:!1,entity:ht});Z.next(mt)}}).catch(()=>{}).finally(()=>{rt||Z.complete()}),()=>{rt=!0}}):void 0;return{snapshot:L,update$:k}}constructor(e){(0,ln._)(this,zr),(0,ln._)(this,Hr),(0,ln._)(this,Vr),(0,fe._)(this,Eo,{writable:!0,value:void 0}),(0,fe._)(this,cr,{writable:!0,value:void 0}),(0,fe._)(this,Ao,{writable:!0,value:void 0}),(0,fe._)(this,dr,{writable:!0,value:void 0}),(0,fe._)(this,xo,{writable:!0,value:void 0});var n;const s=(n=e.cacheTtl)!==null&&n!==void 0?n:Ci;var a;const l=(a=e.batchDelay)!==null&&a!==void 0?a:Si;var S;const x=(S=e.renderer)!==null&&S!==void 0?S:Kr({async:!0}),L={};Object.entries(bi).forEach(([Z,rt])=>{L[Z.toLocaleLowerCase("en-US")]=rt});var k;if(Object.entries((k=e.kindIcons)!==null&&k!==void 0?k:{}).forEach(([Z,rt])=>{L[Z.toLocaleLowerCase("en-US")]=rt}),x.async){if(!e.catalogApi)throw new TypeError("Asynchronous rendering requires a catalog API");(0,h._)(this,Ao,(0,We._)(this,Hr,wi).call(this,{cacheTtl:s,batchDelay:l,renderer:x,catalogApi:e.catalogApi}))}(0,h._)(this,cr,lr(s)),(0,h._)(this,Eo,new Map),(0,h._)(this,dr,L),(0,h._)(this,xo,x)}}function Oi(r){if(typeof r!="string")return{entity:r,kind:r.kind,entityRef:(0,nn.U2)(r),needsLoad:!1};const e=(0,Lt._)(this,Eo).get(r),n=e==null?void 0:e.entity,a=(!e||Date.now()-e.updatedAt>(0,Lt._)(this,cr))&&(0,Lt._)(this,xo).async!==!1&&(0,Lt._)(this,Ao)!==void 0;return{entity:n,kind:(0,nn.KU)(r).kind,entityRef:r,needsLoad:a}}function wi(r){const e=lr(r.cacheTtl),n=lr(r.batchDelay);return new(yi())(async s=>{const{items:a}=await r.catalogApi.getEntitiesByRefs({entityRefs:s}),l=Date.now();return s.forEach((S,x)=>{(0,Lt._)(this,Eo).set(S,{updatedAt:l,entity:a[x]})}),a},{name:"DefaultEntityPresentationApi",cacheMap:new(Ai())(e),maxBatchSize:100,batchScheduleFn:n?s=>setTimeout(s,n):void 0})}function Pi(r,e){return r||(r===!1?!1:(0,Lt._)(this,dr)[e.toLocaleLowerCase("en-US")])}const De=(0,fi.i)({id:"catalog",apis:[(0,Ht.b)({api:Wr.v,deps:{discoveryApi:oe.I,fetchApi:Hn.a},factory:({discoveryApi:r,fetchApi:e})=>new di({discoveryApi:r,fetchApi:e})}),(0,Ht.b)({api:ui.a,deps:{storageApi:zn},factory:({storageApi:r})=>new vi({storageApi:r})}),(0,Ht.b)({api:hi.n,deps:{catalogApi:Wr.v},factory:({catalogApi:r})=>Co.create({catalogApi:r})})],routes:{catalogIndex:An.rQ,catalogEntity:kr.s},externalRoutes:{createComponent:An.qP,viewTechDoc:An.UJ,createFromTemplate:An.Zg,unregisterRedirect:An.pS}}),Na=De.provide((0,Ue.QJ)({name:"CatalogIndexPage",component:()=>Promise.all([t.e(3720),t.e(5011),t.e(4992)]).then(t.bind(t,64992)).then(r=>r.CatalogPage),mountPoint:An.rQ})),Ti=De.provide((0,Ue.QJ)({name:"CatalogEntityPage",component:()=>t.e(4516).then(t.bind(t,54516)).then(r=>r.CatalogEntityPage),mountPoint:kr.s})),Wa=De.provide((0,Ue.NC)({name:"EntityAboutCard",component:{lazy:()=>Promise.all([t.e(3720),t.e(5977),t.e(1833)]).then(t.bind(t,61833)).then(r=>r.AboutCard)}})),ka=De.provide((0,Ue.NC)({name:"EntityLinksCard",component:{lazy:()=>t.e(8307).then(t.bind(t,18307)).then(r=>r.EntityLinksCard)}})),Ka=De.provide((0,Ue.NC)({name:"EntityLabelsCard",component:{lazy:()=>t.e(3182).then(t.bind(t,63182)).then(r=>r.EntityLabelsCard)}})),za=De.provide((0,Ue.NC)({name:"EntityHasSystemsCard",component:{lazy:()=>t.e(9652).then(t.bind(t,9652)).then(r=>r.HasSystemsCard)}})),Ha=De.provide((0,Ue.NC)({name:"EntityHasComponentsCard",component:{lazy:()=>t.e(2420).then(t.bind(t,52420)).then(r=>r.HasComponentsCard)}})),Va=De.provide((0,Ue.NC)({name:"EntityHasSubcomponentsCard",component:{lazy:()=>t.e(8384).then(t.bind(t,78384)).then(r=>r.HasSubcomponentsCard)}})),Ga=De.provide((0,Ue.NC)({name:"EntityHasResourcesCard",component:{lazy:()=>t.e(6271).then(t.bind(t,56271)).then(r=>r.HasResourcesCard)}})),Ya=De.provide((0,Ue.NC)({name:"EntityDependsOnComponentsCard",component:{lazy:()=>t.e(3632).then(t.bind(t,3632)).then(r=>r.DependsOnComponentsCard)}})),Qa=De.provide((0,Ue.NC)({name:"EntityDependencyOfComponentsCard",component:{lazy:()=>t.e(124).then(t.bind(t,124)).then(r=>r.DependencyOfComponentsCard)}})),Za=De.provide((0,Ue.NC)({name:"EntityDependsOnResourcesCard",component:{lazy:()=>t.e(287).then(t.bind(t,20287)).then(r=>r.DependsOnResourcesCard)}})),Ja=De.provide((0,Ue.NC)({name:"RelatedEntitiesCard",component:{lazy:()=>t.e(2401).then(t.bind(t,52401)).then(r=>r.RelatedEntitiesCard)}})),Xa=De.provide((0,gi.ec)({name:"CatalogSearchResultListItem",component:()=>t.e(1297).then(t.bind(t,61297)).then(r=>r.CatalogSearchResultListItem),predicate:r=>r.type==="software-catalog"}));var Gr=t(43320),Yr=t(26679);class Ri{async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){return`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(e,n){const a=`${await this.getApiOrigin()}/${n}`,l=await fetch(`${a.endsWith("/")?a:`${a}/`}index.html`);if(l.status===404)throw new Error("Page not found");return l.text()}async syncEntityDocs(e){return"cached"}async getBaseUrl(e,n,s){const a=await this.getApiOrigin();return new URL(e,`${a}/${s}`).toString()}constructor({configApi:e,discoveryApi:n,identityApi:s}){(0,b._)(this,"configApi",void 0),(0,b._)(this,"discoveryApi",void 0),(0,b._)(this,"identityApi",void 0),this.configApi=e,this.discoveryApi=n,this.identityApi=s}}class Ii{async getCookie(){return{expiresAt:new Date(Date.now()+6e5).toISOString()}}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getEntityMetadata(e){return{apiVersion:"backstage.io/v1alpha1",kind:"Component",metadata:{name:"local"},spec:{owner:"test",lifecycle:"experimental"}}}async getTechDocsMetadata(e){return{site_name:"Live preview environment",site_description:""}}constructor({configApi:e,discoveryApi:n,identityApi:s}){(0,b._)(this,"configApi",void 0),(0,b._)(this,"discoveryApi",void 0),(0,b._)(this,"identityApi",void 0),this.configApi=e,this.discoveryApi=n,this.identityApi=s}}const Di=[(0,Ht.b)({api:Yr.s,deps:{configApi:ce.U,discoveryApi:oe.I,identityApi:an.K},factory:({configApi:r,discoveryApi:e,identityApi:n})=>new Ri({configApi:r,discoveryApi:e,identityApi:n})}),(0,Ht.b)({api:Yr.l,deps:{configApi:ce.U,discoveryApi:oe.I,identityApi:an.K},factory:({configApi:r,discoveryApi:e,identityApi:n})=>new Ii({configApi:r,discoveryApi:e,identityApi:n})}),(0,Ht.b)({api:Gr.Y,deps:{configApi:ce.U},factory:({configApi:r})=>Gr.L.fromConfig(r)})],Li={backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}},Mi={backend:{baseUrl:"http://localhost:7007"},techdocs:{builder:"external"}};async function ji(){const r=await fetch("/.detect");return r.ok?(await r.text()).trim()==="techdocs-cli-server":!1}async function Bi(){const r=await wr(),e=await ji();return[...r,{context:"detected",data:e?Li:Mi}]}var Qe=t(58837),Ui=t(3210);const Fi=(0,Qe.A)({svg:{width:"auto",height:30},path:{fill:"#7df3e1"}});var $i=()=>{const r=Fi();return(0,i.jsx)("svg",{className:r.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2079.95 456.05",children:(0,i.jsx)("path",{className:r.path,d:"M302.9,180a80.62,80.62,0,0,0,13.44-10.37c.8-.77,1.55-1.54,2.31-2.31a81.89,81.89,0,0,0,7.92-9.37,62.37,62.37,0,0,0,6.27-10.77,48.6,48.6,0,0,0,4.36-16.4c1.49-19.39-10-38.67-35.62-54.22L198.42,14,78.16,129.22l-78.29,75,108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.69,49.69,0,0,0-6.8-8.87,89.78,89.78,0,0,0,19.28,2.15H259a85.09,85.09,0,0,0,31-5.79A80.88,80.88,0,0,0,302.9,180Zm-100.59,59.8c-19.32,18.51-50.4,21.24-75.7,5.9l-75.13-45.6,67.44-64.65,76.42,46.39C222.88,198.57,221.36,221.6,202.31,239.84Zm8.94-82.21L140.6,114.74,205,53l69.37,42.11c25.94,15.73,29.31,37.05,10.55,55A60.71,60.71,0,0,1,211.25,157.63Zm29.86,190c-19.57,18.75-46.17,29.08-74.88,29.08a123.84,123.84,0,0,1-64.11-18.19L-.13,296.51v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.85,87.85,0,0,1,241.11,347.67Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,257.52V282.2l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.79A86.86,86.86,0,0,1,241.11,308.68Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,218.54v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.12,19.68-41.49v-1.82A87.14,87.14,0,0,1,241.11,269.7Zm83.69,25.74a94.16,94.16,0,0,1-60.19,25.86h0V348a81.6,81.6,0,0,0,51.73-22.37c14-13.38,21.15-28.11,21-42.64v-2.2A95.14,95.14,0,0,1,324.8,295.44Zm-83.69,91.21c-19.57,18.75-46.17,29.09-74.88,29.09a123.76,123.76,0,0,1-64.11-18.2L-.13,335.49v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.35,87.35,0,0,1,241.11,386.65Zm85.75-210.21c-.68.69-1.35,1.38-2.06,2.05a99.19,99.19,0,0,1-22.23,15.69,94.53,94.53,0,0,1-26.24,8.71,97.84,97.84,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a52.7,52.7,0,0,1,1.13,12V231h.05A84.48,84.48,0,0,0,290,225.47a80.83,80.83,0,0,0,26.38-16.82c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,62.85,62.85,0,0,0,6.29-10.78,48.5,48.5,0,0,0,4.32-16.44c.09-1.23.2-2.47.19-3.7v-2c-.72,1-1.48,2.06-2.26,3.09A98,98,0,0,1,326.86,176.44Zm0,77.92c-.68.7-1.3,1.41-2,2.1a94.09,94.09,0,0,1-60.19,25.85h0V309h0a81.65,81.65,0,0,0,51.73-22.37,73.51,73.51,0,0,0,16.48-22.49,48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A95.81,95.81,0,0,1,326.82,254.36Zm0-39c-.68.7-1.3,1.41-2,2.1a92.22,92.22,0,0,1-10.62,8.65,93.53,93.53,0,0,1-11.63,7,95.63,95.63,0,0,1-37.94,10.18h-.05l0,26.67h0a81.63,81.63,0,0,0,51.73-22.37c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,63.16,63.16,0,0,0,6.29-10.77,48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A98.19,98.19,0,0,1,326.82,215.38Zm241-88.84q7.94,0,17.09.17t18.12,1a139.3,139.3,0,0,1,16.74,2.57,42.78,42.78,0,0,1,13.3,5.14,64.27,64.27,0,0,1,20.54,19.89Q662,168,662,186.54q0,19.54-9.49,33.78t-27.1,21.09v.68q22.78,4.82,34.87,20.58t12.08,38.4a72.62,72.62,0,0,1-4.83,26.06,65.29,65.29,0,0,1-14.33,22.46,71.57,71.57,0,0,1-23.47,15.78q-14,6-32.28,6H478.38V126.54Zm9,105.27q28,0,40.21-9.78t12.26-29.31q0-13-4.14-20.58a29.47,29.47,0,0,0-11.4-11.66A45,45,0,0,0,597,155.17a161.2,161.2,0,0,0-20.19-1.2h-65.6v77.84Zm16.57,112.13q21.74,0,34-11.66T639.59,300q0-12-4.48-19.88a34.85,34.85,0,0,0-11.91-12.52,50.14,50.14,0,0,0-17.09-6.52,105,105,0,0,0-20-1.88H511.17v84.7Zm274.79,26.74q-7.61,4.45-21.06,4.46-11.4,0-18.12-6.34t-6.74-20.75a70.17,70.17,0,0,1-28.13,20.75,97.87,97.87,0,0,1-57.65,3.6,53.51,53.51,0,0,1-18.82-8.58A41.19,41.19,0,0,1,705,348.56q-4.65-9.42-4.66-22.8,0-15.09,5.18-24.69a44.92,44.92,0,0,1,13.64-15.6,62.63,62.63,0,0,1,19.33-9.09q10.88-3.08,22.27-5.14,12.08-2.4,23-3.6a128,128,0,0,0,19.16-3.43c5.53-1.48,9.89-3.65,13.12-6.51s4.83-7,4.83-12.52q0-9.6-3.62-15.43a24.94,24.94,0,0,0-9.32-8.92,38.38,38.38,0,0,0-12.78-4.11,96.54,96.54,0,0,0-14-1q-18.63,0-31.07,7T736.6,249.29H707.26q.69-16.46,6.9-27.77a52.21,52.21,0,0,1,16.57-18.35,70,70,0,0,1,23.65-10.11A125.51,125.51,0,0,1,782.86,190a168.63,168.63,0,0,1,24,1.72,63.26,63.26,0,0,1,21.58,7A41.23,41.23,0,0,1,844,213.59q5.87,9.57,5.87,25v91q0,10.26,1.21,15.05t8.11,4.79a35.57,35.57,0,0,0,9-1.37Zm-47.64-90.87c-3.69,2.74-8.52,4.72-14.5,6s-12.26,2.27-18.82,3.07-13.17,1.71-19.85,2.73a73.7,73.7,0,0,0-18,4.94,32.62,32.62,0,0,0-12.94,9.73q-5,6.32-5,17.23a23.31,23.31,0,0,0,2.94,12.11,24.11,24.11,0,0,0,7.59,8,32,32,0,0,0,10.88,4.44,60.94,60.94,0,0,0,13.11,1.36q14.5,0,24.86-3.92a52.49,52.49,0,0,0,16.91-9.9,39.1,39.1,0,0,0,9.67-13,32.53,32.53,0,0,0,3.11-13.14ZM1002.07,225q-11.05-9.25-29.69-9.26-15.89,0-26.58,5.83A47.29,47.29,0,0,0,928.71,237a64.66,64.66,0,0,0-9.15,22.12A119.83,119.83,0,0,0,916.8,285a98.22,98.22,0,0,0,2.93,24,64.18,64.18,0,0,0,9.15,20.74,46.2,46.2,0,0,0,16.23,14.58q10,5.49,23.82,5.48,21.75,0,34-11.31t15-31.89h30q-4.83,32.91-24.68,50.75t-54,17.83q-20.37,0-36.07-6.52A69.86,69.86,0,0,1,907,350.11a79.92,79.92,0,0,1-15.88-28.63A118.64,118.64,0,0,1,885.73,285a129.41,129.41,0,0,1,5.18-37.21,85.63,85.63,0,0,1,15.71-30.17A73.46,73.46,0,0,1,933,197.35Q948.91,190,970,190a108.54,108.54,0,0,1,28.48,3.6,69.59,69.59,0,0,1,23.48,11.15,61,61,0,0,1,16.74,19q6.55,11.49,8.29,27.26h-30.38Q1013.11,234.21,1002.07,225Zm109.77-98.41v145l81.47-77.49h39.36l-70.77,64.46,75.95,112.82h-37.29l-61.1-92.59-27.62,25.38v67.21H1082.5V126.54Zm170.54,205.22a31.07,31.07,0,0,0,10.87,10.63,49,49,0,0,0,15.19,5.66,87.06,87.06,0,0,0,17.44,1.71,109.18,109.18,0,0,0,14.5-1,53.22,53.22,0,0,0,14-3.78,26.27,26.27,0,0,0,10.53-8q4.14-5.32,4.14-13.55,0-11.31-8.63-17.14a73.69,73.69,0,0,0-21.58-9.43q-12.94-3.6-28.13-6.52a146,146,0,0,1-28.14-8.23A58.16,58.16,0,0,1,1261,267.13q-8.64-9.6-8.63-26.75,0-13.38,6-23a49.26,49.26,0,0,1,15.53-15.61,71.76,71.76,0,0,1,21.4-8.91A99.41,99.41,0,0,1,1319,190a141.31,141.31,0,0,1,28,2.58,64.85,64.85,0,0,1,22.62,8.91,46.16,46.16,0,0,1,15.7,17.15q5.87,10.8,6.91,26.91h-29.35q-.69-8.57-4.48-14.23a29.36,29.36,0,0,0-9.67-9.08,44.16,44.16,0,0,0-12.94-5,67.68,67.68,0,0,0-14.33-1.54,87.29,87.29,0,0,0-13.29,1,45.28,45.28,0,0,0-12.26,3.6,24.49,24.49,0,0,0-9,6.86q-3.46,4.29-3.46,11.14a16.32,16.32,0,0,0,5.36,12.52,42.75,42.75,0,0,0,13.63,8.23,120,120,0,0,0,18.64,5.48q10.37,2.24,20.72,4.63,11,2.4,21.57,5.83A70.74,70.74,0,0,1,1382,284.1a44.55,44.55,0,0,1,13.12,14.23q5,8.58,5,21.26,0,16.13-6.73,26.75a52.5,52.5,0,0,1-17.61,17.14,73.89,73.89,0,0,1-24.51,9.09,146.3,146.3,0,0,1-27.1,2.57,126.24,126.24,0,0,1-28.31-3.09A69.56,69.56,0,0,1,1272,361.94a51.74,51.74,0,0,1-16.57-18.52q-6.21-11.49-6.9-27.95h29.34A32.65,32.65,0,0,0,1282.38,331.76Zm226.46-137.67v25.72h-35.56V329.88a31.37,31.37,0,0,0,.87,8.23,8.42,8.42,0,0,0,3.28,4.8,14.61,14.61,0,0,0,6.73,2.23,99.19,99.19,0,0,0,11.22.51h13.46v25.72H1486.4a105.8,105.8,0,0,1-19.5-1.55,28.65,28.65,0,0,1-13.12-5.65,24.09,24.09,0,0,1-7.42-11.66q-2.43-7.54-2.42-19.89V219.81h-30.38V194.09h30.38V140.94h29.34v53.15ZM1699.4,370.68q-7.61,4.45-21.06,4.46-11.4,0-18.12-6.34t-6.74-20.75a70.17,70.17,0,0,1-28.13,20.75,97.87,97.87,0,0,1-57.65,3.6,53.51,53.51,0,0,1-18.82-8.58,41.19,41.19,0,0,1-12.6-15.26q-4.65-9.42-4.66-22.8,0-15.09,5.18-24.69a44.92,44.92,0,0,1,13.64-15.6,62.63,62.63,0,0,1,19.33-9.09q10.88-3.08,22.27-5.14,12.07-2.4,23-3.6a128,128,0,0,0,19.16-3.43c5.53-1.48,9.89-3.65,13.12-6.51s4.83-7,4.83-12.52q0-9.6-3.62-15.43a24.94,24.94,0,0,0-9.32-8.92,38.38,38.38,0,0,0-12.78-4.11,96.54,96.54,0,0,0-14-1q-18.63,0-31.07,7t-13.46,26.57h-29.34q.67-16.46,6.9-27.77A52.21,52.21,0,0,1,1562,203.17a70,70,0,0,1,23.65-10.11,125.51,125.51,0,0,1,28.48-3.09,168.63,168.63,0,0,1,24,1.72,63.26,63.26,0,0,1,21.58,7,41.23,41.23,0,0,1,15.53,14.89q5.87,9.57,5.87,25v91q0,10.26,1.21,15.05t8.11,4.79a35.57,35.57,0,0,0,9-1.37Zm-47.64-90.87c-3.69,2.74-8.52,4.72-14.5,6s-12.26,2.27-18.82,3.07-13.17,1.71-19.85,2.73a73.7,73.7,0,0,0-17.95,4.94,32.62,32.62,0,0,0-12.94,9.73q-5,6.32-5,17.23a23.31,23.31,0,0,0,2.94,12.11,24.11,24.11,0,0,0,7.59,8,32,32,0,0,0,10.88,4.44,60.94,60.94,0,0,0,13.11,1.36q14.51,0,24.86-3.92a52.49,52.49,0,0,0,16.91-9.9,39.1,39.1,0,0,0,9.67-13,32.53,32.53,0,0,0,3.11-13.14Zm208.85,141.62q-20,21.6-62.83,21.6a122.11,122.11,0,0,1-25.37-2.74,78,78,0,0,1-23.48-8.92,54.41,54.41,0,0,1-17.43-16.11q-6.91-10-7.6-24.35h29.35a21.47,21.47,0,0,0,5,13.38,36.67,36.67,0,0,0,11.4,8.91,55.52,55.52,0,0,0,14.67,5,79.51,79.51,0,0,0,15.19,1.55q14.49,0,24.51-5A46,46,0,0,0,1840.59,401a56.53,56.53,0,0,0,9.49-21.09,117.46,117.46,0,0,0,2.94-27.09V341.19h-.7q-7.59,16.46-23,24.18a71.8,71.8,0,0,1-32.63,7.71q-20,0-34.86-7.2A72.88,72.88,0,0,1,1737,346.51a82.13,82.13,0,0,1-15-28.46,116.62,116.62,0,0,1-5-34.47,133.92,133.92,0,0,1,4.14-32.4A88.17,88.17,0,0,1,1735,221a75.49,75.49,0,0,1,25.55-22.29q15.87-8.75,39-8.75a66.21,66.21,0,0,1,31.07,7.38,52.13,52.13,0,0,1,22.09,22.11h.35V194.09h27.61V356.28Q1880.63,399.83,1860.61,421.43Zm-37.46-79.72a47.94,47.94,0,0,0,16.4-15.78,71.89,71.89,0,0,0,9.15-22.11,106.77,106.77,0,0,0,2.93-24.69,96.71,96.71,0,0,0-2.76-23,64,64,0,0,0-8.8-20.4,45.76,45.76,0,0,0-15.71-14.57q-9.66-5.49-23.47-5.49-14.16,0-24.17,5.32a46.77,46.77,0,0,0-16.4,14.23,60.14,60.14,0,0,0-9.32,20.57,99.69,99.69,0,0,0-2.93,24.35,120.63,120.63,0,0,0,2.42,24,67.5,67.5,0,0,0,8.28,21.77,46.37,46.37,0,0,0,15.54,15.78q9.66,6,24.16,6T1823.15,341.71Zm228,18.34q-20,15.09-50.41,15.09-21.4,0-37.11-6.86a73.16,73.16,0,0,1-26.41-19.2,81.52,81.52,0,0,1-16-29.49,141.12,141.12,0,0,1-6-37.38,106.1,106.1,0,0,1,6.21-37A88.56,88.56,0,0,1,1938.8,216a79.09,79.09,0,0,1,26.58-19.2A81.66,81.66,0,0,1,1999,190q23.82,0,39.53,9.78a78,78,0,0,1,25.2,24.86,98.18,98.18,0,0,1,13.12,32.91,140.6,140.6,0,0,1,2.93,34h-133.6a70,70,0,0,0,2.76,22.12,49.9,49.9,0,0,0,10,18.51A49.1,49.1,0,0,0,1976.6,345q10.7,4.82,25.2,4.8,18.65,0,30.55-8.57t15.71-26.06h29Q2071.18,345,2051.17,360.05Zm-7.08-113.84a50,50,0,0,0-10.7-16,53.1,53.1,0,0,0-56.62-10.63,47.48,47.48,0,0,0-15.71,10.81,51.69,51.69,0,0,0-10.35,15.94,60.18,60.18,0,0,0-4.49,19.37h102.53A59.47,59.47,0,0,0,2044.09,246.21ZM302.9,180a80.62,80.62,0,0,0,13.44-10.37c.8-.77,1.55-1.54,2.31-2.31a81.89,81.89,0,0,0,7.92-9.37,62.37,62.37,0,0,0,6.27-10.77,48.6,48.6,0,0,0,4.36-16.4c1.49-19.39-10-38.67-35.62-54.22L198.42,14,78.16,129.22l-78.29,75,108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.69,49.69,0,0,0-6.8-8.87,89.78,89.78,0,0,0,19.28,2.15H259a85.09,85.09,0,0,0,31-5.79A80.88,80.88,0,0,0,302.9,180Zm-100.59,59.8c-19.32,18.51-50.4,21.24-75.7,5.9l-75.13-45.6,67.44-64.65,76.42,46.39C222.88,198.57,221.36,221.6,202.31,239.84Zm8.94-82.21L140.6,114.74,205,53l69.37,42.11c25.94,15.73,29.31,37.05,10.55,55A60.71,60.71,0,0,1,211.25,157.63Zm29.86,190c-19.57,18.75-46.17,29.08-74.88,29.08a123.84,123.84,0,0,1-64.11-18.19L-.13,296.51v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.85,87.85,0,0,1,241.11,347.67Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,257.52V282.2l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.79A86.86,86.86,0,0,1,241.11,308.68Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,218.54v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.12,19.68-41.49v-1.82A87.14,87.14,0,0,1,241.11,269.7Zm83.69,25.74a94.16,94.16,0,0,1-60.19,25.86h0V348a81.6,81.6,0,0,0,51.73-22.37c14-13.38,21.15-28.11,21-42.64v-2.2A95.14,95.14,0,0,1,324.8,295.44Zm-83.69,91.21c-19.57,18.75-46.17,29.09-74.88,29.09a123.76,123.76,0,0,1-64.11-18.2L-.13,335.49v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.35,87.35,0,0,1,241.11,386.65Zm85.75-210.21c-.68.69-1.35,1.38-2.06,2.05a99.19,99.19,0,0,1-22.23,15.69,94.53,94.53,0,0,1-26.24,8.71,97.84,97.84,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a52.7,52.7,0,0,1,1.13,12V231h.05A84.48,84.48,0,0,0,290,225.47a80.83,80.83,0,0,0,26.38-16.82c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,62.85,62.85,0,0,0,6.29-10.78,48.5,48.5,0,0,0,4.32-16.44c.09-1.23.2-2.47.19-3.7v-2c-.72,1-1.48,2.06-2.26,3.09A98,98,0,0,1,326.86,176.44Zm0,77.92c-.68.7-1.3,1.41-2,2.1a94.09,94.09,0,0,1-60.19,25.85h0V309h0a81.65,81.65,0,0,0,51.73-22.37,73.51,73.51,0,0,0,16.48-22.49,48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A95.81,95.81,0,0,1,326.82,254.36Zm0-39c-.68.7-1.3,1.41-2,2.1a92.22,92.22,0,0,1-10.62,8.65,93.53,93.53,0,0,1-11.63,7,95.63,95.63,0,0,1-37.94,10.18h-.05l0,26.67h0a81.63,81.63,0,0,0,51.73-22.37c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,63.16,63.16,0,0,0,6.29-10.77,48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A98.19,98.19,0,0,1,326.82,215.38Z"})})};const Ni=(0,Qe.A)({svg:{width:"auto",height:28},path:{fill:"#7df3e1"}});var Wi=()=>{const r=Ni();return(0,i.jsx)("svg",{className:r.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 337.46 428.5",children:(0,i.jsx)("path",{className:r.path,d:"M303,166.05a80.69,80.69,0,0,0,13.45-10.37c.79-.77,1.55-1.53,2.3-2.3a83.12,83.12,0,0,0,7.93-9.38A63.69,63.69,0,0,0,333,133.23a48.58,48.58,0,0,0,4.35-16.4c1.49-19.39-10-38.67-35.62-54.22L198.56,0,78.3,115.23,0,190.25l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.22,49.22,0,0,0-6.8-8.87A89.17,89.17,0,0,0,259,178.29h.15a85.08,85.08,0,0,0,31-5.79A80.88,80.88,0,0,0,303,166.05ZM202.45,225.86c-19.32,18.51-50.4,21.23-75.7,5.9L51.61,186.15l67.45-64.64,76.41,46.38C223,184.58,221.49,207.61,202.45,225.86Zm8.93-82.22-70.65-42.89L205.14,39,274.51,81.1c25.94,15.72,29.31,37,10.55,55A60.69,60.69,0,0,1,211.38,143.64Zm29.86,190c-19.57,18.75-46.17,29.09-74.88,29.09a123.73,123.73,0,0,1-64.1-18.2L0,282.52v24.67L108.6,373.1a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.27,87.27,0,0,1,241.24,333.68Zm0-39c-19.57,18.75-46.17,29.08-74.88,29.08a123.81,123.81,0,0,1-64.1-18.19L0,243.53v24.68l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.5v-1.78A87.27,87.27,0,0,1,241.24,294.7Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.81,123.81,0,0,1-64.1-18.19L0,204.55v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.82A86.09,86.09,0,0,1,241.24,255.71Zm83.7,25.74a94.15,94.15,0,0,1-60.2,25.86h0V334a81.6,81.6,0,0,0,51.74-22.37c14-13.38,21.14-28.11,21-42.64v-2.19A94.92,94.92,0,0,1,324.94,281.45Zm-83.7,91.21c-19.57,18.76-46.17,29.09-74.88,29.09a123.73,123.73,0,0,1-64.1-18.2L0,321.5v24.68l108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A86.29,86.29,0,0,1,241.24,372.66ZM327,162.45c-.68.69-1.35,1.38-2.05,2.06a94.37,94.37,0,0,1-10.64,8.65,91.35,91.35,0,0,1-11.6,7,94.53,94.53,0,0,1-26.24,8.71,97.69,97.69,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a53.27,53.27,0,0,1,1.14,12V217h.05a84.41,84.41,0,0,0,25.35-5.55,81,81,0,0,0,26.39-16.82c.8-.77,1.5-1.56,2.26-2.34a82.08,82.08,0,0,0,7.93-9.38A63.76,63.76,0,0,0,333,172.17a48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7V150q-1.08,1.54-2.25,3.09A96.73,96.73,0,0,1,327,162.45Zm0,77.92c-.69.7-1.31,1.41-2,2.1a94.2,94.2,0,0,1-60.2,25.86h0l0,26.67h0a81.6,81.6,0,0,0,51.74-22.37A73.51,73.51,0,0,0,333,250.13a48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.47.19-3.71v-2.19c-.74,1.07-1.46,2.15-2.27,3.21A95.68,95.68,0,0,1,327,240.37Zm0-39c-.69.7-1.31,1.41-2,2.1a93.18,93.18,0,0,1-10.63,8.65,91.63,91.63,0,0,1-11.63,7,95.47,95.47,0,0,1-37.94,10.18h0V256h0a81.65,81.65,0,0,0,51.74-22.37c.8-.77,1.5-1.56,2.26-2.34a82.08,82.08,0,0,0,7.93-9.38A63.76,63.76,0,0,0,333,211.15a48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.46,2.16-2.27,3.22A95.68,95.68,0,0,1,327,201.39Z"})})},we=t(72664);const Qr={isOpen:!1,setOpen:()=>{}},Zr=(0,u.createContext)(Qr),Jr=(0,en.tK)("sidebar-open-state-context");function Xr(r){const{children:e,value:n}=r;return(0,i.jsx)(Zr.Provider,{value:n,children:(0,i.jsx)(Jr.Provider,{value:(0,hn.B)({1:n}),children:e})})}const ur=()=>{const r=(0,u.useContext)(Jr),e=(0,u.useContext)(Zr);if(r===void 0)return e||Qr;const n=r.atVersion(1);if(n===void 0)throw new Error("No context found for version 1.");return n};var _r=t(72072),qr=t(73524),on=t(10394),ts=t(5893),ki=t(53373),dn=t.n(ki),Ki=t(1125),es=t(29365),zi=t(73845),hr=t(72501),Hi=t(32881),Vi=t(27326),Gi=t(13085);const ns=(0,u.createContext)({selectedMenuItemIndex:-1,setSelectedMenuItemIndex:()=>{}});var fr=t(34435);const Yi=(0,Qe.A)(r=>({root:{flexGrow:0,margin:r.spacing(0,2),color:r.palette.navigation.color},selected:e=>({color:`${r.palette.navigation.selectedColor}!important`,borderTop:`solid ${e.sidebarConfig.selectedIndicatorWidth}px ${r.palette.navigation.indicator}`,marginTop:"-1px"}),label:{display:"none"}})),Qi=r=>{const{to:e,label:n,icon:s,value:a}=r,{sidebarConfig:l}=(0,u.useContext)(we.yY),S=Yi({sidebarConfig:l}),x=(0,m.zy)(),{selectedMenuItemIndex:L,setSelectedMenuItemIndex:k}=(0,u.useContext)(ns),Z=(ht,mt)=>{k(mt===L?-1:mt)},rt=a===L&&L>=0||a!==L&&!(L>=0)&&e===x.pathname;return(0,i.jsx)(Gi.A,{"aria-label":n,label:n,icon:s,component:_r.N_,to:e||x.pathname,onChange:Z,value:a,selected:rt,classes:S})},os=r=>{const{children:e,to:n,label:s,icon:a,value:l}=r,{isMobile:S}=(0,fr.Ut)();return S?(0,i.jsx)(Qi,{to:n,label:s,icon:a,value:l}):(0,i.jsx)(i.Fragment,{children:e})},rs=(0,Qe.A)(r=>({root:{position:"fixed",backgroundColor:r.palette.navigation.background,color:r.palette.navigation.color,bottom:0,left:0,right:0,zIndex:r.zIndex.snackbar,borderTop:"1px solid #383838","@media print":{display:"none"}},overlay:e=>({background:r.palette.navigation.background,width:"100%",bottom:`${e.sidebarConfig.mobileSidebarHeight}px`,height:`calc(100% - ${e.sidebarConfig.mobileSidebarHeight}px)`,flex:"0 1 auto",overflow:"auto"}),overlayHeader:{display:"flex",color:r.palette.navigation.color,alignItems:"center",justifyContent:"space-between",padding:r.spacing(2,3)},overlayHeaderClose:{color:r.palette.navigation.color},marginMobileSidebar:e=>({marginBottom:`${e.sidebarConfig.mobileSidebarHeight}px`})})),Zi=r=>(0,xn.orderBy)(r,({props:{priority:e}})=>Number.isInteger(e)?e:-1,"desc"),Ji=u.createElement(os).type,Xi=({children:r,label:e="Menu",open:n,onClose:s})=>{const{sidebarConfig:a}=(0,u.useContext)(we.yY),l=rs({sidebarConfig:a});return(0,i.jsxs)(zi.Ay,{anchor:"bottom",open:n,onClose:s,ModalProps:{BackdropProps:{classes:{root:l.marginMobileSidebar}}},classes:{root:l.marginMobileSidebar,paperAnchorBottom:l.overlay},children:[(0,i.jsxs)(on.A,{className:l.overlayHeader,children:[(0,i.jsx)(hr.A,{variant:"h3",children:e}),(0,i.jsx)(es.A,{onClick:s,classes:{root:l.overlayHeaderClose},children:(0,i.jsx)(Hi.A,{})})]}),(0,i.jsx)(on.A,{component:"nav",children:r})]})},_i=r=>{const{sidebarConfig:e}=(0,u.useContext)(we.yY),{children:n}=r,s=rs({sidebarConfig:e}),a=(0,m.zy)(),[l,S]=(0,u.useState)(-1);(0,u.useEffect)(()=>{S(-1)},[a.pathname]);let x=(0,yo.O)(n,k=>k.getElements().filter(Z=>Z.type===Ji));if(n)x.length?x=Zi(x):x.push((0,i.jsx)(os,{icon:(0,i.jsx)(Vi.A,{}),children:n},"default_menu"));else return null;const L=l>=0&&!x[l].props.to;return(0,i.jsx)(Xr,{value:{isOpen:!0,setOpen:()=>{}},children:(0,i.jsxs)(ns.Provider,{value:{selectedMenuItemIndex:l,setSelectedMenuItemIndex:S},children:[(0,i.jsx)(Xi,{label:x[l]&&x[l].props.label,open:L,onClose:()=>S(-1),children:x[l]&&x[l].props.children}),(0,i.jsx)(Ki.A,{className:s.root,"data-testid":"mobile-sidebar-root",component:"nav",children:x})]})})};var qi=t(87849),ta=t(10315);const ss=(0,Qe.A)(r=>({drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",left:0,top:0,bottom:0,zIndex:r.zIndex.appBar,background:r.palette.navigation.background,overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",transition:r.transitions.create("width",{easing:r.transitions.easing.sharp,duration:r.transitions.duration.shortest}),"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"},"@media print":{display:"none"}},drawerWidth:e=>({width:e.sidebarConfig.drawerWidthClosed}),drawerOpen:e=>({width:e.sidebarConfig.drawerWidthOpen,transition:r.transitions.create("width",{easing:r.transitions.easing.sharp,duration:r.transitions.duration.shorter})}),visuallyHidden:{top:0,position:"absolute",zIndex:1e3,transform:"translateY(-200%)","&:focus":{transform:"translateY(5px)"}}}),{name:"BackstageSidebar"});var is;(function(r){r[r.Closed=0]="Closed",r[r.Idle=1]="Idle",r[r.Open=2]="Open"})(is||(is={}));const ea=r=>{const{sidebarConfig:e}=(0,u.useContext)(we.yY),{openDelayMs:n=e.defaultOpenDelayMs,closeDelayMs:s=e.defaultCloseDelayMs,disableExpandOnHover:a,children:l}=r,S=ss({sidebarConfig:e}),x=(0,ts.A)(ne=>ne.breakpoints.down("md"),{noSsr:!0}),[L,k]=(0,u.useState)(0),Z=(0,u.useRef)(),{isPinned:rt,toggleSidebarPinState:ht}=(0,fr.Ut)(),mt=()=>{rt||a||(Z.current&&(clearTimeout(Z.current),Z.current=void 0),L!==2&&!x&&(Z.current=window.setTimeout(()=>{Z.current=void 0,k(2)},n),k(1)))},Ot=()=>{rt||a||(Z.current&&(clearTimeout(Z.current),Z.current=void 0),L===1?k(0):L===2&&(Z.current=window.setTimeout(()=>{Z.current=void 0,k(0)},s)))},zt=L===2&&!x||rt,Vt=ne=>{ne?(k(2),ht()):(k(0),ht())};return(0,i.jsxs)("nav",{style:{},"aria-label":"sidebar nav",children:[(0,i.jsx)(oa,{}),(0,i.jsx)(Xr,{value:{isOpen:zt,setOpen:Vt},children:(0,i.jsx)(on.A,{className:S.root,"data-testid":"sidebar-root",onMouseEnter:a?()=>{}:mt,onFocus:a?()=>{}:mt,onMouseLeave:a?()=>{}:Ot,onBlur:a?()=>{}:Ot,children:(0,i.jsx)(on.A,{className:dn()(S.drawer,S.drawerWidth,{[S.drawerOpen]:zt}),children:l})})})]})},na=r=>{var e;const n=(0,we.Rv)((e=r.sidebarOptions)!==null&&e!==void 0?e:{});var s;const a=(0,we.i8)((s=r.submenuOptions)!==null&&s!==void 0?s:{}),{children:l,disableExpandOnHover:S,openDelayMs:x,closeDelayMs:L}=r,{isMobile:k}=(0,fr.Ut)();return k?(0,i.jsx)(_i,{children:l}):(0,i.jsx)(we.yY.Provider,{value:{sidebarConfig:n,submenuConfig:a},children:(0,i.jsx)(ea,{openDelayMs:x,closeDelayMs:L,disableExpandOnHover:S,children:l})})};function oa(){const{sidebarConfig:r}=(0,u.useContext)(we.yY),{focusContent:e,contentRef:n}=(0,qr.H)(),s=ss({sidebarConfig:r}),{t:a}=(0,qi.i)(ta.O);return n!=null&&n.current?(0,i.jsx)(E.A,{onClick:e,variant:"contained",className:dn()(s.visuallyHidden),children:a("skipToContent")}):null}var ra=t(94509),So=t(44209),sa=t(79065),ia=t(55704),as=t(62248);const aa=(0,Qe.A)(r=>({root:{zIndex:1e3,position:"relative",overflow:"visible",width:r.spacing(7)+1},drawer:e=>{var n,s;return{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",[r.breakpoints.up("sm")]:{marginLeft:e.left,transition:r.transitions.create("margin-left",{easing:r.transitions.easing.sharp,duration:r.transitions.duration.shortest})},top:0,bottom:0,padding:0,background:(s=(n=r.palette.navigation.submenu)===null||n===void 0?void 0:n.background)!==null&&s!==void 0?s:"#404040",overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",cursor:"default",width:e.submenuConfig.drawerWidthClosed,transitionDelay:`${e.submenuConfig.defaultOpenDelayMs}ms`,"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}}},drawerOpen:e=>({width:e.submenuConfig.drawerWidthOpen,[r.breakpoints.down("xs")]:{width:"100%",position:"relative",paddingLeft:r.spacing(3),left:0,top:0}}),title:{fontSize:r.typography.h5.fontSize,fontWeight:r.typography.fontWeightMedium,color:r.palette.common.white,padding:r.spacing(2.5),[r.breakpoints.down("xs")]:{display:"none"}}}),{name:"BackstageSidebarSubmenu"}),la=r=>{const{isOpen:e}=ur(),{sidebarConfig:n,submenuConfig:s}=(0,u.useContext)(we.yY),a=e?n.drawerWidthOpen:n.drawerWidthClosed,l=aa({left:a,submenuConfig:s}),{isHoveredOn:S}=(0,u.useContext)(we.U1),[x,L]=(0,u.useState)(!1);return(0,u.useEffect)(()=>{L(S)},[S]),(0,i.jsxs)(on.A,{className:dn()(l.drawer,{[l.drawerOpen]:x}),children:[(0,i.jsx)(hr.A,{variant:"h5",component:"span",className:l.title,children:r.title}),r.children]})};var ca=t(45810),ls=t.n(ca);function cs(r,e,n=!1){const s=new URLSearchParams(e.search).toString(),a=ls().parse(s),l=new URLSearchParams(r.search).toString(),S=ls().parse(l),x=n?xn.isEqual:xn.isMatch;return(0,xn.isEqual)(e.pathname,r.pathname)&&x(S,a)}const da=r=>(0,Qe.A)(e=>{var n,s,a,l;return{root:{color:e.palette.navigation.color,display:"flex",flexFlow:"row nowrap",alignItems:"center",height:48,cursor:"pointer"},buttonItem:{background:"none",border:"none",width:"100%",margin:0,padding:0,textAlign:"inherit",font:"inherit",textTransform:"none"},closed:{width:r.drawerWidthClosed,justifyContent:"center"},open:{[e.breakpoints.up("sm")]:{width:r.drawerWidthOpen}},highlightable:{"&:hover":{background:(a=(n=e.palette.navigation.navItem)===null||n===void 0?void 0:n.hoverBackground)!==null&&a!==void 0?a:"#404040"}},highlighted:{background:(l=(s=e.palette.navigation.navItem)===null||s===void 0?void 0:s.hoverBackground)!==null&&l!==void 0?l:"#404040"},label:{fontWeight:"bold",whiteSpace:"nowrap",lineHeight:"auto",flex:"3 1 auto",width:"110px",overflow:"hidden","text-overflow":"ellipsis"},iconContainer:{boxSizing:"border-box",height:"100%",width:r.iconContainerWidth,marginRight:-e.spacing(2),display:"flex",alignItems:"center",justifyContent:"center",lineHeight:"0"},searchRoot:{marginBottom:12},searchField:{color:"#b5b5b5",fontWeight:e.typography.fontWeightBold,fontSize:e.typography.fontSize},searchFieldHTMLInput:{padding:e.spacing(2,0,2)},searchContainer:{width:r.drawerWidthOpen-r.iconContainerWidth},secondaryAction:{width:e.spacing(6),textAlign:"center",marginRight:e.spacing(1)},closedItemIcon:{width:"100%",justifyContent:"center"},submenuArrow:{display:"flex"},expandButton:{background:"none",border:"none",color:e.palette.navigation.color,width:"100%",cursor:"pointer",position:"relative",height:48},arrows:{position:"absolute",right:10},selected:{"&$root":{borderLeft:`solid ${r.selectedIndicatorWidth}px ${e.palette.navigation.indicator}`,color:e.palette.navigation.selectedColor},"&$closed":{width:r.drawerWidthClosed},"& $closedItemIcon":{paddingRight:r.selectedIndicatorWidth},"& $iconContainer":{marginLeft:-r.selectedIndicatorWidth}}}},{name:"BackstageSidebarItem"});function bo(r){return(0,u.useMemo)(()=>da(r),[r])()}const ua=(r,e)=>(0,yo.O)(r.props.children,n=>{let s=!1;return n.getElements().forEach(({props:{to:a,dropdownItems:l}})=>{if(!s){if(l!=null&&l.length){l.forEach(({to:S})=>s=s||cs(e,(0,Bn.o1)(S)));return}a&&(s=cs(e,(0,Bn.o1)(a)))}}),s},[e.pathname]);function gr(r){return r.to===void 0}const ha=u.createElement(la).type,fa=u.forwardRef(function({to:e,end:n,style:s,className:a,activeStyle:l,caseSensitive:S,activeClassName:x="active","aria-current":L="page",...k},Z){let{pathname:rt}=(0,m.zy)(),{pathname:ht}=(0,m.x$)(e);S||(rt=rt.toLocaleLowerCase("en-US"),ht=ht.toLocaleLowerCase("en-US"));let mt=rt===ht;!mt&&!n&&(mt=rt.startsWith(`${ht}/`));const Ot=mt?L:void 0;return(0,i.jsx)(f.N_,{...k,to:e,ref:Z,"aria-current":Ot,style:{...s,...mt?l:void 0},className:dn()([typeof a!="function"?a:void 0,mt?x:void 0])})}),ds=(0,u.forwardRef)((r,e)=>{const{icon:n,text:s,hasNotifications:a=!1,hasSubmenu:l=!1,disableHighlight:S=!1,onClick:x,noTrack:L,children:k,className:Z,...rt}=r,{sidebarConfig:ht}=(0,u.useContext)(we.yY),mt=bo(ht),{isOpen:Ot}=ur(),zt=!Ot&&l?{display:"flex",marginLeft:"20px"}:{lineHeight:"0"},Vt=(0,i.jsxs)(on.A,{style:zt,children:[(0,i.jsx)(n,{fontSize:"small"}),!Ot&&l?(0,i.jsx)(as.A,{fontSize:"small"}):(0,i.jsx)(i.Fragment,{})]}),ne=(0,i.jsx)(ra.A,{color:"secondary",variant:"dot",overlap:"circular",invisible:!a,className:dn()({[mt.closedItemIcon]:!Ot}),children:Vt}),xe=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(on.A,{"data-testid":"login-button",className:mt.iconContainer,children:ne}),s&&(0,i.jsx)(hr.A,{variant:"subtitle2",component:"span",className:mt.label,children:s}),(0,i.jsx)("div",{className:mt.secondaryAction,children:k})]}),Ze=Ot?xe:ne,kn={onClick:x,className:dn()(Z,mt.root,Ot?mt.open:mt.closed,gr(r)&&mt.buttonItem,{[mt.highlightable]:!S})},gs=(0,Rr.s)(),{pathname:pr}=(0,m.x$)(!gr(r)&&r.to?r.to:""),ps=(0,u.useCallback)(ja=>{if(!L){const Ba="click",Ua=s!=null?s:"Sidebar Item",Fa=pr?{attributes:{to:pr}}:void 0;gs.captureEvent(Ba,Ua,Fa)}x==null||x(ja)},[gs,s,pr,L,x]);return gr(r)?(0,i.jsx)(E.A,{role:"button","aria-label":s,...kn,ref:e,onClick:ps,children:Ze}):(0,i.jsx)(fa,{...kn,activeClassName:mt.selected,to:r.to?r.to:"",ref:e,"aria-label":s||r.to,...rt,onClick:ps,children:Ze})}),ga=({children:r,...e})=>{const{sidebarConfig:n}=(0,u.useContext)(we.yY),s=bo(n),[a,l]=(0,u.useState)(!1),S=(0,m.zy)(),x=ua(r,S),L=(0,ts.A)(ht=>ht.breakpoints.down("sm")),k=()=>{l(!0)},Z=()=>{l(!1)},rt=()=>L?a?(0,i.jsx)(ia.A,{fontSize:"small",className:s.submenuArrow}):(0,i.jsx)(sa.A,{fontSize:"small",className:s.submenuArrow}):!a&&(0,i.jsx)(as.A,{fontSize:"small",className:s.submenuArrow});return(0,i.jsx)(we.U1.Provider,{value:{isHoveredOn:a,setIsHoveredOn:l},children:(0,i.jsxs)("div",{"data-testid":"item-with-submenu",onMouseLeave:Z,onTouchStart:a?Z:k,onMouseEnter:k,className:dn()(a&&s.highlighted),children:[(0,i.jsx)(ds,{hasSubmenu:!0,className:x?s.selected:"",...e,children:rt()}),a&&r]})})},us=(0,u.forwardRef)((r,e)=>{const[n]=(0,yo.O)(r.children,s=>s.getElements().filter(a=>a.type===ha));return n?(0,i.jsx)(ga,{...r,children:n}):(0,i.jsx)(ds,{...r,ref:e})});function tl(r){const{sidebarConfig:e}=useContext(SidebarConfigContext),[n,s]=useState(""),a=bo(e),l=r.icon?r.icon:SearchIcon,S=()=>{r.onSearch(n),s("")},x=rt=>{rt.key==="Enter"&&(rt.preventDefault(),S())},L=rt=>{s(rt.target.value)},k=rt=>{rt.preventDefault(),rt.stopPropagation()},Z=rt=>{S(),rt.preventDefault()};return _jsx(Box,{className:a.searchRoot,children:_jsx(us,{icon:l,to:r.to,onClick:Z,disableHighlight:!0,children:_jsx(TextField,{placeholder:"Search",value:n,onClick:k,onChange:L,onKeyDown:x,className:a.searchContainer,InputProps:{disableUnderline:!0,className:a.searchField},inputProps:{className:a.searchFieldHTMLInput}})})})}const el=(0,So.A)("div")({flex:1},{name:"BackstageSidebarSpace"}),nl=(0,So.A)("div")({height:8},{name:"BackstageSidebarSpacer"}),pa=(0,So.A)("hr")(({theme:r})=>({height:1,width:"100%",background:"#383838",border:"none",margin:r.spacing(1.2,0)}),{name:"BackstageSidebarDivider"}),va=r=>({overflowY:"auto","&::-webkit-scrollbar":{backgroundColor:r.palette.background.default,width:"5px",borderRadius:"5px"},"&::-webkit-scrollbar-thumb":{backgroundColor:r.palette.text.secondary,borderRadius:"5px"}}),ol=(0,So.A)("div")(({theme:r})=>{const e=va(r);return{flex:"0 1 auto",overflowX:"hidden",width:"100%",minHeight:"48px",overflowY:"hidden","@media (hover: none)":e,"&:hover":e}}),rl=()=>{const{sidebarConfig:r}=useContext(SidebarConfigContext),e=bo(r),{isOpen:n,setOpen:s}=useSidebarOpenState();if(useMediaQuery(S=>S.breakpoints.down("md"),{noSsr:!0}))return null;const l=()=>{s(!n)};return _jsx(Button,{role:"button",onClick:l,className:e.expandButton,"aria-label":"Expand Sidebar","data-testid":"sidebar-expand-button",children:_jsx(Box,{className:e.arrows,children:n?_jsx(DoubleArrowLeft,{}):_jsx(DoubleArrowRight,{})})})},ma=(0,Qe.A)({root:{width:we.hC.drawerWidthClosed,height:3*we.hC.logoHeight,display:"flex",flexFlow:"row nowrap",alignItems:"center",marginBottom:-14},link:{width:we.hC.drawerWidthClosed,marginLeft:24}}),ya=()=>{const r=ma(),{isOpen:e}=ur();return(0,i.jsx)("div",{className:r.root,children:(0,i.jsx)(_r.N_,{to:"/docs/default/component/local/",underline:"none",className:r.link,children:e?(0,i.jsx)($i,{}):(0,i.jsx)(Wi,{})})})},Ea=({children:r})=>(0,i.jsxs)(qr.G,{children:[(0,i.jsxs)(na,{children:[(0,i.jsx)(ya,{}),(0,i.jsx)(pa,{}),(0,i.jsx)(us,{icon:Ui.A,to:"/docs/default/component/local",text:"Docs Preview"})]}),r]});var Aa=t(71677),xa=t(62437),Ca=t(55484),Sa=t(45061),ba=t(16203);const Oa=(0,Qe.A)(r=>({headerIcon:{color:r.palette.common.white,width:"32px",height:"32px"},content:{backgroundColor:r.palette.background.default},contentToolbar:{display:"flex",justifyContent:"flex-end",padding:0}}));var hs;(function(r){r.LIGHT="light",r.DARK="dark"})(hs||(hs={}));const wa=()=>{const r=(0,jn.gf)(so),e=Oa(),[n,s]=(0,u.useState)(r.getActiveThemeId()==="dark"?"dark":"light"),a={light:{icon:Ca.A,title:"Dark theme"},dark:{icon:xa.A,title:"Light theme"}},{title:l,icon:S}=a[n],x=()=>{s(L=>{const k=L==="light"?"dark":"light";return r.setActiveThemeId(k),k})};return(0,i.jsx)(on.A,{display:"flex",alignItems:"center",mr:2,children:(0,i.jsx)(Aa.Ay,{title:l,arrow:!0,children:(0,i.jsx)(es.A,{size:"small",onClick:x,children:(0,i.jsx)(S,{className:e.headerIcon})})})})},Pa=()=>(0,i.jsxs)(g.Wj,{children:[(0,i.jsx)(Sa.T,{}),(0,i.jsx)(ba.p,{withSearch:!1})]}),Ta=(0,i.jsx)(Pa,{}),fs=ii({apis:Di,configLoader:Bi,plugins:Object.values(o)}),Ra=fs.getProvider(),Ia=fs.getRouter(),Da=g.Ju.provide((0,d.Hr)({name:"ThemeToggleAddon",component:wa,location:y.e.Header})),La=(0,i.jsxs)($r,{children:[(0,i.jsx)(m.C5,{to:"/docs/default/component/local/"},"/"),(0,i.jsx)(m.qh,{path:"/catalog/:namespace/:kind/:name",element:(0,i.jsx)(Ti,{})}),(0,i.jsx)(m.qh,{path:"/docs",element:(0,i.jsx)(g.$j,{}),children:(0,i.jsx)(c.K,{})}),(0,i.jsxs)(m.qh,{path:"/docs/:namespace/:kind/:name/*",element:(0,i.jsx)(g.Wj,{}),children:[Ta,(0,i.jsx)(d.po,{children:(0,i.jsx)(Da,{})})]})]});var Ma=()=>(0,i.jsx)(Ra,{children:(0,i.jsx)(Ia,{children:(0,i.jsx)(Ea,{children:La})})});A.createRoot(document.getElementById("root")).render((0,i.jsx)(Ma,{}))},43836:function(Y,T,t){"use strict";t.d(T,{qO:function(){return A},tK:function(){return u}});var o=t(14041),i=t(63544);function u(g){return(0,i.Q)(g,()=>(0,o.createContext)(void 0))}function A(g){return(0,o.useContext)(u(g))}function m(g){return{set(c){globalThis[`__@backstage/${g}__`]=createContext(createVersionedValueMap(c))},reset(){delete globalThis[`__@backstage/${g}__`]}}}},10602:function(Y,T,t){"use strict";t.d(T,{B:function(){return o}});function o(i){Object.freeze(i);const u={atVersion(A){return i[A]}};return Object.defineProperty(u,"$map",{configurable:!0,enumerable:!0,get(){return i}}),u}},63544:function(Y,T,t){"use strict";t.d(T,{Q:function(){return A}});function o(){return typeof window!="undefined"&&window.Math===Math?window:typeof self!="undefined"&&self.Math===Math?self:Function("return this")()}const i=o(),u=m=>`__@backstage/${m}__`;function A(m,g){const c=u(m);let d=i[c];return d||(d=g(),i[c]=d,d)}},7341:function(Y,T,t){"use strict";t.d(T,{v:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"plugin.catalog.service"})},82292:function(Y,T,t){"use strict";t.d(T,{n:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"plugin.catalog.entity-presentation"})},88083:function(Y,T,t){"use strict";t.d(T,{T:function(){return m}});var o=t(6820),i=t(72348),u=t(46123),A=t.n(u);function m(d,y){const{kind:E,namespace:O,name:p,title:C,description:f,displayName:R,type:P}=g(d),w=(0,o.U2)({kind:E||"unknown",namespace:O||i.oQ,name:p||"unknown"}),M=c({kind:E,namespace:O,name:p,context:y}),D=[R,C,M].find(z=>z&&typeof z=="string"),b=[D!==w?w:void 0,P,f].filter(z=>z&&typeof z=="string").join(" | ");return{entityRef:w,primaryTitle:D,secondaryTitle:b||void 0,Icon:void 0}}function g(d){if(typeof d=="string"){let y=d.indexOf(":");const E=d.indexOf("/");E!==-1&&E<y&&(y=-1);const O=y===-1?void 0:d.slice(0,y),p=E===-1?void 0:d.slice(y+1,E),C=d.slice(Math.max(y+1,E+1));return{kind:O,namespace:p,name:C}}if(typeof d=="object"&&d!==null){const y=[A()(d,"kind")].find(P=>P&&typeof P=="string"),E=[A()(d,"metadata.namespace"),A()(d,"namespace")].find(P=>P&&typeof P=="string"),O=[A()(d,"metadata.name"),A()(d,"name")].find(P=>P&&typeof P=="string"),p=[A()(d,"metadata.title")].find(P=>P&&typeof P=="string"),C=[A()(d,"metadata.description")].find(P=>P&&typeof P=="string"),f=[A()(d,"spec.profile.displayName")].find(P=>P&&typeof P=="string"),R=[A()(d,"spec.type")].find(P=>P&&typeof P=="string");return{kind:y,namespace:E,name:O,title:p,description:C,displayName:f,type:R}}return{}}function c(d){var y,E,O,p,C;const f=((y=d.kind)===null||y===void 0?void 0:y.toLocaleLowerCase("en-US"))||"unknown",R=d.namespace||i.oQ,P=d.name||"unknown",w=(O=d.context)===null||O===void 0||(E=O.defaultKind)===null||E===void 0?void 0:E.toLocaleLowerCase("en-US"),M=(C=d.context)===null||C===void 0||(p=C.defaultNamespace)===null||p===void 0?void 0:p.toLocaleLowerCase("en-US");let D=P;return(M&&R.toLocaleLowerCase("en-US")!==M||R!==i.oQ)&&(D=`${R}/${D}`),w&&f.toLocaleLowerCase("en-US")!==w&&(D=`${f}:${D}`),D}},3169:function(Y,T,t){"use strict";t.d(T,{f:function(){return c}});var o=t(6820),i=t(72427),u=t(14041),A=t(82292),m=t(88083);function g(d,y,E){const[O,p]=(0,u.useState)(d);return(0,u.useEffect)(()=>{p(d);const C=y==null?void 0:y.subscribe({next:f=>{p(f)},complete:()=>{C==null||C.unsubscribe()}});return()=>{C==null||C.unsubscribe()}},E),O}function c(d,y){const O=(0,i.Q2)().get(A.n),p=[O,JSON.stringify(d),JSON.stringify(y||null)],C=(0,u.useMemo)(()=>O?O.forEntity(typeof d=="string"||"metadata"in d?d:(0,o.U2)(d),y):{snapshot:(0,m.T)(d,y)},p);return g(C.snapshot,C.update$,[C])}},18:function(Y,T,t){"use strict";t.d(T,{a:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"catalog-react.starred-entities"})},54203:function(Y,T,t){"use strict";t.d(T,{GI:function(){return C}});var o=t(31085),i=t(14041),u=t(5893),A=t(54917),m=t(64947),g=t(73845),c=t(10394),d=t(72501),y=t(42899),E=t(65859);const O=f=>{var R;const P=(0,u.A)(z=>{var G,q;return z.breakpoints.down((q=(G=f.options)===null||G===void 0?void 0:G.drawerBreakpoint)!==null&&q!==void 0?q:"md")}),w=(0,A.A)(),[M,D]=(0,i.useState)(!1);var b;return P?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(m.A,{style:{marginTop:w.spacing(1),marginLeft:w.spacing(1)},onClick:()=>D(!0),startIcon:(0,o.jsx)(E.A,{}),children:"Filters"}),(0,o.jsx)(g.Ay,{open:M,onClose:()=>D(!1),anchor:(b=(R=f.options)===null||R===void 0?void 0:R.drawerAnchor)!==null&&b!==void 0?b:"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary",children:(0,o.jsxs)(c.A,{m:2,children:[(0,o.jsx)(d.A,{variant:"h6",component:"h2",style:{marginBottom:w.spacing(1)},children:"Filters"}),f.children]})})]}):(0,o.jsx)(y.A,{item:!0,lg:2,children:f.children})},p=f=>(0,o.jsx)(y.A,{item:!0,xs:12,lg:10,children:f.children}),C=f=>(0,o.jsx)(y.A,{container:!0,style:{position:"relative"},children:f.children});C.Filters=O,C.Content=p},50207:function(Y,T,t){"use strict";t.d(T,{y:function(){return H}});var o=t(31085),i=t(58837),u=t(10394),A=t(72501),m=t(6924),g=t(20577),c=t(14041),d=t(72427),y=t(91638),E=t(7341),O=t(69076),p=t(86901),C=t(44148),f=t(41260);const R=(0,o.jsx)(f.A,{fontSize:"small"}),P=(0,o.jsx)(C.A,{fontSize:"small"});function w({selected:_}){return(0,o.jsx)(O.A,{icon:R,checkedIcon:P,checked:_})}const M=(0,c.memo)(_=>{const{selected:it,value:gt,availableOptions:ut,showCounts:bt}=_,st=bt?`${gt} (${ut==null?void 0:ut[gt]})`:gt;return(0,o.jsx)(p.A,{control:(0,o.jsx)(w,{selected:it}),label:st,onClick:yt=>yt.preventDefault()})});var D=t(16249),b=t(53373),z=t.n(b);const G=(0,i.A)({input:{}},{name:"CatalogReactEntityAutocompletePickerInput"});function q(_){const it=G();return(0,o.jsx)(D.A,{variant:"outlined",..._,className:z()(it.input,_.className)})}var K=t(21405),W=t(26796);const X=(0,i.A)({root:{},label:{}},{name:"CatalogReactEntityAutocompletePicker"});function H(_){var it;const{label:gt,name:ut,path:bt,showCounts:st,Filter:yt,InputProps:dt,initialSelectedOptions:at=[],filtersForAvailableValues:vt=["kind"]}=_,et=X(),{updateFilters:Ct,filters:Et,queryParameters:{[ut]:nt}}=(0,K.nK)(),ot=(0,d.gf)(E.v),ft=vt.map(Tt=>Et[Tt]),{value:Pt}=(0,y.default)(async()=>{const Tt=bt,{facets:Ut}=await ot.getEntityFacets({facets:[Tt],filter:(0,W.Rr)(ft.filter(Boolean))});return Object.fromEntries(Ut[Tt].map(({value:wt,count:Ft})=>[wt,Ft]))},[...ft]),At=(0,c.useMemo)(()=>[nt].flat().filter(Boolean),[nt]);var N;const[V,pt]=(0,c.useState)(At.length?At:(N=(it=Et[ut])===null||it===void 0?void 0:it.values)!==null&&N!==void 0?N:at);(0,c.useEffect)(()=>{At.length&&pt(At)},[At]);const xt=Object.keys(Pt!=null?Pt:{}),Bt=V.length&&xt.length;(0,c.useEffect)(()=>{Ct({[ut]:Bt?new yt(V):void 0})},[ut,Bt,V,yt,Ct]);const Rt=Et[ut];return Rt&&typeof Rt=="object"&&!("values"in Rt)||!xt.length||xt.length<=1?null:(0,o.jsx)(u.A,{className:et.root,pb:1,pt:1,children:(0,o.jsxs)(A.A,{className:et.label,variant:"button",component:"label",children:[gt,(0,o.jsx)(g.Ay,{multiple:!0,disableCloseOnSelect:!0,options:xt,value:V,onChange:(Tt,Ut)=>pt(Ut),renderOption:(Tt,{selected:Ut})=>(0,o.jsx)(M,{selected:Ut,value:Tt,availableOptions:Pt,showCounts:!!st}),size:"small",popupIcon:(0,o.jsx)(m.A,{"data-testid":`${String(ut)}-picker-expand`}),renderInput:Tt=>(0,o.jsx)(q,{...Tt,...dt})})]})})}},72987:function(Y,T,t){"use strict";t.d(T,{t:function(){return Et}});var o=t(31085),i=t(6820),u=t(58837),A=t(86901),m=t(10394),g=t(69076),c=t(71677),d=t(72501),y=t(16249),E=t(44148),O=t(41260),p=t(6924),C=t(20577),f=t(14041),R=t(21405),P=t(92822),w=t(92367),M=t(48108),D=t(47966),b=t(90184),z=t(72427),G=t(5030),q=t(7341);function K({enabled:nt}){const ot=(0,z.gf)(q.v),[ft]=(0,f.useState)(async()=>{if(!nt)return[];const Pt="relations.ownedBy";return ot.getEntityFacets({facets:[Pt]}).then(At=>At.facets[Pt].map(N=>N.value).map(N=>{const{kind:V,name:pt,namespace:xt}=(0,i.KU)(N);return{apiVersion:"backstage.io/v1beta1",kind:V,metadata:{name:pt,namespace:xt}}}).sort((N,V)=>(N.metadata.namespace||"").localeCompare(V.metadata.namespace||"","en-US")||N.metadata.name.localeCompare(V.metadata.name,"en-US")||N.kind.localeCompare(V.kind,"en-US"))).catch(()=>[])});return(0,G.default)(async(Pt,At)=>{const N=await ft;if(!N)return{items:[]};var V;const pt=(V=At==null?void 0:At.limit)!==null&&V!==void 0?V:20,{text:xt,start:Bt}=W(Pt),Rt=N.filter(Ut=>_(xt,Ut)),Tt=Bt+pt;return{items:Rt.slice(0,Tt),...H({entities:Rt,limit:Tt,payload:{text:xt,start:Tt}})}},[ft],{loading:!0,value:{items:[]}})}function W(nt){return X(nt)&&nt.cursor?JSON.parse(atob(nt.cursor)):{text:nt.text||"",start:0}}function X(nt){return!!nt.cursor}function H({entities:nt,limit:ot,payload:ft}){return nt.length>ot?{cursor:btoa(JSON.stringify(ft))}:{}}function _(nt,ot){var ft;const Pt=nt.trim();return ot.kind.includes(Pt)||((ft=ot.metadata.namespace)===null||ft===void 0?void 0:ft.includes(Pt))||ot.metadata.name.includes(Pt)}function it(){const nt=(0,z.gf)(q.v);return(0,G.default)(async(ot,ft)=>{const Pt=ot,At=ot;var N;const V=(N=ft==null?void 0:ft.limit)!==null&&N!==void 0?N:20;if(At.cursor){const xt=await nt.queryEntities({cursor:At.cursor,limit:V});return{cursor:xt.pageInfo.nextCursor,items:[...At.items,...xt.items]}}const pt=await nt.queryEntities({fullTextFilter:{term:Pt.text||"",fields:["metadata.name","kind","spec.profile.displayname","metadata.title"]},filter:{kind:["User","Group"]},orderFields:[{field:"metadata.name",order:"asc"}],limit:V});return{cursor:pt.pageInfo.nextCursor,items:pt.items}},[],{loading:!0})}var gt=t(76842);function ut({mode:nt,initialSelectedOwnersRefs:ot}){const ft=nt==="owners-only",Pt=it(),At=K({enabled:ft}),[N,V]=ft?At:Pt;return[N,V,bt({enabled:!ft,initialSelectedOwnersRefs:ot})]}function bt({enabled:nt,initialSelectedOwnersRefs:ot}){const ft=(0,f.useRef)({}),Pt=(0,z.gf)(q.v),[,At]=(0,G.default)(async()=>{(await Pt.getEntitiesByRefs({entityRefs:ot})).items.forEach(V=>{V&&(ft.current[(0,i.U2)(V)]=V)})},[]);return(0,gt.u)(()=>{nt&&ot.length>0&&At()}),{getEntity:N=>ft.current[N],setEntity:N=>{ft.current[(0,i.U2)(N)]=N}}}var st=t(7031),yt=t(3169);const dt=(0,u.A)({root:{},label:{},input:{},fullWidth:{width:"100%"},boxLabel:{width:"100%",textOverflow:"ellipsis",overflow:"hidden"}},{name:"CatalogReactEntityOwnerPicker"}),at=(0,st.A)(nt=>({label:{width:"100%"},root:{width:"90%"}}),{name:"FixedWidthFormControlLabel"})(A.A),vt=(0,o.jsx)(O.A,{fontSize:"small"}),et=(0,o.jsx)(E.A,{fontSize:"small"});function Ct(nt){const ot=dt(),ft=nt.entity.kind.toLocaleLowerCase("en-US")==="group",{primaryTitle:Pt}=(0,yt.f)(nt.entity);return(0,o.jsx)(m.A,{className:ot.fullWidth,children:(0,o.jsx)(at,{className:ot.fullWidth,control:(0,o.jsx)(g.A,{icon:vt,checkedIcon:et,checked:nt.isSelected}),onClick:At=>At.preventDefault(),label:(0,o.jsx)(c.Ay,{title:Pt,children:(0,o.jsxs)(m.A,{display:"flex",alignItems:"center",children:[ft?(0,o.jsx)(D.A,{fontSize:"small"}):(0,o.jsx)(M.A,{fontSize:"small"}),"\xA0",(0,o.jsx)(m.A,{className:ot.boxLabel,children:(0,o.jsx)(d.A,{noWrap:!0,children:Pt})})]})})})})}const Et=nt=>{var ot,ft;const Pt=dt(),{mode:At="owners-only"}=nt||{},{updateFilters:N,filters:V,queryParameters:{owners:pt}}=(0,R.nK)(),[xt,Bt]=(0,f.useState)(""),Rt=(0,f.useMemo)(()=>[pt].flat().filter(Boolean),[pt]);var Tt;const[Ut,wt]=(0,f.useState)(Rt.length?Rt:(Tt=(ot=V.owners)===null||ot===void 0?void 0:ot.values)!==null&&Tt!==void 0?Tt:[]),[{value:Ft,loading:Xt},se,ie]=ut({mode:At,initialSelectedOwnersRefs:Ut});(0,w.s)(()=>se({text:xt}),[xt,se],250);const _t=(Ft==null?void 0:Ft.items)||[];return(0,f.useEffect)(()=>{if(Rt.length){const $t=new P.N9(Rt);wt($t.values)}},[Rt]),(0,f.useEffect)(()=>{N({owners:Ut.length?new P.N9(Ut):void 0})},[Ut,N]),["user","group"].includes(((ft=V.kind)===null||ft===void 0?void 0:ft.value.toLocaleLowerCase("en-US"))||"")?null:(0,o.jsx)(m.A,{className:Pt.root,pb:1,pt:1,children:(0,o.jsxs)(d.A,{className:Pt.label,variant:"button",component:"label",children:["Owner",(0,o.jsx)(C.Ay,{multiple:!0,disableCloseOnSelect:!0,loading:Xt,options:_t,value:Ut,getOptionSelected:($t,Zt)=>typeof Zt=="string"?(0,i.U2)($t)===Zt:$t===Zt,getOptionLabel:$t=>{const Zt=typeof $t=="string"?ie.getEntity($t)||(0,i.KU)($t,{defaultKind:"group",defaultNamespace:"default"}):$t;return(0,b.Z)(Zt,(0,b.S)(Zt))},onChange:($t,Zt)=>{Bt(""),wt(Zt.map(Ce=>{const ke=typeof Ce=="string"?Ce:(0,i.U2)(Ce);return typeof Ce!="string"&&ie.setEntity(Ce),ke}))},filterOptions:$t=>$t,renderOption:($t,{selected:Zt})=>(0,o.jsx)(Ct,{entity:$t,isSelected:Zt}),size:"small",popupIcon:(0,o.jsx)(p.A,{"data-testid":"owner-picker-expand"}),renderInput:$t=>(0,o.jsx)(y.A,{...$t,className:Pt.input,onChange:Zt=>{Bt(Zt.currentTarget.value)},variant:"outlined"}),ListboxProps:{onScroll:$t=>{const Zt=$t.currentTarget;Math.abs(Zt.scrollHeight-Zt.clientHeight-Zt.scrollTop)<1&&(Ft!=null&&Ft.cursor)&&se({items:Ft.items,cursor:Ft.cursor})},"data-testid":"owner-picker-listbox"}})]})})}},8859:function(Y,T,t){"use strict";t.d(T,{z:function(){return f}});var o=t(31085),i=t(6820),u=t(72348),A=t(72072),m=t(9222),g=t(14041),c=t(29207),d=t(58837),y=t(10394),E=t(71677),O=t(3169);const p=(0,d.A)(P=>({root:{display:"inline-flex",alignItems:"center"},icon:{marginRight:P.spacing(.5),color:P.palette.text.secondary,lineHeight:0}}),{name:"CatalogReactEntityDisplayName"}),C=P=>{const{entityRef:w,hideIcon:M,disableTooltip:D,defaultKind:b,defaultNamespace:z}=P,G=p(),{primaryTitle:q,secondaryTitle:K,Icon:W}=(0,O.f)(w,{defaultKind:b,defaultNamespace:z});let X=(0,o.jsx)(o.Fragment,{children:q});return X=(0,o.jsxs)(y.A,{component:"span",className:G.root,children:[W&&!M?(0,o.jsx)(y.A,{component:"span",className:G.icon,children:(0,o.jsx)(W,{fontSize:"inherit"})}):null,X]}),K&&!D&&(X=(0,o.jsx)(E.Ay,{enterDelay:1500,title:K,children:X})),X},f=(0,g.forwardRef)((P,w)=>{const{entityRef:M,defaultKind:D,defaultNamespace:b,title:z,children:G,hideIcon:q,...K}=P,W=R(P.entityRef);var X;const H=(X=G!=null?G:z)!==null&&X!==void 0?X:(0,o.jsx)(C,{entityRef:M,defaultKind:D,defaultNamespace:b,hideIcon:q});return(0,o.jsx)(A.N_,{...K,ref:w,to:W,children:H})});function R(P){const w=(0,m.S)(c.s);let M,D,b;if(typeof P=="string"){const q=(0,i.KU)(P);M=q.kind,D=q.namespace,b=q.name}else"metadata"in P?(M=P.kind,D=P.metadata.namespace,b=P.metadata.name):(M=P.kind,D=P.namespace,b=P.name);M=M.toLocaleLowerCase("en-US");var z;D=(z=D==null?void 0:D.toLocaleLowerCase("en-US"))!==null&&z!==void 0?z:u.oQ;const G={kind:encodeURIComponent(M),namespace:encodeURIComponent(D),name:encodeURIComponent(b)};return w(G)}},34428:function(Y,T,t){"use strict";t.d(T,{i:function(){return m}});var o=t(31085),i=t(6820),u=t(14041),A=t(8859);function m(g){const{entityRefs:c,hideIcons:d,...y}=g;return(0,o.jsx)(o.Fragment,{children:c.map((E,O)=>{const p=typeof E=="string"?E:(0,i.U2)(E);return(0,o.jsxs)(u.Fragment,{children:[O>0&&", ",(0,o.jsx)(A.z,{...y,entityRef:E,hideIcon:d})]},`${O}.${p}`)})})}},90184:function(Y,T,t){"use strict";t.d(T,{S:function(){return A},Z:function(){return m}});var o=t(72348),i=t(46123),u=t.n(i);function A(g,c){const d=c==null?void 0:c.defaultKind;let y,E,O;return"metadata"in g?(y=g.kind,E=g.metadata.namespace,O=g.metadata.name):(y=g.kind,E=g.namespace,O=g.name),(E===void 0||E==="")&&(E=o.oQ),(c==null?void 0:c.defaultNamespace)!==void 0?(c==null?void 0:c.defaultNamespace)===E&&(E=void 0):E===o.oQ&&(E=void 0),y=y.toLocaleLowerCase("en-US"),y=d&&d.toLocaleLowerCase("en-US")===y?void 0:y,`${y?`${y}:`:""}${E?`${E}/`:""}${O}`}function m(g,c){for(const d of["spec.profile.displayName","metadata.title"]){const y=u()(g,d);if(y&&typeof y=="string")return y}return c}},91035:function(Y,T,t){"use strict";t.d(T,{m:function(){return c}});var o=t(31085),i=t(58837),u=t(14041),A=t(92822),m=t(50207);const g=(0,i.A)({input:{}},{name:"CatalogReactEntityTagPicker"}),c=d=>{const y=g();return(0,o.jsx)(m.y,{label:"Tags",name:"tags",path:"metadata.tags",Filter:A.q_,showCounts:d.showCounts,InputProps:{className:y.input}})}},67626:function(Y,T,t){"use strict";t.d(T,{y:function(){return bt}});var o=t(31085),i=t(72427),u=t(65461),A=t(58837),m=t(40703),g=t(72501),c=t(58007),d=t(26343),y=t(46423),E=t(5951),O=t(65569),p=t(9684),C=t(80109),f=t(14041),R=t(92822),P=t(21405),w=t(16009),M=t(45250),D=t(91638),b=t(7341),z=t(26796),G=t(5030),q=t(71910);function K(){const st=(0,i.gf)(w.K),yt=(0,i.gf)(b.v),{filters:dt}=(0,P.nK)(),{value:at,loading:vt}=(0,D.default)(async()=>(await st.getBackstageIdentity()).ownershipEntityRefs,[]),{user:et,owners:Ct,...Et}=dt,nt=(0,z.$3)((0,M.compact)(Object.values(Et))),[{value:ot,loading:ft},Pt]=(0,G.default)(async N=>{const V=W(N.owners,N.ownershipEntityRefs);if(V===void 0)return 0;const{["metadata.name"]:pt,...xt}=N.filter.filter,{totalItems:Bt}=await yt.queryEntities({...N.filter,filter:{...xt,"relations.ownedBy":V},limit:0});return Bt},[],{loading:!0});return(0,q.A)(()=>{Object.keys(nt.filter).length!==0&&at!==void 0&&Pt({ownershipEntityRefs:at,owners:Ct,filter:nt})},[at,Ct,nt]),{count:ot,loading:vt||ft,filter:(0,f.useMemo)(()=>R.tN.owned(at!=null?at:[]),[at]),ownershipEntityRefs:at}}function W(st,yt){if(yt===void 0)return;var dt;const at=(dt=st==null?void 0:st.values)!==null&&dt!==void 0?dt:[];if(at.length){const vt=(0,M.intersection)(at,yt);return vt.length===0?void 0:vt}return yt}function X(){const st=(0,i.gf)(b.v),{filters:yt}=(0,P.nK)(),dt=(0,f.useRef)(),at=(0,f.useMemo)(()=>{const{user:Ct,...Et}=yt,nt=(0,M.compact)(Object.values(Et)),ot=(0,z.$3)(nt),ft={...ot,limit:0};return Object.keys(ot.filter).length===0?(dt.current=void 0,dt.current):(0,M.isEqual)(ft,dt.current)?dt.current:(dt.current=ft,ft)},[yt]),{value:vt,loading:et}=(0,D.default)(async()=>{if(at===void 0)return 0;const{totalItems:Ct}=await st.queryEntities(at);return Ct},[at]);return{count:vt,loading:et}}var H=t(6820),_=t(56889);function it(){const st=(0,i.gf)(b.v),{filters:yt}=(0,P.nK)(),{starredEntities:dt}=(0,_.I)(),at=(0,f.useRef)(),vt=(0,f.useMemo)(()=>{const{user:nt,...ot}=yt,ft=(0,M.compact)(Object.values(ot)),Pt=(0,z.$3)(ft),N={...Pt,filter:{...Pt.filter,["metadata.name"]:Array.from(dt).map(V=>(0,H.KU)(V).name)},limit:1e3};return(0,M.isEqual)(N,at.current)?at.current:(at.current=N,N)},[yt,dt]),{value:et,loading:Ct}=(0,D.default)(async()=>dt.size?(await st.queryEntities(vt)).items.map(ot=>(0,H.U2)({kind:ot.kind,namespace:ot.metadata.namespace,name:ot.metadata.name})).filter(ot=>dt.has(ot)).length:0,[vt,dt]),Et=(0,f.useMemo)(()=>R.tN.starred(Array.from(dt)),[dt]);return{count:et,loading:Ct,filter:Et}}const gt=(0,A.A)(st=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:st.spacing(1,0,1,0)},title:{margin:st.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:st.palette.text.primary},menuItem:{minHeight:st.spacing(6)},groupWrapper:{margin:st.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"});function ut(st){return[{name:"Personal",items:[{id:"owned",label:"Owned",icon:p.A},{id:"starred",label:"Starred",icon:C.A}]},{name:st!=null?st:"Company",items:[{id:"all",label:"All"}]}]}const bt=st=>{const{initialFilter:yt,availableFilters:dt}=st,at=gt(),vt=(0,i.gf)(u.U);var et;const Ct=(et=vt.getOptionalString("organization.name"))!==null&&et!==void 0?et:"Company",{filters:Et,updateFilters:nt,queryParameters:{kind:ot,user:ft}}=(0,P.nK)(),Pt=["starred","all"],At=ut(Ct).map(ie=>({...ie,items:ie.items.filter(({id:_t})=>["group","user"].some($t=>$t===ot)?Pt.includes(_t):!dt||dt.includes(_t))})).filter(({items:ie})=>!!ie.length),{count:N,loading:V,filter:pt}=K(),{count:xt}=X(),{count:Bt,filter:Rt,loading:Tt}=it(),Ut=(0,f.useMemo)(()=>[ft].flat()[0],[ft]),[wt,Ft]=(0,f.useState)(Ut!=null?Ut:yt),Xt=(0,f.useMemo)(()=>({all:xt,starred:Bt,owned:N}),[Bt,N,xt]);(0,f.useEffect)(()=>{Ut&&Ft(Ut)},[Ut]);const se=V||Tt;return(0,f.useEffect)(()=>{!se&&wt&&wt!=="all"&&Xt[wt]===0&&Ft("all")},[se,Xt,wt,Ft]),(0,f.useEffect)(()=>{if(!wt||se)return;nt({user:wt==="owned"?pt:wt==="starred"?Rt:R.tN.all()})},[wt,Rt,pt,nt,se]),(0,o.jsx)(m.A,{className:at.root,children:At.map(ie=>(0,o.jsxs)(f.Fragment,{children:[(0,o.jsx)(g.A,{variant:"subtitle2",component:"span",className:at.title,children:ie.name}),(0,o.jsx)(m.A,{className:at.groupWrapper,children:(0,o.jsx)(c.A,{disablePadding:!0,dense:!0,role:"menu","aria-label":ie.name,children:ie.items.map(_t=>{var $t,Zt;return(0,o.jsxs)(d.A,{role:"none presentation",divider:!0,onClick:()=>Ft(_t.id),selected:_t.id===(($t=Et.user)===null||$t===void 0?void 0:$t.value),className:at.menuItem,disabled:Xt[_t.id]===0,"data-testid":`user-picker-${_t.id}`,tabIndex:0,ContainerProps:{role:"menuitem"},children:[_t.icon&&(0,o.jsx)(y.A,{className:at.listIcon,children:(0,o.jsx)(_t.icon,{fontSize:"small"})}),(0,o.jsx)(E.A,{children:(0,o.jsxs)(g.A,{variant:"body1",children:[_t.label," "]})}),(0,o.jsx)(O.A,{children:(Zt=Xt[_t.id])!==null&&Zt!==void 0?Zt:"-"})]},_t.id)})})})]},ie.name))})}},92822:function(Y,T,t){"use strict";t.d(T,{I5:function(){return E},Kf:function(){return f},N9:function(){return y},V3:function(){return d},gM:function(){return m},gZ:function(){return C},mT:function(){return R},qA:function(){return g},q_:function(){return c},tN:function(){return p},z:function(){return O}});var o=t(18990),i=t(51372),u=t(6820),A=t(67871);class m{getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}constructor(w){(0,o._)(this,"value",void 0),this.value=w}}class g{getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}constructor(w){(0,o._)(this,"value",void 0),this.value=w}}class c{filterEntity(w){return this.values.every(M=>{var D;return((D=w.metadata.tags)!==null&&D!==void 0?D:[]).includes(M)})}getCatalogFilters(){return{"metadata.tags":this.values}}toQueryValue(){return this.values}constructor(w){(0,o._)(this,"values",void 0),this.values=w}}class d{filterEntity(w){const M=this.toUpperArray(this.value.split(/\s/)),D=this.toUpperArray([w.metadata.tags]),b=this.toUpperArray([w.metadata.name,w.metadata.title]);for(const z of M)if(D.every(G=>G!==z)&&b.every(G=>!G.includes(z)))return!1;return!0}getFullTextFilters(){return{term:this.value,fields:["metadata.name","metadata.title","spec.profile.displayName"]}}toUpperArray(w){return w.flat().filter(M=>!!M).map(M=>M.toLocaleUpperCase("en-US"))}constructor(w){(0,o._)(this,"value",void 0),this.value=w}}class y{getCatalogFilters(){return{"relations.ownedBy":this.values}}filterEntity(w){return this.values.some(M=>(0,A.t)(w,i.vv).some(D=>(0,u.U2)(D)===M))}toQueryValue(){return this.values}constructor(w){(0,o._)(this,"values",void 0),this.values=w.reduce((M,D)=>{try{return M.push((0,u.U2)((0,u.KU)(D,{defaultKind:"Group"}))),M}catch{return M}},[])}}class E{getCatalogFilters(){return{"spec.lifecycle":this.values}}filterEntity(w){return this.values.some(M=>{var D;return((D=w.spec)===null||D===void 0?void 0:D.lifecycle)===M})}toQueryValue(){return this.values}constructor(w){(0,o._)(this,"values",void 0),this.values=w}}class O{getCatalogFilters(){return{"metadata.namespace":this.values}}filterEntity(w){return this.values.some(M=>w.metadata.namespace===M)}toQueryValue(){return this.values}constructor(w){(0,o._)(this,"values",void 0),this.values=w}}class p{static owned(w){return new p("owned",w)}static all(){return new p("all")}static starred(w){return new p("starred",w)}getCatalogFilters(){if(this.value==="owned"){var w;return{"relations.ownedBy":(w=this.refs)!==null&&w!==void 0?w:[]}}if(this.value==="starred"){var M,D;return{"metadata.name":(D=(M=this.refs)===null||M===void 0?void 0:M.map(b=>(0,u.KU)(b).name))!==null&&D!==void 0?D:[]}}return{}}filterEntity(w){if(this.value==="starred"){var M,D;return(D=(M=this.refs)===null||M===void 0?void 0:M.includes((0,u.U2)(w)))!==null&&D!==void 0?D:!0}if(this.value==="owned"){var b;const G=(0,A.t)(w,i.vv);var z;return(z=(b=this.refs)===null||b===void 0?void 0:b.some(q=>G.some(K=>(0,u.U2)(K)===q)))!==null&&z!==void 0?z:!1}return!0}toQueryValue(){return this.value}constructor(w,M){(0,o._)(this,"value",void 0),(0,o._)(this,"refs",void 0),this.value=w,this.refs=M}}class C{filterEntity(w){switch(this.value){case"owned":return this.isOwnedEntity(w);case"starred":return this.isStarredEntity(w);default:return!0}}toQueryValue(){return this.value}constructor(w,M,D){(0,o._)(this,"value",void 0),(0,o._)(this,"isOwnedEntity",void 0),(0,o._)(this,"isStarredEntity",void 0),this.value=w,this.isOwnedEntity=M,this.isStarredEntity=D}}class f{getCatalogFilters(){return this.value?{"metadata.annotations.backstage.io/orphan":String(this.value)}:{}}filterEntity(w){var M;const D=(M=w.metadata.annotations)===null||M===void 0?void 0:M["backstage.io/orphan"];return D!==void 0&&this.value.toString()===D}constructor(w){(0,o._)(this,"value",void 0),this.value=w}}class R{filterEntity(w){var M,D;const b=(w==null||(D=w.status)===null||D===void 0||(M=D.items)===null||M===void 0?void 0:M.length)>0;return b!==void 0&&this.value===b}constructor(w){(0,o._)(this,"value",void 0),this.value=w}}},21405:function(Y,T,t){"use strict";t.d(T,{B9:function(){return R},nK:function(){return P}});var o=t(31085),i=t(45250),u=t.n(i),A=t(45810),m=t.n(A),g=t(14041),c=t(18690),d=t(5030),y=t(16983),E=t(10009),O=t(7341),p=t(26796),C=t(72427);const f=(0,g.createContext)(void 0),R=w=>{const M=(0,E.default)(),D=(0,C.gf)(O.v),[b,z]=(0,g.useState)({}),G=(0,c.zy)(),q=w.pagination===!0||typeof w.pagination=="object",K=w.pagination&&typeof w.pagination=="object"&&typeof w.pagination.limit=="number"?w.pagination.limit:20,{queryParameters:W,cursor:X}=(0,g.useMemo)(()=>{const vt=m().parse(G.search,{ignoreQueryPrefix:!0});var et;return{queryParameters:(et=vt.filters)!==null&&et!==void 0?et:{},cursor:typeof vt.cursor=="string"?vt.cursor:void 0}},[G]),[H,_]=(0,g.useState)(X),[it,gt]=(0,g.useState)(()=>({appliedFilters:{},entities:[],backendEntities:[],pageInfo:q?{}:void 0})),[{loading:ut,error:bt},st]=(0,d.default)(async()=>{const vt=(0,i.compact)(Object.values(b)),et=Object.keys(b).reduce((Et,nt)=>{const ot=b[nt];return ot!=null&&ot.toQueryValue&&(Et[nt]=ot.toQueryValue()),Et},{});if(q)if(H){if(H!==it.appliedCursor){const Et=(0,p.be)(vt),nt=await D.queryEntities({cursor:H,limit:K});gt({appliedFilters:b,appliedCursor:H,backendEntities:nt.items,entities:nt.items.filter(Et),pageInfo:nt.pageInfo,totalItems:nt.totalItems})}}else{const Et=(0,p.be)(vt),nt=(0,p.$3)(vt),ot=(0,p.$3)((0,i.compact)(Object.values(it.appliedFilters)));if(!(0,i.isEqual)(ot,nt)){const ft=await D.queryEntities({...nt,limit:K,orderFields:[{field:"metadata.name",order:"asc"}]});gt({appliedFilters:b,backendEntities:ft.items,entities:ft.items.filter(Et),pageInfo:ft.pageInfo,totalItems:ft.totalItems})}}else{const Et=(0,p.be)(vt),nt=(0,p.Rr)(vt),ot=(0,p.Rr)((0,i.compact)(Object.values(it.appliedFilters)));if((0,i.isEqual)(ot,nt)){const ft=it.backendEntities.filter(Et);gt({appliedFilters:b,backendEntities:it.backendEntities,entities:ft,totalItems:ft.length})}else{const ft=await D.getEntities({filter:nt}),Pt=ft.items.filter(Et);gt({appliedFilters:b,backendEntities:ft.items,entities:Pt,totalItems:Pt.length})}}if(M()){var Ct;const Et=m().parse(G.search,{ignoreQueryPrefix:!0}),nt=m().stringify({...Et,filters:et,cursor:H},{addQueryPrefix:!0,arrayFormat:"repeat"}),ot=`${window.location.pathname}${nt}`;(Ct=window.history)===null||Ct===void 0||Ct.replaceState(null,document.title,ot)}},[D,W,b,it,H,q],{loading:!0});(0,y.A)(st,10,[b,H]);const yt=(0,g.useCallback)(vt=>{_(void 0),z(et=>{const Ct=typeof vt=="function"?vt(et):vt;return{...et,...Ct}})},[]),dt=(0,g.useMemo)(()=>{var vt,et;if(!q)return;const Ct=(vt=it.pageInfo)===null||vt===void 0?void 0:vt.prevCursor,Et=(et=it.pageInfo)===null||et===void 0?void 0:et.nextCursor;return{prev:Ct?()=>_(Ct):void 0,next:Et?()=>_(Et):void 0}},[q,it.pageInfo]),at=(0,g.useMemo)(()=>({filters:it.appliedFilters,entities:it.entities,backendEntities:it.backendEntities,updateFilters:yt,queryParameters:W,loading:ut,error:bt,pageInfo:dt,totalItems:it.totalItems}),[it,yt,W,ut,bt,dt]);return(0,o.jsx)(f.Provider,{value:at,children:w.children})};function P(){const w=(0,g.useContext)(f);if(!w)throw new Error("useEntityList must be used within EntityListProvider");return w}},56889:function(Y,T,t){"use strict";t.d(T,{I:function(){return c}});var o=t(6820),i=t(72427),u=t(14041),A=t(45145),m=t(18);function g(d){return typeof d=="string"?d:(0,o.U2)(d)}function c(){const d=(0,i.gf)(m.a),y=(0,A.A)((0,u.useMemo)(()=>d.starredEntitie$(),[d]),new Set),E=(0,u.useCallback)(p=>y.has(g(p)),[y]),O=(0,u.useCallback)(p=>d.toggleStarred(g(p)).then(),[d]);return{starredEntities:y,toggleStarredEntity:O,isStarredEntity:E}}},29207:function(Y,T,t){"use strict";t.d(T,{s:function(){return u}});var o=t(34569),i=t(63544);const u=(0,i.Q)("catalog:entity-route-ref",()=>(0,o.H)({id:"catalog:entity",params:["namespace","kind","name"]}));function A(m){var g,c;return{kind:m.kind.toLocaleLowerCase("en-US"),namespace:(c=(g=m.metadata.namespace)===null||g===void 0?void 0:g.toLocaleLowerCase("en-US"))!==null&&c!==void 0?c:DEFAULT_NAMESPACE,name:m.metadata.name}}},26796:function(Y,T,t){"use strict";t.d(T,{$3:function(){return u},Rr:function(){return A},be:function(){return m}});var o=t(92822);function i(g){return!!g.getFullTextFilters}function u(g){var c;const d=g.reduce((E,O)=>({...E,...O.getCatalogFilters?O.getCatalogFilters():{}}),{}),y=(c=g.find(i))===null||c===void 0?void 0:c.getFullTextFilters();return{filter:d,fullTextFilter:y}}function A(g){const c={};return g.forEach(d=>{var y;d instanceof o.q_||d instanceof o.N9||d instanceof o.I5||d instanceof o.z||d instanceof o.tN||d instanceof o.Kf||d instanceof o.V3||d instanceof o.gZ||Object.assign(c,((y=d.getCatalogFilters)===null||y===void 0?void 0:y.call(d))||{})}),c}function m(g){return c=>g.every(d=>!d.filterEntity||d.filterEntity(c))}},67871:function(Y,T,t){"use strict";t.d(T,{t:function(){return i}});var o=t(6820);function i(u,A,m){var g;let c=(u==null||(g=u.relations)===null||g===void 0?void 0:g.filter(d=>d.type===A).map(d=>(0,o.KU)(d.targetRef)))||[];return m!=null&&m.kind&&(c=c.filter(d=>d.kind.toLocaleLowerCase("en-US")===m.kind.toLocaleLowerCase("en-US"))),c}},95203:function(Y,T,t){"use strict";t.d(T,{qP:function(){return d},Zg:function(){return E},rQ:function(){return p},pS:function(){return O},UJ:function(){return y}});var o=t(18990),i=t(59598);let u=i.b,A=u;class m{toString(){return`routeRef{type=external,id=${this.id}}`}constructor(f,R,P){(0,o._)(this,"id",void 0),(0,o._)(this,"params",void 0),(0,o._)(this,"optional",void 0),(0,o._)(this,A,void 0),this.id=f,this.params=R,this.optional=P,this[u]="external"}}function g(C){var f;return new m(C.id,(f=C.params)!==null&&f!==void 0?f:[],!!C.optional)}var c=t(34569);const d=g({id:"create-component",optional:!0}),y=g({id:"view-techdoc",optional:!0,params:["namespace","kind","name"]}),E=g({id:"create-from-template",optional:!0,params:["namespace","templateName"]}),O=g({id:"catalog:unregister-redirect",optional:!0}),p=(0,c.H)({id:"catalog"})},54241:function(Y,T,t){"use strict";t.d(T,{b:function(){return o}});var o;(function(i){i.DENY="DENY",i.ALLOW="ALLOW",i.CONDITIONAL="CONDITIONAL"})(o||(o={}))},96824:function(Y,T,t){"use strict";t.d(T,{x:function(){return i}});var o=t(55309);const i=(0,o.y)({id:"plugin.permission.api"})},70734:function(Y,T,t){"use strict";t.d(T,{e:function(){return m}});var o=t(31085),i=t(14041),u=t(58837);const A=(0,u.A)(()=>({highlight:{}}),{name:"BackstageHighlightedSearchResultText"}),m=g=>{const{text:c,preTag:d,postTag:y}=g,E=A(),O=(0,i.useMemo)(()=>c.split(new RegExp(`(${d}.+?${y})`)),[y,d,c]);return(0,o.jsx)(o.Fragment,{children:O.map((p,C)=>p.includes(d)?(0,o.jsx)("mark",{className:E.highlight,children:p.replace(new RegExp(`${d}|${y}`,"g"),"")},C):p)})}},54560:function(Y,T,t){"use strict";t.d(T,{ec:function(){return y}});var o=t(31085),i=t(14041),u=t(93368),A=t(88758),m=t(8109);const g="search.results.list.items.extensions.v1",c=(p,C)=>{for(const f of p){if(!isValidElement(f))continue;const R=getComponentData(f,g);if(R!=null&&R(C))return cloneElement(f,{rank:C.rank,highlight:C.highlight,result:C.document,...f.props})}return null},d=p=>{const{rank:C,result:f,noTrack:R,children:P,alignItems:w="flex-start",...M}=p,D=(0,u.s)(),b=(0,i.useCallback)(()=>{R||f&&D.captureEvent("discover",f.title,{attributes:{to:f.location},value:C})},[C,f,R,D]);return(0,o.jsx)(m.A,{divider:!0,alignItems:w,onClickCapture:b,...M,children:P})},y=p=>{const{name:C,component:f,predicate:R=()=>!0}=p;return(0,A.zZ)({name:C,component:{lazy:()=>f().then(P=>w=>(0,o.jsx)(d,{rank:w.rank,result:w.result,noTrack:w.noTrack,children:(0,i.createElement)(P,w)}))},data:{[g]:R}})},E=p=>{const C=useElementFilter(p,f=>f.selectByComponentData({key:g}).getElements(),[p]);return useCallback((f,R)=>{const P=c(C,f);return _jsx(Fragment,{children:P!=null?P:_jsx(d,{rank:f.rank,result:f.document,children:_jsx(DefaultResultListItem,{rank:f.rank,highlight:f.highlight,result:f.document})})},R)},[C])},O=p=>{const{results:C,children:f,...R}=p,P=E(f);return _jsx(List,{...R,children:C.map(P)})}},72020:function(Y,T,t){"use strict";t.d(T,{AF:function(){return d},Hr:function(){return O},Wm:function(){return c},YR:function(){return R},po:function(){return y}});var o=t(31085),i=t(14041),u=t(18690),A=t(19402),m=t(88758),g=t(82442);const c="techdocs.addons.addon.v1",d="techdocs.addons.wrapper.v1",y=()=>null;(0,A.h)(y,d,!0);const E=P=>`${c}.${P.toLocaleLowerCase("en-US")}`;function O(P){const{name:w,component:M}=P;return(0,m.zZ)({name:w,component:{sync:D=>(0,o.jsx)(M,{...D})},data:{[c]:P,[E(w)]:!0}})}const p=(P,w)=>P.selectByComponentData({key:w}).getElements()[0],C=P=>P.selectByComponentData({key:d}).selectByComponentData({key:c}),f=P=>P.selectByComponentData({key:d}).findComponentData({key:c}),R=()=>{const P=(0,u.P1)(),w=(0,g.O)(P,C),M=(0,g.O)(P,f),D=(0,i.useCallback)(G=>{if(!w||!G)return null;const q=E(G.name);var K;return(K=p(w,q))!==null&&K!==void 0?K:null},[w]),b=(0,i.useCallback)(G=>{const q=M.find(K=>K.name===G);return q?D(q):null},[M,D]),z=(0,i.useCallback)(G=>{const q=M.filter(K=>K.location===G);return q.length?q.map(D):null},[M,D]);return{renderComponentByName:b,renderComponentsByLocation:z}}},26679:function(Y,T,t){"use strict";t.d(T,{l:function(){return i},s:function(){return u}});var o=t(55309);const i=(0,o.y)({id:"plugin.techdocs.service"}),u=(0,o.y)({id:"plugin.techdocs.storageservice"})},86892:function(Y,T,t){"use strict";t.d(T,{R:function(){return P},V:function(){return w}});var o=t(31085),i=t(14041),u=t(91638),A=t(38282),m=t(6820),g=t(43836),c=t(10602),d=t(72427),y=t(65461),E=t(25862),O=t(26679);function p(M,D){return D.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")||(M.kind=M.kind.toLocaleLowerCase(),M.name=M.name.toLocaleLowerCase(),M.namespace=M.namespace.toLocaleLowerCase()),M}const C=(M,D)=>(0,m.U2)(M)===(0,m.U2)(D),f={title:"",subtitle:"",setTitle:()=>{},setSubtitle:()=>{},setShadowRoot:()=>{},metadata:{loading:!0},entityMetadata:{loading:!0},entityRef:{kind:"",name:"",namespace:""}},R=(0,g.tK)("techdocs-reader-page-context"),P=(0,i.memo)(M=>{const{entityRef:D,children:b}=M,z=(0,d.gf)(O.l),G=(0,d.gf)(y.U),q=(0,u.default)(async()=>z.getEntityMetadata(D),[D]),K=(0,A.A)(async()=>z.getTechDocsMetadata(D),[D]),[W,X]=(0,i.useState)(f.title),[H,_]=(0,i.useState)(f.subtitle),[it,gt]=(0,i.useState)(f.shadowRoot);(0,i.useEffect)(()=>{it&&!K.value&&!K.loading&&K.retry()},[K.value,K.loading,it,K.retry,K]);const ut={metadata:K,entityRef:p(D,G),entityMetadata:q,shadowRoot:it,setShadowRoot:gt,title:W,setTitle:X,subtitle:H,setSubtitle:_},bt=(0,c.B)({1:ut});return(0,o.jsx)(E.Ig,{attributes:{entityRef:(0,m.U2)(D)},children:(0,o.jsx)(R.Provider,{value:bt,children:b instanceof Function?b(ut):b})})},(M,D)=>C(M.entityRef,D.entityRef)),w=()=>{const M=(0,i.useContext)(R);if(M===void 0)return f;const D=M.atVersion(1);if(D===void 0)throw new Error("No context found for version 1.");return D}},99730:function(Y,T,t){"use strict";t.d(T,{e:function(){return o}});const o=Object.freeze({Header:"Header",Subheader:"Subheader",Settings:"Settings",PrimarySidebar:"PrimarySidebar",SecondarySidebar:"SecondarySidebar",Content:"Content"})},95768:function(Y,T,t){"use strict";t.d(T,{V:function(){return o}});function o(i,u){return u.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?i:i.toLocaleLowerCase("en-US")}},85920:function(Y,T,t){"use strict";t.d(T,{K:function(){return K}});var o=t(31085),i=t(14041),u=t(26280),A=t(59428),m=t(3851),g=t(21405),c=t(54203),d=t(67626),y=t(72987),E=t(91035),O=t(81859),p=t(86519);class C{getCatalogFilters(){return{"metadata.annotations.backstage.io/techdocs-ref":p.c}}}const f=()=>{const{updateFilters:W}=(0,g.nK)();return(0,i.useEffect)(()=>{W({techdocs:new C})},[W]),null};var R=t(51100),P=t(45250),w=t(88640),M=t(77310),D=t(56889),b=t(27125),z=t(84295),G=t(42717);const q=W=>{var X;const{columns:H,actions:_,options:it}=W,{loading:gt,error:ut,entities:bt,filters:st}=(0,g.nK)(),{isStarredEntity:yt,toggleStarredEntity:dt}=(0,D.I)(),[,at]=(0,R.A)();var vt;const et=(0,P.capitalize)((vt=(X=st.user)===null||X===void 0?void 0:X.value)!==null&&vt!==void 0?vt:"all"),Ct=[z.f.createCopyDocsUrlAction(at),z.f.createStarEntityAction(yt,dt)];return ut?(0,o.jsx)(w.B,{severity:"error",title:"Could not load available documentation.",children:(0,o.jsx)(M.z,{language:"text",text:ut.toString()})}):(0,o.jsx)(b.o,{title:et,entities:bt,loading:gt,actions:_||Ct,columns:H,options:it})};q.columns=G.B,q.actions=z.f;const K=W=>{const{initialFilter:X="owned",columns:H,actions:_}=W;return(0,o.jsx)(O.S,{children:(0,o.jsxs)(u.U,{children:[(0,o.jsx)(A.d,{title:"",children:(0,o.jsx)(m.Y,{children:"Discover documentation in your ecosystem."})}),(0,o.jsx)(g.B9,{children:(0,o.jsxs)(c.GI,{children:[(0,o.jsxs)(c.GI.Filters,{children:[(0,o.jsx)(f,{}),(0,o.jsx)(d.y,{initialFilter:X}),(0,o.jsx)(y.t,{}),(0,o.jsx)(E.m,{})]}),(0,o.jsx)(c.GI.Content,{children:(0,o.jsx)(q,{actions:_,columns:H})})]})})]})})}},27125:function(Y,T,t){"use strict";t.d(T,{o:function(){return w}});var o=t(31085),i=t(14041),u=t(51100),A=t(9222),m=t(72427),g=t(65461),c=t(51372),d=t(67871),y=t(90184),E=t(82779),O=t(14209),p=t(44186),C=t(73896),f=t(84295),R=t(42717),P=t(95768);const w=M=>{const{entities:D,title:b,loading:z,columns:G,actions:q,options:K}=M,[,W]=(0,u.A)(),X=(0,A.S)(E.Oc),H=(0,m.gf)(g.U);if(!D)return null;const _=D.map(st=>{const yt=(0,d.t)(st,c.vv);var dt;return{entity:st,resolved:{docsUrl:X({namespace:(0,P.V)((dt=st.metadata.namespace)!==null&&dt!==void 0?dt:"default",H),kind:(0,P.V)(st.kind,H),name:(0,P.V)(st.metadata.name,H)}),ownedByRelations:yt,ownedByRelationsTitle:yt.map(at=>(0,y.S)(at,{defaultKind:"group"})).join(", ")}}}),it=[R.B.createNameColumn(),R.B.createOwnerColumn(),R.B.createKindColumn(),R.B.createTypeColumn()],gt=[f.f.createCopyDocsUrlAction(W)],ut=20,bt=_&&_.length>ut;return(0,o.jsx)(o.Fragment,{children:z||_&&_.length>0?(0,o.jsx)(O.X,{isLoading:z,options:{paging:bt,pageSize:ut,search:!0,actionsColumnIndex:-1,...K},data:_,columns:G||it,actions:q||gt,title:b?`${b} (${_.length})`:`All (${_.length})`}):(0,o.jsx)(p.p,{missing:"data",title:"No documents to show",description:"Create your own document. Check out our Getting Started Information",action:(0,o.jsx)(C.z,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained",children:"DOCS"})})})};w.columns=R.B,w.actions=f.f},84295:function(Y,T,t){"use strict";t.d(T,{f:function(){return d}});var o=t(31085),i=t(14041),u=t(55290),A=t(80430),m=t(80109),g=t(15303);const c=(0,A.A)({root:{color:"#f3ba37"}})(m.A),d={createCopyDocsUrlAction(y){return E=>({icon:()=>(0,o.jsx)(u.A,{fontSize:"small"}),tooltip:"Click to copy documentation link to clipboard",onClick:()=>y(`${window.location.origin}${E.resolved.docsUrl}`)})},createStarEntityAction(y,E){return O=>{const p=O.entity,C=y(p);return{cellStyle:{paddingLeft:"1em"},icon:()=>C?(0,o.jsx)(c,{}):(0,o.jsx)(g.A,{}),tooltip:C?"Remove from favorites":"Add to favorites",onClick:()=>E(p)}}}}},42717:function(Y,T,t){"use strict";t.d(T,{B:function(){return E}});var o=t(31085),i=t(14041),u=t(10394),A=t(58837);const m=(0,A.A)(O=>({value:{marginBottom:O.spacing(.75)},subvalue:{color:O.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function g(O){const{value:p,subvalue:C}=O,f=m();return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.A,{className:f.value,children:p}),(0,o.jsx)(u.A,{className:f.subvalue,children:C})]})}var c=t(72072),d=t(34428);function y(O){return O.metadata.title||O.metadata.name}const E={createNameColumn(){return{title:"Document",field:"entity.metadata.name",highlight:!0,render:O=>(0,o.jsx)(g,{value:(0,o.jsx)(c.N_,{to:O.resolved.docsUrl,children:y(O.entity)}),subvalue:O.entity.metadata.description})}},createOwnerColumn(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:O})=>(0,o.jsx)(d.i,{entityRefs:O.ownedByRelations,defaultKind:"group"})}},createKindColumn(){return{title:"Kind",field:"entity.kind"}},createTypeColumn(){return{title:"Type",field:"entity.spec.type"}}}},81859:function(Y,T,t){"use strict";t.d(T,{S:function(){return g}});var o=t(31085),i=t(14041),u=t(27155),A=t(72427),m=t(65461);const g=c=>{const{children:d}=c,y=(0,A.gf)(m.U);var E;const O=`Documentation available in ${(E=y.getOptionalString("organization.name"))!==null&&E!==void 0?E:"Backstage"}`;return(0,o.jsx)(u.d,{title:"Documentation",subtitle:O,themeId:"documentation",children:d})}},39278:function(Y,T,t){"use strict";t.d(T,{$j:function(){return z},Wj:function(){return G},Ju:function(){return w}});var o=t(26679),i=t(18990),u=t(70835),A=t(97142),m=t(50165);class g{async getCookie(){const X=`${await this.getApiOrigin()}/cookie`,H=await this.fetchApi.fetch(`${X}`,{credentials:"include"});if(!H.ok)throw await u.o.fromResponse(H);return await H.json()}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getTechDocsMetadata(W){const{kind:X,namespace:H,name:_}=W,gt=`${await this.getApiOrigin()}/metadata/techdocs/${H}/${X}/${_}`,ut=await this.fetchApi.fetch(`${gt}`);if(!ut.ok)throw await u.o.fromResponse(ut);return await ut.json()}async getEntityMetadata(W){const{kind:X,namespace:H,name:_}=W,gt=`${await this.getApiOrigin()}/metadata/entity/${H}/${X}/${_}`,ut=await this.fetchApi.fetch(`${gt}`);if(!ut.ok)throw await u.o.fromResponse(ut);return await ut.json()}constructor(W){(0,i._)(this,"configApi",void 0),(0,i._)(this,"discoveryApi",void 0),(0,i._)(this,"fetchApi",void 0),this.configApi=W.configApi,this.discoveryApi=W.discoveryApi,this.fetchApi=W.fetchApi}}class c{async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var W;return(W=this.configApi.getOptionalString("techdocs.storageUrl"))!==null&&W!==void 0?W:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(W,X){const{kind:H,namespace:_,name:it}=W,ut=`${await this.getStorageUrl()}/${_}/${H}/${it}/${X}`,bt=await this.fetchApi.fetch(`${ut.endsWith("/")?ut:`${ut}/`}index.html`);let st="";switch(bt.status){case 404:throw st="Page not found. ",X||(st+="This could be because there is no index.md file in the root of the docs directory of this repository."),new A.m_(st);case 500:throw st="Could not generate documentation or an error in the TechDocs backend. ",new Error(st);default:break}return bt.text()}async syncEntityDocs(W,X=()=>{}){const{kind:H,namespace:_,name:it}=W,ut=`${await this.getApiOrigin()}/sync/${_}/${H}/${it}`,{token:bt}=await this.identityApi.getCredentials();return new Promise((st,yt)=>{const dt=new m.EventSourcePolyfill(ut,{withCredentials:!0,headers:bt?{Authorization:`Bearer ${bt}`}:{}});dt.addEventListener("log",at=>{at.data&&X(JSON.parse(at.data))}),dt.addEventListener("finish",at=>{let vt=!1;at.data&&({updated:vt}=JSON.parse(at.data)),st(vt?"updated":"cached")}),dt.onerror=at=>{switch(dt.close(),at.status){case 404:yt(new A.m_(at.message));return;default:yt(new Error(at.data));return}}})}async getBaseUrl(W,X,H){const{kind:_,namespace:it,name:gt}=X,bt=`${await this.getApiOrigin()}/static/docs/${it}/${_}/${gt}/${H}`;return new URL(W,bt.endsWith("/")?bt:`${bt}/`).toString()}constructor(W){(0,i._)(this,"configApi",void 0),(0,i._)(this,"discoveryApi",void 0),(0,i._)(this,"identityApi",void 0),(0,i._)(this,"fetchApi",void 0),this.configApi=W.configApi,this.discoveryApi=W.discoveryApi,this.identityApi=W.identityApi,this.fetchApi=W.fetchApi}}var d=t(82779),y=t(9803),E=t(12935),O=t(65461),p=t(57405),C=t(16009),f=t(70795),R=t(88758),P=t(54560);const w=(0,y.i)({id:"techdocs",apis:[(0,E.b)({api:o.s,deps:{configApi:O.U,discoveryApi:p.I,identityApi:C.K,fetchApi:f.a},factory:({configApi:K,discoveryApi:W,identityApi:X,fetchApi:H})=>new c({configApi:K,discoveryApi:W,identityApi:X,fetchApi:H})}),(0,E.b)({api:o.l,deps:{configApi:O.U,discoveryApi:p.I,fetchApi:f.a},factory:({configApi:K,discoveryApi:W,fetchApi:X})=>new g({configApi:K,discoveryApi:W,fetchApi:X})})],routes:{root:d.rQ,docRoot:d.Oc,entityContent:d.Ri}}),M=w.provide((0,R.QJ)({name:"TechdocsPage",component:()=>t.e(9605).then(t.bind(t,29605)).then(K=>K.Router),mountPoint:d.rQ})),D=w.provide((0,R.QJ)({name:"EntityTechdocsContent",component:()=>t.e(9605).then(t.bind(t,29605)).then(K=>K.EmbeddedDocsRouter),mountPoint:d.Ri})),b=w.provide((0,R.QJ)({name:"TechDocsCustomHome",component:()=>t.e(4487).then(t.bind(t,94487)).then(K=>K.TechDocsCustomHome),mountPoint:d.rQ})),z=w.provide((0,R.QJ)({name:"TechDocsIndexPage",component:()=>t.e(5788).then(t.bind(t,85788)).then(K=>K.TechDocsIndexPage),mountPoint:d.rQ})),G=w.provide((0,R.QJ)({name:"TechDocsReaderPage",component:()=>t.e(4036).then(t.bind(t,84036)).then(K=>K.TechDocsReaderPage),mountPoint:d.Oc})),q=w.provide((0,P.ec)({name:"TechDocsSearchResultListItem",component:()=>Promise.resolve().then(t.bind(t,27698)).then(K=>K.TechDocsSearchResultListItem),predicate:K=>K.type==="techdocs"}))},16203:function(Y,T,t){"use strict";t.d(T,{p:function(){return Lt}});var o=t(31085),i=t(14041),u=t(58837),A=t(42899),m=t(86892),g=t(9394),c=t(22856),d=t(91360),y=t(68146);const E="TECH_DOCS_SHADOW_DOM_STYLE_LOAD",O=h=>{(0,i.useEffect)(()=>{if(!h)return()=>{};const I=h.querySelectorAll('head > link[rel="stylesheet"]');var U;let $=(U=I==null?void 0:I.length)!==null&&U!==void 0?U:0;const Q=new CustomEvent(E);if(!$)return h.dispatchEvent(Q),()=>{};const J=()=>{--$===0&&h.dispatchEvent(Q)};return I==null||I.forEach(ct=>{ct.addEventListener("load",J)}),()=>{I==null||I.forEach(ct=>{ct.removeEventListener("load",J)})}},[h])},p=h=>{const[I,U]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{if(!h)return()=>{};U(!0);const $=h.style;$.setProperty("opacity","0");const Q=()=>{U(!1),$.setProperty("opacity","1")};return h.addEventListener(E,Q),()=>{h.removeEventListener(E,Q)}},[h]),I},C=h=>{const{element:I,onAppend:U,children:$}=h,[Q,J]=(0,i.useState)((0,g.vt)({...(0,c.A)(),insertionPoint:void 0}));O(I);const ct=p(I),St=(0,i.useCallback)(jt=>{if(!I||!jt)return;J((0,g.vt)({...(0,c.A)(),insertionPoint:I.querySelector("head")||void 0}));let Nt=jt.shadowRoot;Nt||(Nt=jt.attachShadow({mode:"open"})),Nt.replaceChildren(I),typeof U=="function"&&U(Nt)},[I,U]);return(0,o.jsxs)(o.Fragment,{children:[ct&&(0,o.jsx)(y.k,{}),(0,o.jsxs)(d.Ay,{jss:Q,sheetsManager:new Map,children:[(0,o.jsx)("div",{ref:St,"data-testid":"techdocs-native-shadowroot"}),$]})]})};var f=t(12784);const R=()=>{const{shadowRoot:h}=(0,m.V)();return h},P=h=>{const I=R();return I?h.map(U=>I==null?void 0:I.querySelectorAll(U)).filter(U=>U.length).map(U=>Array.from(U)).flat():[]},w=h=>h.toString()&&h.rangeCount&&h.getRangeAt(0).getBoundingClientRect().top,M=(h=0)=>{const I=R(),[U,$]=useState(null),Q=useMemo(()=>debounce(()=>{const J=I,ct=J.getSelection?J.getSelection():document.getSelection();ct&&w(ct)?$(ct):$(null)},h),[I,$,h]);return useEffect(()=>(window.document.addEventListener("selectionchange",Q),()=>{Q.cancel(),window.document.removeEventListener("selectionchange",Q)}),[Q]),U};var D=t(12173),b=t(26280),z=t(45250),G=t(91638),q=t(50193),K=t(43836),W=t(10602),X=t(72427),H=t(93368),_=t(25862),it=t(65461),gt=t(55309);const ut=(0,gt.y)({id:"plugin.search.queryservice"});class bt{query(){return Promise.resolve(this.mockedResults||{results:[]})}constructor(I){_define_property(this,"mockedResults",void 0),this.mockedResults=I}}const st=(0,K.tK)("search-context"),yt=()=>{const h=(0,i.useContext)(st);if(!h)throw new Error("useSearch must be used within a SearchContextProvider");const I=h.atVersion(1);if(!I)throw new Error("No SearchContext v1 found");return I},dt=()=>(0,i.useContext)(st)!==void 0,at={term:"",types:[],filters:{},pageLimit:void 0,pageCursor:void 0},vt=(h=at)=>{var I,U,$,Q;const J=(0,X.gf)(ut),ct=(0,H.s)(),[St,jt]=(0,i.useState)(h.term),[Nt,Gt]=(0,i.useState)(h.types),[Wt,It]=(0,i.useState)(h.filters),[de,ye]=(0,i.useState)(h.pageLimit),[Jt,kt]=(0,i.useState)(h.pageCursor),ae=(0,q.A)(St),Ee=(0,q.A)(Wt),Mt=(0,G.default)(async()=>{const ge=await J.query({term:St,types:Nt,filters:Wt,pageLimit:de,pageCursor:Jt});if(St){var Be,re;ct.captureEvent("search",St,{value:(re=(Be=Mt.value)===null||Be===void 0?void 0:Be.numberOfResults)!==null&&re!==void 0?re:void 0})}return ge},[St,Nt,Wt,de,Jt]),Kt=!Mt.loading&&!Mt.error&&((I=Mt.value)===null||I===void 0?void 0:I.nextPageCursor),te=!Mt.loading&&!Mt.error&&((U=Mt.value)===null||U===void 0?void 0:U.previousPageCursor),Ae=(0,i.useCallback)(()=>{var ge;kt((ge=Mt.value)===null||ge===void 0?void 0:ge.nextPageCursor)},[($=Mt.value)===null||$===void 0?void 0:$.nextPageCursor]),je=(0,i.useCallback)(()=>{var ge;kt((ge=Mt.value)===null||ge===void 0?void 0:ge.previousPageCursor)},[(Q=Mt.value)===null||Q===void 0?void 0:Q.previousPageCursor]);return(0,i.useEffect)(()=>{ae!==void 0&&St!==ae&&kt(void 0)},[St,ae,kt]),(0,i.useEffect)(()=>{Ee!==void 0&&!(0,z.isEqual)(Wt,Ee)&&kt(void 0)},[Wt,Ee,kt]),{result:Mt,term:St,setTerm:jt,types:Nt,setTypes:Gt,filters:Wt,setFilters:It,pageLimit:de,setPageLimit:ye,pageCursor:Jt,setPageCursor:kt,fetchNextPage:Kt?Ae:void 0,fetchPreviousPage:te?je:void 0}},et=h=>{const{initialState:I,children:U}=h,$=vt(I);return(0,o.jsx)(_.Ig,{attributes:{searchTypes:$.types.sort().join(",")},children:(0,o.jsx)(st.Provider,{value:(0,W.B)({1:$}),children:U})})},Ct=h=>{const{initialState:I,inheritParentContextIfAvailable:U,children:$}=h,Q=dt(),J=(0,X.gf)(it.U),ct=I!=null?I:{},St=J.has("search.query.pageLimit")?{pageLimit:J.getNumber("search.query.pageLimit")}:{},jt={...at,...ct,...St};return Q&&U?(0,o.jsx)(o.Fragment,{children:$}):(0,o.jsx)(et,{initialState:jt,children:$})};var Et=t(78467),nt=t(20577),ot=t(34839),ft=t(29365),Pt=t(16249),At=t(64947),N=t(45917),V=t(16983);function pt(h){return(0,i.forwardRef)((I,U)=>(0,o.jsx)(Ct,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(h,{...I,ref:U})}))}const xt=pt((0,i.forwardRef)((h,I)=>{const{onChange:U,onKeyDown:$=()=>{},onClear:Q=()=>{},onSubmit:J=()=>{},debounceTime:ct=200,clearButton:St=!0,fullWidth:jt=!0,value:Nt,label:Gt,placeholder:Wt,inputProps:It={},InputProps:de={},endAdornment:ye,...Jt}=h,kt=(0,X.gf)(it.U),[ae,Ee]=(0,i.useState)(""),Mt=(0,i.useRef)("");(0,i.useEffect)(()=>{Ee(re=>re===Mt.current?String(Nt):re)},[Nt,Mt]),(0,V.A)(()=>{Mt.current=ae,U(ae)},ct,[ae]);const Kt=(0,i.useCallback)(re=>{Ee(re.target.value)},[Ee]),te=(0,i.useCallback)(re=>{$&&$(re),J&&re.key==="Enter"&&J()},[$,J]),Ae=(0,i.useCallback)(()=>{Mt.current="",U(""),Ee(""),Q&&Q()},[U,Q]),je=Gt?void 0:"Search",$e=Wt!=null?Wt:`Search in ${kt.getOptionalString("app.title")||"Backstage"}`,ge=(0,o.jsx)(ot.A,{position:"start",children:(0,o.jsx)(ft.A,{"aria-label":"Query",size:"small",disabled:!0,children:(0,o.jsx)(N.A,{})})}),Be=(0,o.jsx)(ot.A,{position:"end",children:(0,o.jsx)(At.A,{"aria-label":"Clear",size:"small",onClick:Ae,onKeyDown:re=>{re.key==="Enter"&&re.stopPropagation()},children:"Clear"})});return(0,o.jsx)(Pt.A,{id:"search-bar-text-field","data-testid":"search-bar-next",variant:"outlined",margin:"normal",inputRef:I,value:ae,label:Gt,placeholder:$e,InputProps:{startAdornment:ge,endAdornment:St?Be:ye,...de},inputProps:{"aria-label":je,...It},fullWidth:jt,onChange:Kt,onKeyDown:te,...Jt})})),Bt=pt((0,i.forwardRef)((h,I)=>{const{value:U="",onChange:$,...Q}=h,{term:J,setTerm:ct}=yt();(0,i.useEffect)(()=>{U&&ct(String(U))},[U,ct]);const St=(0,i.useCallback)(jt=>{$?$(jt):ct(jt)},[$,ct]);return(0,o.jsx)(_.Ig,{attributes:{pluginId:"search",extension:"SearchBar"},children:(0,o.jsx)(xt,{...Q,ref:I,value:J,onChange:St})})})),Rt=(0,u.A)(h=>({loading:{right:h.spacing(1),position:"absolute"}})),Tt=h=>I=>(0,o.jsx)(Ct,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(h,{...I})}),Ut=()=>{const h=Rt();return(0,o.jsx)(Et.A,{className:h.loading,"data-testid":"search-autocomplete-progressbar",color:"inherit",size:20})},wt=Tt(function(I){const{loading:U,value:$,onChange:Q=()=>{},options:J=[],getOptionLabel:ct=Mt=>String(Mt),inputPlaceholder:St,inputDebounceTime:jt,freeSolo:Nt=!0,fullWidth:Gt=!0,clearOnBlur:Wt=!1,"data-testid":It="search-autocomplete",...de}=I,{setTerm:ye}=yt(),Jt=(0,i.useCallback)(Mt=>Mt?typeof Mt=="string"?Mt:ct(Mt):"",[ct]),kt=(0,i.useMemo)(()=>Jt($),[$,Jt]),ae=(0,i.useCallback)((Mt,Kt,te,Ae)=>{ye(Jt(Kt)),Q(Mt,Kt,te,Ae)},[Jt,ye,Q]),Ee=(0,i.useCallback)(({InputProps:{ref:Mt,className:Kt,endAdornment:te},InputLabelProps:Ae,...je})=>(0,o.jsx)(Bt,{...je,ref:Mt,clearButton:!1,value:kt,placeholder:St,debounceTime:jt,endAdornment:U?(0,o.jsx)(Ut,{}):te,InputProps:{className:Kt}}),[U,kt,St,jt]);return(0,o.jsx)(nt.Ay,{...de,"data-testid":It,value:$,onChange:ae,options:J,getOptionLabel:ct,renderInput:Ee,freeSolo:Nt,fullWidth:Gt,clearOnBlur:Wt})});var Ft=t(18690),Xt=t(27698);const se=h=>h==null?void 0:h.document,ie=h=>{const{entityId:I,entityTitle:U,debounceTime:$=150}=h,[Q,J]=(0,i.useState)(!1),ct=(0,Ft.Zp)(),{setFilters:St,result:{loading:jt,value:Nt}}=yt(),[Gt,Wt]=(0,i.useState)([]);(0,i.useEffect)(()=>{let kt=!0;if(kt&&Nt){const ae=Nt.results.slice(0,10);Wt(ae)}return()=>{kt=!1}},[jt,Nt]);const{kind:It,name:de,namespace:ye}=I;(0,i.useEffect)(()=>{St(kt=>({...kt,kind:It,namespace:ye,name:de}))},[It,ye,de,St]);const Jt=(kt,ae)=>{if(se(ae)){const{location:Ee}=ae.document;ct(Ee)}};return(0,o.jsx)(wt,{"data-testid":"techdocs-search-bar",size:"small",open:Q,getOptionLabel:()=>"",filterOptions:kt=>kt,onClose:()=>{J(!1)},onFocus:()=>{J(!0)},onChange:Jt,blurOnSelect:!0,noOptionsText:"No results found",value:null,options:Gt,renderOption:({document:kt,highlight:ae})=>(0,o.jsx)(Xt.TechDocsSearchResultListItem,{result:kt,lineClamp:3,asListItem:!1,asLink:!1,title:kt.title,highlight:ae}),loading:jt,inputDebounceTime:$,inputPlaceholder:`Search ${U||I.name} docs`,freeSolo:!1})},_t=h=>{const I={term:"",types:["techdocs"],pageCursor:"",filters:h.entityId};return(0,o.jsx)(Ct,{initialState:I,children:(0,o.jsx)(ie,{...h})})};var $t=t(74219),Zt=t(82266);const Ce=(0,i.lazy)(()=>Promise.all([t.e(3308),t.e(9234)]).then(t.bind(t,99234)).then(h=>({default:h.RealLogViewer})));function ke(h){const{Progress:I}=(0,Zt.n)().getComponents();return(0,o.jsx)(i.Suspense,{fallback:(0,o.jsx)(I,{}),children:(0,o.jsx)(Ce,{...h})})}var Ke=t(12398),Je=t(72501),Ie=t(73845),rn=t(32881);const Ge=(0,u.A)(h=>(0,Ke.A)({paper:{width:"100%",[h.breakpoints.up("sm")]:{width:"75%"},[h.breakpoints.up("md")]:{width:"50%"},padding:h.spacing(2.5)},root:{height:"100%",overflow:"hidden"},logs:{background:h.palette.background.default}})),le=({buildLog:h,onClose:I})=>{const U=Ge(),$=h.length===0?"Waiting for logs...":h.join(`
|
|
8
|
+
`);return(0,o.jsxs)(A.A,{container:!0,direction:"column",className:U.root,spacing:0,wrap:"nowrap",children:[(0,o.jsxs)(A.A,{item:!0,container:!0,justifyContent:"space-between",alignItems:"center",spacing:0,wrap:"nowrap",children:[(0,o.jsx)(Je.A,{variant:"h5",children:"Build Details"}),(0,o.jsx)(ft.A,{title:"Close the drawer",onClick:I,color:"inherit",children:(0,o.jsx)(rn.A,{})},"dismiss")]}),(0,o.jsx)(A.A,{item:!0,xs:!0,children:(0,o.jsx)(ke,{text:$,classes:{root:U.logs}})})]})},ze=({buildLog:h})=>{const I=Ge(),[U,$]=(0,i.useState)(!1);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(At.A,{color:"inherit",onClick:()=>$(!0),children:"Show Build Logs"}),(0,o.jsx)(Ie.Ay,{classes:{paper:I.paper},anchor:"right",open:U,onClose:()=>$(!1),children:(0,o.jsx)(le,{buildLog:h,onClose:()=>$(!1)})})]})},He=({errorMessage:h})=>{const I=(0,X.gf)(it.U).getOptionalString("techdocs.builder"),U=(0,H.s)(),{entityRef:$}=(0,m.V)(),Q=(0,Ft.zy)();(0,i.useEffect)(()=>{const{pathname:ct,search:St,hash:jt}=Q;U.captureEvent("not-found",`${ct}${St}${jt}`,{attributes:$})},[U,$,Q]);let J="";return I!=="local"&&(J="Note that techdocs.builder is not set to 'local' in your config, which means this Backstage app will not generate docs if they are not found. Make sure the project's docs are generated and published by some external process (e.g. CI/CD pipeline). Or change techdocs.builder to 'local' to generate docs from this Backstage instance."),(0,o.jsx)(D.M,{status:"404",statusMessage:h||"Documentation not found",additionalInfo:J})};var sn=t(38282),Fe=t(26679);function he({contentLoading:h,content:I,activeSyncState:U}){return h||U==="BUILD_READY_RELOAD"||!I&&U==="CHECKING"?"CHECKING":!I&&U==="BUILDING"?"INITIAL_BUILD":I?U==="BUILDING"?"CONTENT_STALE_REFRESHING":U==="BUILD_READY"?"CONTENT_STALE_READY":U==="ERROR"?"CONTENT_STALE_ERROR":"CONTENT_FRESH":"CONTENT_NOT_FOUND"}function Ve(h,I){const U={...h};switch(I.type){case"sync":I.state==="CHECKING"&&(U.buildLog=[]),U.activeSyncState=I.state,U.syncError=I.syncError;break;case"contentLoading":U.contentLoading=!0,U.contentError=void 0;break;case"content":typeof I.path=="string"&&(U.path=I.path),U.contentLoading=!1,U.content=I.content,U.contentError=I.contentError;break;case"buildLog":U.buildLog=U.buildLog.concat(I.log);break;default:throw new Error}return["BUILD_READY","BUILD_READY_RELOAD"].includes(U.activeSyncState)&&["contentLoading","content"].includes(I.type)&&(U.activeSyncState="UP_TO_DATE",U.buildLog=[]),U}function Xe(h,I,U,$){var Q,J;const[ct,St]=(0,i.useReducer)(Ve,{activeSyncState:"CHECKING",path:$,contentLoading:!0,buildLog:[]}),jt=(0,X.gf)(Fe.s),{retry:Nt}=(0,sn.A)(async()=>{St({type:"contentLoading"});try{const It=await jt.getEntityDocs({kind:h,namespace:I,name:U},$);return St({type:"content",content:It,path:$}),It}catch(It){St({type:"content",contentError:It,path:$})}},[jt,h,I,U,$]),Gt=(0,i.useRef)({content:void 0,reload:()=>{}});return Gt.current={content:ct.content,reload:Nt},(0,G.default)(async()=>{St({type:"sync",state:"CHECKING"});const It=setTimeout(()=>{St({type:"sync",state:"BUILDING"})},1e3);try{switch(await jt.syncEntityDocs({kind:h,namespace:I,name:U},ye=>{St({type:"buildLog",log:ye})})){case"updated":Gt.current.content?St({type:"sync",state:"BUILD_READY"}):(Gt.current.reload(),St({type:"sync",state:"BUILD_READY_RELOAD"}));break;case"cached":St({type:"sync",state:"UP_TO_DATE"});break;default:St({type:"sync",state:"ERROR",syncError:new Error("Unexpected return state")});break}}catch(de){St({type:"sync",state:"ERROR",syncError:de})}finally{clearTimeout(It)}},[h,U,I,jt,St,Gt]),{state:(0,i.useMemo)(()=>he({activeSyncState:ct.activeSyncState,contentLoading:ct.contentLoading,content:ct.content}),[ct.activeSyncState,ct.content,ct.contentLoading]),contentReload:Nt,path:ct.path,content:ct.content,contentErrorMessage:(Q=ct.contentError)===null||Q===void 0?void 0:Q.toString(),syncErrorMessage:(J=ct.syncError)===null||J===void 0?void 0:J.toString(),buildLog:ct.buildLog}}const _e=(0,i.createContext)({}),Se=()=>(0,i.useContext)(_e),j=h=>{const{children:I}=h,{"*":U=""}=(0,Ft.g)(),{entityRef:$}=(0,m.V)(),{kind:Q,namespace:J,name:ct}=$,St=Xe(Q,J,ct,U);return(0,o.jsx)(_e.Provider,{value:St,children:I instanceof Function?I(St):I})},v=h=>I=>(0,o.jsx)(j,{children:(0,o.jsx)(h,{...I})}),B=(0,u.A)(h=>({root:{marginBottom:h.spacing(2)},message:{wordBreak:"break-word",overflowWrap:"anywhere"}})),F=()=>{let h=null;const I=B(),{state:U,contentReload:$,contentErrorMessage:Q,syncErrorMessage:J,buildLog:ct}=Se();return U==="INITIAL_BUILD"&&(h=(0,o.jsx)($t.A,{classes:{root:I.root},variant:"outlined",severity:"info",icon:(0,o.jsx)(Et.A,{size:"24px"}),action:(0,o.jsx)(ze,{buildLog:ct}),children:"Documentation is accessed for the first time and is being prepared. The subsequent loads are much faster."})),U==="CONTENT_STALE_REFRESHING"&&(h=(0,o.jsx)($t.A,{variant:"outlined",severity:"info",icon:(0,o.jsx)(Et.A,{size:"24px"}),action:(0,o.jsx)(ze,{buildLog:ct}),classes:{root:I.root},children:"A newer version of this documentation is being prepared and will be available shortly."})),U==="CONTENT_STALE_READY"&&(h=(0,o.jsx)($t.A,{variant:"outlined",severity:"success",action:(0,o.jsx)(At.A,{color:"inherit",onClick:()=>$(),children:"Refresh"}),classes:{root:I.root},children:"A newer version of this documentation is now available, please refresh to view."})),U==="CONTENT_STALE_ERROR"&&(h=(0,o.jsxs)($t.A,{variant:"outlined",severity:"error",action:(0,o.jsx)(ze,{buildLog:ct}),classes:{root:I.root,message:I.message},children:["Building a newer version of this documentation failed."," ",J]})),U==="CONTENT_NOT_FOUND"&&(h=(0,o.jsxs)(o.Fragment,{children:[J&&(0,o.jsxs)($t.A,{variant:"outlined",severity:"error",action:(0,o.jsx)(ze,{buildLog:ct}),classes:{root:I.root,message:I.message},children:["Building a newer version of this documentation failed."," ",J]}),(0,o.jsx)(He,{errorMessage:Q})]})),h};var lt=t(54917),tt=t(5893),Dt=t(43320),qt=t(71651),ee=t.n(qt);const pe=/main\.[A-Fa-f0-9]{8}\.min\.css$/,ve=/^https:\/\/fonts\.googleapis\.com/,me=/^https:\/\/fonts\.gstatic\.com/,ue=h=>h.nodeName==="LINK",Yt=h=>{const I=(h==null?void 0:h.getAttribute("href"))||"",U=I.match(pe),$=I.match(ve),Q=I.match(me);return U||$||Q},Pe=h=>(ue(h)&&!Yt(h)&&h.remove(),h),Le=h=>h.nodeName==="IFRAME",Ht=(h,I)=>{const U=h.getAttribute("src")||"";try{const{host:$}=new URL(U);return I.includes($)}catch{return!1}},oe=h=>I=>(Le(I)&&!Ht(I,h)&&I.remove(),I),ce=()=>{const h=(0,X.gf)(it.U);return(0,i.useMemo)(()=>h.getOptionalConfig("techdocs.sanitizer"),[h])},Kn=()=>{const h=ce();return(0,i.useCallback)(async I=>{const U=h==null?void 0:h.getOptionalStringArray("allowedIframeHosts");ee().addHook("beforeSanitizeElements",Pe);const $=["link"];return U&&($.push("iframe"),ee().addHook("beforeSanitizeElements",oe(U))),ee().sanitize(I.outerHTML,{ADD_TAGS:$,FORBID_TAGS:["style"],WHOLE_DOCUMENT:!0,RETURN_DOM:!0})},[h])};var Oo=t(34435),Te=t(268),zn=({theme:h})=>`
|
|
9
|
+
/*================== Variables ==================*/
|
|
10
|
+
/*
|
|
11
|
+
As the MkDocs output is rendered in shadow DOM, the CSS variable definitions on the root selector are not applied. Instead, they have to be applied on :host.
|
|
12
|
+
As there is no way to transform the served main*.css yet (for example in the backend), we have to copy from main*.css and modify them.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
:host {
|
|
16
|
+
/* FONT */
|
|
17
|
+
--md-default-fg-color: ${h.palette.text.primary};
|
|
18
|
+
--md-default-fg-color--light: ${h.palette.text.secondary};
|
|
19
|
+
--md-default-fg-color--lighter: ${(0,Te.a)(h.palette.text.secondary,.7)};
|
|
20
|
+
--md-default-fg-color--lightest: ${(0,Te.a)(h.palette.text.secondary,.3)};
|
|
21
|
+
|
|
22
|
+
/* BACKGROUND */
|
|
23
|
+
--md-default-bg-color:${h.palette.background.default};
|
|
24
|
+
--md-default-bg-color--light: ${h.palette.background.paper};
|
|
25
|
+
--md-default-bg-color--lighter: ${(0,Te.a)(h.palette.background.paper,.7)};
|
|
26
|
+
--md-default-bg-color--lightest: ${(0,Te.a)(h.palette.background.paper,.3)};
|
|
27
|
+
|
|
28
|
+
/* PRIMARY */
|
|
29
|
+
--md-primary-fg-color: ${h.palette.primary.main};
|
|
30
|
+
--md-primary-fg-color--light: ${h.palette.primary.light};
|
|
31
|
+
--md-primary-fg-color--dark: ${h.palette.primary.dark};
|
|
32
|
+
--md-primary-bg-color: ${h.palette.primary.contrastText};
|
|
33
|
+
--md-primary-bg-color--light: ${(0,Te.a)(h.palette.primary.contrastText,.7)};
|
|
34
|
+
|
|
35
|
+
/* ACCENT */
|
|
36
|
+
--md-accent-fg-color: var(--md-primary-fg-color);
|
|
37
|
+
|
|
38
|
+
/* SHADOW */
|
|
39
|
+
--md-shadow-z1: ${h.shadows[1]};
|
|
40
|
+
--md-shadow-z2: ${h.shadows[2]};
|
|
41
|
+
--md-shadow-z3: ${h.shadows[3]};
|
|
42
|
+
|
|
43
|
+
/* EXTENSIONS */
|
|
44
|
+
--md-admonition-fg-color: var(--md-default-fg-color);
|
|
45
|
+
--md-admonition-bg-color: var(--md-default-bg-color);
|
|
46
|
+
/* Admonitions and others are using SVG masks to define icons. These masks are defined as CSS variables. */
|
|
47
|
+
--md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');
|
|
48
|
+
--md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');
|
|
49
|
+
--md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');
|
|
50
|
+
--md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');
|
|
51
|
+
--md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');
|
|
52
|
+
--md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');
|
|
53
|
+
--md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');
|
|
54
|
+
--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');
|
|
55
|
+
--md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');
|
|
56
|
+
--md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');
|
|
57
|
+
--md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');
|
|
58
|
+
--md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>');
|
|
59
|
+
--md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>');
|
|
60
|
+
--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
|
|
61
|
+
--md-tasklist-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg>');
|
|
62
|
+
--md-tasklist-icon--checked: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');
|
|
63
|
+
--md-nav-icon--prev: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>');
|
|
64
|
+
--md-nav-icon--next: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
|
|
65
|
+
--md-toc-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 9h14V7H3v2m0 4h14v-2H3v2m0 4h14v-2H3v2m16 0h2v-2h-2v2m0-10v2h2V7h-2m0 6h2v-2h-2v2z"/></svg>');
|
|
66
|
+
--md-clipboard-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1z"/></svg>');
|
|
67
|
+
--md-search-result-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7c-.41-.25-.8-.56-1.14-.9-.33-.33-.61-.7-.86-1.1H6V4h7v5h5v1.18c.71.16 1.39.43 2 .82V8l-6-6m6.31 16.9c1.33-2.11.69-4.9-1.4-6.22-2.11-1.33-4.91-.68-6.22 1.4-1.34 2.11-.69 4.89 1.4 6.22 1.46.93 3.32.93 4.79.02L22 23.39 23.39 22l-3.08-3.1m-3.81.1a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5z"/></svg>');
|
|
68
|
+
--md-source-forks-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" 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.5 0v.878A2.25 2.25 0 0 0 5.75 8.5h1.5v2.128a2.251 2.251 0 1 0 1.5 0V8.5h1.5a2.25 2.25 0 0 0 2.25-2.25v-.878a2.25 2.25 0 1 0-1.5 0v.878a.75.75 0 0 1-.75.75h-4.5A.75.75 0 0 1 5 6.25v-.878zm3.75 7.378a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm3-8.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z"/></svg>');
|
|
69
|
+
--md-source-repositories-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 1 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 0 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 0 1 1-1h8zM5 12.25v3.25a.25.25 0 0 0 .4.2l1.45-1.087a.25.25 0 0 1 .3 0L8.6 15.7a.25.25 0 0 0 .4-.2v-3.25a.25.25 0 0 0-.25-.25h-3.5a.25.25 0 0 0-.25.25z"/></svg>');
|
|
70
|
+
--md-source-stars-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.75.75 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694v.001z"/></svg>');
|
|
71
|
+
--md-source-version-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2.5 7.775V2.75a.25.25 0 0 1 .25-.25h5.025a.25.25 0 0 1 .177.073l6.25 6.25a.25.25 0 0 1 0 .354l-5.025 5.025a.25.25 0 0 1-.354 0l-6.25-6.25a.25.25 0 0 1-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775zM6 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>');
|
|
72
|
+
--md-version-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="m310.6 246.6-127.1 128c-7.1 6.3-15.3 9.4-23.5 9.4s-16.38-3.125-22.63-9.375l-127.1-128C.224 237.5-2.516 223.7 2.438 211.8S19.07 192 32 192h255.1c12.94 0 24.62 7.781 29.58 19.75s3.12 25.75-6.08 34.85z"/></svg>');
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
:host > * {
|
|
76
|
+
/* CODE */
|
|
77
|
+
--md-code-fg-color: ${h.palette.text.primary};
|
|
78
|
+
--md-code-bg-color: ${h.palette.background.paper};
|
|
79
|
+
--md-code-hl-color: ${(0,Te.X4)(h.palette.warning.main,.5)};
|
|
80
|
+
--md-code-hl-keyword-color: ${h.palette.type==="dark"?h.palette.primary.light:h.palette.primary.dark};
|
|
81
|
+
--md-code-hl-function-color: ${h.palette.type==="dark"?h.palette.secondary.light:h.palette.secondary.dark};
|
|
82
|
+
--md-code-hl-string-color: ${h.palette.type==="dark"?h.palette.success.light:h.palette.success.dark};
|
|
83
|
+
--md-code-hl-number-color: ${h.palette.type==="dark"?h.palette.error.light:h.palette.error.dark};
|
|
84
|
+
--md-code-hl-constant-color: var(--md-code-hl-function-color);
|
|
85
|
+
--md-code-hl-special-color: var(--md-code-hl-function-color);
|
|
86
|
+
--md-code-hl-name-color: var(--md-code-fg-color);
|
|
87
|
+
--md-code-hl-comment-color: var(--md-default-fg-color--light);
|
|
88
|
+
--md-code-hl-generic-color: var(--md-default-fg-color--light);
|
|
89
|
+
--md-code-hl-variable-color: var(--md-default-fg-color--light);
|
|
90
|
+
--md-code-hl-operator-color: var(--md-default-fg-color--light);
|
|
91
|
+
--md-code-hl-punctuation-color: var(--md-default-fg-color--light);
|
|
92
|
+
|
|
93
|
+
/* TYPESET */
|
|
94
|
+
--md-typeset-font-size: 1rem;
|
|
95
|
+
--md-typeset-color: var(--md-default-fg-color);
|
|
96
|
+
--md-typeset-a-color: ${h.palette.link};
|
|
97
|
+
--md-typeset-table-color: ${h.palette.text.primary};
|
|
98
|
+
--md-typeset-del-color: ${h.palette.type==="dark"?(0,Te.X4)(h.palette.error.dark,.5):(0,Te.X4)(h.palette.error.light,.5)};
|
|
99
|
+
--md-typeset-ins-color: ${h.palette.type==="dark"?(0,Te.X4)(h.palette.success.dark,.5):(0,Te.X4)(h.palette.success.light,.5)};
|
|
100
|
+
--md-typeset-mark-color: ${h.palette.type==="dark"?(0,Te.X4)(h.palette.warning.dark,.5):(0,Te.X4)(h.palette.warning.light,.5)};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
@media screen and (max-width: 76.1875em) {
|
|
104
|
+
:host > * {
|
|
105
|
+
/* TYPESET */
|
|
106
|
+
--md-typeset-font-size: .9rem;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@media screen and (max-width: 600px) {
|
|
111
|
+
:host > * {
|
|
112
|
+
/* TYPESET */
|
|
113
|
+
--md-typeset-font-size: .7rem;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
`,Hn=({theme:h})=>`
|
|
117
|
+
/*================== Reset ==================*/
|
|
118
|
+
|
|
119
|
+
body {
|
|
120
|
+
--md-text-color: var(--md-default-fg-color);
|
|
121
|
+
--md-text-link-color: var(--md-accent-fg-color);
|
|
122
|
+
--md-text-font-family: ${h.typography.fontFamily};
|
|
123
|
+
font-family: var(--md-text-font-family);
|
|
124
|
+
background-color: unset;
|
|
125
|
+
}
|
|
126
|
+
`;const an="224px";var Me=({theme:h,sidebar:I})=>`
|
|
127
|
+
/*================== Layout ==================*/
|
|
128
|
+
|
|
129
|
+
/* mkdocs material v9 compat */
|
|
130
|
+
.md-nav__title {
|
|
131
|
+
color: var(--md-default-fg-color);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.md-grid {
|
|
135
|
+
max-width: 100%;
|
|
136
|
+
margin: 0;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.md-nav {
|
|
140
|
+
font-size: calc(var(--md-typeset-font-size) * 0.9);
|
|
141
|
+
}
|
|
142
|
+
.md-nav__link {
|
|
143
|
+
display: flex;
|
|
144
|
+
align-items: center;
|
|
145
|
+
justify-content: space-between;
|
|
146
|
+
}
|
|
147
|
+
.md-nav__icon {
|
|
148
|
+
height: 20px !important;
|
|
149
|
+
width: 20px !important;
|
|
150
|
+
margin-left:${h.spacing(1)}px;
|
|
151
|
+
}
|
|
152
|
+
.md-nav__icon svg {
|
|
153
|
+
margin: 0;
|
|
154
|
+
width: 20px !important;
|
|
155
|
+
height: 20px !important;
|
|
156
|
+
}
|
|
157
|
+
.md-nav__icon:after {
|
|
158
|
+
width: 20px !important;
|
|
159
|
+
height: 20px !important;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.md-nav__item--active > .md-nav__link, a.md-nav__link--active {
|
|
163
|
+
text-decoration: underline;
|
|
164
|
+
color: var(--md-typeset-a-color);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.md-main__inner {
|
|
168
|
+
margin-top: 0;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.md-sidebar {
|
|
172
|
+
bottom: 75px;
|
|
173
|
+
position: fixed;
|
|
174
|
+
width: 16rem;
|
|
175
|
+
overflow-y: auto;
|
|
176
|
+
overflow-x: hidden;
|
|
177
|
+
scrollbar-color: rgb(193, 193, 193) #eee;
|
|
178
|
+
scrollbar-width: thin;
|
|
179
|
+
}
|
|
180
|
+
.md-sidebar .md-sidebar__scrollwrap {
|
|
181
|
+
width: calc(12.1rem);
|
|
182
|
+
}
|
|
183
|
+
.md-sidebar--secondary {
|
|
184
|
+
right: ${h.spacing(3)}px;
|
|
185
|
+
}
|
|
186
|
+
.md-sidebar::-webkit-scrollbar {
|
|
187
|
+
width: 5px;
|
|
188
|
+
}
|
|
189
|
+
.md-sidebar::-webkit-scrollbar-button {
|
|
190
|
+
width: 5px;
|
|
191
|
+
height: 5px;
|
|
192
|
+
}
|
|
193
|
+
.md-sidebar::-webkit-scrollbar-track {
|
|
194
|
+
background: #eee;
|
|
195
|
+
border: 1 px solid rgb(250, 250, 250);
|
|
196
|
+
box-shadow: 0px 0px 3px #dfdfdf inset;
|
|
197
|
+
border-radius: 3px;
|
|
198
|
+
}
|
|
199
|
+
.md-sidebar::-webkit-scrollbar-thumb {
|
|
200
|
+
width: 5px;
|
|
201
|
+
background: rgb(193, 193, 193);
|
|
202
|
+
border: transparent;
|
|
203
|
+
border-radius: 3px;
|
|
204
|
+
}
|
|
205
|
+
.md-sidebar::-webkit-scrollbar-thumb:hover {
|
|
206
|
+
background: rgb(125, 125, 125);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.md-content {
|
|
210
|
+
max-width: calc(100% - 16rem * 2);
|
|
211
|
+
margin-left: 16rem;
|
|
212
|
+
margin-bottom: 50px;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.md-footer {
|
|
216
|
+
position: fixed;
|
|
217
|
+
bottom: 0px;
|
|
218
|
+
pointer-events: none;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.md-footer-nav__link, .md-footer__link {
|
|
222
|
+
pointer-events: all;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.md-footer__title {
|
|
226
|
+
background-color: unset;
|
|
227
|
+
}
|
|
228
|
+
.md-footer-nav__link, .md-footer__link {
|
|
229
|
+
width: 16rem;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.md-dialog {
|
|
233
|
+
background-color: unset;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
@media screen and (min-width: 76.25em) {
|
|
237
|
+
.md-sidebar {
|
|
238
|
+
height: auto;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
@media screen and (max-width: 76.1875em) {
|
|
243
|
+
.md-nav {
|
|
244
|
+
transition: none !important;
|
|
245
|
+
background-color: var(--md-default-bg-color)
|
|
246
|
+
}
|
|
247
|
+
.md-nav--primary .md-nav__title {
|
|
248
|
+
cursor: auto;
|
|
249
|
+
color: var(--md-default-fg-color);
|
|
250
|
+
font-weight: 700;
|
|
251
|
+
white-space: normal;
|
|
252
|
+
line-height: 1rem;
|
|
253
|
+
height: auto;
|
|
254
|
+
display: flex;
|
|
255
|
+
flex-flow: column;
|
|
256
|
+
row-gap: 1.6rem;
|
|
257
|
+
padding: 1.2rem .8rem .8rem;
|
|
258
|
+
background-color: var(--md-default-bg-color);
|
|
259
|
+
}
|
|
260
|
+
.md-nav--primary .md-nav__title~.md-nav__list {
|
|
261
|
+
box-shadow: none;
|
|
262
|
+
}
|
|
263
|
+
.md-nav--primary .md-nav__title ~ .md-nav__list > :first-child {
|
|
264
|
+
border-top: none;
|
|
265
|
+
}
|
|
266
|
+
.md-nav--primary .md-nav__title .md-nav__button {
|
|
267
|
+
display: none;
|
|
268
|
+
}
|
|
269
|
+
.md-nav--primary .md-nav__title .md-nav__icon {
|
|
270
|
+
color: var(--md-default-fg-color);
|
|
271
|
+
position: static;
|
|
272
|
+
height: auto;
|
|
273
|
+
margin: 0 0 0 -0.2rem;
|
|
274
|
+
}
|
|
275
|
+
.md-nav--primary > .md-nav__title [for="none"] {
|
|
276
|
+
padding-top: 0;
|
|
277
|
+
}
|
|
278
|
+
.md-nav--primary .md-nav__item {
|
|
279
|
+
border-top: none;
|
|
280
|
+
}
|
|
281
|
+
.md-nav--primary :is(.md-nav__title,.md-nav__item) {
|
|
282
|
+
font-size : var(--md-typeset-font-size);
|
|
283
|
+
}
|
|
284
|
+
.md-nav .md-source {
|
|
285
|
+
display: none;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.md-sidebar {
|
|
289
|
+
height: 100%;
|
|
290
|
+
}
|
|
291
|
+
.md-sidebar--primary {
|
|
292
|
+
width: 12.1rem !important;
|
|
293
|
+
z-index: 200;
|
|
294
|
+
left: ${I.isPinned?`calc(-12.1rem + ${an})`:"calc(-12.1rem + 72px)"} !important;
|
|
295
|
+
}
|
|
296
|
+
.md-sidebar--secondary:not([hidden]) {
|
|
297
|
+
display: none;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.md-content {
|
|
301
|
+
max-width: 100%;
|
|
302
|
+
margin-left: 0;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.md-header__button {
|
|
306
|
+
margin: 0.4rem 0;
|
|
307
|
+
margin-left: 0.4rem;
|
|
308
|
+
padding: 0;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.md-overlay {
|
|
312
|
+
left: 0;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.md-footer {
|
|
316
|
+
position: static;
|
|
317
|
+
padding-left: 0;
|
|
318
|
+
}
|
|
319
|
+
.md-footer-nav__link {
|
|
320
|
+
/* footer links begin to overlap at small sizes without setting width */
|
|
321
|
+
width: 50%;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
@media screen and (max-width: 600px) {
|
|
326
|
+
.md-sidebar--primary {
|
|
327
|
+
left: -12.1rem !important;
|
|
328
|
+
width: 12.1rem;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
@media print {
|
|
334
|
+
.md-sidebar,
|
|
335
|
+
#toggle-sidebar {
|
|
336
|
+
display: none;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
.md-content {
|
|
340
|
+
margin: 0;
|
|
341
|
+
width: 100%;
|
|
342
|
+
max-width: 100%;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
`;const wo=["h1","h2","h3","h4","h5","h6"];var qe=({theme:h})=>`
|
|
346
|
+
/*================== Typeset ==================*/
|
|
347
|
+
|
|
348
|
+
.md-typeset {
|
|
349
|
+
font-size: var(--md-typeset-font-size);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
${wo.reduce((I,U)=>{var $;const Q=($=h.typography.htmlFontSize)!==null&&$!==void 0?$:16,J=h.typography[U],{lineHeight:ct,fontFamily:St,fontWeight:jt,fontSize:Nt}=J,Gt=Wt=>{let It=1;return typeof Wt=="number"&&(It=Wt/Q*.6),typeof Wt=="string"&&(It=Wt.replace("rem","")),`calc(${It} * var(--md-typeset-font-size))`};return I.concat(`
|
|
353
|
+
.md-typeset ${U} {
|
|
354
|
+
color: var(--md-default-fg-color);
|
|
355
|
+
line-height: ${ct};
|
|
356
|
+
font-family: ${St};
|
|
357
|
+
font-weight: ${jt};
|
|
358
|
+
font-size: ${Gt(Nt)};
|
|
359
|
+
}
|
|
360
|
+
`)},"")}
|
|
361
|
+
|
|
362
|
+
.md-typeset .md-content__button {
|
|
363
|
+
color: var(--md-default-fg-color);
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
.md-typeset hr {
|
|
367
|
+
border-bottom: 0.05rem dotted ${h.palette.divider};
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.md-typeset details {
|
|
371
|
+
font-size: var(--md-typeset-font-size) !important;
|
|
372
|
+
}
|
|
373
|
+
.md-typeset details summary {
|
|
374
|
+
padding-left: 2.5rem !important;
|
|
375
|
+
}
|
|
376
|
+
.md-typeset details summary:before,
|
|
377
|
+
.md-typeset details summary:after {
|
|
378
|
+
top: 50% !important;
|
|
379
|
+
width: 20px !important;
|
|
380
|
+
height: 20px !important;
|
|
381
|
+
transform: rotate(0deg) translateY(-50%) !important;
|
|
382
|
+
}
|
|
383
|
+
.md-typeset details[open] > summary:after {
|
|
384
|
+
transform: rotate(90deg) translateX(-50%) !important;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
.md-typeset blockquote {
|
|
388
|
+
color: var(--md-default-fg-color--light);
|
|
389
|
+
border-left: 0.2rem solid var(--md-default-fg-color--light);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
.md-typeset table:not([class]) {
|
|
393
|
+
font-size: var(--md-typeset-font-size);
|
|
394
|
+
border: 1px solid var(--md-default-fg-color);
|
|
395
|
+
border-bottom: none;
|
|
396
|
+
border-collapse: collapse;
|
|
397
|
+
}
|
|
398
|
+
.md-typeset table:not([class]) th {
|
|
399
|
+
font-weight: bold;
|
|
400
|
+
}
|
|
401
|
+
.md-typeset table:not([class]) td, .md-typeset table:not([class]) th {
|
|
402
|
+
border-bottom: 1px solid var(--md-default-fg-color);
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
.md-typeset pre > code::-webkit-scrollbar-thumb {
|
|
406
|
+
background-color: hsla(0, 0%, 0%, 0.32);
|
|
407
|
+
}
|
|
408
|
+
.md-typeset pre > code::-webkit-scrollbar-thumb:hover {
|
|
409
|
+
background-color: hsla(0, 0%, 0%, 0.87);
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.md-typeset code {
|
|
413
|
+
word-break: keep-all;
|
|
414
|
+
}
|
|
415
|
+
`,Po=()=>`
|
|
416
|
+
/*================== Animations ==================*/
|
|
417
|
+
/*
|
|
418
|
+
Disable CSS animations on link colors as they lead to issues in dark mode.
|
|
419
|
+
The dark mode color theme is applied later and theirfore there is always an animation from light to dark mode when navigation between pages.
|
|
420
|
+
*/
|
|
421
|
+
.md-dialog, .md-nav__link, .md-footer__link, .md-typeset a, .md-typeset a::before, .md-typeset .headerlink {
|
|
422
|
+
transition: none;
|
|
423
|
+
}
|
|
424
|
+
`,Vn=({theme:h})=>`
|
|
425
|
+
/*================== Extensions ==================*/
|
|
426
|
+
|
|
427
|
+
/* HIGHLIGHT */
|
|
428
|
+
.highlight .md-clipboard:after {
|
|
429
|
+
content: unset;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
.highlight .nx {
|
|
433
|
+
color: ${h.palette.type==="dark"?"#ff53a3":"#ec407a"};
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/* CODE HILITE */
|
|
437
|
+
.codehilite .gd {
|
|
438
|
+
background-color: ${h.palette.type==="dark"?"rgba(248,81,73,0.65)":"#fdd"};
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
.codehilite .gi {
|
|
442
|
+
background-color: ${h.palette.type==="dark"?"rgba(46,160,67,0.65)":"#dfd"};
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
/* TABBED */
|
|
446
|
+
.tabbed-set>input:nth-child(1):checked~.tabbed-labels>:nth-child(1),
|
|
447
|
+
.tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),
|
|
448
|
+
.tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),
|
|
449
|
+
.tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),
|
|
450
|
+
.tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),
|
|
451
|
+
.tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),
|
|
452
|
+
.tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),
|
|
453
|
+
.tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),
|
|
454
|
+
.tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),
|
|
455
|
+
.tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),
|
|
456
|
+
.tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),
|
|
457
|
+
.tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),
|
|
458
|
+
.tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),
|
|
459
|
+
.tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),
|
|
460
|
+
.tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),
|
|
461
|
+
.tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),
|
|
462
|
+
.tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),
|
|
463
|
+
.tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),
|
|
464
|
+
.tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),
|
|
465
|
+
.tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20) {
|
|
466
|
+
color: var(--md-accent-fg-color);
|
|
467
|
+
border-color: var(--md-accent-fg-color);
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
/* TASK-LIST */
|
|
471
|
+
.task-list-control .task-list-indicator::before {
|
|
472
|
+
background-color: ${h.palette.action.disabledBackground};
|
|
473
|
+
}
|
|
474
|
+
.task-list-control [type="checkbox"]:checked + .task-list-indicator:before {
|
|
475
|
+
background-color: ${h.palette.success.main};
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/* ADMONITION */
|
|
479
|
+
.admonition {
|
|
480
|
+
font-size: var(--md-typeset-font-size) !important;
|
|
481
|
+
}
|
|
482
|
+
.admonition .admonition-title {
|
|
483
|
+
padding-left: 2.5rem !important;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
.admonition .admonition-title:before {
|
|
487
|
+
top: 50% !important;
|
|
488
|
+
width: 20px !important;
|
|
489
|
+
height: 20px !important;
|
|
490
|
+
transform: translateY(-50%) !important;
|
|
491
|
+
}
|
|
492
|
+
`;const To=[zn,Hn,Me,qe,Po,Vn],Qt=()=>(0,Oo.Ut)(),tn=()=>{const h=Qt(),I=(0,lt.A)();return(0,i.useMemo)(()=>{const U={theme:I,sidebar:h};return To.reduce(($,Q)=>$+Q(U),"")},[I,h])},un=()=>{const h=tn();return(0,i.useCallback)(I=>(I.getElementsByTagName("head")[0].insertAdjacentHTML("beforeend",`<style>${h}</style>`),I),[h])},Gn=async(h,I)=>{let U;if(typeof h=="string")U=new DOMParser().parseFromString(h,"text/html").documentElement;else if(h instanceof Element)U=h;else throw new Error("dom is not a recognized type");for(const $ of I)U=await $(U);return U},Ro=(h,I,U)=>{const $=h==="src"&&I.endsWith(".svg"),Q=!I.match(/^([a-z]*:)?\/\//i),J=I.startsWith(U);return $&&(Q||J)},Io=({techdocsStorageApi:h,entityId:I,path:U})=>async $=>{const Q=await h.getApiOrigin(),J=async(ct,St)=>{for(const jt of ct)if(jt.hasAttribute(St)){const Nt=jt.getAttribute(St);if(!Nt)return;const Gt=await h.getBaseUrl(Nt,I,U);if(Ro(St,Nt,Q))try{const It=await(await fetch(Gt,{credentials:"include"})).text();jt.setAttribute(St,`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(It)))}`)}catch{jt.setAttribute("alt",`Error: ${Nt}`)}else jt.setAttribute(St,Gt)}};return await Promise.all([J($.querySelectorAll("img"),"src"),J($.querySelectorAll("script"),"src"),J($.querySelectorAll("source"),"src"),J($.querySelectorAll("link"),"href"),J($.querySelectorAll("a[download]"),"href")]),$},Do=()=>h=>(((U,$)=>{Array.from(U).filter(Q=>Q.hasAttribute($)).forEach(Q=>{const J=Q.getAttribute($);if(J){J.match(/^https?:\/\//i)&&Q.setAttribute("target","_blank");try{const ct=Cn(window.location.href);Q.setAttribute($,new URL(J,ct).toString())}catch{Q.replaceWith(Q.textContent||J)}}})})(Array.from(h.getElementsByTagName("a")),"href"),h);function Cn(h){const I=new URL(h);return!I.pathname.endsWith("/")&&!I.pathname.endsWith(".html")&&(I.pathname+="/"),I.toString()}var Lo=t(27326);let Sn;Sn=Promise.resolve().then(t.t.bind(t,25873,19));function bn(h,I){Sn.then(U=>{"createRoot"in U?U.createRoot(I).render(h):U.render(h,I)})}const Yn=()=>h=>{const I=h.querySelector('.md-header label[for="__drawer"]'),U=h.querySelector("article");if(!I||!U)return h;const $=I.cloneNode();return bn(i.createElement(Lo.A),$),$.id="toggle-sidebar",$.title="Toggle Sidebar",$.classList.add("md-content__button"),$.style.setProperty("padding","0 0 0 5px"),$.style.setProperty("margin","0.4rem 0 0.4rem 0.4rem"),U==null||U.prepend($),h},Mo=()=>h=>{var I;return(I=h.querySelector(".md-header"))===null||I===void 0||I.remove(),h},jo=()=>h=>{var I,U;return(I=h.querySelector(".md-footer .md-copyright"))===null||I===void 0||I.remove(),(U=h.querySelector(".md-footer-copyright"))===null||U===void 0||U.remove(),h};var Bo=t(36021),Uo=t(90292),Fo=t(52536),$o=t.n(Fo);const No=h=>I=>{var U;const $=I.querySelector('[title="Edit this page"]');if(!$||!$.href)return I;const Q=new URL($.href),J=h.byUrl(Q);if((J==null?void 0:J.type)!=="github"&&(J==null?void 0:J.type)!=="gitlab")return I;const ct=((U=I.querySelector("article>h1"))===null||U===void 0?void 0:U.childNodes[0].textContent)||"",St=encodeURIComponent(`Documentation Feedback: ${ct}`),jt=encodeURIComponent(`Page source:
|
|
493
|
+
${$.href}
|
|
494
|
+
|
|
495
|
+
Feedback:`),Nt=(J==null?void 0:J.type)==="github"?(0,Bo.F)(Q.href,"blob"):Q.href,Gt=$o()(Nt),Wt=`/${Gt.organization}/${Gt.name}`,It=$.cloneNode();switch(J==null?void 0:J.type){case"gitlab":It.href=`${Q.origin}${Wt}/issues/new?issue[title]=${St}&issue[description]=${jt}`;break;case"github":It.href=`${Q.origin}${Wt}/issues/new?title=${St}&body=${jt}`;break;default:return I}return bn(i.createElement(Uo.A),It),It.style.paddingLeft="5px",It.title="Leave feedback for this page",It.id="git-feedback-link",$==null||$.insertAdjacentElement("beforebegin",It),I},Qn=()=>h=>(setTimeout(()=>{const I=h==null?void 0:h.querySelectorAll("li.md-nav__item--active");I.length!==0&&(I.forEach($=>{const Q=$==null?void 0:$.querySelector("input");Q!=null&&Q.checked||Q==null||Q.click()}),I[I.length-1].scrollIntoView())},200),h);var Wo=t(7031),ko=t(71677),Zn=t(10437),Jn=t(50868),Ko=t(51100);const On=(0,Wo.A)(h=>({tooltip:{fontSize:"inherit",color:h.palette.text.primary,margin:0,padding:h.spacing(.5),backgroundColor:"transparent",boxShadow:"none"}}))(ko.Ay),wn=()=>(0,o.jsx)(Zn.A,{children:(0,o.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})}),zo=({text:h})=>{const[I,U]=(0,i.useState)(!1),[,$]=(0,Ko.A)(),Q=(0,i.useCallback)(()=>{$(h),U(!0)},[h,$]),J=(0,i.useCallback)(()=>{U(!1)},[U]);return(0,o.jsx)(On,{title:"Copied to clipboard",placement:"left",open:I,onClose:J,leaveDelay:1e3,children:(0,o.jsx)(ft.A,{style:{color:"inherit"},className:"md-clipboard md-icon",onClick:Q,children:(0,o.jsx)(wn,{})})})},Xn=h=>I=>{const U=I.querySelectorAll("pre > code");for(const Q of U){var $;const J=Q.textContent||"",ct=document.createElement("div");Q==null||($=Q.parentElement)===null||$===void 0||$.prepend(ct),bn((0,o.jsx)(Jn.A,{theme:h,children:(0,o.jsx)(zo,{text:J})}),ct)}return I},_n=({baseUrl:h,onClick:I})=>U=>(Array.from(U.getElementsByTagName("a")).forEach($=>{$.addEventListener("click",Q=>{const ct=$.getAttribute("href");ct&&ct.startsWith(h)&&!$.hasAttribute("download")&&(Q.preventDefault(),I(Q,ct))})}),U),qn=({onLoading:h,onLoaded:I})=>U=>(h(),U.addEventListener(E,function $(){I(),U.removeEventListener(E,$)}),U);function Ho(h,I){const U=new URL(I),$=`${U.origin}${U.pathname.replace(/\/$/,"")}`,Q=h.replace($,"").replace(/^\/+/,""),J=new URL(`http://localhost/${Q}`);return`${J.pathname}${J.search}${J.hash}`}function Vo(){const h=(0,Ft.Zp)(),U=(0,X.gf)(it.U).getOptionalString("app.baseUrl");return(0,i.useCallback)(Q=>{let J=Q;if(U)try{J=Ho(Q,U)}catch{}h(J)},[h,U])}const Go="screen and (max-width: 76.1875em)",Yo=h=>{const I=Vo(),U=(0,lt.A)(),$=(0,tt.A)(Go),Q=Kn(),J=un(),ct=(0,H.s)(),St=(0,X.gf)(Fe.s),jt=(0,X.gf)(Dt.Y),{state:Nt,path:Gt,content:Wt}=Se(),[It,de]=(0,i.useState)(null),ye=p(It),Jt=(0,i.useCallback)(()=>{if(!It)return;It.querySelectorAll(".md-sidebar").forEach(Kt=>{if($)Kt.style.top="0px";else{var te;const Be=(te=document)===null||te===void 0?void 0:te.querySelector(".techdocs-reader-page");var Ae;const re=(Ae=Be==null?void 0:Be.getBoundingClientRect().top)!==null&&Ae!==void 0?Ae:0;var je;let Rn=(je=It.getBoundingClientRect().top)!==null&&je!==void 0?je:0;const In=It.querySelector(".md-container > .md-tabs");var $e;const Dn=($e=In==null?void 0:In.getBoundingClientRect().height)!==null&&$e!==void 0?$e:0;Rn<re&&(Rn=re);const no=Math.max(Rn,0)+Dn;Kt.style.top=`${no}px`;const en=It.querySelector(".md-container > .md-footer");var ge;const hn=(ge=en==null?void 0:en.getBoundingClientRect().top)!==null&&ge!==void 0?ge:window.innerHeight;Kt.style.height=`${hn-no}px`}Kt.style.setProperty("opacity","1")})},[It,$]);(0,i.useEffect)(()=>(window.addEventListener("resize",Jt),window.addEventListener("scroll",Jt,!0),()=>{window.removeEventListener("resize",Jt),window.removeEventListener("scroll",Jt,!0)}),[It,Jt]);const kt=(0,i.useCallback)(()=>{if(!It)return;const Mt=It.querySelector(".md-footer");Mt&&(Mt.style.width=`${It.getBoundingClientRect().width}px`)},[It]);(0,i.useEffect)(()=>(window.addEventListener("resize",kt),()=>{window.removeEventListener("resize",kt)}),[It,kt]),(0,i.useEffect)(()=>{ye||(kt(),Jt())},[Nt,ye,kt,Jt]);const ae=(0,i.useCallback)((Mt,Kt)=>Gn(Mt,[Q,Io({techdocsStorageApi:St,entityId:h,path:Kt}),Do(),Yn(),Mo(),jo(),No(jt),J]),[h,jt,St,Q,J]),Ee=(0,i.useCallback)(async Mt=>Gn(Mt,[Qn(),Xn(U),_n({baseUrl:window.location.origin,onClick:(Kt,te)=>{var Ae;const je=Kt.ctrlKey||Kt.metaKey,$e=new URL(te),ge=((Ae=Kt.target)===null||Ae===void 0?void 0:Ae.innerText)||te,Be=te.replace(window.location.origin,"");if(ct.captureEvent("click",ge,{attributes:{to:Be}}),$e.hash)if(je)window.open(te,"_blank");else{var re;I(te),Mt==null||(re=Mt.querySelector(`[id="${$e.hash.slice(1)}"]`))===null||re===void 0||re.scrollIntoView()}else je?window.open(te,"_blank"):I(te)}}),qn({onLoading:()=>{},onLoaded:()=>{var Kt;(Kt=Mt.querySelector(".md-nav__title"))===null||Kt===void 0||Kt.removeAttribute("for")}}),qn({onLoading:()=>{Array.from(Mt.querySelectorAll(".md-sidebar")).forEach(te=>{te.style.setProperty("opacity","0")})},onLoaded:()=>{}})]),[U,I,ct]);return(0,i.useEffect)(()=>{if(!Wt)return()=>{};let Mt=!0;return ae(Wt,Gt).then(async Kt=>{if(!(Kt!=null&&Kt.innerHTML)||!Mt)return;window.scroll({top:0});const te=await Ee(Kt);de(te)}),()=>{Mt=!1}},[Wt,Gt,ae,Ee]),It};var Pn=t(41883),Qo=t(72020),Tn=t(99730);const to=()=>{const h=(0,Qo.YR)(),{shadowRoot:I}=(0,m.V)(),U=I==null?void 0:I.querySelector('[data-md-component="content"]'),$=I==null?void 0:I.querySelector('div[data-md-component="sidebar"][data-md-type="navigation"], div[data-md-component="navigation"]');let Q=$==null?void 0:$.querySelector('[data-techdocs-addons-location="primary sidebar"]');Q||(Q=document.createElement("div"),Q.setAttribute("data-techdocs-addons-location","primary sidebar"),$==null||$.prepend(Q));const J=I==null?void 0:I.querySelector('div[data-md-component="sidebar"][data-md-type="toc"], div[data-md-component="toc"]');let ct=J==null?void 0:J.querySelector('[data-techdocs-addons-location="secondary sidebar"]');return ct||(ct=document.createElement("div"),ct.setAttribute("data-techdocs-addons-location","secondary sidebar"),J==null||J.prepend(ct)),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(Pn.A,{container:Q,children:h.renderComponentsByLocation(Tn.e.PrimarySidebar)}),(0,o.jsx)(Pn.A,{container:U,children:h.renderComponentsByLocation(Tn.e.Content)}),(0,o.jsx)(Pn.A,{container:ct,children:h.renderComponentsByLocation(Tn.e.SecondarySidebar)})]})},eo=(0,u.A)({search:{width:"100%","@media (min-width: 76.1875em)":{width:"calc(100% - 34.4rem)",margin:"0 auto"},"@media print":{display:"none"}}}),Lt=v(h=>{var I;const{withSearch:U=!0,onReady:$}=h,Q=eo(),{entityMetadata:{value:J,loading:ct},entityRef:St,setShadowRoot:jt}=(0,m.V)(),Nt=Yo(St),Gt=window.location.pathname,Wt=window.location.hash,It=p(Nt),[de]=P([`[id="${Wt.slice(1)}"]`]);(0,i.useEffect)(()=>{if(!It)if(Wt)de&&de.scrollIntoView();else{var Jt,kt;(kt=document)===null||kt===void 0||(Jt=kt.querySelector("header"))===null||Jt===void 0||Jt.scrollIntoView()}},[Gt,Wt,de,It]);const ye=(0,i.useCallback)(Jt=>{jt(Jt),$ instanceof Function&&$()},[jt,$]);return ct===!1&&!J?(0,o.jsx)(D.M,{status:"404",statusMessage:"PAGE NOT FOUND"}):Nt?(0,o.jsx)(b.U,{children:(0,o.jsxs)(A.A,{container:!0,children:[(0,o.jsx)(A.A,{xs:12,item:!0,children:(0,o.jsx)(F,{})}),U&&(0,o.jsx)(A.A,{className:Q.search,xs:"auto",item:!0,children:(0,o.jsx)(_t,{entityId:St,entityTitle:J==null||(I=J.metadata)===null||I===void 0?void 0:I.title})}),(0,o.jsx)(A.A,{xs:12,item:!0,children:(0,o.jsx)(C,{element:Nt,onAppend:ye,children:(0,o.jsx)(to,{})})})]})}):(0,o.jsx)(b.U,{children:(0,o.jsx)(A.A,{container:!0,children:(0,o.jsx)(A.A,{xs:12,item:!0,children:(0,o.jsx)(F,{})})})})}),fe=null},45061:function(Y,T,t){"use strict";t.d(T,{T:function(){return it}});var o=t(31085),i=t(14041),u=t(93285),A=t(42899),m=t(4387),g=t(54917),c=t(13660),d=t(72020),y=t(86892),E=t(99730),O=t(67871),p=t(8859),C=t(34428),f=t(51372),R=t(58837),P=t(268),w=t(72501),M=t(72072);const D=(0,R.A)(gt=>({root:{textAlign:"left"},label:{color:gt.page.fontColor,fontWeight:gt.typography.fontWeightBold,letterSpacing:0,fontSize:gt.typography.fontSize,marginBottom:gt.spacing(1)/2,lineHeight:1},value:{color:(0,P.X4)(gt.page.fontColor,.8),fontSize:gt.typography.fontSize,lineHeight:1}}),{name:"BackstageHeaderLabel"}),b=({value:gt,className:ut,typographyRootComponent:bt})=>(0,o.jsx)(w.A,{component:bt!=null?bt:typeof gt=="string"?"p":"span",className:ut,children:gt});function z(gt){const{label:ut,value:bt,url:st,contentTypograpyRootComponent:yt}=gt,dt=D(),at=(0,o.jsx)(b,{className:dt.value,value:bt||"<Unknown>",typographyRootComponent:yt});return(0,o.jsx)(A.A,{item:!0,children:(0,o.jsxs)(w.A,{component:"span",className:dt.root,children:[(0,o.jsx)(w.A,{className:dt.label,children:ut}),st?(0,o.jsx)(M.N_,{to:st,children:at}):at]})})}var G=t(69814),q=t(72427),K=t(65461),W=t(9222),X=t(45250),H=t(82779);const _=(0,o.jsx)(m.A,{animation:"wave",variant:"text",height:40}),it=gt=>{const{palette:{common:{white:ut}}}=(0,g.A)(),{children:bt}=gt,st=(0,d.YR)(),yt=(0,q.gf)(K.U),{title:dt,setTitle:at,subtitle:vt,setSubtitle:et,entityRef:Ct,metadata:{value:Et,loading:nt},entityMetadata:{value:ot,loading:ft}}=(0,y.V)();(0,i.useEffect)(()=>{Et&&(at(Et.site_name),et(()=>{let{site_description:wt}=Et;return(!wt||wt==="None")&&(wt=""),wt}))},[Et,at,et]);const Pt=yt.getOptional("app.title")||"Backstage",At=[dt,vt,Pt].filter(Boolean).join(" | "),{locationMetadata:N,spec:V}=ot||{},pt=V==null?void 0:V.lifecycle,xt=ot?(0,O.t)(ot,f.vv):[],Bt=(0,W.S)(H.rQ)(),Rt=(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(z,{label:(0,X.capitalize)((ot==null?void 0:ot.kind)||"entity"),value:(0,o.jsx)(p.z,{color:"inherit",entityRef:Ct,title:ot==null?void 0:ot.metadata.title,defaultKind:"Component"})}),xt.length>0&&(0,o.jsx)(z,{label:"Owner",value:(0,o.jsx)(C.i,{color:"inherit",entityRefs:xt,defaultKind:"group"})}),pt?(0,o.jsx)(z,{label:"Lifecycle",value:String(pt)}):null,N&&N.type!=="dir"&&N.type!=="file"?(0,o.jsx)(z,{label:"",value:(0,o.jsxs)(A.A,{container:!0,direction:"column",alignItems:"center",style:{color:ut},children:[(0,o.jsx)(A.A,{style:{padding:0},item:!0,children:(0,o.jsx)(c.A,{style:{marginTop:"-25px"}})}),(0,o.jsx)(A.A,{style:{padding:0},item:!0,children:"Source"})]}),url:N.target}):null]});return!ft&&ot===void 0||!nt&&Et===void 0?null:(0,o.jsxs)(G.Y,{type:"Documentation",typeLink:Bt,title:dt||_,subtitle:vt===""?void 0:vt||_,children:[(0,o.jsx)(u.A,{titleTemplate:"%s",children:(0,o.jsx)("title",{children:At})}),Rt,bt,st.renderComponentsByLocation(E.e.Header)]})}},82779:function(Y,T,t){"use strict";t.d(T,{Oc:function(){return u},Ri:function(){return A},rQ:function(){return i}});var o=t(34569);const i=(0,o.H)({id:"techdocs:index-page"}),u=(0,o.H)({id:"techdocs:reader-page",params:["namespace","kind","name"]}),A=(0,o.H)({id:"techdocs:catalog-reader-view"})},27698:function(Y,T,t){"use strict";t.r(T),t.d(T,{TechDocsSearchResultListItem:function(){return E}});var o=t(31085),i=t(14041),u=t(58837),A=t(5951),m=t(46423),g=t(72501),c=t(72072),d=t(70734);const y=(0,u.A)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",marginBottom:"1rem"}}),E=O=>{const{result:p,highlight:C,lineClamp:f=5,asListItem:R=!0,asLink:P=!0,title:w,icon:M}=O,D=y(),b=({children:q})=>P?(0,o.jsx)(c.N_,{noTrack:!0,to:p.location,children:q}):(0,o.jsx)(o.Fragment,{children:q}),z=()=>{const q=C!=null&&C.fields.title?(0,o.jsx)(d.e,{text:C.fields.title,preTag:C.preTag,postTag:C.postTag}):p.title,K=C!=null&&C.fields.entityTitle?(0,o.jsx)(d.e,{text:C.fields.entityTitle,preTag:C.preTag,postTag:C.postTag}):p.entityTitle,W=C!=null&&C.fields.name?(0,o.jsx)(d.e,{text:C.fields.name,preTag:C.preTag,postTag:C.postTag}):p.name;return p?(0,o.jsx)(A.A,{className:D.itemText,primaryTypographyProps:{variant:"h6"},primary:(0,o.jsx)(b,{children:w||(0,o.jsxs)(o.Fragment,{children:[q," | ",K!=null?K:W," docs"]})}),secondary:(0,o.jsx)(g.A,{component:"span",style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:f,overflow:"hidden"},color:"textSecondary",variant:"body2",children:C!=null&&C.fields.text?(0,o.jsx)(d.e,{text:C.fields.text,preTag:C.preTag,postTag:C.postTag}):p.text})}):null},G=({children:q})=>R?(0,o.jsxs)(o.Fragment,{children:[M&&(0,o.jsx)(m.A,{children:typeof M=="function"?M(p):M}),(0,o.jsx)("div",{className:D.flexContainer,children:q})]}):(0,o.jsx)(o.Fragment,{children:q});return(0,o.jsx)(G,{children:(0,o.jsx)(z,{})})}},86973:function(){}},function(Y){var T=function(o){return Y(Y.s=o)};Y.O(0,[1751,235,1888,6587,2754,9669,1975,5042,7400,4121],function(){return T(56041)});var t=Y.O()}]);})();
|
|
496
|
+
|
|
497
|
+
//# sourceMappingURL=main.d7355744.js.map
|