@techdocs/cli 1.1.1 → 1.1.2-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/embedded-app/index.html +1 -1
- package/dist/embedded-app/static/1553.ba4eafb9.chunk.js +3 -0
- package/dist/embedded-app/static/1553.ba4eafb9.chunk.js.map +1 -0
- package/dist/embedded-app/static/1959.9077d3a0.chunk.js +8 -0
- package/dist/embedded-app/static/1959.9077d3a0.chunk.js.map +1 -0
- package/dist/embedded-app/static/2426.f29b35ad.chunk.js +3 -0
- package/dist/embedded-app/static/2426.f29b35ad.chunk.js.map +1 -0
- package/dist/embedded-app/static/3860.30afe880.chunk.js +3 -0
- package/dist/embedded-app/static/3860.30afe880.chunk.js.map +1 -0
- package/dist/embedded-app/static/390.d06c7dd4.chunk.js +3 -0
- package/dist/embedded-app/static/390.d06c7dd4.chunk.js.map +1 -0
- package/dist/embedded-app/static/4022.9ffeb6c6.chunk.js +3 -0
- package/dist/embedded-app/static/4022.9ffeb6c6.chunk.js.map +1 -0
- package/dist/embedded-app/static/6235.0160ce80.chunk.js +3 -0
- package/dist/embedded-app/static/6235.0160ce80.chunk.js.map +1 -0
- package/dist/embedded-app/static/6583.19098eda.chunk.js +3 -0
- package/dist/embedded-app/static/6583.19098eda.chunk.js.map +1 -0
- package/dist/embedded-app/static/7110.64f1cf3a.chunk.js +3 -0
- package/dist/embedded-app/static/7110.64f1cf3a.chunk.js.map +1 -0
- package/dist/embedded-app/static/7758.ed6d4d18.chunk.js +3 -0
- package/dist/embedded-app/static/7758.ed6d4d18.chunk.js.map +1 -0
- package/dist/embedded-app/static/8061.db773a4f.chunk.js +3 -0
- package/dist/embedded-app/static/8061.db773a4f.chunk.js.map +1 -0
- package/dist/embedded-app/static/8718.b6fd1dca.chunk.js +4 -0
- package/dist/embedded-app/static/8718.b6fd1dca.chunk.js.map +1 -0
- package/dist/embedded-app/static/8792.6cea3c47.chunk.js +3 -0
- package/dist/embedded-app/static/8792.6cea3c47.chunk.js.map +1 -0
- package/dist/embedded-app/static/9028.273c4a66.chunk.js +3 -0
- package/dist/embedded-app/static/9028.273c4a66.chunk.js.map +1 -0
- package/dist/embedded-app/static/main.a7898f9b.js +487 -0
- package/dist/embedded-app/static/main.a7898f9b.js.map +1 -0
- package/dist/embedded-app/static/module-ajv.9873d8f6.js +10 -0
- package/dist/embedded-app/static/module-ajv.9873d8f6.js.map +1 -0
- package/dist/embedded-app/static/module-date-fns.667c4862.js +3 -0
- package/dist/embedded-app/static/module-date-fns.667c4862.js.map +1 -0
- package/dist/embedded-app/static/module-hot-loader.baa19dda.js +25 -0
- package/dist/embedded-app/static/module-hot-loader.baa19dda.js.map +1 -0
- package/dist/embedded-app/static/module-jss.df150ef8.js +38 -0
- package/dist/embedded-app/static/module-jss.df150ef8.js.map +1 -0
- package/dist/embedded-app/static/module-lodash.32f2edbb.js +29 -0
- package/dist/embedded-app/static/module-lodash.32f2edbb.js.map +1 -0
- package/dist/embedded-app/static/module-material-table.cd3af251.js +3 -0
- package/dist/embedded-app/static/module-material-table.cd3af251.js.map +1 -0
- package/dist/embedded-app/static/module-material-ui.1e05f502.js +51 -0
- package/dist/embedded-app/static/module-material-ui.1e05f502.js.map +1 -0
- package/dist/embedded-app/static/module-react-beautiful-dnd.6085a9b0.js +67 -0
- package/dist/embedded-app/static/module-react-beautiful-dnd.6085a9b0.js.map +1 -0
- package/dist/embedded-app/static/module-yaml.63d08f2d.js +151 -0
- package/dist/embedded-app/static/module-yaml.63d08f2d.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.6d99819e.chunk.js +6 -0
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.6d99819e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e39098ec.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e39098ec.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.f0866c63.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.f0866c63.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.07a8cb8b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.07a8cb8b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.cabf0da1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.cabf0da1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.a3a8277d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.a3a8277d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.ca80f87c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.ca80f87c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.135bfeaa.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.135bfeaa.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.26715cf0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.26715cf0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.222eae4d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.222eae4d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.36438d34.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.36438d34.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.2f5b7895.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.2f5b7895.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.2b57cc97.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.2b57cc97.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.e3c8bfdd.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.e3c8bfdd.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.147f6883.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.147f6883.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.1c4bfd59.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.1c4bfd59.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.ac969aa7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.ac969aa7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.fd64947c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.fd64947c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.0b9ed769.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.0b9ed769.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.eccb9aa9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.eccb9aa9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.fe69e953.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.fe69e953.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.ee6d6d18.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.ee6d6d18.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.3c6326f1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.3c6326f1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.3e97e143.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.3e97e143.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.4e11b53a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.4e11b53a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.85379200.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.85379200.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.4a7a71f8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.4a7a71f8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.387c63bc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.387c63bc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.0dceed35.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.0dceed35.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.9dabb11c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.9dabb11c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.db17d430.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.db17d430.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.f6d8e1a0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.f6d8e1a0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.9042b6b2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.9042b6b2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.e50bcc7d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.e50bcc7d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.82d44ead.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.82d44ead.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.d381eca6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.d381eca6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.272a9559.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.272a9559.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.d3c472c1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.d3c472c1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.d4ccbf98.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.d4ccbf98.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.0a9e5a1c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.0a9e5a1c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.94da0b62.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.94da0b62.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.3786913e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.3786913e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.94507fa8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.94507fa8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.c75af221.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.c75af221.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.c900f58e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.c900f58e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.1dd8382b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.1dd8382b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.a72872c7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.a72872c7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.fa8d03f3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.fa8d03f3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.c5c47576.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.c5c47576.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.7b510c64.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.7b510c64.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.8c2deb45.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.8c2deb45.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.11d9c7cc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.11d9c7cc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.3904fcdc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.3904fcdc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.eba0f5f3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.eba0f5f3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.e8306333.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.e8306333.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.bd9dfabc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.bd9dfabc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.81bf896d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.81bf896d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.11a999a4.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.11a999a4.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.8fa1382d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.8fa1382d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.f9581318.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.f9581318.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.82f42614.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.82f42614.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.1ab23dc7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.1ab23dc7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.f8848957.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.f8848957.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.dc02450b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.dc02450b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.2898dc2c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.2898dc2c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.d1d5658b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.d1d5658b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.3293da06.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.3293da06.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.9e71221f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.9e71221f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.8db77f58.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.8db77f58.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.f5a950c4.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.f5a950c4.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.e2abba03.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.e2abba03.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.b688ce0f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.b688ce0f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.7c96773e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.7c96773e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.2b1aa2f3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.2b1aa2f3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.391c5d81.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.391c5d81.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.c3248588.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.c3248588.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.7c51613c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.7c51613c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.29ebeff4.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.29ebeff4.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.0d666e71.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.0d666e71.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.a7c3ac6d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.a7c3ac6d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.8b3a856c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.8b3a856c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.ecdd651d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.ecdd651d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.fb690b85.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.fb690b85.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.00db46b1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.00db46b1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.9a95a2be.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.9a95a2be.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.9dce5c58.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.9dce5c58.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.5c16ea99.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.5c16ea99.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.15050774.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.15050774.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.838f4b42.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.838f4b42.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.fe1b93bd.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.fe1b93bd.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.e1b0b375.chunk.js +4 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.e1b0b375.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.802249c5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.802249c5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.bc3d17c7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.bc3d17c7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.bbef1e04.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.bbef1e04.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.5bd76867.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.5bd76867.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.7deafe1c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.7deafe1c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.d6ae9322.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.d6ae9322.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.86c42558.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.86c42558.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.e488203b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.e488203b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.c255e5d7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.c255e5d7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.6a316349.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.6a316349.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.c95335ca.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.c95335ca.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.f2c5bd60.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.f2c5bd60.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.6464cedd.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.6464cedd.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.2e443797.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.2e443797.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.4b560b02.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.4b560b02.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.69619b02.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.69619b02.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.9b354734.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.9b354734.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.5613c599.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.5613c599.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.7281c70c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.7281c70c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.d4e16722.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.d4e16722.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.dcd5722f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.dcd5722f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.7ef13093.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.7ef13093.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.2d227b16.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.2d227b16.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.dc787036.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.dc787036.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.2c25fa32.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.2c25fa32.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.b7cc093e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.b7cc093e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.14ee6a41.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.14ee6a41.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.e51239c3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.e51239c3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.42bd0ec6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.42bd0ec6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.4d2b6b78.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.4d2b6b78.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.71bd6857.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.71bd6857.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.6e9bd373.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.6e9bd373.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.049274c0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.049274c0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.55cfb5e8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.55cfb5e8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.d2c708be.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.d2c708be.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.8c1aa06b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.8c1aa06b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.0223cc81.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.0223cc81.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.77178bf9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.77178bf9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.bad25c03.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.bad25c03.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.d7121bcf.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.d7121bcf.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.6313f5e4.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.6313f5e4.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.e09a7a8f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.e09a7a8f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.d5b5c33d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.d5b5c33d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.65e160b6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.65e160b6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.f852c59d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.f852c59d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.f397de12.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.f397de12.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.fd1db466.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.fd1db466.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.8ab8a533.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.8ab8a533.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.537bb714.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.537bb714.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.1d7e0865.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.1d7e0865.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.4824cc5a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.4824cc5a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.ae681e7d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.ae681e7d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.35cb97bc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.35cb97bc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.2cbe5345.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.2cbe5345.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.7b8f8566.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.7b8f8566.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.740d48de.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.740d48de.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.28f71cc9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.28f71cc9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.a3dfe5d0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.a3dfe5d0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.b3d0aad6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.b3d0aad6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.27f27574.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.27f27574.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.45e641c6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.45e641c6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.cb817a76.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.cb817a76.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.f82df236.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.f82df236.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.111d6691.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.111d6691.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.d6161773.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.d6161773.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.df9e0798.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.df9e0798.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.0f5a4588.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.0f5a4588.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.98065d4c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.98065d4c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.1528656a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.1528656a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.3bf7bbf8.chunk.js +4 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.3bf7bbf8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.79718255.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.79718255.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.ff9a0389.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.ff9a0389.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.7cf62869.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.7cf62869.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.80fd4019.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.80fd4019.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqlMore.3f7789bb.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqlMore.3f7789bb.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.262d2dee.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.262d2dee.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.87f07d4d.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.87f07d4d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.db98e52e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.db98e52e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.406058a9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.406058a9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.ce1af113.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.ce1af113.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.f2a2cdba.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.f2a2cdba.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.f4bc1bb5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.f4bc1bb5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.367ea734.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.367ea734.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.802ccc02.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.802ccc02.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.10b7ec1d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.10b7ec1d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.3646c41b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.3646c41b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f866e314.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f866e314.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.e4681d1d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.e4681d1d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.4f6422d1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.4f6422d1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.dec3a738.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.dec3a738.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.612b911b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.612b911b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.3c097556.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.3c097556.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.914ae836.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.914ae836.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.6f7c3028.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.6f7c3028.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.a3a567f0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.a3a567f0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.ac1eeb4d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.ac1eeb4d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.dec26abf.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.dec26abf.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.befe59df.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.befe59df.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.73a992c2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.73a992c2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.031487c1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.031487c1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.14d469e9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.14d469e9.chunk.js.map +1 -0
- package/dist/embedded-app/static/runtime.a7898f9b.js +4 -0
- package/dist/embedded-app/static/runtime.a7898f9b.js.map +1 -0
- package/dist/embedded-app/static/vendor.a7898f9b.js +103 -0
- package/dist/embedded-app/static/vendor.a7898f9b.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/package.json +6 -6
- package/dist/embedded-app/static/1553.0a1ffcc9.chunk.js +0 -3
- package/dist/embedded-app/static/1553.0a1ffcc9.chunk.js.map +0 -1
- package/dist/embedded-app/static/1959.54b727f3.chunk.js +0 -8
- package/dist/embedded-app/static/1959.54b727f3.chunk.js.map +0 -1
- package/dist/embedded-app/static/2426.75b31251.chunk.js +0 -3
- package/dist/embedded-app/static/2426.75b31251.chunk.js.map +0 -1
- package/dist/embedded-app/static/3860.8a0dac3d.chunk.js +0 -3
- package/dist/embedded-app/static/3860.8a0dac3d.chunk.js.map +0 -1
- package/dist/embedded-app/static/390.97868757.chunk.js +0 -3
- package/dist/embedded-app/static/390.97868757.chunk.js.map +0 -1
- package/dist/embedded-app/static/4022.f3d67914.chunk.js +0 -3
- package/dist/embedded-app/static/4022.f3d67914.chunk.js.map +0 -1
- package/dist/embedded-app/static/6235.5c01917c.chunk.js +0 -3
- package/dist/embedded-app/static/6235.5c01917c.chunk.js.map +0 -1
- package/dist/embedded-app/static/6583.9071ac96.chunk.js +0 -3
- package/dist/embedded-app/static/6583.9071ac96.chunk.js.map +0 -1
- package/dist/embedded-app/static/7110.4f2d78ba.chunk.js +0 -3
- package/dist/embedded-app/static/7110.4f2d78ba.chunk.js.map +0 -1
- package/dist/embedded-app/static/7758.e94e2380.chunk.js +0 -3
- package/dist/embedded-app/static/7758.e94e2380.chunk.js.map +0 -1
- package/dist/embedded-app/static/8061.a19d3b9a.chunk.js +0 -3
- package/dist/embedded-app/static/8061.a19d3b9a.chunk.js.map +0 -1
- package/dist/embedded-app/static/8718.8f60efd2.chunk.js +0 -4
- package/dist/embedded-app/static/8718.8f60efd2.chunk.js.map +0 -1
- package/dist/embedded-app/static/8792.2624b294.chunk.js +0 -3
- package/dist/embedded-app/static/8792.2624b294.chunk.js.map +0 -1
- package/dist/embedded-app/static/9028.e4b797db.chunk.js +0 -3
- package/dist/embedded-app/static/9028.e4b797db.chunk.js.map +0 -1
- package/dist/embedded-app/static/main.f8792fde.js +0 -476
- package/dist/embedded-app/static/main.f8792fde.js.map +0 -1
- package/dist/embedded-app/static/module-ajv.d6f6d109.js +0 -10
- package/dist/embedded-app/static/module-ajv.d6f6d109.js.map +0 -1
- package/dist/embedded-app/static/module-date-fns.5015b34b.js +0 -3
- package/dist/embedded-app/static/module-date-fns.5015b34b.js.map +0 -1
- package/dist/embedded-app/static/module-hot-loader.7c7a4226.js +0 -25
- package/dist/embedded-app/static/module-hot-loader.7c7a4226.js.map +0 -1
- package/dist/embedded-app/static/module-jss.cb0efade.js +0 -38
- package/dist/embedded-app/static/module-jss.cb0efade.js.map +0 -1
- package/dist/embedded-app/static/module-lodash.055be129.js +0 -29
- package/dist/embedded-app/static/module-lodash.055be129.js.map +0 -1
- package/dist/embedded-app/static/module-material-table.fcca9670.js +0 -3
- package/dist/embedded-app/static/module-material-table.fcca9670.js.map +0 -1
- package/dist/embedded-app/static/module-material-ui.2f7d5af1.js +0 -51
- package/dist/embedded-app/static/module-material-ui.2f7d5af1.js.map +0 -1
- package/dist/embedded-app/static/module-react-beautiful-dnd.a9014a2e.js +0 -67
- package/dist/embedded-app/static/module-react-beautiful-dnd.a9014a2e.js.map +0 -1
- package/dist/embedded-app/static/module-yaml.57b26e04.js +0 -151
- package/dist/embedded-app/static/module-yaml.57b26e04.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.c14d776e.chunk.js +0 -6
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.c14d776e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e6a0eba8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e6a0eba8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.4beaa91a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.4beaa91a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.292b574b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.292b574b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.17b0c1e9.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.17b0c1e9.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.2fa22084.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.2fa22084.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.a966b924.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.a966b924.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.398efb2d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.398efb2d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.efd9310b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.efd9310b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.f5b09530.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.f5b09530.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.07c7365e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.07c7365e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.e71b2b97.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.e71b2b97.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.d4578a11.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.d4578a11.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.fbaa0237.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.fbaa0237.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.6d4c5214.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.6d4c5214.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.18f58e18.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.18f58e18.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.c27dd539.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.c27dd539.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.590ecb33.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.590ecb33.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.6dadcb4e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.6dadcb4e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.6316c507.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.6316c507.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.3c2aef44.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.3c2aef44.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.5c72cafc.chunk.js +0 -5
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.5c72cafc.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.e9772f0f.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.e9772f0f.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.df1dc03b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.df1dc03b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.ab9f187a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.ab9f187a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.a5523056.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.a5523056.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.3365c59e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.3365c59e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.41d80232.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.41d80232.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.1f816fc6.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.1f816fc6.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.df5f7b77.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.df5f7b77.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.1d3ebd62.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.1d3ebd62.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.7d35d62c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.7d35d62c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.18dba36b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.18dba36b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.2a2085d6.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.2a2085d6.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.bd92fb21.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.bd92fb21.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.f9f13b4d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.f9f13b4d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.92c08c0a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.92c08c0a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.8b48e8b8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.8b48e8b8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.a08eda06.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.a08eda06.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.04989873.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.04989873.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.daf9e0eb.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.daf9e0eb.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.2047310e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.2047310e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.2e20b712.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.2e20b712.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.b50d2d6c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.b50d2d6c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.d53e0f58.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.d53e0f58.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.8313f2da.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.8313f2da.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.4059e474.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.4059e474.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.6e4bdd05.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.6e4bdd05.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.cbf005ae.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.cbf005ae.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.25d6bc4a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.25d6bc4a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.9a1225a3.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.9a1225a3.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.14f00049.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.14f00049.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.f723f0f4.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.f723f0f4.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.b6871fdc.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.b6871fdc.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.f0b33cfd.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.f0b33cfd.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.269e6936.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.269e6936.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.5b8fbb4b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.5b8fbb4b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.76415c4c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.76415c4c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.f3d3d961.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.f3d3d961.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.4bab53eb.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.4bab53eb.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.4d94061b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.4d94061b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.38ba8914.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.38ba8914.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.e8178c8d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.e8178c8d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.d8121ec2.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.d8121ec2.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.683bb963.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.683bb963.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.a89ed74e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.a89ed74e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.ad325f79.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.ad325f79.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.8b729794.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.8b729794.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.86cc8880.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.86cc8880.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.df21ae57.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.df21ae57.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.ccdf8a11.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.ccdf8a11.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.2f3d05a7.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.2f3d05a7.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.3282d98e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.3282d98e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.d75a2b1d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.d75a2b1d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.fe9946b0.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.fe9946b0.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.de3c0102.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.de3c0102.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.79b4f6a1.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.79b4f6a1.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.f3762ac8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.f3762ac8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.3471f585.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.3471f585.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.90970bfa.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.90970bfa.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.3a00f6f3.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.3a00f6f3.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.41e881fe.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.41e881fe.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.f7dcd64c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.f7dcd64c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.0ef17f5f.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.0ef17f5f.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.28b8c66f.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.28b8c66f.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.6b1cd365.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.6b1cd365.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.3e9aa8ff.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.3e9aa8ff.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.64a72c69.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.64a72c69.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.7beb73b2.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.7beb73b2.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.3b16b540.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.3b16b540.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.72e6c744.chunk.js +0 -4
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.72e6c744.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.206ae0f8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.206ae0f8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.c8014dd5.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.c8014dd5.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.a987362a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.a987362a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.24aff4d8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.24aff4d8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.fde51777.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.fde51777.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.3b0bfd87.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.3b0bfd87.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.28bd16e8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.28bd16e8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.dfedba67.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.dfedba67.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.359b16e6.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.359b16e6.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.f12ea89d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.f12ea89d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.d5869324.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.d5869324.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.6b78bb75.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.6b78bb75.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.4f56f83c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.4f56f83c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.d2775785.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.d2775785.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.14a1484d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.14a1484d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.d0446e84.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.d0446e84.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.02270ff9.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.02270ff9.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.6f3d5a69.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.6f3d5a69.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.aab1a206.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.aab1a206.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.568906a3.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.568906a3.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.c84fcc34.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.c84fcc34.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.feab688a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.feab688a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.19af75b8.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.19af75b8.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.b2ee87fb.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.b2ee87fb.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.4a16400b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.4a16400b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.9fcf8db5.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.9fcf8db5.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.1f574423.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.1f574423.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.f2587359.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.f2587359.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.3077a1bf.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.3077a1bf.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.9d926142.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.9d926142.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.04b343a0.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.04b343a0.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.37768899.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.37768899.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.8491cf45.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.8491cf45.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.643eb07c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.643eb07c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.75ed358d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.75ed358d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.2efba989.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.2efba989.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.2186e4a7.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.2186e4a7.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.843ed847.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.843ed847.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.7ea88954.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.7ea88954.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.fd6719b2.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.fd6719b2.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.f1d2959a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.f1d2959a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.f0b88195.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.f0b88195.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.dce833ca.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.dce833ca.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.36916075.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.36916075.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.db33af61.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.db33af61.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.2a05e187.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.2a05e187.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.0df57f0a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.0df57f0a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.3e3b4e57.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.3e3b4e57.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.2fb0bb40.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.2fb0bb40.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.a63201c1.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.a63201c1.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.770df37e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.770df37e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.3ca17ff5.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.3ca17ff5.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.d9b193e3.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.d9b193e3.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.616441e2.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.616441e2.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.07dc3712.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.07dc3712.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.85183415.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.85183415.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.2ea1e5aa.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.2ea1e5aa.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.5075ae03.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.5075ae03.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.d33242ea.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.d33242ea.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.9c1785fc.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.9c1785fc.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.b7a2f7ab.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.b7a2f7ab.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.011d4ccd.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.011d4ccd.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.a6f6a618.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.a6f6a618.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.110925b5.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.110925b5.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.0dddfa51.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.0dddfa51.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.38da3457.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.38da3457.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.4554b692.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.4554b692.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.a291bfd5.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.a291bfd5.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.c8637fd3.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.c8637fd3.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.095fbc33.chunk.js +0 -4
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.095fbc33.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.82bb2ca1.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.82bb2ca1.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.db637ab9.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.db637ab9.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.c168c06c.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.c168c06c.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.ace85109.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.ace85109.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqlMore.beecb919.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqlMore.beecb919.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.a5cae90b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.a5cae90b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.ded20240.chunk.js +0 -5
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.ded20240.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.42386ad1.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.42386ad1.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.28930f5e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.28930f5e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.09d14bb0.chunk.js +0 -5
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.09d14bb0.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.0bfd8f65.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.0bfd8f65.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.08018f04.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.08018f04.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.38941f9b.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.38941f9b.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.5c4648da.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.5c4648da.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.65eb278d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.65eb278d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.ebc107f2.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.ebc107f2.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f2a0927f.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f2a0927f.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.6c5bb667.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.6c5bb667.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.1d0d5f49.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.1d0d5f49.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.26dbf652.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.26dbf652.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.918c902a.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.918c902a.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.0448aba7.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.0448aba7.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.90bb7652.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.90bb7652.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.1cfbc65e.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.1cfbc65e.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.044bbd92.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.044bbd92.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.e453b717.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.e453b717.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.be21301d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.be21301d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.1ff2db9d.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.1ff2db9d.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.6691a2a9.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.6691a2a9.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.ecaddbf6.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.ecaddbf6.chunk.js.map +0 -1
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.6f6db474.chunk.js +0 -3
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.6f6db474.chunk.js.map +0 -1
- package/dist/embedded-app/static/runtime.f8792fde.js +0 -4
- package/dist/embedded-app/static/runtime.f8792fde.js.map +0 -1
- package/dist/embedded-app/static/vendor.f8792fde.js +0 -103
- package/dist/embedded-app/static/vendor.f8792fde.js.map +0 -1
|
@@ -0,0 +1,487 @@
|
|
|
1
|
+
(()=>{var ji=Object.defineProperty;var Vi=(_,s,e)=>s in _?ji(_,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):_[s]=e;var X=(_,s,e)=>(Vi(_,typeof s!="symbol"?s+"":s,e),e),la=(_,s,e)=>{if(!s.has(_))throw TypeError("Cannot "+e)};var Qe=(_,s,e)=>(la(_,s,"read from private field"),e?e.call(_):s.get(_)),Dn=(_,s,e)=>{if(s.has(_))throw TypeError("Cannot add the same private member more than once");s instanceof WeakSet?s.add(_):s.set(_,e)},Un=(_,s,e,r)=>(la(_,s,"write to private field"),r?r.call(_,e):s.set(_,e),e);(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[179],{30001:function(_,s,e){"use strict";e.d(s,{n3:function(){return A},MS:function(){return m}});var r=e(48023),t=e(10179),c=e(96279),f=e.n(c);const A=Symbol.for("CATALOG_FILTER_EXISTS_0e15b590c0b343a2bae3e787e84c2111");class m{constructor(i){X(this,"discoveryApi");X(this,"fetchApi");this.discoveryApi=i.discoveryApi,this.fetchApi=i.fetchApi||{fetch:f()}}async getEntityAncestors(i,d){const{kind:y,namespace:p,name:v}=(0,r.of)(i.entityRef);return await this.requestRequired("GET",`/entities/by-name/${encodeURIComponent(y)}/${encodeURIComponent(p)}/${encodeURIComponent(v)}/ancestry`,d)}async getLocationById(i,d){return await this.requestOptional("GET",`/locations/${encodeURIComponent(i)}`,d)}async getEntities(i,d){const{filter:y=[],fields:p=[],offset:v,limit:b,after:L}=i!=null?i:{},w=[];for(const I of[y].flat()){const F=[];for(const[M,G]of Object.entries(I))for(const J of[G].flat())J===A?F.push(encodeURIComponent(M)):typeof J=="string"&&F.push(`${encodeURIComponent(M)}=${encodeURIComponent(J)}`);F.length&&w.push(`filter=${F.join(",")}`)}p.length&&w.push(`fields=${p.map(encodeURIComponent).join(",")}`),v!==void 0&&w.push(`offset=${v}`),b!==void 0&&w.push(`limit=${b}`),L!==void 0&&w.push(`after=${encodeURIComponent(L)}`);const z=w.length?`?${w.join("&")}`:"",x=await this.requestRequired("GET",`/entities${z}`,d),T=(I,F)=>{var J,me;if(((J=I.metadata)==null?void 0:J.name)===void 0||I.kind===void 0||((me=F.metadata)==null?void 0:me.name)===void 0||F.kind===void 0)return 0;const M=(0,r.eE)(I),G=(0,r.eE)(F);return M<G?-1:M>G?1:0};return{items:x.sort(T)}}async getEntityByRef(i,d){const{kind:y,namespace:p,name:v}=(0,r.of)(i);return this.requestOptional("GET",`/entities/by-name/${encodeURIComponent(y)}/${encodeURIComponent(p)}/${encodeURIComponent(v)}`,d)}async getEntityByName(i,d){const{kind:y,namespace:p="default",name:v}=i;return this.requestOptional("GET",`/entities/by-name/${encodeURIComponent(y)}/${encodeURIComponent(p)}/${encodeURIComponent(v)}`,d)}async refreshEntity(i,d){const y=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/refresh`,{headers:{"Content-Type":"application/json",...(d==null?void 0:d.token)&&{Authorization:`Bearer ${d==null?void 0:d.token}`}},method:"POST",body:JSON.stringify({entityRef:i})});if(y.status!==200)throw new Error(await y.text())}async getEntityFacets(i,d){const{filter:y=[],facets:p}=i,v=[];for(const L of[y].flat()){const w=[];for(const[z,x]of Object.entries(L))for(const T of[x].flat())T===A?w.push(encodeURIComponent(z)):typeof T=="string"&&w.push(`${encodeURIComponent(z)}=${encodeURIComponent(T)}`);w.length&&v.push(`filter=${w.join(",")}`)}for(const L of p)v.push(`facet=${encodeURIComponent(L)}`);const b=v.length?`?${v.join("&")}`:"";return await this.requestOptional("GET",`/entity-facets${b}`,d)}async addLocation({type:i="url",target:d,dryRun:y},p){const v=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/locations${y?"?dryRun=true":""}`,{headers:{"Content-Type":"application/json",...(p==null?void 0:p.token)&&{Authorization:`Bearer ${p==null?void 0:p.token}`}},method:"POST",body:JSON.stringify({type:i,target:d})});if(v.status!==201)throw new Error(await v.text());const{location:b,entities:L,exists:w}=await v.json();if(!b)throw new Error(`Location wasn't added: ${d}`);return{location:b,entities:L,exists:w}}async getLocationByRef(i,d){return(await this.requestRequired("GET","/locations",d)).map(p=>p.data).find(p=>i===(0,r.NZ)(p))}async removeLocationById(i,d){await this.requestIgnored("DELETE",`/locations/${encodeURIComponent(i)}`,d)}async removeEntityByUid(i,d){await this.requestIgnored("DELETE",`/entities/by-uid/${encodeURIComponent(i)}`,d)}async requestIgnored(i,d,y){const p=`${await this.discoveryApi.getBaseUrl("catalog")}${d}`,v=y!=null&&y.token?{Authorization:`Bearer ${y.token}`}:{},b=await this.fetchApi.fetch(p,{method:i,headers:v});if(!b.ok)throw await t.VL.fromResponse(b)}async requestRequired(i,d,y){const p=`${await this.discoveryApi.getBaseUrl("catalog")}${d}`,v=y!=null&&y.token?{Authorization:`Bearer ${y.token}`}:{},b=await this.fetchApi.fetch(p,{method:i,headers:v});if(!b.ok)throw await t.VL.fromResponse(b);return await b.json()}async requestOptional(i,d,y){const p=`${await this.discoveryApi.getBaseUrl("catalog")}${d}`,v=y!=null&&y.token?{Authorization:`Bearer ${y.token}`}:{},b=await this.fetchApi.fetch(p,{method:i,headers:v});if(!b.ok){if(b.status===404)return;throw await t.VL.fromResponse(b)}return await b.json()}}},48023:function(_,s,e){"use strict";e.d(s,{Tf:function(){return c},P1:function(){return Jt},q1:function(){return yn},M6:function(){return En},l2:function(){return t},zG:function(){return r},w$:function(){return oe},nP:function(){return j},aS:function(){return tt},S4:function(){return Ut},cz:function(){return De},iB:function(){return ze},of:function(){return Ye},Ou:function(){return Ct},eE:function(){return _e},NZ:function(){return nt}});const r="default",t="backstage.io/view-url",c="backstage.io/edit-url";var f=e(76635),A=e.n(f);class m{constructor(V=DEFAULT_NAMESPACE){X(this,"namespace");this.namespace=V}async enforce(V){return V.metadata.namespace?V:lodash.merge({metadata:{namespace:this.namespace}},V)}}class a{static isValidPrefixAndOrSuffix(V,ce,Ue,ke){if(typeof V!="string")return!1;const qe=V.split(ce);return qe.length===1?ke(qe[0]):qe.length===2?Ue(qe[0])&&ke(qe[1]):!1}static isJsonSafe(V){try{return A().isEqual(V,JSON.parse(JSON.stringify(V)))}catch{return!1}}static isValidDnsSubdomain(V){return typeof V=="string"&&V.length>=1&&V.length<=253&&V.split(".").every(a.isValidDnsLabel)}static isValidDnsLabel(V){return typeof V=="string"&&V.length>=1&&V.length<=63&&/^[a-z0-9]+(\-[a-z0-9]+)*$/.test(V)}static isValidTag(V){return typeof V=="string"&&V.length>=1&&V.length<=63&&/^[a-z0-9+#]+(\-[a-z0-9+#]+)*$/.test(V)}static isValidUrl(V){if(typeof V!="string")return!1;try{return new URL(V),!0}catch{return!1}}static isValidString(V){var ce;return typeof V=="string"&&((ce=V==null?void 0:V.trim())==null?void 0:ce.length)>=1}static isNonEmptyString(V){var ce;return typeof V=="string"&&((ce=V==null?void 0:V.trim())==null?void 0:ce.length)>=1}}var i=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"EntityEnvelope","description":"The envelope skeleton parts of an entity - whatever is necessary to be able to give it a ref and pass to further validation / policy checking.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService"}}],"type":"object","required":["apiVersion","kind","metadata"],"additionalProperties":true,"properties":{"apiVersion":{"type":"string","description":"The version of specification format for this particular entity that this is written against.","minLength":1,"examples":["backstage.io/v1alpha1","my-company.net/v1","1.0"]},"kind":{"type":"string","description":"The high level entity type being described.","minLength":1,"examples":["API","Component","Domain","Group","Location","Resource","System","Template","User"]},"metadata":{"type":"object","required":["name"],"additionalProperties":true,"properties":{"name":{"type":"string","description":"The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.","examples":["metadata-proxy"],"minLength":1},"namespace":{"type":"string","description":"The namespace that the entity belongs to.","default":"default","examples":["default","admin"],"minLength":1}}}}}'),d=e(48231),y=e.n(d),p=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"Entity","description":"The parts of the format that's common to all versions/kinds of entity.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService","description":"Creates Lorems like a pro.","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"service","lifecycle":"production","owner":"tools"}}],"type":"object","required":["apiVersion","kind","metadata"],"additionalProperties":false,"properties":{"apiVersion":{"type":"string","description":"The version of specification format for this particular entity that this is written against.","minLength":1,"examples":["backstage.io/v1alpha1","my-company.net/v1","1.0"]},"kind":{"type":"string","description":"The high level entity type being described.","minLength":1,"examples":["API","Component","Domain","Group","Location","Resource","System","Template","User"]},"metadata":{"$ref":"EntityMeta"},"spec":{"type":"object","description":"The specification data describing the entity itself."},"relations":{"type":"array","description":"The relations that this entity has with other entities.","items":{"$ref":"common#relation"}},"status":{"$ref":"common#status"}}}`),v=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"EntityMeta","description":"Metadata fields common to all versions/kinds of entity.","examples":[{"uid":"e01199ab-08cc-44c2-8e19-5c29ded82521","etag":"lsndfkjsndfkjnsdfkjnsd==","name":"my-component-yay","namespace":"the-namespace","labels":{"backstage.io/custom":"ValueStuff"},"annotations":{"example.com/bindings":"are-secret"},"tags":["java","data"]}],"type":"object","required":["name"],"additionalProperties":true,"properties":{"uid":{"type":"string","description":"A globally unique ID for the entity. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, but the server is free to reject requests that do so in such a way that it breaks semantics.","examples":["e01199ab-08cc-44c2-8e19-5c29ded82521"],"minLength":1},"etag":{"type":"string","description":"An opaque string that changes for each update operation to any part of the entity, including metadata. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, and the server will then reject the operation if it does not match the current stored value.","examples":["lsndfkjsndfkjnsdfkjnsd=="],"minLength":1},"name":{"type":"string","description":"The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.","examples":["metadata-proxy"],"minLength":1},"namespace":{"type":"string","description":"The namespace that the entity belongs to.","default":"default","examples":["default","admin"],"minLength":1},"title":{"type":"string","description":"A display name of the entity, to be presented in user interfaces instead of the name property, when available.","examples":["React SSR Template"],"minLength":1},"description":{"type":"string","description":"A short (typically relatively few words, on one line) description of the entity."},"labels":{"type":"object","description":"Key/value pairs of identifying information attached to the entity.","additionalProperties":true,"patternProperties":{"^.+$":{"type":"string"}}},"annotations":{"type":"object","description":"Key/value pairs of non-identifying auxiliary information attached to the entity.","additionalProperties":true,"patternProperties":{"^.+$":{"type":"string"}}},"tags":{"type":"array","description":"A list of single-valued strings, to for example classify catalog entities in various ways.","items":{"type":"string","minLength":1}},"links":{"type":"array","description":"A list of external hyperlinks related to the entity. Links can provide additional contextual information that may be located outside of Backstage itself. For example, an admin dashboard or external CMS page.","items":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"A url in a standard uri format.","examples":["https://admin.example-org.com"],"minLength":1},"title":{"type":"string","description":"A user friendly display name for the link.","examples":["Admin Dashboard"],"minLength":1},"icon":{"type":"string","description":"A key representing a visual icon to be displayed in the UI.","examples":["dashboard"],"minLength":1}}}}}}'),b=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"common","type":"object","description":"Common definitions to import from other schemas","definitions":{"reference":{"$id":"#reference","type":"object","description":"A reference by name to another entity.","required":["kind","namespace","name"],"additionalProperties":false,"properties":{"kind":{"type":"string","description":"The kind field of the entity.","minLength":1},"namespace":{"type":"string","description":"The metadata.namespace field of the entity.","minLength":1},"name":{"type":"string","description":"The metadata.name field of the entity.","minLength":1}}},"relation":{"$id":"#relation","type":"object","description":"A directed relation from one entity to another.","required":["type","target"],"additionalProperties":false,"properties":{"type":{"type":"string","minLength":1,"pattern":"^\\\\w+$","description":"The type of relation."},"target":{"$ref":"#reference"}}},"status":{"$id":"#status","type":"object","description":"The current status of the entity, as claimed by various sources.","required":[],"additionalProperties":true,"properties":{"items":{"type":"array","items":{"$ref":"#statusItem"}}}},"statusItem":{"$id":"#statusItem","type":"object","description":"A specific status item on a well known format.","required":["type","level","message"],"additionalProperties":true,"properties":{"type":{"type":"string","minLength":1},"level":{"$ref":"#statusLevel","description":"The status level / severity of the status item."},"message":{"type":"string","description":"A brief message describing the status, intended for human consumption."},"error":{"$ref":"#error","description":"An optional serialized error object related to the status."}}},"statusLevel":{"$id":"#statusLevel","type":"string","description":"A status level / severity.","enum":["info","warning","error"]},"error":{"$id":"#error","type":"object","description":"A serialized error object.","required":["name","message"],"additionalProperties":true,"properties":{"name":{"type":"string","examples":["Error","InputError"],"description":"The type name of the error","minLength":1},"message":{"type":"string","description":"The message of the error"},"code":{"type":"string","description":"An error code associated with the error"},"stack":{"type":"string","description":"An error stack trace"}}}}}');const L=new Map,w=[i,p,v,b];function z(ne){if(!(ne!=null&&ne.length))throw new TypeError("Unknown error");const V=ne[0];throw new TypeError(`${V.instancePath||"<root>"} ${V.message}${V.params?` - ${Object.entries(V.params).map(([ce,Ue])=>`${ce}: ${Ue}`).join(", ")}`:""}`)}function x(ne,V={}){var Bt;const ce=(Bt=V==null?void 0:V.disableCache)!=null?Bt:!1,Ue=ce?"":JSON.stringify(ne);if(!ce){const Gt=L.get(Ue);if(Gt)return Gt}const ke=T(ne),qe=new(y())({allowUnionTypes:!0,allErrors:!0,validateSchema:!0});ke.length&&qe.addSchema(ke,void 0,void 0,!0);const mt=qe.compile(ne);return ce||L.set(Ue,mt),mt}function T(ne){if(typeof ne!="object")return[];const V=new Set;ne.$id&&V.add(ne.$id);const ce=new Array,Ue=[ne];for(;Ue.length;){const ke=Ue.pop();for(const qe of I(ke))if(!V.has(qe)){V.add(qe);const mt=w.find(Bt=>Bt.$id===qe);mt&&(ce.push(mt),Ue.push(mt))}}return ce}function*I(ne){const V=[ne];for(;V.length;){const ce=V.pop();if(typeof ce=="object"&&ce)for(const[Ue,ke]of Object.entries(ce))Ue==="$ref"&&typeof ke=="string"?yield ke.split("#")[0]:V.push(ke)}}function F(ne){const V=compileAjvSchema(ne||entityEnvelopeSchema);return ce=>{if(V(ce)===!0)return ce;throw throwAjvError(V.errors)}}function M(ne){const V=x(ne);return ce=>{var qe;if(V(ce)===!0)return ce;const ke=(qe=V.errors)==null?void 0:qe.filter(mt=>["/kind","/apiVersion"].includes(mt.instancePath));if((ke==null?void 0:ke.length)&&ke.every(mt=>mt.keyword==="enum"))return!1;throw z(V.errors)}}function G(ne){const V=compileAjvSchema(ne||entitySchema);return ce=>{if(V(ce)===!0)return ce;throw throwAjvError(V.errors)}}class J{static isValidApiVersion(V){return a.isValidPrefixAndOrSuffix(V,"/",a.isValidDnsSubdomain,ce=>ce.length>=1&&ce.length<=63&&/^[a-z0-9A-Z]+$/.test(ce))}static isValidKind(V){return typeof V=="string"&&V.length>=1&&V.length<=63&&/^[a-zA-Z][a-z0-9A-Z]*$/.test(V)}static isValidObjectName(V){return typeof V=="string"&&V.length>=1&&V.length<=63&&/^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$/.test(V)}static isValidNamespace(V){return a.isValidDnsLabel(V)}static isValidLabelKey(V){return a.isValidPrefixAndOrSuffix(V,"/",a.isValidDnsSubdomain,J.isValidObjectName)}static isValidLabelValue(V){return V===""||J.isValidObjectName(V)}static isValidAnnotationKey(V){return a.isValidPrefixAndOrSuffix(V,"/",a.isValidDnsSubdomain,J.isValidObjectName)}static isValidAnnotationValue(V){return typeof V=="string"}}const me={isValidApiVersion:J.isValidApiVersion,isValidKind:J.isValidKind,isValidEntityName:J.isValidObjectName,isValidNamespace:J.isValidNamespace,isValidLabelKey:J.isValidLabelKey,isValidLabelValue:J.isValidLabelValue,isValidAnnotationKey:J.isValidAnnotationKey,isValidAnnotationValue:J.isValidAnnotationValue,isValidTag:ne=>typeof ne=="string"&&ne.length>=1&&ne.length<=63&&/^[a-z0-9:+#]+(\-[a-z0-9:+#]+)*$/.test(ne)};function Be(ne={}){return{...me,...ne}}class Le{constructor(V=makeValidator()){X(this,"validators");this.validators=V}async enforce(V){var mt,Bt,Gt,nn,rn,At,Kt;function ce(D,te,ge){if(te==null)throw new Error(`${D} must have a value`);let Ae;try{Ae=ge(te)}catch(Se){throw new Error(`${D} could not be validated, ${Se}`)}if(!Ae){let Se;switch(ge.name){case"isValidLabelValue":case"isValidObjectName":Se="a string that is sequences of [a-zA-Z0-9] separated by any of [-_.], at most 63 characters in total";break;case"isValidLabelKey":case"isValidApiVersion":case"isValidAnnotationKey":Se="a valid prefix and/or suffix";break;case"isValidNamespace":case"isValidDnsLabel":Se="a string that is sequences of [a-z0-9] separated by [-], at most 63 characters in total";break;case"isValidTag":Se="a string that is sequences of [a-z0-9+#] separated by [-], at most 63 characters in total";break;case"isValidAnnotationValue":Se="a string";break;case"isValidKind":Se="a string that is a sequence of [a-zA-Z][a-z0-9A-Z], at most 63 characters in total";break;case"isValidUrl":Se="a string that is a valid url";break;case"isValidString":case"isNonEmptyString":Se="a non empty string";break;default:Se=void 0;break}const Ge=Se?` expected ${Se} but found "${te}".`:"";throw new Error(`"${D}" is not valid;${Ge} To learn more about catalog file format, visit: https://github.com/backstage/backstage/blob/master/docs/architecture-decisions/adr002-default-catalog-file-format.md`)}}function Ue(D,te,ge){return te===void 0||ce(D,te,ge)}ce("apiVersion",V.apiVersion,this.validators.isValidApiVersion),ce("kind",V.kind,this.validators.isValidKind),ce("metadata.name",V.metadata.name,this.validators.isValidEntityName),Ue("metadata.namespace",V.metadata.namespace,this.validators.isValidNamespace);for(const[D,te]of Object.entries((mt=V.metadata.labels)!=null?mt:[]))ce(`labels.${D}`,D,this.validators.isValidLabelKey),ce(`labels.${D}`,te,this.validators.isValidLabelValue);for(const[D,te]of Object.entries((Bt=V.metadata.annotations)!=null?Bt:[]))ce(`annotations.${D}`,D,this.validators.isValidAnnotationKey),ce(`annotations.${D}`,te,this.validators.isValidAnnotationValue);const ke=(Gt=V.metadata.tags)!=null?Gt:[];for(let D=0;D<ke.length;++D)ce(`tags.${D}`,ke[D],this.validators.isValidTag);const qe=(nn=V.metadata.links)!=null?nn:[];for(let D=0;D<qe.length;++D)ce(`links.${D}.url`,(rn=qe[D])==null?void 0:rn.url,CommonValidatorFunctions.isValidUrl),Ue(`links.${D}.title`,(At=qe[D])==null?void 0:At.title,CommonValidatorFunctions.isNonEmptyString),Ue(`links.${D}.icon`,(Kt=qe[D])==null?void 0:Kt.icon,KubernetesValidatorFunctions.isValidObjectName);return V}}class le{constructor(){X(this,"validate")}async enforce(V){if(!this.validate){const ke=new Ajv({allowUnionTypes:!0});this.validate=ke.addSchema([commonSchema,entityMetaSchema],void 0,void 0,!0).compile(entitySchema)}if(this.validate(V)===!0)return V;const[Ue]=this.validate.errors||[];throw Ue?new Error(`Malformed envelope, ${Ue.instancePath||"<root>"} ${Ue.message}`):new Error("Malformed envelope, Unknown error")}}function Ne(ne){let V=ne.indexOf(":");const ce=ne.indexOf("/");ce!==-1&&ce<V&&(V=-1);const Ue=V===-1?void 0:ne.slice(0,V),ke=ce===-1?void 0:ne.slice(V+1,ce),qe=ne.slice(Math.max(V+1,ce+1));if(Ue===""||ke===""||qe==="")throw new TypeError(`Entity reference "${ne}" was not on the form [<kind>:][<namespace>/]<name>`);return{kind:Ue,namespace:ke,name:qe}}function ze(ne){return{kind:ne.kind,namespace:ne.metadata.namespace||r,name:ne.metadata.name}}function Ye(ne,V){var Bt,Gt,nn,rn;if(!ne)throw new Error("Entity reference must not be empty");const ce=V==null?void 0:V.defaultKind,Ue=(V==null?void 0:V.defaultNamespace)||r;let ke,qe,mt;if(typeof ne=="string"){const At=Ne(ne);ke=(Bt=At.kind)!=null?Bt:ce,qe=(Gt=At.namespace)!=null?Gt:Ue,mt=At.name}else ke=(nn=ne.kind)!=null?nn:ce,qe=(rn=ne.namespace)!=null?rn:Ue,mt=ne.name;if(ke)if(qe){if(!mt){const At=JSON.stringify(ne);throw new Error(`Entity reference ${At} had missing or empty name`)}}else{const At=JSON.stringify(ne);throw new Error(`Entity reference ${At} had missing or empty namespace`)}else{const At=JSON.stringify(ne);throw new Error(`Entity reference ${At} had missing or empty kind (e.g. did not start with "component:" or similar)`)}return{kind:ke,namespace:qe,name:mt}}function _e(ne){var ke,qe;let V,ce,Ue;return"metadata"in ne?(V=ne.kind,ce=(ke=ne.metadata.namespace)!=null?ke:r,Ue=ne.metadata.name):(V=ne.kind,ce=(qe=ne.namespace)!=null?qe:r,Ue=ne.name),`${V.toLocaleLowerCase("en-US")}:${ce.toLocaleLowerCase("en-US")}/${Ue.toLocaleLowerCase("en-US")}`}class it{constructor(V){this.policies=V}async enforce(V){let ce=V;for(const Ue of this.policies){const ke=await Ue.enforce(ce);if(!ke)throw new Error(`Policy ${Ue.constructor.name} did not return a result`);ce=ke}return ce}}class lt{constructor(V){this.policies=V}async enforce(V){for(const ce of this.policies){const Ue=await ce.enforce(V);if(Ue)return Ue}throw new Error("The entity did not match any known policy")}}const Te={allOf(ne){return new it(ne)},oneOf(ne){return new lt(ne)}};var st=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ApiV1alpha1","description":"An API describes an interface that can be exposed by a component. The API can be defined in different formats, like OpenAPI, AsyncAPI, GraphQL, gRPC, or other formats.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"API","metadata":{"name":"artist-api","description":"Retrieve artist details","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"openapi","lifecycle":"production","owner":"artist-relations-team","system":"artist-engagement-portal","definition":"openapi: \\"3.0.0\\"\\ninfo:..."}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["API"]},"spec":{"type":"object","required":["type","lifecycle","owner","definition"],"properties":{"type":{"type":"string","description":"The type of the API definition.","examples":["openapi","asyncapi","graphql","grpc"],"minLength":1},"lifecycle":{"type":"string","description":"The lifecycle state of the API.","examples":["experimental","production","deprecated"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the API.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"system":{"type":"string","description":"An entity reference to the system that the API belongs to.","minLength":1},"definition":{"type":"string","description":"The definition of the API, based on the format defined by the type.","minLength":1}}}}}]}');function He(ne){const V=M(ne);return{async check(ce){return V(ce)===ce}}}const re=He(st);var he=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ComponentV1alpha1","description":"A Component describes a software component. It is typically intimately linked to the source code that constitutes the component, and should be what a developer may regard a \\"unit of software\\", usually with a distinct deployable or linkable artifact.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService","description":"Creates Lorems like a pro.","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"service","lifecycle":"production","owner":"tools"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Component"]},"spec":{"type":"object","required":["type","lifecycle","owner"],"properties":{"type":{"type":"string","description":"The type of component.","examples":["service","website","library"],"minLength":1},"lifecycle":{"type":"string","description":"The lifecycle state of the component.","examples":["experimental","production","deprecated"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"system":{"type":"string","description":"An entity reference to the system that the component belongs to.","minLength":1},"subcomponentOf":{"type":"string","description":"An entity reference to another component of which the component is a part.","minLength":1},"providesApis":{"type":"array","description":"An array of entity references to the APIs that are provided by the component.","items":{"type":"string","minLength":1}},"consumesApis":{"type":"array","description":"An array of entity references to the APIs that are consumed by the component.","items":{"type":"string","minLength":1}},"dependsOn":{"type":"array","description":"An array of references to other entities that the component depends on to function.","items":{"type":"string","minLength":1}}}}}}]}');const Me=He(he);var be=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"DomainV1alpha1","description":"A Domain groups a collection of systems that share terminology, domain models, business purpose, or documentation, i.e. form a bounded context.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Domain","metadata":{"name":"artists","description":"Everything about artists"},"spec":{"owner":"artist-relations-team"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Domain"]},"spec":{"type":"object","required":["owner"],"properties":{"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1}}}}}]}');const Xe=He(be);var Ve=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"GroupV1alpha1","description":"A group describes an organizational entity, such as for example a team, a business unit, or a loose collection of people in an interest group. Members of these groups are modeled in the catalog as kind User.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Group","metadata":{"name":"infrastructure","description":"The infra business unit"},"spec":{"type":"business-unit","profile":{"displayName":"Infrastructure","email":"infrastructure@example.com","picture":"https://example.com/groups/bu-infrastructure.jpeg"},"parent":"ops","children":["backstage","other"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Group"]},"spec":{"type":"object","required":["type","children"],"properties":{"type":{"type":"string","description":"The type of group. There is currently no enforced set of values for this field, so it is left up to the adopting organization to choose a nomenclature that matches their org hierarchy.","examples":["team","business-unit","product-area","root"],"minLength":1},"profile":{"type":"object","description":"Optional profile information about the group, mainly for display purposes. All fields of this structure are also optional. The email would be a group email of some form, that the group may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the group, and that a browser could fetch and render on a group page or similar.","properties":{"displayName":{"type":"string","description":"A simple display name to present to users.","examples":["Infrastructure"],"minLength":1},"email":{"type":"string","description":"An email where this entity can be reached.","examples":["infrastructure@example.com"],"minLength":1},"picture":{"type":"string","description":"The URL of an image that represents this entity.","examples":["https://example.com/groups/bu-infrastructure.jpeg"],"minLength":1}}},"parent":{"type":"string","description":"The immediate parent group in the hierarchy, if any. Not all groups must have a parent; the catalog supports multi-root hierarchies. Groups may however not have more than one parent. This field is an entity reference.","examples":["ops"],"minLength":1},"children":{"type":"array","description":"The immediate child groups of this group in the hierarchy (whose parent field points to this group). The list must be present, but may be empty if there are no child groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.","items":{"type":"string","examples":["backstage","other"],"minLength":1}},"members":{"type":"array","description":"The users that are members of this group. The entries of this array are entity references.","items":{"type":"string","examples":["jdoe"],"minLength":1}}}}}}]}`);const Ze=He(Ve);var ut=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"LocationV1alpha1","description":"A location is a marker that references other places to look for catalog data.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Location","metadata":{"name":"org-data"},"spec":{"type":"url","targets":["http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml","http://github.com/myorg/myproject/org-data-dump/catalog-info-consultants.yaml"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Location"]},"spec":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The single location type, that's common to the targets specified in the spec. If it is left out, it is inherited from the location type that originally read the entity data.","examples":["url"],"minLength":1},"target":{"type":"string","description":"A single target as a string. Can be either an absolute path/URL (depending on the type), or a relative path such as ./details/catalog-info.yaml which is resolved relative to the location of this Location entity itself.","examples":["./details/catalog-info.yaml"],"minLength":1},"targets":{"type":"array","description":"A list of targets as strings. They can all be either absolute paths/URLs (depending on the type), or relative paths such as ./details/catalog-info.yaml which are resolved relative to the location of this Location entity itself.","items":{"type":"string","examples":["./details/catalog-info.yaml","http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml"],"minLength":1}},"presence":{"type":"string","description":"Whether the presence of the location target is required and it should be considered an error if it can not be found","default":"required","examples":["required"],"enum":["required","optional"]}}}}}]}`);const dt=He(ut),Ut="ownedBy",Sn="ownerOf",jt="consumesApi",vt="apiConsumedBy",pn="providesApi",ae="apiProvidedBy",j="dependsOn",oe="dependencyOf",de="parentOf",ye="childOf",Oe="memberOf",$e="hasMember",De="partOf",tt="hasPart";var pt=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ResourceV1alpha1","description":"A resource describes the infrastructure a system needs to operate, like BigTable databases, Pub/Sub topics, S3 buckets or CDNs. Modelling them together with components and systems allows to visualize resource footprint, and create tooling around them.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Resource","metadata":{"name":"artists-db","description":"Stores artist details"},"spec":{"type":"database","owner":"artist-relations-team","system":"artist-engagement-portal"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Resource"]},"spec":{"type":"object","required":["type","owner"],"properties":{"type":{"type":"string","description":"The type of resource.","examples":["database","s3-bucket","cluster"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the resource.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"dependsOn":{"type":"array","description":"An array of references to other entities that the resource depends on to function.","items":{"type":"string","minLength":1}},"system":{"type":"string","description":"An entity reference to the system that the resource belongs to.","minLength":1}}}}}]}');const Zt=He(pt);var Dt=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"SystemV1alpha1","description":"A system is a collection of resources and components. The system may expose or consume one or several APIs. It is viewed as abstraction level that provides potential consumers insights into exposed features without needing a too detailed view into the details of all components. This also gives the owning team the possibility to decide about published artifacts and APIs.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"System","metadata":{"name":"artist-engagement-portal","description":"Handy tools to keep artists in the loop"},"spec":{"owner":"artist-relations-team","domain":"artists"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["System"]},"spec":{"type":"object","required":["owner"],"properties":{"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"domain":{"type":"string","description":"An entity reference to the domain that the system belongs to.","examples":["artists"],"minLength":1}}}}}]}');const ft=He(Dt);var Ft=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"UserV1alpha1","description":"A user describes a person, such as an employee, a contractor, or similar. Users belong to Group entities in the catalog. These catalog user entries are connected to the way that authentication within the Backstage ecosystem works. See the auth section of the docs for a discussion of these concepts.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"User","metadata":{"name":"jdoe"},"spec":{"profile":{"displayName":"Jenny Doe","email":"jenny-doe@example.com","picture":"https://example.com/staff/jenny-with-party-hat.jpeg"},"memberOf":["team-b","employees"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["User"]},"spec":{"type":"object","required":["memberOf"],"properties":{"profile":{"type":"object","description":"Optional profile information about the user, mainly for display purposes. All fields of this structure are also optional. The email would be a primary email of some form, that the user may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the user, and that a browser could fetch and render on a profile page or similar.","properties":{"displayName":{"type":"string","description":"A simple display name to present to users.","examples":["Jenny Doe"],"minLength":1},"email":{"type":"string","description":"An email where this user can be reached.","examples":["jenny-doe@example.com"],"minLength":1},"picture":{"type":"string","description":"The URL of an image that represents this user.","examples":["https://example.com/staff/jenny-with-party-hat.jpeg"],"minLength":1}}},"memberOf":{"type":"array","description":"The list of groups that the user is a direct member of (i.e., no transitive memberships are listed here). The list must be present, but may be empty if the user is not member of any groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.","items":{"type":"string","examples":["team-b","employees"],"minLength":1}}}}}}]}`);const zt=He(Ft),Jt="backstage.io/managed-by-location",yn="backstage.io/managed-by-origin-location",En="backstage.io/source-location";function Ct(ne){if(typeof ne!="string")throw new TypeError(`Unable to parse location ref '${ne}', unexpected argument ${typeof ne}`);const V=ne.indexOf(":");if(V<0)throw new TypeError(`Unable to parse location ref '${ne}', expected '<type>:<target>', e.g. 'url:https://host/path'`);const ce=ne.substring(0,V).trim(),Ue=ne.substring(V+1).trim();if(!ce||!Ue)throw new TypeError(`Unable to parse location ref '${ne}', expected '<type>:<target>', e.g. 'url:https://host/path'`);if(ce==="http"||ce==="https")throw new TypeError(`Invalid location ref '${ne}', please prefix it with 'url:', e.g. 'url:${ne}'`);return{type:ce,target:Ue}}function nt(ne){const{type:V,target:ce}=ne;if(V){if(!ce)throw new TypeError("Unable to stringify location ref, empty target")}else throw new TypeError("Unable to stringify location ref, empty type");return`${V}:${ce}`}function Vt(ne){var ce,Ue,ke,qe,mt;const V=(mt=(Ue=(ce=ne.metadata)==null?void 0:ce.annotations)==null?void 0:Ue[ANNOTATION_SOURCE_LOCATION])!=null?mt:(qe=(ke=ne.metadata)==null?void 0:ke.annotations)==null?void 0:qe[ANNOTATION_LOCATION];if(!V)throw new Error(`Entity '${stringifyEntityRef(ne)}' is missing location`);return Ct(V)}},23235:function(_,s,e){"use strict";e.d(s,{C:function(){return t}});var r=e(98005);class t{constructor(){X(this,"subject",new r.J)}post(f){this.subject.next(f)}alert$(){return this.subject}}},47150:function(_,s,e){"use strict";e.d(s,{g:function(){return r}});class r{captureEvent(c){}}},58652:function(_,s,e){"use strict";e.d(s,{C:function(){return c}});var r=e(98005);const t="theme";class c{constructor(A){X(this,"activeThemeId");X(this,"subject",new r.X(void 0));this.themes=A}static createWithStorage(A){var i;const m=new c(A);if(!window.localStorage)return m;const a=(i=window.localStorage.getItem(t))!=null?i:void 0;return m.setActiveThemeId(a),m.activeThemeId$().subscribe(d=>{d?window.localStorage.setItem(t,d):window.localStorage.removeItem(t)}),window.addEventListener("storage",d=>{var y;if(d.key===t){const p=(y=localStorage.getItem(t))!=null?y:void 0;m.setActiveThemeId(p)}}),m}getInstalledThemes(){return this.themes.slice()}activeThemeId$(){return this.subject}getActiveThemeId(){return this.activeThemeId}setActiveThemeId(A){this.activeThemeId=A,this.subject.next(A)}}},14721:function(_,s,e){"use strict";e.d(s,{m:function(){return d}});var r=e(9850),t=e.n(r),c=e(12782),f=e.n(c);const A=/^[a-z][a-z0-9]*(?:[-_][a-z][a-z0-9]*)*$/i;function m(y){return typeof y=="object"&&y!==null&&!Array.isArray(y)}function a(y){if(y===null)return"null";if(Array.isArray(y))return"array";const p=typeof y;return p==="number"&&isNaN(y)?"nan":p==="string"&&y===""?"empty-string":p}const i={type(y,p,v,b){return`Invalid type in config for key '${y}' in '${p}', got ${v}, wanted ${b}`},missing(y){return`Missing required config value at '${y}'`},convert(y,p,v){return`Unable to convert config value for key '${y}' in '${p}' to a ${v}`}};class d{constructor(p,v="mock-config",b,L=""){X(this,"filteredKeys");X(this,"notifiedFilteredKeys",new Set);this.data=p,this.context=v,this.fallback=b,this.prefix=L}static fromConfigs(p){return p.length===0?new d(void 0):p.reduce((v,{data:b,context:L,filteredKeys:w,deprecatedKeys:z})=>{const x=new d(b,L,v);if(x.filteredKeys=w,z)for(const{key:T,description:I}of z)console.warn(`The configuration key '${T}' of ${L} is deprecated and may be removed soon. ${I||""}`);return x},void 0)}has(p){var b,L;return this.readValue(p)!==void 0?!0:(L=(b=this.fallback)==null?void 0:b.has(p))!=null?L:!1}keys(){var b,L;const p=this.data?Object.keys(this.data):[],v=(L=(b=this.fallback)==null?void 0:b.keys())!=null?L:[];return[...new Set([...p,...v])]}get(p){const v=this.getOptional(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p!=null?p:"")));return v}getOptional(p){var L;const v=t()(this.readValue(p)),b=(L=this.fallback)==null?void 0:L.getOptional(p);return v===void 0?b:b===void 0?v:f()({},{value:b},{value:v},(w,z)=>!m(z)||!m(w)?z:void 0).value}getConfig(p){const v=this.getOptionalConfig(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalConfig(p){var L;const v=this.readValue(p),b=(L=this.fallback)==null?void 0:L.getOptionalConfig(p);if(m(v))return this.copy(v,p,b);if(v!==void 0)throw new TypeError(i.type(this.fullKey(p),this.context,a(v),"object"));return b}getConfigArray(p){const v=this.getOptionalConfigArray(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalConfigArray(p){const v=this.readConfigValue(p,b=>{if(!Array.isArray(b))return{expected:"object-array"};for(const[L,w]of b.entries())if(!m(w))return{expected:"object-array",value:w,key:`${p}[${L}]`};return!0});if(!!v)return v.map((b,L)=>this.copy(b,`${p}[${L}]`))}getNumber(p){const v=this.getOptionalNumber(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalNumber(p){const v=this.readConfigValue(p,L=>typeof L=="number"||typeof L=="string"||{expected:"number"});if(typeof v=="number"||v===void 0)return v;const b=Number(v);if(!Number.isFinite(b))throw new Error(i.convert(this.fullKey(p),this.context,"number"));return b}getBoolean(p){const v=this.getOptionalBoolean(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalBoolean(p){return this.readConfigValue(p,v=>typeof v=="boolean"||{expected:"boolean"})}getString(p){const v=this.getOptionalString(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalString(p){return this.readConfigValue(p,v=>typeof v=="string"&&v!==""||{expected:"string"})}getStringArray(p){const v=this.getOptionalStringArray(p);if(v===void 0)throw new Error(i.missing(this.fullKey(p)));return v}getOptionalStringArray(p){return this.readConfigValue(p,v=>{if(!Array.isArray(v))return{expected:"string-array"};for(const[b,L]of v.entries())if(typeof L!="string"||L==="")return{expected:"string-array",value:L,key:`${p}[${b}]`};return!0})}fullKey(p){return`${this.prefix}${this.prefix?".":""}${p}`}copy(p,v,b){const L=new d(p,this.context,b,this.fullKey(v));return L.filteredKeys=this.filteredKeys,L}readConfigValue(p,v){var w;const b=this.readValue(p);if(b===void 0)return(w=this.fallback)==null?void 0:w.readConfigValue(p,v);const L=v(b);if(L!==!0){const{key:z=p,value:x=b,expected:T}=L;throw new TypeError(i.type(this.fullKey(z),this.context,a(x),T))}return b}readValue(p){const v=p?p.split("."):[];for(const L of v)if(!A.test(L))throw new TypeError(`Invalid config key '${p}'`);if(this.data===void 0)return;let b=this.data;for(const[L,w]of v.entries())if(m(b))b=b[w];else if(b!==void 0){const z=this.fullKey(v.slice(0,L).join("."));throw new TypeError(i.type(z,this.context,a(b),"object"))}return b}}},4333:function(_,s,e){"use strict";e.d(s,{p:function(){return t}});const r="Invalid discovery URL pattern,";class t{static compile(f){const A=f.split(/\{\{\s*pluginId\s*\}\}/),m=A.join("pluginId");let a;try{a=new URL(m)}catch{throw new Error(`${r} URL '${m}' is invalid`)}if(a.hash)throw new Error(`${r} URL must not have a hash`);if(a.search)throw new Error(`${r} URL must not have a query`);if(m.endsWith("/"))throw new Error(`${r} URL must not end with a slash`);return new t(A)}constructor(f){this.parts=f}async getBaseUrl(f){return this.parts.join(f)}}},89536:function(_,s,e){"use strict";e.d(s,{KN:function(){return r},gr:function(){return c},Jv:function(){return f}});class r{constructor(m,a){this.alertApi=m,this.errorApi=a}post(m,a){return a!=null&&a.hidden||this.alertApi.post({message:m.message,severity:"error"}),this.errorApi.post(m,a)}error$(){return this.errorApi.error$()}}var t=e(98005);class c{constructor(){X(this,"subject",new t.J)}post(m,a){this.subject.next({error:m,context:a})}error$(){return this.subject}}class f{static forward(m,a){window.addEventListener("unhandledrejection",i=>{m.post(i.reason,a)})}}},14884:function(_,s,e){"use strict";e.d(s,{b:function(){return c}});var r=e(36964);function t(f){if(f.length<3)throw new Error(`The '${f}' feature flag must have a minimum length of three characters.`);if(f.length>150)throw new Error(`The '${f}' feature flag must not exceed 150 characters.`);if(!f.match(/^[a-z]+[a-z0-9-]+$/))throw new Error(`The '${f}' feature flag must start with a lowercase letter and only contain lowercase letters, numbers and hyphens. Examples: feature-flag-one, alpha, release-2020`)}class c{constructor(){X(this,"registeredFeatureFlags",[]);X(this,"flags")}registerFlag(A){t(A.name),this.registeredFeatureFlags.push(A)}getRegisteredFlags(){return this.registeredFeatureFlags.slice()}isActive(A){return this.flags||(this.flags=this.load()),this.flags.get(A)===r.FeatureFlagState.Active}save(A){this.flags||(this.flags=this.load()),A.merge||this.flags.clear();for(const[a,i]of Object.entries(A.states))this.flags.set(a,i);const m=Array.from(this.flags.entries()).filter(([,a])=>a===r.FeatureFlagState.Active);window.localStorage.setItem("featureFlags",JSON.stringify(Object.fromEntries(m)))}load(){try{const A=window.localStorage.getItem("featureFlags");if(!A)return new Map;const m=JSON.parse(A);if(typeof m!="object"||m===null||Array.isArray(m))return new Map;const a=Object.entries(m).filter(([i,d])=>(t(i),d===r.FeatureFlagState.Active));return new Map(a)}catch{return new Map}}}},50160:function(_,s,e){"use strict";e.d(s,{I:function(){return a},j:function(){return r}});function r(i){var p;let d=i.baseImplementation||e.g.fetch;const y=[(p=i.middleware)!=null?p:[]].flat().reverse();for(const v of y)d=v.apply(d);return{fetch:d}}class t{static create(d){var b,L;const y=c(d),p=((b=d.header)==null?void 0:b.name)||"authorization",v=((L=d.header)==null?void 0:L.value)||(w=>`Bearer ${w}`);return new t(d.identityApi,y,p,v)}constructor(d,y,p,v){this.identityApi=d,this.allowUrl=y,this.headerName=p,this.headerValue=v}apply(d){return async(y,p)=>{const v=new Request(y,p),{token:b}=await this.identityApi.getCredentials();return v.headers.get(this.headerName)||typeof b!="string"||!b||!this.allowUrl(v.url)?d(y,p):(v.headers.set(this.headerName,this.headerValue(b)),d(v))}}}function c(i){return i.allowUrl?i.allowUrl:i.urlPrefixAllowlist?f(i.urlPrefixAllowlist):i.config?f([i.config.getString("backend.baseUrl")]):()=>!1}function f(i){const d=i.map(y=>y.replace(/\/$/,""));return y=>d.some(p=>y===p||y.startsWith(`${p}/`))}function A(i,d){return!d||d==="/"?i:`${i.replace(/\/$/,"")}/${d.replace(/^\//,"")}`}class m{constructor(d){this.discoveryApi=d}apply(d){return async(y,p)=>{const v=new Request(y,p),b="plugin://";if(!v.url.startsWith(b))return d(y,p);const{hostname:L,pathname:w,search:z,hash:x,username:T,password:I}=new URL(`http://${v.url.substring(b.length)}`);let F=await this.discoveryApi.getBaseUrl(L);if(T||I){const G=new URL(F),J=`${T}${I?`:${I}`:""}@`;F=`${G.protocol}//${J}${G.host}${G.pathname}`}const M=`${A(F,w)}${z}${x}`;return d(M,typeof y=="string"?p:y)}}}class a{static resolvePluginProtocol(d){return new m(d.discoveryApi)}static injectIdentityAuth(d){return t.create(d)}constructor(){}}},11358:function(_,s,e){"use strict";e.d(s,{Y:function(){return A}});var r=e(98005);function t(m,a){for(const i of a)if(!m.has(i))return!1;return!0}function c(m,...a){const i=new Set(m);for(const d of a)for(const y of d)i.add(y);return i}class f{constructor(){X(this,"requests",[]);X(this,"subject",new r.X(this.getCurrentPending()))}request(a){return new Promise((i,d)=>{this.requests.push({scopes:a,resolve:i,reject:d}),this.subject.next(this.getCurrentPending())})}resolve(a,i){this.requests=this.requests.filter(d=>t(a,d.scopes)?(d.resolve(i),!1):!0),this.subject.next(this.getCurrentPending())}reject(a){this.requests.forEach(i=>i.reject(a)),this.requests=[],this.subject.next(this.getCurrentPending())}pending(){return this.subject}getCurrentPending(){const a=this.requests.length===0?void 0:this.requests.slice(1).reduce((i,d)=>c(i,d.scopes),this.requests[0].scopes);return{scopes:a,resolve:i=>{a&&this.resolve(a,i)},reject:i=>{a&&this.reject(i)}}}}class A{constructor(){X(this,"subject",new r.X([]));X(this,"currentRequests",[]);X(this,"handlerCount",0)}createAuthRequester(a){const i=new f,d=this.handlerCount;return this.handlerCount++,i.pending().subscribe({next:y=>{const p=this.currentRequests.slice(),v=this.makeAuthRequest(y,a);v?p[d]=v:delete p[d],this.currentRequests=p,this.subject.next(p.filter(Boolean))}}),y=>i.request(y)}makeAuthRequest(a,i){const{scopes:d}=a;if(!!d)return{provider:i.provider,trigger:async()=>{const y=await i.onAuthRequest(d);a.resolve(y)},reject:()=>{const y=new Error("Login failed, rejected by user");y.name="RejectedError",a.reject(y)}}}authRequest$(){return this.subject}}},56054:function(_,s,e){"use strict";e.d(s,{C:function(){return f}});var r=e(82394),t=e.n(r);const c=new Map;class f{constructor(m,a){X(this,"subscribers",new Set);X(this,"observable",new(t())(m=>(this.subscribers.add(m),()=>{this.subscribers.delete(m)})));this.namespace=m,this.errorApi=a}static create(m){var a;return new f((a=m.namespace)!=null?a:"",m.errorApi)}get(m){return this.snapshot(m).value}snapshot(m){let a,i="absent";try{const d=localStorage.getItem(this.getKeyName(m));d&&(a=JSON.parse(d,(y,p)=>(typeof p=="object"&&p!==null&&Object.freeze(p),p)),i="present")}catch{this.errorApi.post(new Error(`Error when parsing JSON config from storage for: ${m}`))}return{key:m,value:a,presence:i}}forBucket(m){const a=`${this.namespace}/${m}`;return c.has(a)||c.set(a,new f(a,this.errorApi)),c.get(a)}async set(m,a){localStorage.setItem(this.getKeyName(m),JSON.stringify(a)),this.notifyChanges(m)}async remove(m){localStorage.removeItem(this.getKeyName(m)),this.notifyChanges(m)}observe$(m){return this.observable.filter(({key:a})=>a===m)}getKeyName(m){return`${this.namespace}/${encodeURIComponent(m)}`}notifyChanges(m){const a=this.snapshot(m);for(const i of this.subscribers)i.next(a)}}},59589:function(_,s,e){"use strict";e.d(s,{u:function(){return c}});var r=e(91205);const t={id:"atlassian",title:"Atlassian",icon:()=>null};class c{static create(A){const{discoveryApi:m,environment:a="development",provider:i=t,oauthRequestApi:d}=A;return r.OAuth2.create({discoveryApi:m,oauthRequestApi:d,provider:i,environment:a})}}},6098:function(_,s,e){"use strict";e.d(s,{Z:function(){return c}});var r=e(91205);const t={id:"bitbucket",title:"Bitbucket",icon:()=>null};class c{static create(A){const{discoveryApi:m,environment:a="development",provider:i=t,oauthRequestApi:d,defaultScopes:y=["team"]}=A;return r.OAuth2.create({discoveryApi:m,oauthRequestApi:d,provider:i,environment:a,defaultScopes:y})}}},44431:function(_,s,e){"use strict";e.d(s,{BitbucketAuth:function(){return c.Z}});var r=e(19347),t=e.n(r);e.o(r,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"ConfigReader")&&e.d(s,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(s,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(s,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var c=e(6098)},19347:function(){},44474:function(_,s,e){"use strict";e.d(s,{T:function(){return c}});var r=e(91205);const t={id:"github",title:"GitHub",icon:()=>null};class c{static create(A){const{discoveryApi:m,environment:a="development",provider:i=t,oauthRequestApi:d,defaultScopes:y=["read:user"]}=A;return r.OAuth2.create({discoveryApi:m,oauthRequestApi:d,provider:i,environment:a,defaultScopes:y})}}},2922:function(_,s,e){"use strict";e.d(s,{a:function(){return c}});var r=e(91205);const t={id:"gitlab",title:"GitLab",icon:()=>null};class c{static create(A){const{discoveryApi:m,environment:a="development",provider:i=t,oauthRequestApi:d,defaultScopes:y=["read_user"]}=A;return r.OAuth2.create({discoveryApi:m,oauthRequestApi:d,provider:i,environment:a,defaultScopes:y})}}},59938:function(_,s,e){"use strict";e.d(s,{e:function(){return f}});var r=e(91205);const t={id:"google",title:"Google",icon:()=>null},c="https://www.googleapis.com/auth/";class f{static create(m){const{discoveryApi:a,oauthRequestApi:i,environment:d="development",provider:y=t,defaultScopes:p=["openid",`${c}userinfo.email`,`${c}userinfo.profile`]}=m;return r.OAuth2.create({discoveryApi:a,oauthRequestApi:i,provider:y,environment:d,defaultScopes:p,scopeTransform(v){return v.map(b=>b==="openid"?b:b==="profile"||b==="email"?`${c}userinfo.${b}`:b.startsWith(c)?b:`${c}${b}`)}})}}},91668:function(_,s,e){"use strict";e.d(s,{AtlassianAuth:function(){return y.u},BitbucketAuth:function(){return d.BitbucketAuth},GithubAuth:function(){return r.T},GitlabAuth:function(){return t.a},GoogleAuth:function(){return c.e},MicrosoftAuth:function(){return a._},OktaAuth:function(){return A.s},OneLoginAuth:function(){return i.$}});var r=e(44474),t=e(2922),c=e(59938),f=e(91205);e.o(f,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return f.AlertApiForwarder}}),e.o(f,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return f.AppThemeSelector}}),e.o(f,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return f.AtlassianAuth}}),e.o(f,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return f.BitbucketAuth}}),e.o(f,"ConfigReader")&&e.d(s,{ConfigReader:function(){return f.ConfigReader}}),e.o(f,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return f.ErrorAlerter}}),e.o(f,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return f.ErrorApiForwarder}}),e.o(f,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return f.FetchMiddlewares}}),e.o(f,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return f.FlatRoutes}}),e.o(f,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return f.LocalStorageFeatureFlags}}),e.o(f,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return f.MicrosoftAuth}}),e.o(f,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return f.NoOpAnalyticsApi}}),e.o(f,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return f.OAuthRequestManager}}),e.o(f,"OktaAuth")&&e.d(s,{OktaAuth:function(){return f.OktaAuth}}),e.o(f,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return f.OneLoginAuth}}),e.o(f,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return f.UnhandledErrorForwarder}}),e.o(f,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return f.UrlPatternDiscovery}}),e.o(f,"WebStorage")&&e.d(s,{WebStorage:function(){return f.WebStorage}}),e.o(f,"createFetchApi")&&e.d(s,{createFetchApi:function(){return f.createFetchApi}}),e.o(f,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return f.createSpecializedApp}}),e.o(f,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return f.defaultConfigLoader}});var A=e(26079),m=e(67604),a=e(38482),i=e(58381),d=e(44431);e.o(d,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return d.AlertApiForwarder}}),e.o(d,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return d.AppThemeSelector}}),e.o(d,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return d.AtlassianAuth}}),e.o(d,"ConfigReader")&&e.d(s,{ConfigReader:function(){return d.ConfigReader}}),e.o(d,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return d.ErrorAlerter}}),e.o(d,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return d.ErrorApiForwarder}}),e.o(d,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return d.FetchMiddlewares}}),e.o(d,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return d.FlatRoutes}}),e.o(d,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return d.LocalStorageFeatureFlags}}),e.o(d,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return d.NoOpAnalyticsApi}}),e.o(d,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return d.OAuthRequestManager}}),e.o(d,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return d.UnhandledErrorForwarder}}),e.o(d,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return d.UrlPatternDiscovery}}),e.o(d,"WebStorage")&&e.d(s,{WebStorage:function(){return d.WebStorage}}),e.o(d,"createFetchApi")&&e.d(s,{createFetchApi:function(){return d.createFetchApi}}),e.o(d,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return d.createSpecializedApp}}),e.o(d,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return d.defaultConfigLoader}});var y=e(59589)},38482:function(_,s,e){"use strict";e.d(s,{_:function(){return c}});var r=e(91205);const t={id:"microsoft",title:"Microsoft",icon:()=>null};class c{static create(A){const{environment:m="development",provider:a=t,oauthRequestApi:i,discoveryApi:d,defaultScopes:y=["openid","offline_access","profile","email","User.Read"]}=A;return r.OAuth2.create({discoveryApi:d,oauthRequestApi:i,provider:a,environment:m,defaultScopes:y})}}},73124:function(_,s,e){"use strict";e.d(s,{Z:function(){return m}});function r(a){return new Promise((i,d)=>{const y=a.width||500,p=a.height||700,v=window.screen.width/2-y/2,b=window.screen.height/2-p/2,L=window.open(a.url,a.name,`menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=${y},height=${p},top=${b},left=${v}`);let w="";if(!L||typeof L.closed=="undefined"||L.closed){const I=new Error("Failed to open auth popup.");I.name="PopupRejectedError",d(I);return}const z=I=>{if(I.source!==L||I.origin!==a.origin)return;const{data:F}=I;if(F.type==="config_info"){w=F.targetOrigin;return}if(F.type!=="authorization_response")return;const M=F;if("error"in M){const G=new Error(M.error.message);G.name=M.error.name,d(G)}else i(M.response);T()},x=setInterval(()=>{if(L.closed){const I=`Login failed, ${w&&w!==window.location.origin?`Incorrect app origin, expected ${w}`:"popup was closed"}`,F=new Error(I);F.name="PopupClosedError",d(F),T()}},100);function T(){window.removeEventListener("message",z),clearInterval(x)}window.addEventListener("message",z)})}function t(a){return[...a].join(" ")}class c{constructor(i){X(this,"discoveryApi");X(this,"environment");X(this,"provider");X(this,"joinScopesFunc");X(this,"authRequester");X(this,"sessionTransform");const{discoveryApi:d,environment:y,provider:p,joinScopes:v=t,oauthRequestApi:b,sessionTransform:L=w=>w}=i;this.authRequester=b.createAuthRequester({provider:p,onAuthRequest:w=>this.showPopup(w)}),this.discoveryApi=d,this.environment=y,this.provider=p,this.joinScopesFunc=v,this.sessionTransform=L}async createSession(i){return i.instantPopup?this.showPopup(i.scopes):this.authRequester(i.scopes)}async refreshSession(){const i=await fetch(await this.buildUrl("/refresh",{optional:!0}),{headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(y=>{throw new Error(`Auth refresh request failed, ${y}`)});if(!i.ok){const y=new Error(`Auth refresh request failed, ${i.statusText}`);throw y.status=i.status,y}const d=await i.json();if(d.error){const y=new Error(d.error.message);throw d.error.name&&(y.name=d.error.name),y}return await this.sessionTransform(d)}async removeSession(){const i=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(d=>{throw new Error(`Logout request failed, ${d}`)});if(!i.ok){const d=new Error(`Logout request failed, ${i.statusText}`);throw d.status=i.status,d}}async showPopup(i){const d=this.joinScopesFunc(i),y=await this.buildUrl("/start",{scope:d,origin:location.origin}),p=await r({url:y,name:`${this.provider.title} Login`,origin:new URL(y).origin,width:450,height:730});return await this.sessionTransform(p)}async buildUrl(i,d){const y=await this.discoveryApi.getBaseUrl("auth"),p=this.buildQueryString({...d,env:this.environment});return`${y}/${this.provider.id}${i}${p}`}buildQueryString(i){if(!i)return"";const d=Object.entries(i).map(([y,p])=>{if(typeof p=="string")return`${encodeURIComponent(y)}=${encodeURIComponent(p)}`;if(p)return encodeURIComponent(y)}).filter(Boolean).join("&");return d?`?${d}`:""}}var f=e(57018);const A={id:"oauth2",title:"Your Identity Provider",icon:()=>null};class m{constructor(i){X(this,"sessionManager");X(this,"scopeTransform");this.sessionManager=i.sessionManager,this.scopeTransform=i.scopeTransform}static create(i){const{discoveryApi:d,environment:y="development",provider:p=A,oauthRequestApi:v,defaultScopes:b=[],scopeTransform:L=x=>x}=i,w=new c({discoveryApi:d,environment:y,provider:p,oauthRequestApi:v,sessionTransform(x){return{...x,providerInfo:{idToken:x.providerInfo.idToken,accessToken:x.providerInfo.accessToken,scopes:m.normalizeScopes(L,x.providerInfo.scope),expiresAt:new Date(Date.now()+x.providerInfo.expiresInSeconds*1e3)}}}}),z=new f.RefreshingAuthSessionManager({connector:w,defaultScopes:new Set(b),sessionScopes:x=>x.providerInfo.scopes,sessionShouldRefresh:x=>(x.providerInfo.expiresAt.getTime()-Date.now())/1e3<60*5});return new m({sessionManager:z,scopeTransform:L})}async signIn(){await this.getAccessToken()}async signOut(){await this.sessionManager.removeSession()}sessionState$(){return this.sessionManager.sessionState$()}async getAccessToken(i,d){var v;const y=m.normalizeScopes(this.scopeTransform,i),p=await this.sessionManager.getSession({...d,scopes:y});return(v=p==null?void 0:p.providerInfo.accessToken)!=null?v:""}async getIdToken(i={}){var y;const d=await this.sessionManager.getSession(i);return(y=d==null?void 0:d.providerInfo.idToken)!=null?y:""}async getBackstageIdentity(i={}){const d=await this.sessionManager.getSession(i);return d==null?void 0:d.backstageIdentity}async getProfile(i={}){const d=await this.sessionManager.getSession(i);return d==null?void 0:d.profile}static normalizeScopes(i,d){if(!d)return new Set;const y=Array.isArray(d)?d:d.split(/[\s|,]/).filter(Boolean);return new Set(i(y))}}},91205:function(_,s,e){"use strict";e.d(s,{OAuth2:function(){return r.Z}});var r=e(73124),t=e(5973),c=e.n(t);e.o(t,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return t.AlertApiForwarder}}),e.o(t,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return t.AppThemeSelector}}),e.o(t,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"ConfigReader")&&e.d(s,{ConfigReader:function(){return t.ConfigReader}}),e.o(t,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return t.ErrorAlerter}}),e.o(t,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return t.ErrorApiForwarder}}),e.o(t,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return t.FetchMiddlewares}}),e.o(t,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return t.LocalStorageFeatureFlags}}),e.o(t,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return t.NoOpAnalyticsApi}}),e.o(t,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return t.OAuthRequestManager}}),e.o(t,"OktaAuth")&&e.d(s,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return t.UnhandledErrorForwarder}}),e.o(t,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return t.UrlPatternDiscovery}}),e.o(t,"WebStorage")&&e.d(s,{WebStorage:function(){return t.WebStorage}}),e.o(t,"createFetchApi")&&e.d(s,{createFetchApi:function(){return t.createFetchApi}}),e.o(t,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return t.createSpecializedApp}}),e.o(t,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return t.defaultConfigLoader}})},5973:function(){},26079:function(_,s,e){"use strict";e.d(s,{s:function(){return A}});var r=e(91205);const t={id:"okta",title:"Okta",icon:()=>null},c=new Set(["openid","profile","email","phone","address","groups","offline_access"]),f="okta.";class A{static create(a){const{discoveryApi:i,environment:d="development",provider:y=t,oauthRequestApi:p,defaultScopes:v=["openid","email","profile","offline_access"]}=a;return r.OAuth2.create({discoveryApi:i,oauthRequestApi:p,provider:y,environment:d,defaultScopes:v,scopeTransform(b){return b.map(L=>c.has(L)||L.startsWith(f)?L:`${f}${L}`)}})}}},58381:function(_,s,e){"use strict";e.d(s,{$:function(){return A}});var r=e(91205);const t={id:"onelogin",title:"onelogin",icon:()=>null},c=new Set(["openid","profile","email","phone","address","groups","offline_access"]),f="onelogin.";class A{static create(a){const{discoveryApi:i,environment:d="development",provider:y=t,oauthRequestApi:p}=a;return r.OAuth2.create({discoveryApi:i,oauthRequestApi:p,provider:y,environment:d,defaultScopes:["openid","email","profile","offline_access"],scopeTransform(v){return v.map(b=>c.has(b)||b.startsWith(f)?b:`${f}${b}`)}})}}},67604:function(_,s,e){"use strict";var r=e(57018),t=e(30195);const c=t.z.object({profile:t.z.object({email:t.z.string().optional(),displayName:t.z.string().optional(),picture:t.z.string().optional()}),backstageIdentity:t.z.object({token:t.z.string(),identity:t.z.object({type:t.z.literal("user"),userEntityRef:t.z.string(),ownershipEntityRefs:t.z.array(t.z.string())})})}),f={id:"saml",title:"SAML",icon:()=>null};class A{static create(a){const{discoveryApi:i,environment:d="development",provider:y=f}=a,p=new DirectAuthConnector({discoveryApi:i,environment:d,provider:y}),v=new StaticAuthSessionManager({connector:p}),b=new AuthSessionStore({manager:v,storageKey:`${y.id}Session`,schema:samlSessionSchema});return new A(b)}sessionState$(){return this.sessionManager.sessionState$()}constructor(a){this.sessionManager=a}async signIn(){await this.getBackstageIdentity({})}async signOut(){await this.sessionManager.removeSession()}async getBackstageIdentity(a={}){const i=await this.sessionManager.getSession(a);return i==null?void 0:i.backstageIdentity}async getProfile(a={}){const i=await this.sessionManager.getSession(a);return i==null?void 0:i.profile}}},91631:function(_,s,e){"use strict";e.d(s,{AlertApiForwarder:function(){return t.C},AppThemeSelector:function(){return f.C},AtlassianAuth:function(){return r.AtlassianAuth},ConfigReader:function(){return A.m},ErrorAlerter:function(){return a.KN},ErrorApiForwarder:function(){return a.gr},FetchMiddlewares:function(){return d.I},GithubAuth:function(){return r.GithubAuth},GitlabAuth:function(){return r.GitlabAuth},GoogleAuth:function(){return r.GoogleAuth},LocalStorageFeatureFlags:function(){return i.b},MicrosoftAuth:function(){return r.MicrosoftAuth},NoOpAnalyticsApi:function(){return c.g},OAuthRequestManager:function(){return y.Y},OktaAuth:function(){return r.OktaAuth},OneLoginAuth:function(){return r.OneLoginAuth},UnhandledErrorForwarder:function(){return a.Jv},UrlPatternDiscovery:function(){return m.p},WebStorage:function(){return p.C},createFetchApi:function(){return d.j}});var r=e(91668);e.o(r,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(s,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(s,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(s,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(23235),c=e(47150),f=e(58652),A=e(14721),m=e(4333),a=e(89536),i=e(14884),d=e(50160),y=e(11358),p=e(56054)},56494:function(_,s,e){"use strict";e.d(s,{AlertApiForwarder:function(){return t.AlertApiForwarder},ApiProvider:function(){return r.ApiProvider},AppThemeSelector:function(){return t.AppThemeSelector},ConfigReader:function(){return t.ConfigReader},ErrorAlerter:function(){return t.ErrorAlerter},ErrorApiForwarder:function(){return t.ErrorApiForwarder},FetchMiddlewares:function(){return t.FetchMiddlewares},LocalStorageFeatureFlags:function(){return t.LocalStorageFeatureFlags},NoOpAnalyticsApi:function(){return t.NoOpAnalyticsApi},OAuthRequestManager:function(){return t.OAuthRequestManager},UnhandledErrorForwarder:function(){return t.UnhandledErrorForwarder},UrlPatternDiscovery:function(){return t.UrlPatternDiscovery},WebStorage:function(){return t.WebStorage},createFetchApi:function(){return t.createFetchApi}});var r=e(76105);e.o(r,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(s,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(s,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"OktaAuth")&&e.d(s,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(s,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(s,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(91631);e.o(t,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(s,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OktaAuth")&&e.d(s,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return t.createSpecializedApp}}),e.o(t,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return t.defaultConfigLoader}})},80396:function(_,s,e){"use strict";e.d(s,{p:function(){return t}});var r;(function(c){c[c.default=10]="default";const f=50;c[c.app=f]="app",c[c.static=100]="static"})(r||(r={}));class t{constructor(){X(this,"factories",new Map)}register(f,A){const m=r[f],a=this.factories.get(A.api.id);return a&&a.priority>=m?!1:(this.factories.set(A.api.id,{priority:m,factory:A}),!0)}get(f){const A=this.factories.get(f.id);if(!!A)return A.factory}getAllApis(){const f=new Set;for(const{factory:A}of this.factories.values())f.add(A.api);return f}}},14406:function(_,s,e){"use strict";e.d(s,{g:function(){return a}});var r=e(2784),t=e(13980),c=e.n(t);class f{constructor(...d){X(this,"holders");this.holders=d}get(d){for(const y of this.holders){const p=y.get(d);if(p)return p}}}var A=e(76241);const m=(0,A.CT)("api-context"),a=i=>{var b;const{apis:d,children:y}=i,p=(b=(0,r.useContext)(m))==null?void 0:b.atVersion(1),v=p?new f(d,p):d;return r.createElement(m.Provider,{value:(0,A.EI)({1:v}),children:y})};a.propTypes={apis:c().shape({get:c().func.isRequired}).isRequired,children:c().node}},12132:function(_,s,e){"use strict";e.d(s,{M:function(){return r}});class r{constructor(c){X(this,"apis",new Map);this.factories=c}static validateFactories(c,f){for(const A of f){const m=[A],a=new Set;for(;m.length;){const i=m.shift(),d=c.get(i);if(!!d)for(const y of Object.values(d.deps)){if(y.id===A.id)throw new Error(`Circular dependency of api factory for ${A}`);a.has(y)||(a.add(y),m.push(y))}}}}get(c){return this.load(c)}load(c,f=[]){const A=this.apis.get(c.id);if(A)return A;const m=this.factories.get(c);if(!m)return;if(f.includes(m.api))throw new Error(`Circular dependency of api factory for ${m.api}`);const a=this.loadDeps(c,m.deps,[...f,m.api]),i=m.factory(a);return this.apis.set(c.id,i),i}loadDeps(c,f,A){const m={};for(const a in f)if(f.hasOwnProperty(a)){const i=f[a],d=this.load(i,A);if(!d)throw new Error(`No API factory available for dependency ${i} of dependent ${c}`);m[a]=d}return m}}},76105:function(_,s,e){"use strict";e.d(s,{ApiFactoryRegistry:function(){return c.p},ApiProvider:function(){return r.g},ApiResolver:function(){return t.M}});var r=e(14406),t=e(12132),c=e(80396),f=e(82488),A=e.n(f);e.o(f,"AlertApiForwarder")&&e.d(s,{AlertApiForwarder:function(){return f.AlertApiForwarder}}),e.o(f,"AppThemeSelector")&&e.d(s,{AppThemeSelector:function(){return f.AppThemeSelector}}),e.o(f,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return f.AtlassianAuth}}),e.o(f,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return f.BitbucketAuth}}),e.o(f,"ConfigReader")&&e.d(s,{ConfigReader:function(){return f.ConfigReader}}),e.o(f,"ErrorAlerter")&&e.d(s,{ErrorAlerter:function(){return f.ErrorAlerter}}),e.o(f,"ErrorApiForwarder")&&e.d(s,{ErrorApiForwarder:function(){return f.ErrorApiForwarder}}),e.o(f,"FetchMiddlewares")&&e.d(s,{FetchMiddlewares:function(){return f.FetchMiddlewares}}),e.o(f,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return f.FlatRoutes}}),e.o(f,"GithubAuth")&&e.d(s,{GithubAuth:function(){return f.GithubAuth}}),e.o(f,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return f.GitlabAuth}}),e.o(f,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return f.GoogleAuth}}),e.o(f,"LocalStorageFeatureFlags")&&e.d(s,{LocalStorageFeatureFlags:function(){return f.LocalStorageFeatureFlags}}),e.o(f,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return f.MicrosoftAuth}}),e.o(f,"NoOpAnalyticsApi")&&e.d(s,{NoOpAnalyticsApi:function(){return f.NoOpAnalyticsApi}}),e.o(f,"OAuthRequestManager")&&e.d(s,{OAuthRequestManager:function(){return f.OAuthRequestManager}}),e.o(f,"OktaAuth")&&e.d(s,{OktaAuth:function(){return f.OktaAuth}}),e.o(f,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return f.OneLoginAuth}}),e.o(f,"UnhandledErrorForwarder")&&e.d(s,{UnhandledErrorForwarder:function(){return f.UnhandledErrorForwarder}}),e.o(f,"UrlPatternDiscovery")&&e.d(s,{UrlPatternDiscovery:function(){return f.UrlPatternDiscovery}}),e.o(f,"WebStorage")&&e.d(s,{WebStorage:function(){return f.WebStorage}}),e.o(f,"createFetchApi")&&e.d(s,{createFetchApi:function(){return f.createFetchApi}}),e.o(f,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return f.createSpecializedApp}}),e.o(f,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return f.defaultConfigLoader}})},82488:function(){},82370:function(_,s,e){"use strict";e.d(s,{b:function(){return pn}});var r=e(2784),t=e(10289),c=e(64279),f=e(56494),A=e(36964),m=e(76105);function a(ae){const j={};for(const de in ae.collectors)ae.collectors.hasOwnProperty(de)&&(j[de]=ae.collectors[de]());const oe=[{node:r.Children.toArray(ae.root),parent:void 0,contexts:{}}];for(;oe.length!==0;){const{node:de,parent:ye,contexts:Oe}=oe.shift();r.Children.forEach(de,$e=>{if(!(0,r.isValidElement)($e))return;const De={};for(const tt in j)if(j.hasOwnProperty(tt)){const pt=j[tt];De[tt]=pt.visit(pt.accumulator,$e,ye,Oe[tt])}for(const tt of ae.discoverers){const pt=tt($e);pt&&oe.push({node:pt,parent:$e,contexts:De})}})}return Object.fromEntries(Object.entries(j).map(([de,ye])=>[de,ye.accumulator]))}function i(ae,j){return()=>({accumulator:ae(),visit:j})}function d(ae){var j;return(j=ae.props)==null?void 0:j.children}function y(ae){var j,oe,de;if(((j=ae.props)==null?void 0:j.path)&&((oe=ae.props)==null?void 0:oe.element))return(de=ae.props)==null?void 0:de.element}const p=i(()=>new Set,(ae,j)=>{const oe=(0,A.getComponentData)(j,"core.plugin");oe&&ae.add(oe)});var v=e(88934);const b={caseSensitive:!1,path:"/*",element:"match-all",routeRefs:new Set},L=i(()=>({paths:new Map,parents:new Map,objects:new Array}),(ae,j,oe,de)=>{var zt,Jt,yn,En,Ct;if((oe==null?void 0:oe.props.element)===j)return de;let ye=de==null?void 0:de.obj,Oe=de==null?void 0:de.routeRef,$e=de==null?void 0:de.sticky;const De=(zt=j.props)==null?void 0:zt.path,tt=(Jt=ye==null?void 0:ye.children)!=null?Jt:ae.objects,pt=Boolean((yn=j.props)==null?void 0:yn.caseSensitive);let Zt=de==null?void 0:de.path;if((0,A.getComponentData)(j,"core.gatherMountPoints")){if(!De)throw new Error("Mount point gatherer must have a path");Zt=De}const Dt=(En=j.props)==null?void 0:En.element;let ft=(0,A.getComponentData)(j,"core.mountPoint");if(!ft&&(0,r.isValidElement)(Dt)&&(ft=(0,A.getComponentData)(Dt,"core.mountPoint")),ft){let nt=De;if(Zt&&(nt?Zt=void 0:nt=Zt),!nt)throw new Error("Mounted routable extension must have a path");ae.paths.set(ft,nt),Oe&&$e?(ae.parents.set(ft,Oe),De&&(Oe=ft,$e=!1)):(ae.parents.set(ft,Oe),Oe=ft),De?(ye={caseSensitive:pt,path:De,element:"mounted",routeRefs:new Set([ft]),children:[b],plugin:(0,A.getComponentData)(j.props.element,"core.plugin")},tt.push(ye)):ye==null||ye.routeRefs.add(ft)}if((0,A.getComponentData)(j,"core.gatherMountPoints")&&($e=!0),(0,A.getComponentData)(j,"core.gatherMountPoints")){if(!De)throw new Error("Mount point gatherer must have a path");ft||(ye={caseSensitive:pt,path:De,element:"gathered",routeRefs:new Set,children:[b],plugin:(Ct=de==null?void 0:de.obj)==null?void 0:Ct.plugin},tt.push(ye))}return{obj:ye,path:Zt,routeRef:Oe,sticky:$e}}),w=i(()=>new Set,(ae,j)=>{if(j.type===v.L){const oe=j.props;ae.add("with"in oe?oe.with:oe.without)}});var z=e(76241);const x=(0,z.uW)("route-ref-type",()=>Symbol("route-ref-type"));function T(ae){return ae[x]==="absolute"}function I(ae){return ae[x]==="sub"}function F(ae){return ae[x]==="external"}function M(...ae){const j=ae.join("/").replace(/\/\/+/g,"/");return j!=="/"&&j.endsWith("/")?j.slice(0,-1):j}function G(ae,j,oe){let de,ye="";if(T(ae))de=ae;else if(I(ae))de=ae.parent,ye=ae.path;else if(F(ae)){const De=oe.get(ae);if(!De)return[void 0,""];if(T(De))de=De;else if(I(De))de=De.parent,ye=De.path;else throw new Error(`ExternalRouteRef was bound to invalid target, ${De}`)}else throw ae[x]?new Error(`Unknown or invalid route ref type, ${ae[x]}`):new Error(`Unknown object passed to useRouteRef, got ${ae}`);if(!de)return[void 0,""];const Oe=j.get(de);if(!Oe)return[void 0,""];const $e=M(Oe,ye);return[de,$e]}function J(ae,j,oe,de,ye){var Zt;const Oe=(Zt=(0,t.fp)(ye,j))!=null?Zt:[],$e=Array();let De=-1;for(let Dt=ae;Dt&&(De=Oe.findIndex(ft=>ft.route.routeRefs.has(Dt)),De===-1);Dt=de.get(Dt))$e.unshift(Dt);$e.length===0&&(De-=1);const tt=De===-1?"":Oe[De].pathname,pt=M(...$e.slice(0,-1).map(Dt=>{const ft=oe.get(Dt);if(!ft)throw new Error(`No path for ${Dt}`);if(ft.includes(":"))throw new Error(`Cannot route to ${ae} with parent ${Dt} as it has parameters`);return ft}));return tt+pt}class me{constructor(j,oe,de,ye,Oe){this.routePaths=j,this.routeParents=oe,this.routeObjects=de,this.routeBindings=ye,this.appBasePath=Oe}resolve(j,oe){const[de,ye]=G(j,this.routePaths,this.routeBindings);if(!de)return;let Oe;typeof oe=="string"?Oe=this.trimPath(oe):oe.pathname?Oe={...oe,pathname:this.trimPath(oe.pathname)}:Oe=oe;const $e=this.appBasePath+J(de,Oe,this.routePaths,this.routeParents,this.routeObjects);return(...[tt])=>$e+(0,t.Gn)(ye,tt)}trimPath(j){return j&&(j.startsWith(this.appBasePath)?j.slice(this.appBasePath.length):j)}}const Be=(0,z.CT)("routing-context"),Le=({routePaths:ae,routeParents:j,routeObjects:oe,routeBindings:de,basePath:ye="",children:Oe})=>{const $e=new me(ae,j,oe,de,ye),De=(0,z.EI)({1:$e});return r.createElement(Be.Provider,{value:De},Oe)},le=(ae,j)=>{var oe,de;try{const ye=(0,t.fp)(j,{pathname:ae}),Oe=(oe=ye==null?void 0:ye.filter(De=>{var tt;return((tt=De==null?void 0:De.route.routeRefs)==null?void 0:tt.size)>0}).pop())==null?void 0:oe.route;if(!Oe)return{};let $e;return Oe.routeRefs.size===1&&($e=Oe.routeRefs.values().next().value),{extension:"App",pluginId:((de=Oe.plugin)==null?void 0:de.getId())||"root",...$e?{routeRef:$e.id}:{}}}catch{return{}}},Ne=({pathname:ae,search:j,hash:oe})=>{const de=(0,A.useAnalytics)();return(0,r.useEffect)(()=>{de.captureEvent("navigate",`${ae}${j}${oe}`)},[de,ae,j,oe]),null},ze=({routeObjects:ae})=>{const{pathname:j,search:oe,hash:de}=(0,t.TH)();return r.createElement(A.AnalyticsContext,{attributes:le(j,ae)},r.createElement(Ne,{pathname:j,search:oe,hash:de}))};function Ye(ae,j){const oe=new Set(j.values());oe.delete(void 0);for(const de of j.keys()){if(oe.has(de))continue;let ye=de,Oe="";for(;ye;){const De=ae.get(ye);if(!De)throw new Error(`No path for ${ye}`);Oe=`${De}${Oe}`,ye=j.get(ye)}const $e=Oe.match(/:(\w+)/g);if($e){for(let De=0;De<$e.length;De++)for(let tt=De+1;tt<$e.length;tt++)if($e[tt]===$e[De])throw new Error(`Parameter ${$e[tt]} is duplicated in path ${Oe}`)}}}function _e(ae,j){for(const oe of j)if(!!oe.externalRoutes){for(const[de,ye]of Object.entries(oe.externalRoutes))if(!ye.optional&&!ae.has(ye))throw new Error(`External route '${de}' of the '${oe.getId()}' plugin must be bound to a target route. See https://backstage.io/link?bind-routes for details.`)}}const it=(0,z.CT)("app-context"),lt=({appContext:ae,children:j})=>{const oe=(0,z.EI)({1:ae});return r.createElement(it.Provider,{value:oe,children:j})};function Te(ae){return new Error(`Tried to access IdentityApi ${ae} before app was loaded`)}function st(ae){console.warn(`WARNING: Call to ${ae} is deprecated and will break in the future`)}class He{constructor(){X(this,"target");X(this,"waitForTarget");X(this,"resolveTarget",()=>{});this.waitForTarget=new Promise(j=>{this.resolveTarget=j})}setTarget(j){this.target=j,this.resolveTarget(j)}getUserId(){if(!this.target)throw Te("getUserId");if(!this.target.getUserId)throw new Error("IdentityApi does not implement getUserId");return st("getUserId"),this.target.getUserId()}getProfile(){if(!this.target)throw Te("getProfile");if(!this.target.getProfile)throw new Error("IdentityApi does not implement getProfile");return st("getProfile"),this.target.getProfile()}async getProfileInfo(){return this.waitForTarget.then(j=>j.getProfileInfo())}async getBackstageIdentity(){const j=await this.waitForTarget.then(oe=>oe.getBackstageIdentity());return j.userEntityRef.match(/^.*:.*\/.*$/)||console.warn(`WARNING: The App IdentityApi provided an invalid userEntityRef, '${j.userEntityRef}'. It must be a full Entity Reference of the form '<kind>:<namespace>/<name>'.`),j}async getCredentials(){return this.waitForTarget.then(j=>j.getCredentials())}async getIdToken(){return this.waitForTarget.then(j=>{if(!j.getIdToken)throw new Error("IdentityApi does not implement getIdToken");return st("getIdToken"),j.getIdToken()})}async signOut(){await this.waitForTarget.then(j=>j.signOut()),location.reload()}}var re=e(72164);function he(ae,j,oe){if(ae!==void 0){const ye=oe.find(Oe=>Oe.id===ae);if(ye)return ye}if(j){const ye=oe.find(Oe=>Oe.variant==="dark");if(ye)return ye}const de=oe.find(ye=>ye.variant==="light");return de||oe[0]}const Me=()=>{const ae=(0,r.useMemo)(()=>window.matchMedia("(prefers-color-scheme: dark)"),[]),[j,oe]=(0,r.useState)(ae.matches);return(0,r.useEffect)(()=>{const de=ye=>{oe(ye.matches)};return ae.addListener(de),()=>{ae.removeListener(de)}},[ae]),j};function be({children:ae}){const j=(0,A.useApi)(A.appThemeApiRef),oe=(0,re.Z)(j.activeThemeId$(),j.getActiveThemeId()),de=Boolean(window.matchMedia)?Me():!1,ye=he(oe,de,j.getInstalledThemes());if(!ye)throw new Error("App has no themes");return r.createElement(ye.Provider,{children:ae})}var Xe=e(46611);class Ve{constructor(){X(this,"apis",[])}add(j,oe){return this.apis.push([j.id,oe]),oe}build(){return new Ze(new Map(this.apis))}}class Ze{static builder(){return new Ve}static from(j){return new Ze(new Map(j.map(([oe,de])=>[oe.id,de])))}static with(j,oe){return new Ze(new Map([[j.id,oe]]))}constructor(j){this.apis=j}with(j,oe){return new Ze(new Map([...this.apis,[j.id,oe]]))}get(j){return this.apis.get(j.id)}}function ut(ae){const j=new Map;return ae&&ae({bind:(de,ye)=>{for(const[Oe,$e]of Object.entries(ye)){const De=de[Oe];if(!De)throw new Error(`Key ${Oe} is not an existing external route`);if(!$e&&!De.optional)throw new Error(`External route ${Oe} is required but was undefined`);$e&&j.set(De,$e)}}}),j}const dt=(0,r.createContext)({routeObjects:[]});function Ut(ae){var oe;let{pathname:j}=new URL((oe=ae.getOptionalString("app.baseUrl"))!=null?oe:"/","http://dummy.dev");return j=j.replace(/\/*$/,""),j}function Sn(ae,j,oe){var tt;const de=Boolean(ae),ye=(0,c.default)(ae||(()=>Promise.resolve([])));let Oe;if(de&&ye.loading){const{Progress:pt}=j;Oe=r.createElement(pt,null)}else if(ye.error){const{BootErrorPage:pt}=j;Oe=r.createElement(pt,{step:"load-config",error:ye.error})}const{ThemeProvider:$e=be}=j;return Oe?{node:r.createElement(f.ApiProvider,{apis:Ze.with(A.appThemeApiRef,oe)},r.createElement($e,null,Oe))}:{api:f.ConfigReader.fromConfigs((tt=ye.value)!=null?tt:[])}}class jt{constructor(j){this.app=j}getPlugins(){return this.app.getPlugins()}getSystemIcon(j){return this.app.getSystemIcon(j)}getComponents(){return this.app.getComponents()}}class vt{constructor(j){X(this,"apiHolder");X(this,"configApi");X(this,"apis");X(this,"icons");X(this,"plugins");X(this,"components");X(this,"themes");X(this,"configLoader");X(this,"defaultApis");X(this,"bindRoutes");X(this,"appIdentityProxy",new He);X(this,"apiFactoryRegistry");var oe,de,ye,Oe;this.apis=(oe=j.apis)!=null?oe:[],this.icons=j.icons,this.plugins=new Set((de=j.plugins)!=null?de:[]),this.components=j.components,this.themes=j.themes,this.configLoader=(ye=j.configLoader)!=null?ye:Xe.t,this.defaultApis=(Oe=j.defaultApis)!=null?Oe:[],this.bindRoutes=j.bindRoutes,this.apiFactoryRegistry=new m.ApiFactoryRegistry}getPlugins(){return Array.from(this.plugins)}getSystemIcon(j){return this.icons[j]}getComponents(){return this.components}getProvider(){const j=new jt(this);let oe=!1;return({children:ye})=>{const Oe=(0,r.useMemo)(()=>f.AppThemeSelector.createWithStorage(this.themes),[]),{routing:$e,featureFlags:De,routeBindings:tt}=(0,r.useMemo)(()=>{const ft=a({root:ye,discoverers:[d,y],collectors:{routing:L,collectedPlugins:p,featureFlags:w}});return ft.collectedPlugins.forEach(Ft=>this.plugins.add(Ft)),this.verifyPlugins(this.plugins),this.getApiHolder(),{...ft,routeBindings:ut(this.bindRoutes)}},[ye]);oe||(oe=!0,Ye($e.paths,$e.parents),_e(tt,this.plugins));const pt=Sn(this.configLoader,this.components,Oe),Zt="api"in pt;if(Zt){const{api:ft}=pt;this.configApi=ft}if((0,r.useEffect)(()=>{if(Zt){const ft=this.getApiHolder().get(A.featureFlagsApiRef);for(const Ft of this.plugins.values())if("getFeatureFlags"in Ft)for(const zt of Ft.getFeatureFlags())ft.registerFlag({name:zt.name,pluginId:Ft.getId()});else for(const zt of Ft.output())zt.type==="feature-flag"&&ft.registerFlag({name:zt.name,pluginId:Ft.getId()});for(const Ft of De)ft.registerFlag({name:Ft,pluginId:""})}},[Zt,pt,De]),"node"in pt)return pt.node;const{ThemeProvider:Dt=be}=this.components;return r.createElement(f.ApiProvider,{apis:this.getApiHolder()},r.createElement(lt,{appContext:j},r.createElement(Dt,null,r.createElement(Le,{routePaths:$e.paths,routeParents:$e.parents,routeObjects:$e.objects,routeBindings:tt,basePath:Ut(pt.api)},r.createElement(dt.Provider,{value:{routeObjects:$e.objects}},ye)))))}}getRouter(){const{Router:j,SignInPage:oe}=this.components,de=({component:Oe,children:$e})=>{const[De,tt]=(0,r.useState)();return De?(this.appIdentityProxy.setTarget(De),$e):r.createElement(Oe,{onSignInSuccess:tt})};return({children:Oe})=>{const $e=(0,A.useApi)(A.configApiRef),De=`${Ut($e)}/*`,{routeObjects:tt}=(0,r.useContext)(dt);return oe?r.createElement(j,null,r.createElement(ze,{routeObjects:tt}),r.createElement(de,{component:oe},r.createElement(t.Z5,null,r.createElement(t.AW,{path:De,element:r.createElement(r.Fragment,null,Oe)})))):(this.appIdentityProxy.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()=>{}}),r.createElement(j,null,r.createElement(ze,{routeObjects:tt}),r.createElement(t.Z5,null,r.createElement(t.AW,{path:De,element:r.createElement(r.Fragment,null,Oe)}))))}}getApiHolder(){if(this.apiHolder){for(const j of this.plugins)for(const oe of j.getApis())this.apiFactoryRegistry.get(oe.api)||this.apiFactoryRegistry.register("default",oe);return m.ApiResolver.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder}this.apiFactoryRegistry.register("static",{api:A.appThemeApiRef,deps:{},factory:()=>f.AppThemeSelector.createWithStorage(this.themes)}),this.apiFactoryRegistry.register("static",{api:A.configApiRef,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:A.identityApiRef,deps:{},factory:()=>this.appIdentityProxy}),this.apiFactoryRegistry.register("default",{api:A.featureFlagsApiRef,deps:{},factory:()=>new f.LocalStorageFeatureFlags});for(const j of this.defaultApis)this.apiFactoryRegistry.register("default",j);for(const j of this.plugins)for(const oe of j.getApis())if(!this.apiFactoryRegistry.register("default",oe))throw new Error(`Plugin ${j.getId()} tried to register duplicate or forbidden API factory for ${oe.api}`);for(const j of this.apis)if(!this.apiFactoryRegistry.register("app",j))throw new Error(`Duplicate or forbidden API factory for ${j.api} in app`);return m.ApiResolver.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder=new m.ApiResolver(this.apiFactoryRegistry),this.apiHolder}verifyPlugins(j){const oe=new Set;for(const de of j){const ye=de.getId();if(oe.has(ye))throw new Error(`Duplicate plugin found '${ye}'`);oe.add(ye)}}}function pn(ae){return new vt(ae)}},46611:function(_,s,e){"use strict";e.d(s,{t:function(){return r}});const r=async(t="__APP_INJECTED_RUNTIME_CONFIG__")=>{const c=[{context:"app-config.yaml",data:{app:{title:"Techdocs Preview App",baseUrl:"http://localhost:3000"},backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}}}];if(!c)throw new Error("No static configuration provided");if(!Array.isArray(c))throw new Error("Static configuration has invalid format");const f=c.slice();if(t!=="__app_injected_runtime_config__".toLocaleUpperCase("en-US"))try{const m=JSON.parse(t);Array.isArray(m)?f.push(...m):f.push({data:m,context:"env"})}catch(m){throw new Error(`Failed to load runtime configuration, ${m}`)}const A=window.__APP_CONFIG__;return A&&f.push({context:"window",data:A}),f}},44056:function(_,s,e){"use strict";e.d(s,{createSpecializedApp:function(){return r.b},defaultConfigLoader:function(){return t.t}});var r=e(82370),t=e(46611),c=e(73495),f=e.n(c);e.o(c,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return c.AtlassianAuth}}),e.o(c,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return c.BitbucketAuth}}),e.o(c,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return c.FlatRoutes}}),e.o(c,"GithubAuth")&&e.d(s,{GithubAuth:function(){return c.GithubAuth}}),e.o(c,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return c.GitlabAuth}}),e.o(c,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return c.GoogleAuth}}),e.o(c,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return c.MicrosoftAuth}}),e.o(c,"OktaAuth")&&e.d(s,{OktaAuth:function(){return c.OktaAuth}}),e.o(c,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return c.OneLoginAuth}})},73495:function(){},49208:function(_,s,e){"use strict";e.d(s,{AlertApiForwarder:function(){return r.AlertApiForwarder},ErrorAlerter:function(){return r.ErrorAlerter},ErrorApiForwarder:function(){return r.ErrorApiForwarder},FetchMiddlewares:function(){return r.FetchMiddlewares},FlatRoutes:function(){return c.w},NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi},OAuthRequestManager:function(){return r.OAuthRequestManager},UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder},UrlPatternDiscovery:function(){return r.UrlPatternDiscovery},WebStorage:function(){return r.WebStorage},createFetchApi:function(){return r.createFetchApi},createSpecializedApp:function(){return t.createSpecializedApp},defaultConfigLoader:function(){return t.defaultConfigLoader}});var r=e(56494);e.o(r,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(s,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"OktaAuth")&&e.d(s,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"createSpecializedApp")&&e.d(s,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(s,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(44056);e.o(t,"AtlassianAuth")&&e.d(s,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"BitbucketAuth")&&e.d(s,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(s,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(s,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(s,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(s,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(s,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OktaAuth")&&e.d(s,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(s,{OneLoginAuth:function(){return t.OneLoginAuth}});var c=e(63938)},57018:function(_,s,e){"use strict";e.d(s,{RefreshingAuthSessionManager:function(){return m}});function r(i,d){for(const y of d)if(!i.has(y))return!1;return!0}class t{constructor(d){this.options=d}sessionExistsAndHasScope(d,y){if(!d)return!1;if(!y||this.options.sessionScopes===void 0)return!0;const p=this.options.sessionScopes(d);return r(p,y)}getExtendedScope(d,y){const p=new Set(this.options.defaultScopes);if(d&&this.options.sessionScopes!==void 0){const v=this.options.sessionScopes(d);for(const b of v)p.add(b)}if(y)for(const v of y)p.add(v);return p}}var c=e(98005),f=e(36964);class A{constructor(){X(this,"subject",new c.X(f.SessionState.SignedOut));X(this,"signedIn",!1)}setIsSignedIn(d){this.signedIn!==d&&(this.signedIn=d,this.subject.next(this.signedIn?f.SessionState.SignedIn:f.SessionState.SignedOut))}sessionState$(){return this.subject}}class m{constructor(d){X(this,"connector");X(this,"helper");X(this,"sessionScopesFunc");X(this,"sessionShouldRefreshFunc");X(this,"stateTracker",new A);X(this,"refreshPromise");X(this,"currentSession");const{connector:y,defaultScopes:p=new Set,sessionScopes:v,sessionShouldRefresh:b}=d;this.connector=y,this.sessionScopesFunc=v,this.sessionShouldRefreshFunc=b,this.helper=new t({sessionScopes:v,defaultScopes:p})}async getSession(d){if(this.helper.sessionExistsAndHasScope(this.currentSession,d.scopes)){if(!this.sessionShouldRefreshFunc(this.currentSession))return this.currentSession;try{const p=await this.collapsedSessionRefresh(),v=this.sessionScopesFunc(this.currentSession),b=this.sessionScopesFunc(p);return r(b,v)&&(this.currentSession=p),p}catch(p){if(d.optional)return;throw p}}if(!this.currentSession&&!d.instantPopup)try{const y=await this.collapsedSessionRefresh();return this.currentSession=y,this.getSession(d)}catch{}if(!d.optional)return this.currentSession=await this.connector.createSession({...d,scopes:this.helper.getExtendedScope(this.currentSession,d.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(){if(this.refreshPromise)return this.refreshPromise;this.refreshPromise=this.connector.refreshSession();try{const d=await this.refreshPromise;return this.stateTracker.setIsSignedIn(!0),d}finally{delete this.refreshPromise}}}class a{constructor(d){X(this,"connector");X(this,"helper");X(this,"stateTracker",new SessionStateTracker);X(this,"currentSession");const{connector:y,defaultScopes:p=new Set,sessionScopes:v}=d;this.connector=y,this.helper=new SessionScopeHelper({sessionScopes:v,defaultScopes:p})}setSession(d){this.currentSession=d,this.stateTracker.setIsSignedIn(Boolean(d))}async getSession(d){if(this.helper.sessionExistsAndHasScope(this.currentSession,d.scopes))return this.currentSession;if(!d.optional)return this.currentSession=await this.connector.createSession({...d,scopes:this.helper.getExtendedScope(this.currentSession,d.scopes)}),this.stateTracker.setIsSignedIn(!0),this.currentSession}async removeSession(){this.currentSession=void 0,this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}}},98005:function(_,s,e){"use strict";e.d(s,{J:function(){return c},X:function(){return f}});var r=e(82394),t=e.n(r);class c{constructor(){X(this,"isClosed",!1);X(this,"terminatingError");X(this,"observable",new(t())(m=>this.isClosed?(this.terminatingError?m.error(this.terminatingError):m.complete(),()=>{}):(this.subscribers.add(m),()=>{this.subscribers.delete(m)})));X(this,"subscribers",new Set)}[Symbol.observable](){return this}get closed(){return this.isClosed}next(m){if(this.isClosed)throw new Error("PublishSubject is closed");this.subscribers.forEach(a=>a.next(m))}error(m){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.terminatingError=m,this.subscribers.forEach(a=>a.error(m))}complete(){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.subscribers.forEach(m=>m.complete())}subscribe(m,a,i){const d=typeof m=="function"?{next:m,error:a,complete:i}:m;return this.observable.subscribe(d)}}class f{constructor(m){X(this,"isClosed");X(this,"currentValue");X(this,"terminatingError");X(this,"observable");X(this,"subscribers",new Set);this.isClosed=!1,this.currentValue=m,this.terminatingError=void 0,this.observable=new(t())(a=>this.isClosed?(this.terminatingError?a.error(this.terminatingError):a.complete(),()=>{}):(a.next(this.currentValue),this.subscribers.add(a),()=>{this.subscribers.delete(a)}))}[Symbol.observable](){return this}get closed(){return this.isClosed}next(m){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.currentValue=m,this.subscribers.forEach(a=>a.next(m))}error(m){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.terminatingError=m,this.subscribers.forEach(a=>a.error(m))}complete(){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.subscribers.forEach(m=>m.complete())}subscribe(m,a,i){const d=typeof m=="function"?{next:m,error:a,complete:i}:m;return this.observable.subscribe(d)}}},88934:function(_,s,e){"use strict";e.d(s,{L:function(){return c}});var r=e(36964),t=e(2784);const c=f=>{const{children:A}=f,m=(0,r.useApi)(r.featureFlagsApiRef),a="with"in f?m.isActive(f.with):!m.isActive(f.without);return t.createElement(t.Fragment,null,a?A:null)};(0,r.attachComponentData)(c,"core.featureFlagged",!0)},63938:function(_,s,e){"use strict";e.d(s,{w:function(){return f}});var r=e(2784),t=e(10289),c=e(36964);const f=m=>{const a=(0,c.useApp)(),{NotFoundErrorPage:i}=a.getComponents(),d=(0,c.useElementFilter)(m.children,y=>y.getElements().flatMap(p=>{var b;let v=p.props.path;return v===""?[]:(v=(b=v==null?void 0:v.replace(/\/\*$/,""))!=null?b:"/",[{path:v,element:p,children:p.props.children?[{path:v==="/"?"/":"/*",element:p.props.children}]:void 0}])}).sort((p,v)=>v.path.localeCompare(p.path)).map(p=>(p.path=p.path==="/"?"/":`${p.path}/*`,p)));return d.push({element:r.createElement(i,null),path:"/*"}),(0,t.V$)(d)};var A=e(88934)},53492:function(_,s,e){"use strict";e.d(s,{Button:function(){return F},CodeSnippet:function(){return Ye},Content:function(){return jo},ContentHeader:function(){return ei},CreateButton:function(){return lt},DependencyGraph:function(){return Jt},DependencyGraphTypes:function(){return r},EmptyState:function(){return mt},ErrorPage:function(){return ai},ErrorPanel:function(){return tn},Header:function(){return qo},HeaderIconLinkRow:function(){return Tn},HeaderLabel:function(){return gi},HeaderTabs:function(){return Vo},InfoCard:function(){return kn},ItemCardGrid:function(){return Si},ItemCardHeader:function(){return vi},Link:function(){return T},LogViewer:function(){return zr},MissingAnnotationEmptyState:function(){return nn},OverflowTooltip:function(){return Pr},Page:function(){return ea},PageWithHeader:function(){return bi},Progress:function(){return dr},ResponseErrorPanel:function(){return Lt},RoutedTabs:function(){return Go},Select:function(){return We},Sidebar:function(){return Ja},SidebarContext:function(){return Mr},SidebarDivider:function(){return us},SidebarItem:function(){return Wo},SidebarPage:function(){return $a},SidebarPinStateContext:function(){return vr},SubvalueCell:function(){return Cs},SupportButton:function(){return Fa},Table:function(){return Vs},WarningPanel:function(){return Qt},sidebarConfig:function(){return Yn}});var r={};e.r(r),e.d(r,{Nm:function(){return Te},ht:function(){return re},LJ:function(){return He}});var t=e(2784),c=e(36964),f=e(19928);function A(n){const[o,l]=useState([]),u=useApi(alertApiRef),{anchorOrigin:g={vertical:"top",horizontal:"center"}}=n;if(useEffect(()=>{const N=u.alert$().subscribe(K=>l(H=>H.concat(K)));return()=>{N.unsubscribe()}},[u]),o.length===0)return null;const[E]=o,O=()=>{l(N=>N.filter(K=>K!==E))};return React.createElement(Snackbar,{open:!0,anchorOrigin:g},React.createElement(Alert,{action:React.createElement(IconButton,{color:"inherit",size:"small",onClick:O,"data-testid":"error-button-close"},React.createElement(CloseIcon,null)),severity:E.severity},React.createElement("span",null,E.message.toString(),o.length>1&&React.createElement("em",null,` (${o.length-1} older ${pluralize("message",o.length-1)})`))))}var m=e(79692),a=e(12420);const i=(0,m.Z)(n=>(0,a.Z)({avatar:{width:"4rem",height:"4rem",color:"#fff",fontWeight:n.typography.fontWeightBold,letterSpacing:"1px",textTransform:"uppercase"}}),{name:"BackstageAvatar"});function d(n){const{displayName:o,picture:l,customStyles:u}=n,g=i();let E={...u};return l||(E={backgroundColor:stringToColor(o||""),...u}),React.createElement(MaterialAvatar,{alt:o,src:l,className:g.avatar,style:E},o&&extractInitials(o))}var y=e(77277),p=e(72779),v=e.n(p),b=e(86689),L=e(62833);const w=(0,m.Z)({visuallyHidden:{clip:"rect(0 0 0 0)",clipPath:"inset(50%)",overflow:"hidden",position:"absolute",whiteSpace:"nowrap",height:1,width:1},externalLink:{position:"relative"}},{name:"Link"}),z=n=>/^([a-z+.-]+):/.test(n),x=n=>{var o;return n instanceof Array?n.map(x).join(" ").trim():typeof n=="object"&&n?x((o=n==null?void 0:n.props)==null?void 0:o.children):["string","number"].includes(typeof n)?String(n):""},T=t.forwardRef(({onClick:n,noTrack:o,...l},u)=>{const g=w(),E=(0,c.useAnalytics)(),O=String(l.to),N=x(l.children)||O,K=z(O),H=K&&!!/^https?:/.exec(O),ee=q=>{n==null||n(q),o||E.captureEvent("click",N,{attributes:{to:O}})};return K?t.createElement(b.Z,{ref:u,href:O,onClick:ee,...H?{target:"_blank",rel:"noopener"}:{},...l,className:v()(g.externalLink,l.className)},l.children,t.createElement("span",{className:g.visuallyHidden},", Opens in a new window")):t.createElement(b.Z,{ref:u,component:L.rU,onClick:ee,...l})}),I=t.forwardRef((n,o)=>t.createElement(T,{ref:o,...n,color:"initial"})),F=t.forwardRef((n,o)=>t.createElement(y.Z,{ref:o,component:I,...n}));var M=e(60364),G=e(61837),J=e(80030),me=e(19353),Be=e(95074);function Le(n){const{text:o,tooltipDelay:l=1e3,tooltipText:u="Text copied to clipboard"}=n,g=(0,c.useApi)(c.errorApiRef),[E,O]=(0,t.useState)(!1),[{error:N},K]=(0,Be.Z)();(0,t.useEffect)(()=>{N&&g.post(N)},[N,g]);const H=ee=>{ee.stopPropagation(),O(!0),K(o)};return t.createElement(t.Fragment,null,t.createElement(J.ZP,{id:"copy-test-tooltip",title:u,placement:"top",leaveDelay:l,onClose:()=>O(!1),open:E},t.createElement(G.Z,{onClick:H},t.createElement(me.Z,null))))}var le=e(83229),Ne=e(26639),ze=e(39595);function Ye(n){const{text:o,language:l,showLineNumbers:u=!1,highlightedNumbers:g,customStyle:E,showCopyCodeButton:O=!1}=n,N=(0,M.Z)(),K=N.palette.type==="dark"?Ne.Z:ze.Z,H=N.palette.type==="dark"?"#256bf3":"#e6ffed";return t.createElement("div",{style:{position:"relative"}},t.createElement(le.Z,{customStyle:E,language:l,style:K,showLineNumbers:u,wrapLines:!0,lineNumberStyle:{color:N.palette.textVerySubtle},lineProps:ee=>g!=null&&g.includes(ee)?{style:{backgroundColor:H}}:{}},o),O&&t.createElement("div",{style:{position:"absolute",top:0,right:0}},t.createElement(Le,{text:o})))}var _e=e(41156),it=e(88188);function lt(n){const{title:o,to:l}=n,u=(0,_e.Z)(g=>g.breakpoints.down("xs"));return l?u?t.createElement(G.Z,{component:L.rU,color:"primary",title:o,size:"small",to:l},t.createElement(it.Z,null)):t.createElement(y.Z,{component:L.rU,variant:"contained",color:"primary",to:l},o):null}var Te;(function(n){const o="TB";n.TOP_BOTTOM=o;const l="BT";n.BOTTOM_TOP=l;const u="LR";n.LEFT_RIGHT=u;const g="RL";n.RIGHT_LEFT=g})(Te||(Te={}));var st;(function(n){const o="UL";n.UP_LEFT=o;const l="UR";n.UP_RIGHT=l;const u="DL";n.DOWN_LEFT=u;const g="DR";n.DOWN_RIGHT=g})(st||(st={}));var He;(function(n){const o="network-simplex";n.NETWORK_SIMPLEX=o;const l="tight-tree";n.TIGHT_TREE=l;const u="longest-path";n.LONGEST_PATH=u})(He||(He={}));var re;(function(n){const o="l";n.LEFT=o;const l="r";n.RIGHT=l;const u="c";n.CENTER=u})(re||(re={}));var he=e(13387),Me=e(11105),be=e(97963),Xe=e(46506),Ve=e.n(Xe),Ze=e(54073),ut=e.n(Ze),dt=e(10368);const Ut=(0,m.Z)(n=>({node:{fill:n.palette.primary.light,stroke:n.palette.primary.light},text:{fill:n.palette.primary.contrastText}}),{name:"BackstageDependencyGraphDefaultNode"});function Sn({node:{id:n}}){const o=Ut(),[l,u]=t.useState(0),[g,E]=t.useState(0),O=t.useRef(null);t.useLayoutEffect(()=>{if(O.current){let{height:ee,width:q}=O.current.getBBox();ee=Math.round(ee),q=Math.round(q),(ee!==g||q!==l)&&(u(q),E(ee))}},[l,g]);const N=10,K=l+N*2,H=g+N*2;return t.createElement("g",null,t.createElement("rect",{className:o.node,width:K,height:H,rx:10}),t.createElement("text",{ref:O,className:o.text,y:H/2,x:K/2,textAnchor:"middle",alignmentBaseline:"middle"},n))}const jt="arrow-marker",vt="node",pn="edge",ae="label",j=(0,dt.Z)(n=>({node:{transition:`${n.transitions.duration.shortest}ms`}}),{name:"BackstageDependencyGraphNode"}),oe=n=>t.createElement(Sn,{...n});function de({render:n=oe,setNode:o,node:l}){const{width:u,height:g,x:E=0,y:O=0}=l,N=l,K=j(),H=t.useRef(null);return t.useLayoutEffect(()=>{if(H.current){let{height:ee,width:q}=H.current.getBBox();ee=Math.round(ee),q=Math.round(q),(ee!==g||q!==u)&&o(l.id,{...l,height:ee,width:q})}},[l,u,g,o]),t.createElement("g",{ref:H,"data-testid":vt,className:K.node,transform:`translate(${E-u/2},${O-g/2})`},n({node:N}))}var ye=e(55876),Oe=e(66481),$e=e(19574),De=e.n($e);const tt=(0,dt.Z)(n=>({text:{fill:n.palette.textContrast}}),{name:"BackstageDependencyGraphDefaultLabel"});function pt({edge:{label:n}}){const o=tt();return t.createElement("text",{className:o.text,textAnchor:"middle"},n)}const Zt=(0,dt.Z)(n=>({path:{strokeWidth:2,stroke:n.palette.textSubtle,fill:"none",transition:`${n.transitions.duration.shortest}ms`},label:{transition:`${n.transitions.duration.shortest}ms`}}),{name:"BackstageDependencyGraphEdge"}),Dt=n=>t.createElement(pt,{...n}),ft=ye.Z().x(n=>n.x).y(n=>n.y).curve(Oe.Z);function Ft({render:n=Dt,setEdge:o,id:l,edge:u}){const{x:g=0,y:E=0,width:O,height:N,points:K}=u,H=u,ee=Zt(),q=t.useRef(null);t.useLayoutEffect(()=>{if(q.current){let{height:Ee,width:Re}=q.current.getBBox();Ee=Math.round(Ee),Re=Math.round(Re),(Ee!==N||Re!==O)&&o(l,{...u,height:Ee,width:Re})}},[u,N,O,o,l]);let pe="";if(K){const Ee=K.filter(Re=>De()(Re.x)&&De()(Re.y));pe=ft(Ee)||""}return t.createElement(t.Fragment,null,pe&&t.createElement("path",{"data-testid":pn,className:ee.path,markerEnd:`url(#${jt})`,d:pe}),H.label?t.createElement("g",{ref:q,"data-testid":ae,className:ee.label,transform:`translate(${g},${E})`},n({edge:H})):null)}const zt="workspace";function Jt(n){var Rr,ia;const{edges:o,nodes:l,renderNode:u,direction:g=Te.TOP_BOTTOM,align:E,nodeMargin:O=50,edgeMargin:N=10,rankMargin:K=50,paddingX:H=0,paddingY:ee=0,acyclicer:q,ranker:pe=He.NETWORK_SIMPLEX,labelPosition:Ee=re.RIGHT,labelOffset:Re=10,edgeRanks:ct=1,edgeWeight:It=1,renderLabel:Ht,defs:Yt,zoom:rt="enabled",...Ot}=n,xt=(0,be.Z)(),[cn,qn]=t.useState(100),[wn,$r]=t.useState(100),Pt=t.useRef(new(Ve()).graphlib.Graph),[_n,mo]=t.useState(((Rr=Pt.current.graph())==null?void 0:Rr.width)||0),[or,ho]=t.useState(((ia=Pt.current.graph())==null?void 0:ia.height)||0),[_r,eo]=t.useState([]),[go,fn]=t.useState([]),xn=Math.max(_n,cn),$n=Math.max(or,wn),ar=t.useMemo(()=>ut()(en=>{if(!en)return;const mn=Me.Z(en),Xt=Me.Z(en.getElementById(zt));function zn(){mn.call(he.sP().scaleExtent([1,10]).on("zoom",Jn=>{Jn.transform.x=Math.min(0,Math.max(Jn.transform.x,xn-xn*Jn.transform.k)),Jn.transform.y=Math.min(0,Math.max(Jn.transform.y,$n-$n*Jn.transform.k)),Xt.attr("transform",Jn.transform)}))}rt==="enabled"?zn():rt==="enable-on-click"&&mn.on("click",()=>zn());const{width:Wn,height:to}=en.getBoundingClientRect();cn!==Wn&&qn(Wn),wn!==to&&$r(to)},100),[wn,cn,xn,$n,rt]),on=t.useCallback(()=>{const en=Pt.current.nodes(),mn=Pt.current.edges();en.forEach(Xt=>{l.some(Wn=>Wn.id===Xt)||Pt.current.removeNode(Xt)}),mn.forEach(Xt=>{o.some(Wn=>Wn.from===Xt.v&&Wn.to===Xt.w)||Pt.current.removeEdge(Xt.v,Xt.w)}),l.forEach(Xt=>{const zn=Pt.current.nodes().find(Wn=>Xt.id===Wn);if(zn&&Pt.current.node(zn)){const{width:Wn,height:to,x:Jn,y:Hi}=Pt.current.node(zn);Pt.current.setNode(zn,{...Xt,width:Wn,height:to,x:Jn,y:Hi})}else Pt.current.setNode(Xt.id,{...Xt,width:0,height:0})}),o.forEach(Xt=>{Pt.current.setEdge(Xt.from,Xt.to,{...Xt,label:Xt.label,width:0,height:0,labelpos:Ee,labeloffset:Re,weight:It,minlen:ct})})},[o,l,Ee,Re,It,ct]),an=t.useMemo(()=>ut()(()=>{Ve().layout(Pt.current);const{height:en,width:mn}=Pt.current.graph(),Xt=Math.max(0,en||0),zn=Math.max(0,mn||0);mo(zn),ho(Xt),eo(Pt.current.nodes()),fn(Pt.current.edges())},250,{leading:!0}),[]);t.useEffect(()=>(Pt.current.setGraph({rankdir:g,align:E,nodesep:O,edgesep:N,ranksep:K,marginx:H,marginy:ee,acyclicer:q,ranker:pe}),on(),an(),an.cancel),[q,E,g,N,H,ee,O,K,pe,on,an]);function Ar(en,mn){return Pt.current.setNode(en,mn),an(),Pt.current}function sr(en,mn){return Pt.current.setEdge(en,mn),an(),Pt.current}return t.createElement("svg",{ref:ar,...Ot,width:"100%",height:$n,viewBox:`0 0 ${xn} ${$n}`},t.createElement("defs",null,t.createElement("marker",{id:jt,viewBox:"0 0 24 24",markerWidth:"14",markerHeight:"14",refX:"16",refY:"12",orient:"auto",markerUnits:"strokeWidth"},t.createElement("path",{fill:xt.palette.textSubtle,d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"})),Yt),t.createElement("g",{id:zt},t.createElement("svg",{width:_n,height:or,y:$n/2-or/2,x:xn/2-_n/2,viewBox:`0 0 ${_n} ${or}`},go.map(en=>{const mn=Pt.current.edge(en);return mn?t.createElement(Ft,{key:`${en.v}-${en.w}`,id:en,setEdge:sr,render:Ht,edge:mn}):null}),_r.map(en=>{const mn=Pt.current.node(en);return mn?t.createElement(de,{key:en,setNode:Ar,render:u,node:mn}):null}))))}const yn=(0,m.Z)(n=>{var o;return{root:{padding:n.spacing(0),marginBottom:n.spacing(0),marginTop:n.spacing(0),display:"flex",flexFlow:"row nowrap"},topPosition:{position:"relative",marginBottom:n.spacing(6),marginTop:-n.spacing(3),zIndex:"unset"},icon:{fontSize:20},content:{width:"100%",maxWidth:"inherit",flexWrap:"nowrap"},message:{display:"flex",alignItems:"center",color:n.palette.banner.text,"& a":{color:n.palette.banner.link}},info:{backgroundColor:n.palette.banner.info},error:{backgroundColor:n.palette.banner.error},warning:{backgroundColor:(o=n.palette.banner.warning)!=null?o:n.palette.banner.error}}},{name:"BackstageDismissableBanner"}),En=n=>{var Ee;const{variant:o,message:l,id:u,fixed:g=!1}=n,E=yn(),N=useApi(storageApiRef).forBucket("notifications"),K=(Ee=N.snapshot("dismissedBanners").value)!=null?Ee:[],[H,ee]=useState(new Set(K)),q=useObservable(N.observe$("dismissedBanners"));useEffect(()=>{var Re;if(q!=null&&q.value){const ct=(Re=q==null?void 0:q.value)!=null?Re:[];ee(new Set(ct))}},[q==null?void 0:q.value]);const pe=()=>{N.set("dismissedBanners",[...H,u])};return React.createElement(Snackbar,{anchorOrigin:g?{vertical:"bottom",horizontal:"center"}:{vertical:"top",horizontal:"center"},open:!H.has(u),classes:{root:classNames(E.root,!g&&E.topPosition)}},React.createElement(SnackbarContent,{classes:{root:classNames(E.content,E[o]),message:E.message},message:l,action:[React.createElement(IconButton,{key:"dismiss",title:"Permanently dismiss this message",color:"inherit",onClick:pe},React.createElement(Close,{className:E.icon}))]}))};var Ct=e(60905),nt=e(90436),Vt=e.p+"static/missingAnnotation.67f79e98..svg",ne=e.p+"static/noInformation.4b426325..svg",V=e.p+"static/createComponent.975d1e1e..svg",ce=e.p+"static/noBuild.1715fa71..svg";const Ue=(0,m.Z)({generalImg:{width:"95%",zIndex:2,position:"relative",left:"50%",top:"50%",transform:"translate(-50%, 15%)"}},{name:"BackstageEmptyStateImage"}),ke=({missing:n})=>{const o=Ue();switch(n){case"field":return t.createElement("img",{src:Vt,className:o.generalImg,alt:"annotation is missing"});case"info":return t.createElement("img",{src:ne,alt:"no Information",className:o.generalImg});case"content":return t.createElement("img",{src:V,alt:"create Component",className:o.generalImg});case"data":return t.createElement("img",{src:ce,alt:"no Build",className:o.generalImg});default:return null}},qe=(0,m.Z)(n=>({root:{backgroundColor:n.palette.background.default,padding:n.spacing(2,0,0,0)},action:{marginTop:n.spacing(2)},imageContainer:{position:"relative"}}),{name:"BackstageEmptyState"});function mt(n){const{title:o,description:l,missing:u,action:g}=n,E=qe();return t.createElement(Ct.Z,{container:!0,direction:"row",justifyContent:"space-around",alignItems:"flex-start",className:E.root,spacing:2},t.createElement(Ct.Z,{item:!0,xs:12,md:6},t.createElement(Ct.Z,{container:!0,direction:"column"},t.createElement(Ct.Z,{item:!0,xs:!0},t.createElement(nt.Z,{variant:"h5"},o)),t.createElement(Ct.Z,{item:!0,xs:!0},t.createElement(nt.Z,{variant:"body1"},l)),t.createElement(Ct.Z,{item:!0,xs:!0,className:E.action},g))),t.createElement(Ct.Z,{item:!0,xs:12,md:6,className:E.imageContainer},t.createElement(ke,{missing:u})))}const Bt=`apiVersion: backstage.io/v1alpha1
|
|
2
|
+
kind: Component
|
|
3
|
+
metadata:
|
|
4
|
+
name: example
|
|
5
|
+
description: example.com
|
|
6
|
+
annotations:
|
|
7
|
+
ANNOTATION: value
|
|
8
|
+
spec:
|
|
9
|
+
type: website
|
|
10
|
+
lifecycle: production
|
|
11
|
+
owner: user:guest`,Gt=(0,m.Z)(n=>({code:{borderRadius:6,margin:`${n.spacing(2)}px 0px`,background:n.palette.type==="dark"?"#444":"#fff"}}),{name:"BackstageMissingAnnotationEmptyState"});function nn(n){const{annotation:o,readMoreUrl:l}=n,u=l||"https://backstage.io/docs/features/software-catalog/well-known-annotations",g=Gt(),E=t.createElement(t.Fragment,null,"The ",t.createElement("code",null,o)," annotation is missing. You need to add the annotation to your component if you want to enable this tool.");return t.createElement(mt,{missing:"field",title:"Missing Annotation",description:E,action:t.createElement(t.Fragment,null,t.createElement(nt.Z,{variant:"body1"},"Add the annotation to your component YAML as shown in the highlighted example below:"),t.createElement("div",{className:g.code},t.createElement(Ye,{text:Bt.replace("ANNOTATION",o),language:"yaml",showLineNumbers:!0,highlightedNumbers:[6,7],customStyle:{background:"inherit",fontSize:"115%"}})),t.createElement(y.Z,{color:"primary",component:T,to:u},"Read more"))})}var rn=e(11776),At=e(38402),Kt=e(49378),D=e(41128),te=e(27616),ge=e(8284),Ae=e(70660),Se=e(91750),Ge=e(38016);const et=(n,o)=>(o.palette.type==="light"?D._j:D.$n)(o.palette[n].light,.6),Nt=(n,o)=>(o.palette.type==="light"?D.$n:D._j)(o.palette[n].light,.9),Mt=(0,m.Z)(n=>({root:{marginRight:n.spacing(1),fill:({severity:o})=>et(o,n)}})),Rt=({severity:n})=>{const o=Mt({severity:n});return t.createElement(Se.Z,{classes:o})},Tt=({severity:n})=>{const o=Mt({severity:n});return t.createElement(Ge.Z,{classes:o})},at=(0,m.Z)(n=>({panel:{backgroundColor:({severity:o})=>Nt(o,n),color:({severity:o})=>et(o,n),verticalAlign:"middle"},summary:{display:"flex",flexDirection:"row"},summaryText:{color:({severity:o})=>et(o,n),fontWeight:"bold"},message:{width:"100%",display:"block",color:({severity:o})=>et(o,n),backgroundColor:({severity:o})=>Nt(o,n)},details:{width:"100%",display:"block",color:n.palette.textContrast,backgroundColor:n.palette.background.default,border:`1px solid ${n.palette.border}`,padding:n.spacing(2),fontFamily:"sans-serif"}}),{name:"BackstageWarningPanel"}),Wt=n=>n.charAt(0).toLocaleUpperCase("en-US")+n.slice(1);function Qt(n){const{severity:o="warning",title:l,message:u,children:g,defaultExpanded:E}=n,O=at({severity:o}),N=Wt(o)+(l?`: ${l}`:"");return t.createElement(te.Z,{defaultExpanded:E!=null?E:!1,className:O.panel,role:"alert"},t.createElement(ge.Z,{expandIcon:t.createElement(Tt,{severity:o}),className:O.summary},t.createElement(Rt,{severity:o}),t.createElement(nt.Z,{className:O.summaryText,variant:"subtitle1"},N)),(u||g)&&t.createElement(Ae.Z,null,t.createElement(Ct.Z,{container:!0},u&&t.createElement(Ct.Z,{item:!0,xs:12},t.createElement(nt.Z,{className:O.message,variant:"body1"},u)),g&&t.createElement(Ct.Z,{item:!0,xs:12,className:O.details},g))))}const wt=(0,m.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageErrorPanel"}),$t=({error:n,message:o,stack:l,children:u})=>{const g=wt();return t.createElement(rn.Z,{dense:!0},t.createElement(At.Z,{alignItems:"flex-start"},t.createElement(Kt.Z,{classes:{secondary:g.text},primary:"Error",secondary:n}),t.createElement(Le,{text:n})),t.createElement(At.Z,{alignItems:"flex-start"},t.createElement(Kt.Z,{classes:{secondary:g.text},primary:"Message",secondary:o}),t.createElement(Le,{text:o})),l&&t.createElement(At.Z,{alignItems:"flex-start"},t.createElement(Kt.Z,{classes:{secondary:g.text},primary:"Stack Trace",secondary:l}),t.createElement(Le,{text:l})),u)};function tn(n){const{title:o,error:l,defaultExpanded:u,children:g}=n;return t.createElement(Qt,{severity:"error",title:o!=null?o:l.message,defaultExpanded:u},t.createElement($t,{error:l.name,message:l.message,stack:l.stack,children:g}))}var Cn=e(85256);const bt=(0,m.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageResponseErrorPanel"});function Lt(n){var Re;const{title:o,error:l,defaultExpanded:u}=n,g=bt();if(l.name!=="ResponseError")return t.createElement(tn,{title:o!=null?o:l.message,defaultExpanded:u,error:l});const{body:E,cause:O}=l,{request:N,response:K}=E,H=`${K.statusCode}: ${O.name}`,ee=N&&`${N.method} ${N.url}`,q=O.message.replace(/\\n/g,`
|
|
12
|
+
`),pe=(Re=O.stack)==null?void 0:Re.replace(/\\n/g,`
|
|
13
|
+
`),Ee=JSON.stringify(E,void 0,2);return t.createElement(tn,{title:o!=null?o:l.message,defaultExpanded:u,error:{name:H,message:q,stack:pe}},ee&&t.createElement(At.Z,{alignItems:"flex-start"},t.createElement(Kt.Z,{classes:{secondary:g.text},primary:"Request",secondary:N?`${ee}`:void 0}),t.createElement(Le,{text:ee})),t.createElement(t.Fragment,null,t.createElement(Cn.Z,{component:"li",className:g.divider}),t.createElement(At.Z,{alignItems:"flex-start"},t.createElement(Kt.Z,{classes:{secondary:g.text},primary:"Full Error as JSON"})),t.createElement(Ye,{language:"json",text:Ee,showCopyCodeButton:!0})))}var un=e(47093);function hn(n){const o=document.createElement("div");return o.setAttribute("id",n),o}function qt(n){document.body.insertBefore(n,document.body.lastElementChild.nextElementSibling)}function sn(n){const o=useRef(null);useEffect(function(){const g=document.querySelector(`#${n}`),E=g||hn(n);return g||qt(E),E.appendChild(o.current),function(){o.current.remove(),E.childNodes.length===-1&&E.remove()}},[n]);function l(){return o.current||(o.current=document.createElement("div")),o.current}return l()}var Hn=null;const U="core.calloutSeen";function h(){const[n,o]=useState(()=>{const u=localStorage.getItem(U);return u?JSON.parse(u):{}}),l=useCallback((u,g)=>{const E=localStorage.getItem(U),N={...E?JSON.parse(E):{},[u]:g};o(N),localStorage.setItem(U,JSON.stringify(N))},[]);return{states:n,setState:l}}function S(n){const{states:o,setState:l}=h(),u=useCallback(()=>{l(n,!0)},[l,n]);return{seen:o[n]===!0,markSeen:u}}function B(n){const{seen:o,markSeen:l}=S(n);return{show:o===!1,hide:l}}const W=(0,m.Z)({"@keyframes pulsateSlightly":{"0%":{transform:"scale(1.0)"},"100%":{transform:"scale(1.1)"}},"@keyframes pulsateAndFade":{"0%":{transform:"scale(1.0)",opacity:.9},"100%":{transform:"scale(1.5)",opacity:0}},featureWrapper:{position:"relative"},backdrop:{zIndex:2e3,position:"fixed",overflow:"hidden",left:0,right:0,top:0,bottom:0},dot:{position:"absolute",backgroundColor:"transparent",borderRadius:"100%",border:"1px solid rgba(103, 146, 180, 0.98)",boxShadow:"0px 0px 0px 20000px rgba(0, 0, 0, 0.5)",zIndex:2001,transformOrigin:"center center",animation:"$pulsateSlightly 1744ms 1.2s cubic-bezier(0.4, 0, 0.2, 1) alternate infinite"},pulseCircle:{width:"100%",height:"100%",backgroundColor:"transparent",borderRadius:"100%",border:"2px solid white",zIndex:2001,transformOrigin:"center center",animation:"$pulsateAndFade 872ms 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite"},text:{position:"absolute",color:"white",zIndex:2003}},{name:"BackstageFeatureCalloutCircular"});function ue(n){const{featureId:o,title:l,description:u,children:g}=n,{show:E,hide:O}=useShowCallout(o),N=usePortal("core.callout"),K=useRef(null),[H,ee]=useState(),q=W(),pe=useCallback(()=>{if(K.current){const Ee=K.current.getBoundingClientRect(),Re=Math.max(Ee.width,Ee.height),ct=800,It=Ee.x-(Re-Ee.width)/2-ct,Ht=Ee.y-(Re-Ee.height)/2-ct,Yt=Re+2*ct,rt=450,Ot=Ee.x+Ee.width/2-rt,xt=Ee.y-(Re-Ee.height)/2+Re+20;ee({dotLeft:It,dotTop:Ht,dotSize:Yt,borderWidth:ct,textTop:xt,textLeft:Ot,textWidth:rt})}},[]);return useEffect(()=>(window.addEventListener("resize",pe),window.addEventListener("scroll",pe),()=>{window.removeEventListener("resize",pe),window.removeEventListener("scroll",pe)}),[pe]),useLayoutEffect(pe,[K.current,pe]),E?React.createElement(React.Fragment,null,React.createElement("div",{className:q.featureWrapper,ref:K},g),createPortal(React.createElement("div",{className:q.backdrop},React.createElement(ClickAwayListener,{onClickAway:O},React.createElement(React.Fragment,null,React.createElement("div",{className:q.dot,"data-testid":"dot",style:{left:H==null?void 0:H.dotLeft,top:H==null?void 0:H.dotTop,width:H==null?void 0:H.dotSize,height:H==null?void 0:H.dotSize,borderWidth:H==null?void 0:H.borderWidth},onClick:O,onKeyDown:O,role:"button",tabIndex:0},React.createElement("div",{className:q.pulseCircle})),React.createElement("div",{className:q.text,"data-testid":"text",style:{left:H==null?void 0:H.textLeft,top:H==null?void 0:H.textTop,width:H==null?void 0:H.textWidth}},React.createElement(Typography,{variant:"h2",paragraph:!0},l),React.createElement(Typography,null,u))))),N)):React.createElement(React.Fragment,null,g)}var fe=e(35292);const xe=(0,m.Z)(n=>({link:{display:"grid",justifyItems:"center",gridGap:4,textAlign:"center"},disabled:{color:"gray",cursor:"default"},primary:{color:n.palette.primary.main},secondary:{color:n.palette.secondary.main},label:{fontSize:"0.7rem",textTransform:"uppercase",fontWeight:600,letterSpacing:1.2}}),{name:"BackstageIconLinkVertical"});function ot({color:n="primary",disabled:o=!1,href:l="#",icon:u=t.createElement(fe.Z,null),label:g,onClick:E,title:O}){const N=xe();return o?t.createElement(b.Z,{title:O,className:v()(N.link,N.disabled),underline:"none"},u,t.createElement("span",{className:N.label},g)):t.createElement(b.Z,{title:O,className:v()(N.link,N[n]),to:l,component:T,onClick:E},u,t.createElement("span",{className:N.label},g))}const ht=(0,m.Z)(n=>({links:{margin:n.spacing(2,0),display:"grid",gridAutoFlow:"column",gridAutoColumns:"min-content",gridGap:n.spacing(3)}}),{name:"BackstageHeaderIconLinkRow"});function Tn(n){const{links:o}=n,l=ht();return t.createElement("nav",{className:l.links},o.map((u,g)=>t.createElement(ot,{key:g+1,...u})))}const vn=n=>{const o=n==="dark"?"16%":"97%";return`
|
|
14
|
+
hsl(0, 0%, ${o}) 0%,
|
|
15
|
+
hsla(0, 0%, ${o}, 0.987) 8.1%,
|
|
16
|
+
hsla(0, 0%, ${o}, 0.951) 15.5%,
|
|
17
|
+
hsla(0, 0%, ${o}, 0.896) 22.5%,
|
|
18
|
+
hsla(0, 0%, ${o}, 0.825) 29%,
|
|
19
|
+
hsla(0, 0%, ${o}, 0.741) 35.3%,
|
|
20
|
+
hsla(0, 0%, ${o}, 0.648) 41.2%,
|
|
21
|
+
hsla(0, 0%, ${o}, 0.55) 47.1%,
|
|
22
|
+
hsla(0, 0%, ${o}, 0.45) 52.9%,
|
|
23
|
+
hsla(0, 0%, ${o}, 0.352) 58.8%,
|
|
24
|
+
hsla(0, 0%, ${o}, 0.259) 64.7%,
|
|
25
|
+
hsla(0, 0%, ${o}, 0.175) 71%,
|
|
26
|
+
hsla(0, 0%, ${o}, 0.104) 77.5%,
|
|
27
|
+
hsla(0, 0%, ${o}, 0.049) 84.5%,
|
|
28
|
+
hsla(0, 0%, ${o}, 0.013) 91.9%,
|
|
29
|
+
hsla(0, 0%, ${o}, 0) 100%
|
|
30
|
+
`},Ur=100,ir=10,Nr=(0,m.Z)(n=>({root:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center"},container:{overflow:"auto",scrollbarWidth:0,"&::-webkit-scrollbar":{display:"none"}},fade:{position:"absolute",width:Ur,height:`calc(100% + ${ir}px)`,transition:"opacity 300ms",pointerEvents:"none"},fadeLeft:{left:-ir,background:`linear-gradient(90deg, ${vn(n.palette.type)})`},fadeRight:{right:-ir,background:`linear-gradient(270deg, ${vn(n.palette.type)})`},fadeHidden:{opacity:0},button:{position:"absolute"},buttonLeft:{left:-n.spacing(2)},buttonRight:{right:-n.spacing(2)}}),{name:"BackstageHorizontalScrollGrid"});function Zr(n){const[[o,l],u]=React.useState([0,0]);return React.useLayoutEffect(()=>{const g=n.current;if(!g){u([0,0]);return}const E=()=>{const O=g.scrollLeft,N=g.scrollWidth-g.offsetWidth-g.scrollLeft;u([O,N])};return E(),g.addEventListener("scroll",E),window.addEventListener("resize",E),()=>{g.removeEventListener("scroll",E),window.removeEventListener("resize",E)}},[n]),[o,l]}function jn(n,o,l){const[u,g]=React.useState(0);return React.useLayoutEffect(()=>{if(u===0)return;const E=performance.now(),O=requestAnimationFrame(N=>{if(!n.current)return;const K=N-E,H=Math.abs(u)*K/o,q=Math.max(l,H)*Math.sign(u);n.current.scrollBy({left:q});const pe=u-q;Math.sign(u)!==Math.sign(pe)?g(0):g(pe)});return()=>cancelAnimationFrame(O)},[n,u,o,l]),g}function Nn(n){const{scrollStep:o=100,scrollSpeed:l=50,minScrollDistance:u=5,children:g,...E}=n,O=Nr(n),N=React.useRef(),[K,H]=Zr(N),ee=jn(N,l,u),q=pe=>{!N.current||ee(pe?o:-o)};return React.createElement("div",{...E,className:O.root},React.createElement(Grid,{container:!0,direction:"row",wrap:"nowrap",className:O.container,ref:N},g),React.createElement("div",{className:classNames(O.fade,O.fadeLeft,{[O.fadeHidden]:K===0})}),React.createElement("div",{className:classNames(O.fade,O.fadeRight,{[O.fadeHidden]:H===0})}),K>0&&React.createElement(IconButton,{title:"Scroll Left",onClick:()=>q(!1),className:classNames(O.button,O.buttonLeft,{})},React.createElement(ChevronLeftIcon,null)),H>0&&React.createElement(IconButton,{title:"Scroll Right",onClick:()=>q(!0),className:classNames(O.button,O.buttonRight,{})},React.createElement(ChevronRightIcon,null)))}const Qn=(0,m.Z)({alpha:{color:"#ffffff",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"},beta:{color:"#4d65cc",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"}},{name:"BackstageLifecycle"});function lr(n){const o=Qn(n),{shorthand:l,alpha:u}=n;return l?React.createElement("span",{className:o[u?"alpha":"beta"],style:{fontSize:"120%"}},u?React.createElement(React.Fragment,null,"\u03B1"):React.createElement(React.Fragment,null,"\u03B2")):React.createElement("span",{className:o[u?"alpha":"beta"]},u?"Alpha":"Beta")}const Sr=(0,t.lazy)(()=>Promise.all([e.e(3860),e.e(8718)]).then(e.bind(e,98718)).then(n=>({default:n.RealLogViewer})));function zr(n){const{Progress:o}=(0,c.useApp)().getComponents();return t.createElement(t.Suspense,{fallback:t.createElement(o,null)},t.createElement(Sr,{...n}))}const Xn=(0,m.Z)(n=>({markdown:{"& table":{borderCollapse:"collapse",border:`1px solid ${n.palette.border}`},"& th, & td":{border:`1px solid ${n.palette.border}`,padding:n.spacing(1)},"& td":{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:n.spacing(3,2,3,2.5),borderBottom:0},"& th":{backgroundColor:n.palette.background.paper},"& tr":{backgroundColor:n.palette.background.paper},"& tr:nth-child(odd)":{backgroundColor:n.palette.background.default},"& a":{color:n.palette.link},"& img":{maxWidth:"100%"}}}),{name:"BackstageMarkdownContent"}),Cr={code:({inline:n,className:o,children:l,...u})=>{const g=String(l).replace(/\n+$/,""),E=/language-(\w+)/.exec(o||"");return!n&&E?t.createElement(Ye,{language:E[1],text:g}):t.createElement("code",{className:o,...u},l)}};function Wr(n){const{content:o,dialect:l="gfm",linkTarget:u}=n,g=Xn();return React.createElement(ReactMarkdown,{remarkPlugins:l==="gfm"?[gfm]:[],className:g.markdown,children:o,components:Cr,linkTarget:u})}var er=e(10179);const bn=(0,m.Z)(n=>({root:{paddingLeft:n.spacing(3)}}),{name:"BackstageLoginRequestListItem"}),tr=({request:n,busy:o,setBusy:l})=>{const u=bn(),[g,E]=useState(),O=async()=>{l(!0);try{await n.trigger()}catch(K){E(isError(K)?K.message:"An unspecified error occurred")}finally{l(!1)}},N=n.provider.icon;return React.createElement(ListItem,{disabled:o,classes:{root:u.root}},React.createElement(ListItemAvatar,null,React.createElement(N,{fontSize:"large"})),React.createElement(ListItemText,{primary:n.provider.title,secondary:g&&React.createElement(Typography,{color:"error"},g)}),React.createElement(Button,{color:"primary",variant:"contained",onClick:O},"Log in"))};var nr=null;const Tr=(0,m.Z)(n=>({dialog:{paddingTop:n.spacing(1)},title:{minWidth:0},titleHeading:{fontSize:n.typography.h6.fontSize},contentList:{padding:0},actionButtons:{padding:n.spacing(2,0)}}),{name:"OAuthRequestDialog"});function cr(n){const o=Tr(),[l,u]=useState(!1),g=useApi(oauthRequestApiRef),E=useObservable(useMemo(()=>g.authRequest$(),[g]),[]),O=()=>{E.forEach(N=>N.reject())};return React.createElement(Dialog,{open:Boolean(E.length),fullWidth:!0,maxWidth:"xs",classes:{paper:o.dialog},"aria-labelledby":"oauth-req-dialog-title"},React.createElement("main",null,React.createElement(DialogTitle,{classes:{root:o.title},id:"oauth-req-dialog-title"},React.createElement(Typography,{className:o.titleHeading,variant:"h1"},"Login Required")),React.createElement(DialogContent,{dividers:!0,classes:{root:o.contentList}},React.createElement(List,null,E.map(N=>React.createElement(LoginRequestListItem,{key:N.provider.title,request:N,busy:l,setBusy:u}))))),React.createElement(DialogActions,{classes:{root:o.actionButtons}},React.createElement(Button,{onClick:O},"Reject All")))}var ur=e(15277),br=e.n(ur),Hr=e(29862);const rr=(0,m.Z)({container:{overflow:"visible !important"}},{name:"BackstageOverflowTooltip"});function Pr(n){var O;const[o,l]=(0,t.useState)(!1),u=(0,Hr.t)(),g=rr(),E=N=>{u()&&l(N)};return t.createElement(J.ZP,{title:(O=n.title)!=null?O:n.text||"",placement:n.placement,disableHoverListener:!o},t.createElement(br(),{text:n.text,line:n.line,onToggled:E,containerClassName:g.container}))}var jr=e(67358);function dr(n){const[o,l]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{const u=setTimeout(()=>l(!0),250);return()=>clearTimeout(u)},[]),o?t.createElement(jr.Z,{...n,"data-testid":"progress"}):t.createElement("div",{style:{display:"none"}})}var Lr=e(94339),fr=e(14503),Ir=e(24579),mr=e(32552),ln=e(15459),Fn=e(95544),Or=e(27597);const Bn=(0,m.Z)(n=>({root:{maxWidth:"fit-content",padding:n.spacing(2,2,2,2.5)},boxTitle:{margin:0,color:n.palette.textSubtle},arrow:{color:n.palette.textSubtle}}),{name:"BackstageBottomLink"});function hr(n){const{link:o,title:l,onClick:u}=n,g=Bn();return t.createElement("div",null,t.createElement(Cn.Z,null),t.createElement(T,{to:o,onClick:u,underline:"none"},t.createElement(Fn.Z,{display:"flex",alignItems:"center",className:g.root},t.createElement(Fn.Z,{className:g.boxTitle,fontWeight:"fontWeightBold",m:1},t.createElement(nt.Z,null,t.createElement("strong",null,l))),t.createElement(Or.Z,{className:g.arrow}))))}const Gn=n=>{const{slackChannel:o}=n;if(o){if(typeof o=="string")return t.createElement(t.Fragment,null,"Please contact ",o," for help.");if(!o.href)return t.createElement(t.Fragment,null,"Please contact ",o.name," for help.")}else return null;return t.createElement(F,{to:o.href,variant:"contained"},o.name)},Kn=class extends t.Component{constructor(o){super(o),this.state={error:void 0,errorInfo:void 0}}componentDidCatch(o,l){console.error(`ErrorBoundary, error: ${o}, info: ${l}`),this.setState({error:o,errorInfo:l})}render(){const{slackChannel:o,children:l}=this.props,{error:u}=this.state;return u?t.createElement(tn,{title:"Something Went Wrong",error:u},t.createElement(Gn,{slackChannel:o})):l}},gr=(0,m.Z)(n=>({noPadding:{padding:0,"&:last-child":{paddingBottom:0}},header:{padding:n.spacing(2,2,2,2.5)},headerTitle:{fontWeight:700},headerSubheader:{paddingTop:n.spacing(1)},headerAvatar:{},headerAction:{},headerContent:{},subheader:{display:"flex"}}),{name:"BackstageInfoCard"}),xr=(0,ln.Z)(n=>({root:{display:"inline-block",padding:n.spacing(8,8,0,0),float:"right"}}),{name:"BackstageInfoCardCardActionsTopRight"})(fr.Z),pr={card:{flex:{display:"flex",flexDirection:"column"},fullHeight:{display:"flex",flexDirection:"column",height:"100%"},gridItem:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px"}},cardContent:{fullHeight:{flex:1},gridItem:{flex:1}}};function kn(n){const{title:o,subheader:l,divider:u=!0,deepLink:g,slackChannel:E,errorBoundaryProps:O,variant:N,children:K,headerStyle:H,headerProps:ee,icon:q,action:pe,actionsClassName:Ee,actions:Re,cardClassName:ct,actionsTopRight:It,className:Ht,noPadding:Yt,titleTypographyProps:rt}=n,Ot=gr();let xt={},cn={};N&&N.split(/[\s]+/g).forEach(Pt=>{xt={...xt,...pr.card[Pt]},cn={...cn,...pr.cardContent[Pt]}});const qn=()=>t.createElement("div",{className:Ot.headerSubheader},l&&t.createElement("div",{className:Ot.subheader},l),q),wn=O||(E?{slackChannel:E}:{});return t.createElement(Lr.Z,{style:xt,className:Ht},t.createElement(Kn,{...wn},o&&t.createElement(mr.Z,{classes:{root:Ot.header,title:Ot.headerTitle,subheader:Ot.headerSubheader,avatar:Ot.headerAvatar,action:Ot.headerAction,content:Ot.headerContent},title:o,subheader:qn(),action:pe,style:{...H},titleTypographyProps:rt,...ee}),It&&t.createElement(xr,null,It),u&&t.createElement(Cn.Z,null),t.createElement(Ir.Z,{className:v()(ct,{[Ot.noPadding]:Yt}),style:cn},K),Re&&t.createElement(fr.Z,{className:Ee},Re),g&&t.createElement(hr,{...g})))}var Vr=e(39307);const Gr=(0,m.Z)(n=>({root:{position:"relative",lineHeight:0},overlay:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -60%)",fontSize:45,fontWeight:"bold",color:n.palette.textContrast},description:{fontSize:"100%",top:"50%",left:"50%",transform:"translate(-50%, -50%)",position:"absolute",wordBreak:"break-all",display:"inline-block"},circle:{width:"80%",transform:"translate(10%, 0)"},colorUnknown:{}}),{name:"BackstageGauge"}),yr={fractional:!0,inverse:!1,unit:"%",max:100},P=({palette:n,value:o,inverse:l,max:u})=>{if(isNaN(o))return"#ddd";const g=u||yr.max,E=l?g-o:o;return E<g/3?n.status.error:E<g*(2/3)?n.status.warning:n.status.ok};function Q(n){const[o,l]=useState(null),{getColor:u=P}=n,g=Gr(n),{palette:E}=useTheme(),{value:O,fractional:N,inverse:K,unit:H,max:ee,description:q}={...yr,...n},pe=N?Math.round(O*ee):O,Ee=ee!==100?Math.round(O):pe,[Re,ct]=useState(!1);return useEffect(()=>{const It=o,Ht=()=>ct(!0),Yt=()=>ct(!1);return It&&q?(It.addEventListener("mouseenter",Ht),It.addEventListener("mouseleave",Yt),()=>{It.removeEventListener("mouseenter",Ht),It.removeEventListener("mouseleave",Yt)}):()=>{ct(!1)}},[q,o]),React.createElement("div",{ref:l,className:g.root},React.createElement(Circle,{strokeLinecap:"butt",percent:pe,strokeWidth:12,trailWidth:12,strokeColor:u({palette:E,value:Ee,inverse:K,max:ee}),className:g.circle}),q&&Re?React.createElement("div",{className:g.description},q):React.createElement("div",{className:g.overlay},isNaN(O)?"N/A":`${Ee}${H}`))}const ie=(0,m.Z)({root:{height:"100%",width:250}},{name:"BackstageGaugeCard"});function Pe(n){const o=ie(n),{title:l,subheader:u,progress:g,inverse:E,deepLink:O,description:N,icon:K,variant:H,getColor:ee}=n,q={inverse:E,description:N,getColor:ee,value:g};return React.createElement("div",{className:o.root},React.createElement(InfoCard,{title:l,subheader:u,deepLink:O,variant:H,icon:K},React.createElement(Gauge,{...q})))}function Ke(n){const{value:o,getColor:l=getProgressColor}=n,{palette:u}=useTheme();if(isNaN(o))return null;let g=Math.round(o*100*100)/100;g>100&&(g=100);const E=l({palette:u,value:g,inverse:!1,max:100});return React.createElement(Tooltip,{title:`${g}%`},React.createElement("span",null,React.createElement(Line,{percent:g,strokeWidth:4,trailWidth:4,strokeColor:E})))}var gt=e(21324),yt=e(7089),R=e(1292),C=e(42494),$=e(74603),Z=e(56939),Y=e(12231),k=e(73698),se=e(72379);const ve=(0,m.Z)(()=>(0,a.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageClosedDropdown"});var Ce=()=>{const n=ve();return t.createElement(se.Z,{className:n.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M7.5 8L6 9.5L12.0703 15.5703L18.1406 9.5L16.6406 8L12.0703 12.5703L7.5 8Z",fill:"#616161"}))};const Ie=(0,m.Z)(()=>(0,a.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageOpenedDropdown"});var je=()=>{const n=Ie();return t.createElement(se.Z,{className:n.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M16.5 16L18 14.5L11.9297 8.42969L5.85938 14.5L7.35938 16L11.9297 11.4297L16.5 16Z",fill:"#616161"}))};const Et=(0,ln.Z)(n=>(0,a.Z)({root:{"label + &":{marginTop:n.spacing(3)}},input:{borderRadius:4,position:"relative",backgroundColor:n.palette.background.paper,border:"1px solid #ced4da",fontSize:16,padding:"10px 26px 10px 12px",transition:n.transitions.create(["border-color","box-shadow"]),fontFamily:"Helvetica Neue","&:focus":{background:n.palette.background.paper,borderRadius:4}}}),{name:"BackstageSelectInputBase"})($.Z),Je=(0,m.Z)(n=>(0,a.Z)({formControl:{margin:`${n.spacing(1)} 0px`,maxWidth:300},label:{transform:"initial",fontWeight:"bold",fontSize:14,fontFamily:n.typography.fontFamily,color:n.palette.text.primary,"&.Mui-focused":{color:n.palette.text.primary}},formLabel:{transform:"initial",fontWeight:"bold",fontSize:14,fontFamily:n.typography.fontFamily,color:n.palette.text.primary,"&.Mui-focused":{color:n.palette.text.primary}},chips:{display:"flex",flexWrap:"wrap"},chip:{margin:2},checkbox:{},root:{display:"flex",flexDirection:"column"}}),{name:"BackstageSelect"});function We(n){const{multiple:o,items:l,label:u,placeholder:g,selected:E,onChange:O,triggerReset:N,native:K=!1,disabled:H=!1}=n,ee=Je(),[q,pe]=(0,t.useState)(E||(o?[]:"")),[Ee,Re]=(0,t.useState)(!1);(0,t.useEffect)(()=>{pe(o?[]:"")},[N,o]),(0,t.useEffect)(()=>{E!==void 0&&pe(E)},[E]);const ct=rt=>{pe(rt.target.value),O(rt.target.value)},It=rt=>{if(H){rt.preventDefault();return}Re(Ot=>o&&!(rt.target instanceof HTMLElement)?!0:!Ot)},Ht=()=>{Re(!1)},Yt=rt=>()=>{const Ot=q.filter(xt=>xt!==rt);pe(Ot),O(Ot)};return t.createElement("div",{className:ee.root},t.createElement(R.Z,{onClickAway:Ht},t.createElement(C.Z,{className:ee.formControl},t.createElement(Z.Z,{className:ee.formLabel},u),t.createElement(k.Z,{"aria-label":u,value:q,native:K,disabled:H,"data-testid":"select",displayEmpty:!0,multiple:o,onChange:ct,onClick:It,open:Ee,input:t.createElement(Et,null),label:u,tabIndex:0,renderValue:rt=>{var Ot;return o&&q.length!==0?t.createElement("div",{className:ee.chips},rt.map(xt=>{var cn,qn;return t.createElement(yt.Z,{key:(cn=l.find(wn=>wn.value===xt))==null?void 0:cn.value,label:(qn=l.find(wn=>wn.value===xt))==null?void 0:qn.label,clickable:!0,onDelete:Yt(xt),className:ee.chip})})):t.createElement(nt.Z,null,q.length===0?g||"":(Ot=l.find(xt=>xt.value===rt))==null?void 0:Ot.label)},IconComponent:()=>Ee?t.createElement(je,null):t.createElement(Ce,null),MenuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},getContentAnchorEl:null}},g&&!o&&t.createElement(Y.Z,{value:[]},g),K?l&&l.map(rt=>t.createElement("option",{value:rt.value,key:rt.value},rt.label)):l&&l.map(rt=>t.createElement(Y.Z,{key:rt.value,value:rt.value},o&&t.createElement(gt.Z,{color:"primary",checked:q.includes(rt.value)||!1,className:ee.checkbox}),rt.label))))))}const St=()=>{},kt=t.createContext({stepperLength:0,stepIndex:0,setStepIndex:St,stepHistory:[],setStepHistory:St,onStepChange:St});function gn(n){const{children:o,elevated:l,onStepChange:u,activeStep:g=0}=n,[E,O]=useState(g),[N,K]=useState([0]);useEffect(()=>{O(g)},[g]);const H=[];let ee;return Children.forEach(o,q=>{isValidElement(q)&&(q.props.end?ee=q:H.push(q))}),React.createElement(React.Fragment,null,React.createElement(kt.Provider,{value:{stepIndex:E,setStepIndex:O,stepHistory:N,setStepHistory:K,onStepChange:u,stepperLength:Children.count(o)}},React.createElement(MuiStepper,{activeStep:E,orientation:"vertical",elevation:l?2:0},H)),E>=Children.count(o)-1&&ee)}const Pn=(0,m.Z)(n=>({root:{marginTop:n.spacing(3),"& button":{marginRight:n.spacing(1)}}}),{name:"BackstageSimpleStepperFooter"}),dn=({text:n,handleClick:o})=>React.createElement(Button,{onClick:o},n||"Reset"),An=({text:n,handleClick:o,disabled:l,last:u,stepIndex:g})=>React.createElement(Button,{variant:"contained",color:"primary",disabled:l,"data-testid":`nextButton-${g}`,onClick:o},n||(u?"Finish":"Next")),Ln=({text:n,handleClick:o,disabled:l,stepIndex:u})=>React.createElement(Button,{onClick:o,"data-testid":`backButton-${u}`,disabled:l},n||"Back"),Dr=({actions:n={},children:o})=>{const l=Pn(),{stepperLength:u,stepIndex:g,setStepIndex:E,stepHistory:O,setStepHistory:N,onStepChange:K}=useContext(VerticalStepperContext),H=(Ee,Re)=>{Re&&Re(),K&&K(g,Ee),E(Ee)},ee=()=>{const Ee=n.nextStep?n.nextStep(g,u-1):g+1;H(Ee,n.onNext),N([...O,Ee])},q=()=>{O.pop(),H(O[O.length-1],n.onBack),N([...O])},pe=()=>{H(0,n.onRestart),N([0])};return React.createElement("div",{className:l.root},[void 0,!0].includes(n.showBack)&&g!==0&&React.createElement(Ln,{text:n.backText,handleClick:q,disabled:g===0,stepIndex:g}),[void 0,!0].includes(n.showNext)&&React.createElement(An,{text:n.nextText,handleClick:ee,disabled:!!u&&g>=u||!!n.canNext&&!n.canNext(),stepIndex:g}),n.showRestart&&g!==0&&React.createElement(dn,{text:n.restartText,handleClick:pe,stepIndex:g}),o)},Er=(0,m.Z)(n=>({end:{padding:n.spacing(3)}}),{name:"SimpleStepperStep"});function no(n){const{title:o,children:l,end:u,actions:g,...E}=n,O=Er();return u?React.createElement("div",{className:O.end},React.createElement(Typography,{variant:"h6"},o),l,React.createElement(SimpleStepperFooter,{actions:{...g||{},showNext:!1}})):React.createElement(MuiStep,{...E},React.createElement(StepLabel,null,React.createElement(Typography,{variant:"h6"},o)),React.createElement(StepContent,null,l,React.createElement(SimpleStepperFooter,{actions:g})))}const _t=(0,m.Z)(n=>({status:{fontWeight:500,"&::before":{width:"0.7em",height:"0.7em",display:"inline-block",marginRight:8,borderRadius:"50%",content:'""'}},ok:{"&::before":{backgroundColor:n.palette.status.ok}},warning:{"&::before":{backgroundColor:n.palette.status.warning}},error:{"&::before":{backgroundColor:n.palette.status.error}},pending:{"&::before":{backgroundColor:n.palette.status.pending}},running:{"&::before":{backgroundColor:n.palette.status.running}},aborted:{"&::before":{backgroundColor:n.palette.status.aborted}}}),{name:"BackstageStatus"});function In(n){const o=_t(n);return React.createElement("span",{className:classNames(o.status,o.ok),"aria-label":"Status ok","aria-hidden":"true",...n})}function Fr(n){const o=_t(n);return React.createElement("span",{className:classNames(o.status,o.warning),"aria-label":"Status warning","aria-hidden":"true",...n})}function ro(n){const o=_t(n);return React.createElement("span",{className:classNames(o.status,o.error),"aria-label":"Status error","aria-hidden":"true",...n})}function Gi(n){const o=_t(n);return React.createElement("span",{className:classNames(o.status,o.pending),"aria-label":"Status pending","aria-hidden":"true",...n})}function Ki(n){const o=_t(n);return React.createElement("span",{className:classNames(o.status,o.running),"aria-label":"Status running","aria-hidden":"true",...n})}function ki(n){const o=_t(n);return React.createElement("span",{className:classNames(o.status,o.aborted),"aria-label":"Status aborted","aria-hidden":"true",...n})}var Yi=e(74600),po=e(15584);const ca=n=>(0,a.Z)({root:{fontWeight:"bolder",whiteSpace:"nowrap",paddingRight:n.spacing(4),border:"0",verticalAlign:"top"}}),ua={root:{border:"0",verticalAlign:"top"}},da=n=>(0,a.Z)({root:{listStyle:"none",margin:n.spacing(0,0,-1,0),padding:"0"}}),fa=n=>(0,a.Z)({root:{padding:n.spacing(0,0,1,0)},random:{}}),ma=(0,ln.Z)(ca,{name:"BackstageMetadataTableTitleCell"})(po.Z),ha=(0,ln.Z)(ua,{name:"BackstageMetadataTableCell"})(po.Z),Ji=({dense:n,children:o})=>React.createElement(Table,{size:n?"small":"medium"},React.createElement(TableBody,null,o)),Qi=({title:n,children:o,...l})=>React.createElement(TableRow,null,n&&React.createElement(ma,null,n),React.createElement(ha,{colSpan:n?1:2,...l},o)),yo=(0,ln.Z)(da,{name:"BackstageMetadataTableList"})(({classes:n,children:o})=>t.createElement("ul",{className:n.root},o)),Xi=(0,ln.Z)(fa,{name:"BackstageMetadataTableListItem"})(({classes:n,children:o})=>t.createElement("li",{className:n.root},o)),Eo=(0,a.Z)({root:{margin:"0 0",listStyleType:"none"}}),ga=n=>(0,a.Z)({root:{...Eo.root,paddingLeft:n.spacing(1)}}),vo=(0,ln.Z)(Eo,{name:"BackstageStructuredMetadataTableList"})(({classes:n,children:o})=>t.createElement(yo,{classes:n},o)),Ao=(0,ln.Z)(ga,{name:"BackstageStructuredMetadataTableNestedList"})(({classes:n,children:o})=>t.createElement(yo,{classes:n},o));function pa(n,o){const l=n.map((u,g)=>React.createElement(MetadataListItem,{key:g},oo(u)));return o?React.createElement(Ao,null,l):React.createElement(vo,null,l)}function ya(n,o,l){const u=Object.keys(n).map(g=>{const E=oo(n[g],!0),O=l&&l.titleFormat?l.titleFormat(g):startCase(g);return React.createElement(MetadataListItem,{key:g},`${O}: `,E)});return o?React.createElement(Ao,null,u):React.createElement(vo,null,u)}function oo(n,o,l){return React.isValidElement(n)?React.createElement(Fragment,null,n):typeof n=="object"&&!Array.isArray(n)?ya(n,o,l):Array.isArray(n)?pa(n,l):typeof n=="boolean"?React.createElement(Fragment,null,n?"\u2705":"\u274C"):React.createElement(Fragment,null,n)}const Ea=({value:n,options:o})=>React.createElement(Fragment,null,oo(n,o)),va=({title:n,value:o,options:l})=>React.createElement(MetadataTableItem,{title:l&&l.titleFormat?l.titleFormat(n):startCase(n)},React.createElement(Ea,{value:o,options:l}));function Aa(n,o){return Object.keys(n).map(l=>React.createElement(va,{key:l,title:l,value:n[l],options:o}))}function qi(n){const{metadata:o,dense:l=!0,options:u}=n,g=Aa(o,u||{});return React.createElement(MetadataTable,{dense:l},g)}var Ra=e(49429),Sa=e(86136),Ro=e(79784),Br=e(76635),Ca=e(19126),So=e.n(Ca);function Ta(n){return qs.stringify(n,{strictNullHandling:!0})}function Co(n){return qs.parse(n,{ignoreQueryPrefix:!0,strictNullHandling:!0})}function To(n,o){return Co(n)[o]}function ba(n,o,l){const u={...Co(n),[o]:l};return Ta(u)}function _i(n,o=250){const[l,u]=useSearchParams(),g=l.toString(),[E,O]=useState(To(g,n));return useEffect(()=>{const N=To(g,n);O(K=>isEqual(N,K)?K:N)},[g,O,n]),useDebouncedEffect(()=>{const N=ba(g,n,E);g!==N&&u(N,{replace:!0})},[u,E,g,n],o),[E,O]}const Pa={url:"https://github.com/backstage/backstage/issues",items:[{title:"Support Not Configured",icon:"warning",links:[{title:"Add `app.support` config key",url:"https://github.com/backstage/backstage/blob/master/app-config.yaml"}]}]};function bo(){const o=(0,c.useApiHolder)().get(c.configApiRef),l=o==null?void 0:o.getOptionalConfig("app.support");return l?{url:l.getString("url"),items:l.getConfigArray("items").flatMap(u=>{var g;return{title:u.getString("title"),icon:u.getOptionalString("icon"),links:((g=u.getOptionalConfigArray("links"))!=null?g:[]).flatMap(E=>({url:E.getString("url"),title:E.getString("title")}))}})}:Pa}var La=e(80079);function Zn(n,o){const u=(0,c.useApp)().getSystemIcon(n);return u?t.createElement(u,{...o}):t.createElement(La.Z,{...o})}function el(n){return Zn("brokenImage",n)}function tl(n){return Zn("catalog",n)}function nl(n){return Zn("chat",n)}function rl(n){return Zn("dashboard",n)}function ol(n){return Zn("docs",n)}function al(n){return Zn("email",n)}function sl(n){return Zn("github",n)}function il(n){return Zn("group",n)}function Kr(n){return Zn("help",n)}function ll(n){return Zn("user",n)}function cl(n){return Zn("warning",n)}const Ia=(0,m.Z)({popoverList:{minWidth:260,maxWidth:400}},{name:"BackstageSupportButton"}),Oa=({icon:n})=>{var u;const o=(0,c.useApp)(),l=n&&(u=o.getSystemIcon(n))!=null?u:Kr;return t.createElement(l,null)},xa=({link:n})=>{var o;return t.createElement(T,{to:n.url},(o=n.title)!=null?o:n.url)},Da=({item:n})=>{var o;return t.createElement(At.Z,null,t.createElement(Sa.Z,null,t.createElement(Oa,{icon:n.icon})),t.createElement(Kt.Z,{primary:n.title,secondary:(o=n.links)==null?void 0:o.reduce((l,u,g)=>[...l,g>0&&t.createElement("br",{key:g}),t.createElement(xa,{link:u,key:u.url})],[])}))};function Fa(n){const{title:o,children:l}=n,{items:u}=bo(),[g,E]=(0,t.useState)(!1),[O,N]=(0,t.useState)(null),K=Ia(),H=(0,_e.Z)(pe=>pe.breakpoints.down("sm")),ee=pe=>{N(pe.currentTarget),E(!0)},q=()=>{E(!1)};return t.createElement(t.Fragment,null,t.createElement(Fn.Z,{display:"flex",ml:1},H?t.createElement(G.Z,{color:"primary",size:"small",onClick:ee,"data-testid":"support-button"},t.createElement(Kr,null)):t.createElement(y.Z,{"data-testid":"support-button","aria-label":"support",color:"primary",onClick:ee,startIcon:t.createElement(Kr,null)},"Support")),t.createElement(Ro.ZP,{"data-testid":"support-button-popover",open:g,anchorEl:O,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:q},t.createElement(rn.Z,{className:K.popoverList},o&&t.createElement(At.Z,{alignItems:"flex-start"},t.createElement(nt.Z,{variant:"subtitle1"},o)),t.Children.map(l,(pe,Ee)=>t.createElement(At.Z,{alignItems:"flex-start",key:`child-${Ee}`},pe)),u&&u.map((pe,Ee)=>t.createElement(Da,{item:pe,key:`item-${Ee}`}))),t.createElement(Ra.Z,null,t.createElement(y.Z,{color:"primary",onClick:q},"Close"))))}var ao=e(18671),Mn=e(10289);const kr=72,Po=24,Lo=18,Yn={drawerWidthClosed:kr,drawerWidthOpen:224,defaultOpenDelayMs:100,defaultCloseDelayMs:0,defaultFadeDuration:200,logoHeight:32,iconContainerWidth:kr,iconSize:kr-Po*2,iconPadding:Po,selectedIndicatorWidth:3,userBadgePadding:Lo,userBadgeDiameter:kr-Lo*2,mobileSidebarHeight:56},Ba=n=>({...Yn,...n,iconContainerWidth:Yn.drawerWidthClosed,iconSize:Yn.drawerWidthClosed-Yn.iconPadding*2,userBadgeDiameter:Yn.drawerWidthClosed-Yn.userBadgePadding*2}),Io={drawerWidthClosed:0,drawerWidthOpen:202,defaultOpenDelayMs:Yn.defaultOpenDelayMs+200},Ma=n=>({...Io,...n}),ul="@backstage/core/sidebar-intro-dismissed",Mr=(0,t.createContext)({isOpen:!1,setOpen:()=>{}}),Vn=(0,t.createContext)({sidebarConfig:Yn,submenuConfig:Io}),Oo=(0,t.createContext)({isHoveredOn:!1,setIsHoveredOn:()=>{}});var Yr;(function(n){const o="sidebarPinState";n.SIDEBAR_PIN_STATE=o})(Yr||(Yr={}));const xo={getSidebarPinState(){let n;try{n=JSON.parse(window.localStorage.getItem(Yr.SIDEBAR_PIN_STATE)||"true")}catch{return!0}return!!n},setSidebarPinState(n){return window.localStorage.setItem(Yr.SIDEBAR_PIN_STATE,JSON.stringify(n))}},wa=(0,m.Z)(n=>({root:{width:"100%",transition:"padding-left 0.1s ease-out",isolation:"isolate",[n.breakpoints.up("sm")]:{paddingLeft:o=>o.isPinned?o.sidebarConfig.drawerWidthOpen:o.sidebarConfig.drawerWidthClosed},[n.breakpoints.down("xs")]:{paddingBottom:o=>o.sidebarConfig.mobileSidebarHeight}},content:{zIndex:0,isolation:"isolate","&:focus":{outline:0}}}),{name:"BackstageSidebarPage"}),vr=(0,t.createContext)({isPinned:!0,toggleSidebarPinState:()=>{},isMobile:!1}),Do=(0,t.createContext)({content:{contentRef:void 0}});function $a(n){const[o,l]=(0,t.useState)(()=>xo.getSidebarPinState()),{sidebarConfig:u}=(0,t.useContext)(Vn),g=(0,t.useRef)(null),E=(0,t.useMemo)(()=>({content:{contentRef:g}}),[g]);(0,t.useEffect)(()=>{xo.setSidebarPinState(o)},[o]);const O=(0,_e.Z)(H=>H.breakpoints.down("xs"),{noSsr:!0}),N=()=>l(!o),K=wa({isPinned:o,sidebarConfig:u});return t.createElement(vr.Provider,{value:{isPinned:o,toggleSidebarPinState:N,isMobile:O}},t.createElement(Do.Provider,{value:E},t.createElement("div",{className:K.root},n.children)))}function Fo(){const{content:n}=(0,t.useContext)(Do);return{focusContent:(0,t.useCallback)(()=>{var l,u;(u=(l=n==null?void 0:n.contentRef)==null?void 0:l.current)==null||u.focus()},[n]),contentRef:n==null?void 0:n.contentRef}}var Ua=e(50023),Na=e(4190),Za=e(87685),za=e(44882),Wa=e(57998);const Ha=(0,m.Z)(n=>({root:{flexGrow:0,margin:n.spacing(0,2),color:n.palette.navigation.color},selected:o=>({color:`${n.palette.navigation.selectedColor}!important`,borderTop:`solid ${o.sidebarConfig.selectedIndicatorWidth}px ${n.palette.navigation.indicator}`,marginTop:"-1px"}),label:{display:"none"}})),ja=n=>{const{to:o,label:l,icon:u,value:g}=n,{sidebarConfig:E}=(0,t.useContext)(Vn),O=Ha({sidebarConfig:E}),N=(0,Mn.TH)(),{selectedMenuItemIndex:K,setSelectedMenuItemIndex:H}=(0,t.useContext)(wo),ee=(pe,Ee)=>{H(Ee===K?-1:Ee)},q=g===K&&K>=0||g!==K&&!(K>=0)&&o===N.pathname;return t.createElement(Wa.Z,{label:l,icon:u,component:T,to:o||N.pathname,onChange:ee,value:g,selected:q,classes:O})},Bo=n=>{const{children:o,to:l,label:u,icon:g,value:E}=n,{isMobile:O}=(0,t.useContext)(vr);return O?t.createElement(ja,{to:l,label:u,icon:g,value:E}):t.createElement(t.Fragment,null,o)},Mo=(0,m.Z)(n=>({root:{position:"fixed",backgroundColor:n.palette.navigation.background,color:n.palette.navigation.color,bottom:0,left:0,right:0,zIndex:n.zIndex.snackbar,borderTop:"1px solid #383838"},overlay:o=>({background:n.palette.navigation.background,width:"100%",bottom:`${o.sidebarConfig.mobileSidebarHeight}px`,height:`calc(100% - ${o.sidebarConfig.mobileSidebarHeight}px)`,flex:"0 1 auto",overflow:"auto"}),overlayHeader:{display:"flex",color:n.palette.bursts.fontColor,alignItems:"center",justifyContent:"space-between",padding:n.spacing(2,3)},overlayHeaderClose:{color:n.palette.bursts.fontColor},marginMobileSidebar:o=>({marginBottom:`${o.sidebarConfig.mobileSidebarHeight}px`})})),Va=n=>(0,Br.orderBy)(n,({props:{priority:o}})=>Number.isInteger(o)?o:-1,"desc"),Ga=t.createElement(Bo).type,Ka=({children:n,label:o="Menu",open:l,onClose:u})=>{const{sidebarConfig:g}=(0,t.useContext)(Vn),E=Mo({sidebarConfig:g});return t.createElement(Na.ZP,{anchor:"bottom",open:l,onClose:u,ModalProps:{BackdropProps:{classes:{root:E.marginMobileSidebar}}},classes:{root:E.marginMobileSidebar,paperAnchorBottom:E.overlay}},t.createElement(Fn.Z,{className:E.overlayHeader},t.createElement(nt.Z,{variant:"h3"},o),t.createElement(G.Z,{onClick:u,classes:{root:E.overlayHeaderClose}},t.createElement(Za.Z,null))),t.createElement(Fn.Z,{component:"nav"},n))},wo=(0,t.createContext)({selectedMenuItemIndex:-1,setSelectedMenuItemIndex:()=>{}}),ka=n=>{const{sidebarConfig:o}=(0,t.useContext)(Vn),{children:l}=n,u=Mo({sidebarConfig:o}),g=(0,Mn.TH)(),[E,O]=(0,t.useState)(-1);(0,t.useEffect)(()=>{O(-1)},[g.pathname]);let N=(0,c.useElementFilter)(l,H=>H.getElements().filter(ee=>ee.type===Ga));if(l)N.length?N=Va(N):N.push(t.createElement(Bo,{key:"default_menu",icon:t.createElement(za.Z,null)},l));else return null;const K=E>=0&&!N[E].props.to;return t.createElement(Mr.Provider,{value:{isOpen:!0,setOpen:()=>{}}},t.createElement(wo.Provider,{value:{selectedMenuItemIndex:E,setSelectedMenuItemIndex:O}},t.createElement(Ka,{label:N[E]&&N[E].props.label,open:K,onClose:()=>O(-1)},N[E]&&N[E].props.children),t.createElement(Ua.Z,{className:u.root,"data-testid":"mobile-sidebar-root",component:"nav"},N)))},$o=(0,m.Z)(n=>({drawer:o=>({display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",left:0,top:0,bottom:0,zIndex:n.zIndex.appBar,background:n.palette.navigation.background,overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",width:o.sidebarConfig.drawerWidthClosed,transition:n.transitions.create("width",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest}),"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}}),drawerOpen:o=>({width:o.sidebarConfig.drawerWidthOpen,transition:n.transitions.create("width",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shorter})}),visuallyHidden:{top:0,position:"absolute",zIndex:1e3,transform:"translateY(-200%)","&:focus":{transform:"translateY(5px)"}}}),{name:"BackstageSidebar"});var On;(function(n){n[n.Closed=0]="Closed";const l=0+1;n[n.Idle=l]="Idle";const u=l+1;n[n.Open=u]="Open"})(On||(On={}));const Ya=n=>{const{sidebarConfig:o}=(0,t.useContext)(Vn),{openDelayMs:l=o.defaultOpenDelayMs,closeDelayMs:u=o.defaultCloseDelayMs,disableExpandOnHover:g,children:E}=n,O=$o({sidebarConfig:o}),N=(0,_e.Z)(Ht=>Ht.breakpoints.down("md"),{noSsr:!0}),[K,H]=(0,t.useState)(On.Closed),ee=(0,t.useRef)(),{isPinned:q,toggleSidebarPinState:pe}=(0,t.useContext)(vr),Ee=()=>{q||g||(ee.current&&(clearTimeout(ee.current),ee.current=void 0),K!==On.Open&&!N&&(ee.current=window.setTimeout(()=>{ee.current=void 0,H(On.Open)},l),H(On.Idle)))},Re=()=>{q||g||(ee.current&&(clearTimeout(ee.current),ee.current=void 0),K===On.Idle?H(On.Closed):K===On.Open&&(ee.current=window.setTimeout(()=>{ee.current=void 0,H(On.Closed)},u)))},ct=K===On.Open&&!N||q,It=Ht=>{Ht?(H(On.Open),pe()):(H(On.Closed),pe())};return t.createElement("nav",{style:{},"aria-label":"sidebar nav"},t.createElement(Qa,null),t.createElement(Mr.Provider,{value:{isOpen:ct,setOpen:It}},t.createElement("div",{className:O.root,"data-testid":"sidebar-root",onMouseEnter:g?()=>{}:Ee,onFocus:g?()=>{}:Ee,onMouseLeave:g?()=>{}:Re,onBlur:g?()=>{}:Re},t.createElement("div",{className:v()(O.drawer,{[O.drawerOpen]:ct})},E))))},Ja=n=>{var K,H;const o=Ba((K=n.sidebarOptions)!=null?K:{}),l=Ma((H=n.submenuOptions)!=null?H:{}),{children:u,disableExpandOnHover:g,openDelayMs:E,closeDelayMs:O}=n,{isMobile:N}=(0,t.useContext)(vr);return N?t.createElement(ka,null,u):t.createElement(Vn.Provider,{value:{sidebarConfig:o,submenuConfig:l}},t.createElement(Ya,{openDelayMs:E,closeDelayMs:O,disableExpandOnHover:g},u))};function Qa(){const{sidebarConfig:n}=(0,t.useContext)(Vn),{focusContent:o,contentRef:l}=Fo(),u=$o({sidebarConfig:n});return l!=null&&l.current?t.createElement(y.Z,{onClick:o,variant:"contained",className:v()(u.visuallyHidden)},"Skip to content"):null}function Uo(n,o){const l=new URLSearchParams(o.search).toString(),u=So().parse(l),g=new URLSearchParams(n.search).toString(),E=So().parse(g);return(0,Br.isEqual)(o.pathname,n.pathname)&&(0,Br.isMatch)(E,u)}const Xa=(0,m.Z)(n=>({item:{height:48,width:"100%","&:hover":{background:"#6f6f6f",color:n.palette.navigation.selectedColor},display:"flex",alignItems:"center",color:n.palette.navigation.color,padding:20,cursor:"pointer",position:"relative",background:"none",border:"none"},itemContainer:{width:"100%"},selected:{background:"#6f6f6f",color:"#FFF"},label:{margin:14,marginLeft:7,fontSize:14,whiteSpace:"nowrap",overflow:"hidden","text-overflow":"ellipsis"},dropdownArrow:{position:"absolute",right:21},dropdown:{display:"flex",flexDirection:"column",alignItems:"end"},dropdownItem:{width:"100%",padding:"10px 0 10px 0","&:hover":{background:"#6f6f6f",color:n.palette.navigation.selectedColor}},textContent:{color:n.palette.navigation.color,paddingLeft:n.spacing(4),paddingRight:n.spacing(1),fontSize:"14px",whiteSpace:"nowrap",overflow:"hidden","text-overflow":"ellipsis"}}),{name:"BackstageSidebarSubmenuItem"}),dl=n=>{const{title:o,to:l,icon:u,dropdownItems:g}=n,E=Xa(),{setIsHoveredOn:O}=useContext(SidebarItemWithSubmenuContext),N=()=>{O(!1)},K=useResolvedPath(l!=null?l:""),H=useLocation();let ee=isLocationMatch(H,K);const[q,pe]=useState(!1),Ee=()=>{pe(!q)};return g!==void 0?(g.some(Re=>{const ct=resolvePath(Re.to);return ee=isLocationMatch(H,ct),ee}),React.createElement("div",{className:E.itemContainer},React.createElement(Tooltip,{title:o,enterDelay:500,enterNextDelay:500},React.createElement("button",{onClick:Ee,onTouchStart:Re=>Re.stopPropagation(),className:classnames(E.item,ee?E.selected:void 0)},u&&React.createElement(u,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:E.label},o),q?React.createElement(ArrowDropUpIcon,{className:E.dropdownArrow}):React.createElement(ArrowDropDownIcon,{className:E.dropdownArrow}))),g&&q&&React.createElement("div",{className:E.dropdown},g.map((Re,ct)=>React.createElement(Tooltip,{key:ct,title:Re.title,enterDelay:500,enterNextDelay:500},React.createElement(Link,{to:Re.to,underline:"none",className:E.dropdownItem,onClick:N,onTouchStart:It=>It.stopPropagation()},React.createElement(Typography,{className:E.textContent},Re.title))))))):React.createElement("div",{className:E.itemContainer},React.createElement(Tooltip,{title:o,enterDelay:500,enterNextDelay:500},React.createElement(Link,{to:l,underline:"none",className:classnames(E.item,ee?E.selected:void 0),onClick:N,onTouchStart:Re=>Re.stopPropagation()},u&&React.createElement(u,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:E.label},o))))},qa=(0,m.Z)(n=>({root:{zIndex:1e3,position:"relative",overflow:"visible",width:n.spacing(7)+1},drawer:o=>{var l,u;return{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",[n.breakpoints.up("sm")]:{marginLeft:o.left,transition:n.transitions.create("margin-left",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest})},top:0,bottom:0,padding:0,background:(u=(l=n.palette.navigation.submenu)==null?void 0:l.background)!=null?u:"#404040",overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",cursor:"default",width:o.submenuConfig.drawerWidthClosed,transitionDelay:`${o.submenuConfig.defaultOpenDelayMs}ms`,"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}}},drawerOpen:o=>({width:o.submenuConfig.drawerWidthOpen,[n.breakpoints.down("xs")]:{width:"100%",position:"relative",paddingLeft:n.spacing(3),left:0,top:0}}),title:{fontSize:24,fontWeight:500,color:"#FFF",padding:20,[n.breakpoints.down("xs")]:{display:"none"}}}),{name:"BackstageSidebarSubmenu"}),_a=n=>{const{isOpen:o}=(0,t.useContext)(Mr),{sidebarConfig:l,submenuConfig:u}=(0,t.useContext)(Vn),g=o?l.drawerWidthOpen:l.drawerWidthClosed,E=qa({left:g,submenuConfig:u}),{isHoveredOn:O}=(0,t.useContext)(Oo),[N,K]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{K(O)},[O]),t.createElement("div",{className:v()(E.drawer,{[E.drawerOpen]:N})},t.createElement(nt.Z,{variant:"h5",className:E.title},n.title),n.children)};var Jr=e(76600),es=e(26739),No=e(98989),ts=e(59797),ns=e(83543);const rs=(0,m.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),fl=()=>{const n=rs();return React.createElement("div",{className:n.iconContainer},React.createElement("div",{className:n.arrow1},React.createElement(ArrowBackIosIcon,{style:{fontSize:"12px"}})),React.createElement("div",null,React.createElement(ArrowBackIosIcon,{style:{fontSize:"12px"}})))};var ml=null;const os=(0,m.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),hl=()=>{const n=os();return React.createElement("div",{className:n.iconContainer},React.createElement("div",{className:n.arrow1},React.createElement(ArrowForwardIosIcon,{style:{fontSize:"12px"}})),React.createElement("div",null,React.createElement(ArrowForwardIosIcon,{style:{fontSize:"12px"}})))};var gl=null;const as=n=>(0,m.Z)(o=>{var l,u,g,E;return{root:{color:o.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"},closed:{width:n.drawerWidthClosed,justifyContent:"center"},open:{[o.breakpoints.up("sm")]:{width:n.drawerWidthOpen}},highlightable:{"&:hover":{background:(u=(l=o.palette.navigation.navItem)==null?void 0:l.hoverBackground)!=null?u:"#404040"}},highlighted:{background:(E=(g=o.palette.navigation.navItem)==null?void 0:g.hoverBackground)!=null?E:"#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:n.iconContainerWidth,marginRight:-o.spacing(2),display:"flex",alignItems:"center",justifyContent:"center"},searchRoot:{marginBottom:12},searchField:{color:"#b5b5b5",fontWeight:"bold",fontSize:o.typography.fontSize},searchFieldHTMLInput:{padding:o.spacing(2,0,2)},searchContainer:{width:n.drawerWidthOpen-n.iconContainerWidth},secondaryAction:{width:o.spacing(6),textAlign:"center",marginRight:o.spacing(1)},closedItemIcon:{width:"100%",justifyContent:"center"},submenuArrow:{display:"flex"},expandButton:{background:"none",border:"none",color:o.palette.navigation.color,width:"100%",cursor:"pointer",position:"relative",height:48},arrows:{position:"absolute",right:10},selected:{"&$root":{borderLeft:`solid ${n.selectedIndicatorWidth}px ${o.palette.navigation.indicator}`,color:o.palette.navigation.selectedColor},"&$closed":{width:n.drawerWidthClosed},"& $closedItemIcon":{paddingRight:n.selectedIndicatorWidth},"& $iconContainer":{marginLeft:-n.selectedIndicatorWidth}}}},{name:"BackstageSidebarItem"});function Qr(n){return(0,t.useMemo)(()=>as(n),[n])()}const ss=(n,o)=>(0,c.useElementFilter)(n.props.children,l=>{let u=!1;return l.getElements().forEach(({props:{to:g,dropdownItems:E}})=>{if(!u){if(E!=null&&E.length){E.forEach(({to:O})=>u=u||Uo(o,(0,Mn.i3)(O)));return}g&&(u=Uo(o,(0,Mn.i3)(g)))}}),u},[o.pathname]);function Zo(n){return n.to===void 0}const is=t.createElement(_a).type,ls=t.forwardRef(function({to:o,end:l,style:u,className:g,activeStyle:E,caseSensitive:O,activeClassName:N="active","aria-current":K="page",...H},ee){let{pathname:q}=(0,Mn.TH)(),{pathname:pe}=(0,Mn.WU)(o);O||(q=q.toLocaleLowerCase("en-US"),pe=pe.toLocaleLowerCase("en-US"));let Ee=q===pe;!Ee&&!l&&(Ee=q.startsWith(`${pe}/`));const Re=Ee?K:void 0;return t.createElement(L.rU,{...H,to:o,ref:ee,"aria-current":Re,style:{...u,...Ee?E:void 0},className:v()([g,Ee?N:void 0])})}),zo=(0,t.forwardRef)((n,o)=>{const{icon:l,text:u,hasNotifications:g=!1,hasSubmenu:E=!1,disableHighlight:O=!1,onClick:N,children:K,className:H,...ee}=n,{sidebarConfig:q}=(0,t.useContext)(Vn),pe=Qr(q),{isOpen:Ee}=(0,t.useContext)(Mr),Re=!Ee&&E?{display:"flex",marginLeft:"24px"}:{},ct=t.createElement("div",{style:Re},t.createElement(l,{fontSize:"small"}),!Ee&&E?t.createElement(No.Z,null):t.createElement(t.Fragment,null)),It=t.createElement(es.Z,{color:"secondary",variant:"dot",overlap:"circular",invisible:!g,className:v()({[pe.closedItemIcon]:!Ee})},ct),Ht=t.createElement(t.Fragment,null,t.createElement("div",{"data-testid":"login-button",className:pe.iconContainer},It),u&&t.createElement(nt.Z,{variant:"subtitle2",className:pe.label},u),t.createElement("div",{className:pe.secondaryAction},K)),Yt=Ee?Ht:It,rt={onClick:N,className:v()(H,pe.root,Ee?pe.open:pe.closed,Zo(n)&&pe.buttonItem,{[pe.highlightable]:!O})};return Zo(n)?t.createElement("button",{"aria-label":u,...rt,ref:o},Yt):t.createElement(ls,{...rt,activeClassName:pe.selected,to:n.to?n.to:"",ref:o,"aria-label":u||n.to,...ee},Yt)}),cs=({children:n,...o})=>{const{sidebarConfig:l}=(0,t.useContext)(Vn),u=Qr(l),[g,E]=(0,t.useState)(!1),O=(0,Mn.TH)(),N=ss(n,O),K=(0,_e.Z)(pe=>pe.breakpoints.down("sm")),H=()=>{E(!0)},ee=()=>{E(!1)},q=()=>K?g?t.createElement(ts.Z,{fontSize:"small",className:u.submenuArrow}):t.createElement(ns.Z,{fontSize:"small",className:u.submenuArrow}):!g&&t.createElement(No.Z,{fontSize:"small",className:u.submenuArrow});return t.createElement(Oo.Provider,{value:{isHoveredOn:g,setIsHoveredOn:E}},t.createElement("div",{"data-testid":"item-with-submenu",onMouseLeave:ee,onTouchStart:g?ee:H,onMouseEnter:H,className:v()(g&&u.highlighted)},t.createElement(zo,{hasSubmenu:!0,className:N?u.selected:"",...o},q()),g&&n))},Wo=(0,t.forwardRef)((n,o)=>{const[l]=(0,c.useElementFilter)(n.children,u=>u.getElements().filter(g=>g.type===is));return l?t.createElement(cs,{...n},l):t.createElement(zo,{...n,ref:o})});function pl(n){const{sidebarConfig:o}=useContext(SidebarConfigContext),[l,u]=useState(""),g=Qr(o),E=n.icon?n.icon:SearchIcon,O=()=>{n.onSearch(l),u("")},N=q=>{q.key==="Enter"&&(q.preventDefault(),O())},K=q=>{u(q.target.value)},H=q=>{q.preventDefault(),q.stopPropagation()},ee=q=>{O(),q.preventDefault()};return React.createElement("div",{className:g.searchRoot},React.createElement(Wo,{icon:E,to:n.to,onClick:ee,disableHighlight:!0},React.createElement(TextField,{placeholder:"Search",value:l,onClick:H,onChange:K,onKeyDown:N,className:g.searchContainer,InputProps:{disableUnderline:!0,className:g.searchField},inputProps:{className:g.searchFieldHTMLInput}})))}const yl=(0,Jr.Z)("div")({flex:1},{name:"BackstageSidebarSpace"}),El=(0,Jr.Z)("div")({height:8},{name:"BackstageSidebarSpacer"}),us=(0,Jr.Z)("hr")({height:1,width:"100%",background:"#383838",border:"none",margin:"12px 0px"},{name:"BackstageSidebarDivider"}),ds=n=>({overflowY:"auto","&::-webkit-scrollbar":{backgroundColor:n.palette.background.default,width:"5px",borderRadius:"5px"},"&::-webkit-scrollbar-thumb":{backgroundColor:n.palette.text.hint,borderRadius:"5px"}}),vl=(0,Jr.Z)("div")(({theme:n})=>{const o=ds(n);return{flex:"0 1 auto",overflowX:"hidden",width:"calc(100% - 5px)",minHeight:"48px",overflowY:"hidden","@media (hover: none)":o,"&:hover":o}}),Al=()=>{const{sidebarConfig:n}=useContext(SidebarConfigContext),o=Qr(n),{isOpen:l,setOpen:u}=useContext(SidebarContext);if(useMediaQuery(O=>O.breakpoints.down("md"),{noSsr:!0}))return null;const E=()=>{u(!l)};return React.createElement("button",{onClick:E,className:o.expandButton,"aria-label":"Expand Sidebar","data-testid":"sidebar-expand-button"},React.createElement("div",{className:o.arrows},l?React.createElement(DoubleArrowLeft,null):React.createElement(DoubleArrowRight,null)))},fs=(0,m.Z)(n=>({introCard:o=>({color:"#b5b5b5",fontSize:12,width:o.sidebarConfig.drawerWidthOpen,marginTop:18,marginBottom:12,paddingLeft:o.sidebarConfig.iconPadding,paddingRight:o.sidebarConfig.iconPadding}),introDismiss:{display:"flex",justifyContent:"flex-end",alignItems:"center",marginTop:12},introDismissLink:{color:"#dddddd",display:"flex",alignItems:"center",marginBottom:4,"&:hover":{color:n.palette.linkHover,transition:n.transitions.create("color",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest})}},introDismissText:{fontSize:"0.7rem",fontWeight:"bold",textTransform:"uppercase",letterSpacing:1},introDismissIcon:{width:18,height:18,marginRight:12}}),{name:"BackstageSidebarIntro"});function ms(n){const{sidebarConfig:o}=useContext(SidebarConfigContext),l=fs({sidebarConfig:o}),{text:u,onClose:g}=n,E=()=>g();return React.createElement("div",{className:l.introCard},React.createElement(Typography,{variant:"subtitle2"},u),React.createElement("div",{className:l.introDismiss},React.createElement(Link,{component:"button",onClick:E,underline:"none",className:l.introDismissLink},React.createElement(CloseIcon,{className:l.introDismissIcon}),React.createElement(Typography,{component:"span",className:l.introDismissText},"Dismiss"))))}const Ho=n=>{const{text:o,onDismiss:l}=n,[u,g]=useState(!1),E=()=>{g(!0)};return React.createElement(Collapse,{in:!u,onExited:l},React.createElement(ms,{text:o,onClose:E}))},hs=null,gs="And your recently viewed plugins will pop up here!";function Rl(n){const{isOpen:o}=useContext(SidebarContext),l={starredItemsDismissed:!1,recentlyViewedItemsDismissed:!1},[u,g]=useLocalStorageValue(SIDEBAR_INTRO_LOCAL_STORAGE),{starredItemsDismissed:E,recentlyViewedItemsDismissed:O}=u!=null?u:{},N=()=>{g(H=>({...l,...H,starredItemsDismissed:!0}))},K=()=>{g(H=>({...l,...H,recentlyViewedItemsDismissed:!0}))};return o?React.createElement(React.Fragment,null,!E&&React.createElement(React.Fragment,null,React.createElement(Ho,{text:hs,onDismiss:N}),React.createElement(SidebarDivider,null)),!O&&React.createElement(Ho,{text:gs,onDismiss:K})):null}const ps=(0,m.Z)(n=>({root:{gridArea:"pageContent",minWidth:0,paddingTop:n.spacing(3),paddingBottom:n.spacing(3),paddingLeft:n.spacing(2),paddingRight:n.spacing(2),[n.breakpoints.up("sm")]:{paddingLeft:n.spacing(3),paddingRight:n.spacing(3)}},stretch:{display:"flex",flexDirection:"column",flexGrow:1},noPadding:{padding:0}}),{name:"BackstageContent"});function jo(n){const{className:o,stretch:l,noPadding:u,children:g,...E}=n,{contentRef:O}=Fo(),N=ps();return t.createElement("article",{ref:O,tabIndex:-1,...E,className:v()(N.root,o,{[N.stretch]:l,[N.noPadding]:u})},g)}var ys=e(6487),Es=e(99152);const vs=(0,m.Z)(n=>({tabsWrapper:{gridArea:"pageSubheader",backgroundColor:n.palette.background.paper,paddingLeft:n.spacing(3)},defaultTab:{padding:n.spacing(3,3),...n.typography.caption,textTransform:"uppercase",fontWeight:"bold",color:n.palette.text.secondary},selected:{color:n.palette.text.primary},tabRoot:{"&:hover":{backgroundColor:n.palette.background.default,color:n.palette.text.primary}}}),{name:"BackstageHeaderTabs"});function Vo(n){const{tabs:o,onChange:l,selectedIndex:u}=n,[g,E]=(0,t.useState)(u!=null?u:0),O=vs(),N=(K,H)=>{u===void 0&&E(H),l&&l(H)};return(0,t.useEffect)(()=>{u!==void 0&&E(u)},[u]),t.createElement("div",{className:O.tabsWrapper},t.createElement(Es.Z,{selectionFollowsFocus:!0,indicatorColor:"primary",textColor:"inherit",variant:"scrollable",scrollButtons:"auto","aria-label":"scrollable auto tabs example",onChange:N,value:g},o.map((K,H)=>t.createElement(ys.Z,{...K.tabProps,"data-testid":`header-tab-${H}`,label:K.label,key:K.id,value:H,className:O.defaultTab,classes:{selected:O.selected,root:O.tabRoot}}))))}function As(n){var N,K,H;const o=(0,Mn.UO)(),u=n.map(({path:ee,children:q})=>({caseSensitive:!1,path:`${ee}/*`,element:q})).sort((ee,q)=>q.path.replace(/\/\*$/,"").localeCompare(ee.path.replace(/\/\*$/,""))),g=(N=(0,Mn.V$)(u))!=null?N:n[0].children,[E]=(K=(0,Mn.fp)(u,`/${o["*"]}`))!=null?K:[],O=E?n.findIndex(ee=>`${ee.path}/*`===E.route.path):0;return{index:O===-1?0:O,element:g,route:(H=n[O])!=null?H:n[0]}}function Go(n){const{routes:o}=n,l=(0,Mn.s0)(),{index:u,route:g,element:E}=As(o),O=(0,t.useMemo)(()=>o.map(K=>({id:K.path,label:K.title,tabProps:K.tabProps})),[o]),N=K=>l(o[K].path.replace(/\/\*$/,"").replace(/^\//,""));return t.createElement(t.Fragment,null,t.createElement(Vo,{tabs:O,selectedIndex:u,onChange:N}),t.createElement(jo,null,t.createElement(ao.q,{title:g.title}),E))}const so=()=>null;(0,c.attachComponentData)(so,"core.gatherMountPoints",!0);function Ko(n){const o=t.createElement(so,{path:"",title:""},t.createElement("div",null)).type;return t.Children.toArray(n).flatMap(l=>{if(!(0,t.isValidElement)(l))return[];if(l.type===t.Fragment)return Ko(l.props.children);if(l.type!==o)throw new Error("Child of TabbedLayout must be an TabbedLayout.Route");const{path:u,title:g,children:E,tabProps:O}=l.props;return[{path:u,title:g,children:E,tabProps:O}]})}function Rs(n){const o=Ko(n.children);return t.createElement(Go,{routes:o})}Rs.Route=so;const Ss=(0,m.Z)(n=>({value:{marginBottom:"6px"},subvalue:{color:n.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function Cs(n){const{value:o,subvalue:l}=n,u=Ss();return t.createElement(t.Fragment,null,t.createElement("div",{className:u.value},o),t.createElement("div",{className:u.subvalue},l))}var Ts=e(21070),bs=e(90324),Ps=e(98281),Ls=e(48049),ko=e(51209),Yo=e(33375),Is=e(44233),Os=e(27604),io=e(36444),xs=e(37971),Ds=e(59709),Fs=e(17373),Bs=e(3702),Ms=e(93111),Xr=e(67222);const ws=(0,m.Z)(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:"60px",justifyContent:"space-between",borderBottom:`1px solid ${n.palette.grey[500]}`},filters:{display:"flex",flexDirection:"column","& > *":{marginTop:n.spacing(2)}}}),{name:"BackstageTableFilters"}),$s=n=>{var K;const o=ws(),{onChangeFilters:l}=n,[u,g]=(0,t.useState)({...n.selectedFilters}),[E,O]=(0,t.useState)(!1),N=()=>{g({}),O(H=>!H)};return(0,t.useEffect)(()=>{l(u)},[u,l]),t.createElement("div",{className:o.root},t.createElement("div",{className:o.header},t.createElement("div",{className:o.value},"Filters"),t.createElement(y.Z,{color:"primary",onClick:N},"Clear all")),t.createElement("div",{className:o.filters},((K=n.filters)==null?void 0:K.length)&&n.filters.map(H=>t.createElement(We,{triggerReset:E,key:H.element.label,...H.element,selected:u[H.element.label],onChange:ee=>g({...u,[H.element.label]:ee})}))))},Us={Add:(0,t.forwardRef)((n,o)=>t.createElement(Ts.Z,{...n,ref:o})),Check:(0,t.forwardRef)((n,o)=>t.createElement(Ps.Z,{...n,ref:o})),Clear:(0,t.forwardRef)((n,o)=>t.createElement(Yo.Z,{...n,ref:o})),Delete:(0,t.forwardRef)((n,o)=>t.createElement(Is.Z,{...n,ref:o})),DetailPanel:(0,t.forwardRef)((n,o)=>t.createElement(ko.Z,{...n,ref:o})),Edit:(0,t.forwardRef)((n,o)=>t.createElement(Os.Z,{...n,ref:o})),Export:(0,t.forwardRef)((n,o)=>t.createElement(Bs.Z,{...n,ref:o})),Filter:(0,t.forwardRef)((n,o)=>t.createElement(io.Z,{...n,ref:o})),FirstPage:(0,t.forwardRef)((n,o)=>t.createElement(xs.Z,{...n,ref:o})),LastPage:(0,t.forwardRef)((n,o)=>t.createElement(Ds.Z,{...n,ref:o})),NextPage:(0,t.forwardRef)((n,o)=>t.createElement(ko.Z,{...n,ref:o})),PreviousPage:(0,t.forwardRef)((n,o)=>t.createElement(Ls.Z,{...n,ref:o})),ResetSearch:(0,t.forwardRef)((n,o)=>t.createElement(Yo.Z,{...n,ref:o})),Search:(0,t.forwardRef)((n,o)=>t.createElement(io.Z,{...n,ref:o})),SortArrow:(0,t.forwardRef)((n,o)=>t.createElement(bs.Z,{...n,ref:o})),ThirdStateCheck:(0,t.forwardRef)((n,o)=>t.createElement(Fs.Z,{...n,ref:o})),ViewColumn:(0,t.forwardRef)((n,o)=>t.createElement(Ms.Z,{...n,ref:o}))};function Jo(n,o){const l=o.split(".");let u=n[l[0]];for(let g=1;g<l.length;++g){if(u===void 0)return u;const E=l[g];u=u[E]}return u}const Ns=(0,ln.Z)(n=>({header:{padding:n.spacing(1,2,1,2.5),borderTop:`1px solid ${n.palette.grey.A100}`,borderBottom:`1px solid ${n.palette.grey.A100}`,color:n.palette.textSubtle,fontWeight:n.typography.fontWeightBold,position:"static",wordBreak:"normal"}}),{name:"BackstageTableHeader"})(Xr.W$),Qo=(0,ln.Z)(n=>({root:{padding:n.spacing(3,0,2.5,2.5)},title:{"& > h6":{fontWeight:"bold"}},searchField:{paddingRight:n.spacing(2)}}),{name:"BackstageTableToolbar"})(Xr.UW),Zs=(0,m.Z)(()=>({root:{display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontWeight:"bold",fontSize:18,whiteSpace:"nowrap"}}),{name:"BackstageTableFiltersContainer"}),zs=(0,m.Z)(()=>({root:{display:"flex",alignItems:"start"}}),{name:"BackstageTable"});function Ws(n,o){return n.map(l=>{const u={};let g=l.cellStyle||{};if(l.highlight)if(u.color=o.palette.textContrast,typeof g=="object")g.fontWeight=o.typography.fontWeightBold;else{const E=g;g=(O,N,K)=>({...E(O,N,K),fontWeight:o.typography.fontWeightBold})}return{...l,headerStyle:u,cellStyle:g}})}function Hs(n,o){return(0,Br.transform)(n,(l,u,g)=>{(0,Br.isEqual)(u,o[g])||(l[g]=u)})}const Xo={search:"",filtersOpen:!1,filters:{}};function js(n){const{toolbarRef:o,setSearch:l,hasFilters:u,selectedFiltersLength:g,toggleFilters:E}=n,O=Zs(),N=(0,t.useCallback)(K=>{n.onSearchChanged(K),l(K)},[n,l]);return u?t.createElement("div",{className:O.root},t.createElement("div",{className:O.root},t.createElement(G.Z,{onClick:E,"aria-label":"filter list"},t.createElement(io.Z,null)),t.createElement(nt.Z,{className:O.title},"Filters (",g,")")),t.createElement(Qo,{...n,ref:o,onSearchChanged:N})):t.createElement(Qo,{...n,ref:o,onSearchChanged:N})}function Vs(n){const{data:o,columns:l,options:u,title:g,subtitle:E,filters:O,initialState:N,emptyContent:K,onStateChange:H,...ee}=n,q=zs(),pe=(0,M.Z)(),Ee={...Xo,...N},[Re,ct]=(0,t.useState)(Ee.filtersOpen),It=(0,t.useCallback)(()=>ct(fn=>!fn),[ct]),[Ht,Yt]=(0,t.useState)(0),[rt,Ot]=(0,t.useState)(o),[xt,cn]=(0,t.useState)(Ee.filters),qn=Ws(l,pe),[wn,$r]=(0,t.useState)(Ee.search);(0,t.useEffect)(()=>{if(H){const fn=Hs({search:wn,filtersOpen:Re,filters:xt},Xo);H(fn)}},[wn,Re,xt,H]);const Pt={headerStyle:{textTransform:"uppercase"}},_n=(0,t.useCallback)(fn=>{var xn;return(xn=l.find($n=>$n.title===fn))==null?void 0:xn.field},[l]);(0,t.useEffect)(()=>{if(typeof o=="function")return;if(!xt){Ot(o);return}const fn=Object.values(xt);if(o&&fn.flat().length){const xn=o.filter($n=>!!Object.entries(xt).filter(([,ar])=>!!ar.length).every(([ar,on])=>{const an=Jo($n,_n(ar));return Array.isArray(an)&&Array.isArray(on)?an.some(Ar=>on.includes(Ar)):Array.isArray(an)?an.includes(on):Array.isArray(on)?on.includes(an):an===on}));Ot(xn)}else Ot(o);Yt(fn.flat().length)},[o,xt,_n]);const mo=(fn,xn)=>{const $n=on=>{const an=new Set,Ar=sr=>{sr!=null&&an.add(sr)};return xn&&xn.forEach(sr=>{const Rr=Jo(sr,_n(on));Array.isArray(Rr)?Rr.forEach(Ar):Ar(Rr)}),an},ar=on=>({placeholder:"All results",label:on.column,multiple:on.type==="multiple-select",items:[...$n(on.column)].sort().map(an=>({label:an,value:an}))});return fn.map(on=>({type:on.type,element:ar(on)}))},or=!!(O!=null&&O.length),ho=(0,t.useCallback)(fn=>t.createElement(js,{setSearch:$r,hasFilters:or,selectedFiltersLength:Ht,toggleFilters:It,...fn}),[It,or,Ht,$r]),_r=typeof o!="function"&&o.length===0,eo=l.length,go=(0,t.useCallback)(fn=>K&&_r?t.createElement("tbody",null,t.createElement("tr",null,t.createElement("td",{colSpan:eo},K))):t.createElement(Xr.os,{...fn}),[_r,K,eo]);return t.createElement("div",{className:q.root},Re&&o&&typeof o!="function"&&(O==null?void 0:O.length)&&t.createElement($s,{filters:mo(O,o),selectedFilters:xt,onChangeFilters:cn}),t.createElement(Xr.ZP,{components:{Header:Ns,Toolbar:ho,Body:go},options:{...Pt,...u},columns:qn,icons:Us,title:t.createElement(t.Fragment,null,t.createElement(nt.Z,{variant:"h5",component:"h2"},g),E&&t.createElement(nt.Z,{color:"textSecondary",variant:"body1"},E)),data:typeof o=="function"?o:rt,style:{width:"100%"},localization:{toolbar:{searchPlaceholder:"Filter"}},...ee}))}const Sl=n=>{const{children:o,value:l,index:u,...g}=n;return React.createElement("div",{role:"tabpanel",hidden:l!==u,"aria-labelledby":`scrollable-auto-tab-${u}`,...g},l===u&&React.createElement(Box,{p:3},o))},Gs=(0,m.Z)(()=>({root:{color:"#6E6E6E",overflow:"visible",fontSize:"1.5rem",textAlign:"center",borderRadius:"50%",backgroundColor:"#E6E6E6",marginLeft:n=>n.isNext?"auto":"0",marginRight:n=>n.isNext?"0":"10px","&:hover":{backgroundColor:"#E6E6E6",opacity:"1"}}}),{name:"BackstageTabIcon"}),Cl=n=>{const o=Gs(n),{ariaLabel:l,onClick:u}=n;return React.createElement(IconButton,{onClick:u,className:o.root,size:"small",disableRipple:!0,disableFocusRipple:!0,"aria-label":l},n.children)},Ks=(n,o)=>o?n?"20px":"0":"40px",ks=(0,m.Z)(n=>({root:{textTransform:"none",height:"64px",fontWeight:n.typography.fontWeightBold,fontSize:n.typography.pxToRem(13),color:n.palette.textSubtle,marginLeft:o=>Ks(o.isFirstNav,o.isFirstIndex),width:"130px",minWidth:"130px","&:hover":{outline:"none",backgroundColor:"transparent",color:n.palette.textSubtle}}}),{name:"BackstageTab"}),Tl=n=>{const o=ks(n),{isFirstNav:l,isFirstIndex:u,...g}=n;return React.createElement(Tab,{classes:o,disableRipple:!0,...g})},Ys=(0,m.Z)(n=>({indicator:{display:"flex",justifyContent:"center",backgroundColor:n.palette.tabbar.indicator,height:"4px"},flexContainer:{alignItems:"center"},root:{"&:last-child":{marginLeft:"auto"}}}),{name:"BackstageTabBar"}),bl=n=>{const o=Ys(n);return React.createElement(Tabs,{classes:o,...n,TabIndicatorProps:{children:React.createElement("span",null)}})},Js=(0,m.Z)(n=>({root:{flexGrow:1,width:"100%"},styledTabs:{backgroundColor:n.palette.background.paper},appbar:{boxShadow:"none",backgroundColor:n.palette.background.paper,paddingLeft:"10px",paddingRight:"10px"}}),{name:"BackstageTabs"});function Pl(n){const{tabs:o}=n,l=Js(),[u,g]=useState([0,0]),[E,O]=useState(0),[N,K]=useState(0),[H,ee]=useState([[]]),q=useRef(),{width:pe}=useWindowSize(),Ee=(Yt,rt)=>{g([E,rt])},Re=()=>{O(E-1)},ct=()=>{O(E+1)},It=()=>E+1<H.length;useEffect(()=>{const rt=E===0?1:2,Ot=q.current.offsetWidth-20-rt*30,xt=u[0]*N+u[1],cn=Math.floor(Ot/170);K(cn),ee(chunkArray(o,cn)),g([Math.floor(xt/cn),xt%cn])},[pe,o]);const Ht=E===u[0]?u[1]:!1;return React.createElement("div",{className:l.root},React.createElement(AppBar,{ref:q,className:l.appbar,position:"static"},React.createElement("div",null,React.createElement(StyledTabs,{value:Ht,onChange:Ee,selectionFollowsFocus:!0},E!==0&&React.createElement(StyledIcon,{onClick:Re,ariaLabel:"navigate-before"},React.createElement(NavigateBeforeIcon,null)),H[E].map((Yt,rt)=>React.createElement(StyledTab,{value:rt,isFirstIndex:rt===0,isFirstNav:E===0,key:rt,icon:Yt.icon||void 0,label:Yt.label||void 0})),It()&&React.createElement(StyledIcon,{isNext:!0,onClick:ct,ariaLabel:"navigate-next"},React.createElement(NavigateNextIcon,null))))),Ht!==!1?H[E].map((Yt,rt)=>React.createElement(TabPanel,{key:rt,value:rt,index:Ht},Yt.content)):React.createElement(TabPanel,{key:"panel_outside_chunked_array",value:u[1],index:u[1]},H[u[0]][u[1]].content))}var Ll=e(44311);function Qs(n,o){const l=n[n.length-1];if(!!l)return l>=.9?o.palette.status.ok:l>=.5?o.palette.status.warning:o.palette.status.error}function Il(n){var l;const o=useTheme();return n.data?React.createElement(Sparklines,{width:120,height:30,min:0,max:1,...n},n.title&&React.createElement("title",null,n.title),React.createElement(SparklinesLine,{color:(l=n.color)!=null?l:Qs(n.data,o)})):null}const Xs=n=>(0,m.Z)(o=>({container:{width:"100%",display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",alignItems:"center",marginBottom:o.spacing(2),textAlign:n.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"}),_s=({title:n="Unknown page",className:o})=>t.createElement(nt.Z,{variant:"h4",component:"h2",className:o,"data-testid":"header-title"},n);function ei(n){const{description:o,title:l,titleComponent:u=void 0,children:g,textAlign:E="left"}=n,O=Xs({textAlign:E})(),N=u||t.createElement(_s,{title:l,className:O.title});return t.createElement(t.Fragment,null,t.createElement(ao.q,{title:l}),t.createElement("div",{className:O.container},t.createElement("div",{className:O.leftItemsBox},N,o&&t.createElement(nt.Z,{className:O.description,variant:"body2"},o)),t.createElement("div",{className:O.rightItemsBox},g)))}var ti=e.p+"static/mic-drop.fe3ef4d0..svg";const ni=(0,m.Z)(n=>({micDrop:{maxWidth:"60%",position:"absolute",bottom:n.spacing(2),right:n.spacing(2),[n.breakpoints.down("xs")]:{maxWidth:"96%",position:"relative",bottom:"unset",right:"unset",margin:`${n.spacing(10)}px auto ${n.spacing(4)}px`}}}),{name:"BackstageErrorPageMicDrop"}),ri=()=>{const n=ni();return t.createElement("img",{src:ti,className:n.micDrop,alt:"Girl dropping mic from her hands"})},oi=(0,m.Z)(n=>({container:{padding:n.spacing(8),[n.breakpoints.down("xs")]:{padding:n.spacing(2)}},title:{paddingBottom:n.spacing(5),[n.breakpoints.down("xs")]:{paddingBottom:n.spacing(4),fontSize:32}},subtitle:{color:n.palette.textSubtle}}),{name:"BackstageErrorPage"});function ai(n){const{status:o,statusMessage:l,additionalInfo:u,supportUrl:g}=n,E=oi(),O=(0,Mn.s0)(),N=bo();return t.createElement(Ct.Z,{container:!0,spacing:0,className:E.container},t.createElement(ri,null),t.createElement(Ct.Z,{item:!0,xs:12,sm:8,md:4},t.createElement(nt.Z,{"data-testid":"error",variant:"body1",className:E.subtitle},"ERROR ",o,": ",l),t.createElement(nt.Z,{variant:"body1",className:E.subtitle},u),t.createElement(nt.Z,{variant:"h2",className:E.title},"Looks like someone dropped the mic!"),t.createElement(nt.Z,{variant:"h6"},t.createElement(T,{to:"#","data-testid":"go-back-link",onClick:()=>O(-1)},"Go back"),"... or please"," ",t.createElement(T,{to:g||N.url},"contact support")," if you think this is a bug.")))}var si=e(16173);const ii=(0,ln.Z)({root:{textDecoration:"underline",cursor:"pointer"}},{name:"BackstageBreadcrumbsClickableText"})(nt.Z),lo=(0,ln.Z)({root:{textDecoration:"underline",color:"inherit"}},{name:"BackstageBreadcrumbsStyledBox"})(Fn.Z);function li(n){const{children:o,...l}=n,[u,g]=t.useState(null),E=t.Children.toArray(o),[O,N,...K]=E,H=K.length?K.pop():E[E.length-1],ee=E.length>3,q=Re=>{g(Re.currentTarget)},pe=()=>{g(null)},Ee=Boolean(u);return t.createElement(t.Fragment,null,t.createElement(si.Z,{"aria-label":"breadcrumb",...l},E.length>1&&t.createElement(lo,{clone:!0},O),E.length>2&&t.createElement(lo,{clone:!0},N),ee&&t.createElement(ii,{onClick:q},"..."),t.createElement(Fn.Z,{style:{fontStyle:"italic"}},H)),t.createElement(Ro.ZP,{open:Ee,anchorEl:u,onClose:pe,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"}},t.createElement(rn.Z,null,K.map((Re,ct)=>t.createElement(At.Z,{key:ct,button:!0},t.createElement(lo,{clone:!0},Re))))))}const ci=(0,m.Z)(n=>({header:{gridArea:"pageHeader",padding:n.spacing(3),width:"100%",boxShadow:n.shadows[4],position:"relative",zIndex:100,display:"flex",flexDirection:"row",alignItems:"center",backgroundImage:n.page.backgroundImage,backgroundPosition:"center",backgroundSize:"cover",[n.breakpoints.down("sm")]:{flexWrap:"wrap"}},leftItemsBox:{maxWidth:"100%",flexGrow:1},rightItemsBox:{width:"auto"},title:{color:n.palette.bursts.fontColor,wordBreak:"break-word",fontSize:n.typography.h3.fontSize,marginBottom:0},subtitle:{color:n.palette.bursts.fontColor,opacity:.8,display:"inline-block",marginTop:n.spacing(1),maxWidth:"75ch"},type:{textTransform:"uppercase",fontSize:11,opacity:.8,marginBottom:n.spacing(1),color:n.palette.bursts.fontColor},breadcrumb:{color:n.palette.bursts.fontColor},breadcrumbType:{fontSize:"inherit",opacity:.7,marginRight:-n.spacing(.3),marginBottom:n.spacing(.3)},breadcrumbTitle:{fontSize:"inherit",marginLeft:-n.spacing(.3),marginBottom:n.spacing(.3)}}),{name:"BackstageHeader"}),ui=({type:n,typeLink:o,classes:l,pageTitle:u})=>n?o?t.createElement(li,{className:l.breadcrumb},t.createElement(T,{to:o},n),t.createElement(nt.Z,null,u)):t.createElement(nt.Z,{className:l.type},n):null,di=({pageTitle:n,classes:o,tooltip:l})=>{const u=t.createElement(nt.Z,{className:o.title,variant:"h1"},n);return l?t.createElement(J.ZP,{title:l,placement:"top-start"},u):u},fi=({classes:n,subtitle:o})=>o?typeof o!="string"?t.createElement(t.Fragment,null,o):t.createElement(nt.Z,{className:n.subtitle,variant:"subtitle2",component:"span"},o):null;function qo(n){const{children:o,pageTitleOverride:l,style:u,subtitle:g,title:E,tooltip:O,type:N,typeLink:K}=n,H=ci(),q=(0,c.useApi)(c.configApiRef).getOptionalString("app.title")||"Backstage",pe=l||E,Ee=E||l,Re=`${pe} | %s | ${q}`,ct=`${pe} | ${q}`;return t.createElement(t.Fragment,null,t.createElement(ao.q,{titleTemplate:Re,defaultTitle:ct}),t.createElement("header",{style:u,className:H.header},t.createElement(Fn.Z,{className:H.leftItemsBox},t.createElement(ui,{classes:H,type:N,typeLink:K,pageTitle:Ee}),t.createElement(di,{classes:H,pageTitle:Ee,tooltip:O}),t.createElement(fi,{classes:H,subtitle:g})),t.createElement(Ct.Z,{container:!0,className:H.rightItemsBox,spacing:4},o)))}const mi=(0,m.Z)(n=>({root:{textAlign:"left"},label:{color:n.palette.common.white,fontWeight:"bold",letterSpacing:0,fontSize:n.typography.fontSize,marginBottom:n.spacing(1)/2,lineHeight:1},value:{color:"rgba(255, 255, 255, 0.8)",fontSize:n.typography.fontSize,lineHeight:1}}),{name:"BackstageHeaderLabel"}),hi=({value:n,className:o})=>t.createElement(nt.Z,{className:o},n);function gi(n){const{label:o,value:l,url:u}=n,g=mi(),E=t.createElement(hi,{className:g.value,value:l||"<Unknown>"});return t.createElement(Ct.Z,{item:!0},t.createElement("span",{className:g.root},t.createElement(nt.Z,{className:g.label},o),u?t.createElement(T,{to:u},E):E))}const pi={hour:"2-digit",minute:"2-digit"};function _o(n){const o=new Date,l=window.navigator.language,u=[];if(!n.has("homepage.clocks"))return u;const g=n.getConfigArray("homepage.clocks");for(const E of g)if(E.has("label")&&E.has("timezone")){let O=E.getString("label");const N={timeZone:E.getString("timezone"),...pi};try{new Date().toLocaleString(l,N)}catch{console.warn(`The timezone ${N.timeZone} is invalid. Defaulting to GMT`),N.timeZone="GMT",O="GMT"}const K=o.toLocaleTimeString(l,N);u.push({time:K,label:O})}return u}function Ol(n){const o=useApi(configApiRef),l=[],[u,g]=React.useState(l);return React.useEffect(()=>{g(_o(o));const E=setInterval(()=>{g(_o(o))},1e3);return()=>{clearInterval(E)}},[o]),u.length!==0?React.createElement(React.Fragment,null,u.map(E=>React.createElement(HeaderLabel,{label:E.label,value:E.time,key:E.label}))):null}const yi=n=>(0,a.Z)({root:{color:n.palette.common.white,padding:n.spacing(2,2,3),backgroundImage:n.palette.bursts.gradient.linear,backgroundPosition:0,backgroundSize:"inherit"}}),Ei=(0,m.Z)(yi,{name:"BackstageItemCardHeader"});function vi(n){const{title:o,subtitle:l,children:u}=n,g=Ei(n);return t.createElement("div",{className:g.root},l&&t.createElement(nt.Z,{variant:"subtitle2",component:"h3"},l),o&&t.createElement(nt.Z,{variant:"h6",component:"h4"},o),u)}function xl(n){const{description:o,tags:l,title:u,type:g,subtitle:E,label:O,onClick:N,href:K}=n;return React.createElement(Card,null,React.createElement(CardMedia,null,React.createElement(ItemCardHeader,{title:u,subtitle:E||g})),React.createElement(CardContent,null,l!=null&&l.length?React.createElement(Box,null,l.map((H,ee)=>React.createElement(Chip,{size:"small",label:H,key:ee}))):null,o),React.createElement(CardActions,null,!K&&React.createElement(Button,{to:"#",onClick:N,color:"primary"},O),K&&React.createElement(Button,{to:K,color:"primary"},O)))}const Ai=n=>(0,a.Z)({root:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(22em, 1fr))",gridAutoRows:"1fr",gridGap:n.spacing(2)}}),Ri=(0,m.Z)(Ai,{name:"BackstageItemCardGrid"});function Si(n){const{children:o,...l}=n,u=Ri(l);return t.createElement("div",{className:u.root,...l},o)}var Ci=e(41547);const Ti=(0,m.Z)(()=>({root:({isMobile:n})=>({display:"grid",gridTemplateAreas:"'pageHeader pageHeader pageHeader' 'pageSubheader pageSubheader pageSubheader' 'pageNav pageContent pageSidebar'",gridTemplateRows:"max-content auto 1fr",gridTemplateColumns:"auto 1fr auto",height:n?"100%":"100vh",overflowY:"auto"})}),{name:"BackstagePage"});function ea(n){const{themeId:o,children:l}=n,{isMobile:u}=(0,t.useContext)(vr),g=Ti({isMobile:u});return t.createElement(Ci.Z,{theme:E=>({...E,page:E.getPageTheme({themeId:o})})},t.createElement("main",{className:g.root},l))}function bi(n){const{themeId:o,children:l,...u}=n;return t.createElement(ea,{themeId:o},t.createElement(qo,{...u}),l)}var Rn=e(30195);const Dl=Rn.z.object({providerInfo:Rn.z.object({}).catchall(Rn.z.unknown()).optional(),profile:Rn.z.object({email:Rn.z.string().optional(),displayName:Rn.z.string().optional(),picture:Rn.z.string().optional()}),backstageIdentity:Rn.z.object({token:Rn.z.string(),identity:Rn.z.object({type:Rn.z.literal("user"),userEntityRef:Rn.z.string(),ownershipEntityRefs:Rn.z.array(Rn.z.string())})})}),ta={defaultTokenExpiryMillis:5*60*1e3,tokenExpiryMarginMillis:5*60*1e3};function Pi(n){const o=new Date(Date.now()+ta.defaultTokenExpiryMillis);if(!n)return o;const[l,u,g]=n.split("."),E=JSON.parse(atob(u));return typeof E.exp!="number"?o:new Date(E.exp*1e3-ta.tokenExpiryMarginMillis)}class Fl{constructor(o){X(this,"options");X(this,"abortController");X(this,"state");this.options=o,this.abortController=new AbortController,this.state={type:"empty"}}async start(){await this.getSessionAsync()}getUserId(){const{backstageIdentity:o}=this.getSessionSync(),l=o.identity.userEntityRef,u=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(l);if(!u)throw new TypeError(`Invalid user entity reference "${l}"`);return u[3]}async getIdToken(){return(await this.getSessionAsync()).backstageIdentity.token}getProfile(){return this.getSessionSync().profile}async getProfileInfo(){return(await this.getSessionAsync()).profile}async getBackstageIdentity(){return(await this.getSessionAsync()).backstageIdentity.identity}async getCredentials(){return{token:(await this.getSessionAsync()).backstageIdentity.token}}async signOut(){this.abortController.abort()}getSessionSync(){if(this.state.type==="active")return this.state.session;if(this.state.type==="fetching"&&this.state.previous)return this.state.previous;throw new Error("No session available. Try reloading your browser page.")}async getSessionAsync(){if(this.state.type==="fetching")return this.state.promise;if(this.state.type==="active"&&new Date<this.state.expiresAt)return this.state.session;const o=this.state.type==="active"?this.state.session:void 0,l=this.fetchSession().then(u=>(this.state={type:"active",session:u,expiresAt:Pi(u.backstageIdentity.token)},u),u=>{throw this.state={type:"failed",error:u},u});return this.state={type:"fetching",promise:l,previous:o},l}async fetchSession(){const o=await this.options.discoveryApi.getBaseUrl("auth"),l=await fetch(`${o}/${this.options.provider}/refresh`,{signal:this.abortController.signal,headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"});if(!l.ok)throw await ResponseError.fromResponse(l);return proxiedSessionSchema.parse(await l.json())}}const Bl=n=>{const o=useApi(discoveryApiRef),[{status:l,error:u},{execute:g}]=useAsync(async()=>{const E=new ProxiedSignInIdentity({provider:n.provider,discoveryApi:o});await E.start(),n.onSignInSuccess(E)});return useMountEffect(g),l==="loading"?React.createElement(Progress,null):u?React.createElement(ErrorPanel,{title:"You do not appear to be signed in. Please try reloading the browser page.",error:u}):null},Li=(0,m.Z)({container:{padding:0,listStyle:"none"},item:{display:"flex",flexDirection:"column",width:"100%",maxWidth:"400px",margin:0,padding:0}},{name:"BackstageSignInPage"}),co=({children:n})=>{const o=Li();return t.createElement(Ct.Z,{component:"li",item:!0,classes:o},n)};class uo{getUserId(){return"guest"}async getIdToken(){}getProfile(){return{email:"guest@example.com",displayName:"Guest"}}async getProfileInfo(){return{email:"guest@example.com",displayName:"Guest"}}async getBackstageIdentity(){const o="user:default/guest";return{type:"user",userEntityRef:o,ownershipEntityRefs:[o]}}async getCredentials(){return{}}async signOut(){}}function Ii(n){const[o,l,u]=n.split(".");return JSON.parse(atob(l))}class fo{constructor(o){this.result=o}getUserId(){return this.result.userId}static fromResult(o){return new fo(o)}async getIdToken(){var o,l;return(l=(o=this.result).getIdToken)==null?void 0:l.call(o)}getProfile(){return this.result.profile}async getProfileInfo(){return this.result.profile}async getBackstageIdentity(){const o=await this.getIdToken();if(!o){const g=`user:default/${this.getUserId()}`;return{type:"user",userEntityRef:g,ownershipEntityRefs:[g]}}const{sub:l,ent:u}=Ii(o);return{type:"user",userEntityRef:l,ownershipEntityRefs:u!=null?u:[]}}async getCredentials(){var l,u;return{token:await((u=(l=this.result).getIdToken)==null?void 0:u.call(l))}}async signOut(){var o,l;return(l=(o=this.result).signOut)==null?void 0:l.call(o)}}class wr{constructor(o,l,u){X(this,"profilePromise");this.identity=o,this.authApi=l,this.profile=u}static createGuest(){return new uo}static fromLegacy(o){return fo.fromResult(o)}static create(o){return new wr(o.identity,o.authApi,o.profile)}getUserId(){const o=this.identity.userEntityRef,l=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(o);if(!l)throw new TypeError(`Invalid user entity reference "${o}"`);return l[3]}async getIdToken(){return(await this.authApi.getBackstageIdentity()).token}getProfile(){if(!this.profile)throw new Error("The identity API does not implement synchronous profile fetching, use getProfileInfo() instead");return this.profile}async getProfileInfo(){if(this.profilePromise)return await this.profilePromise;try{return this.profilePromise=this.authApi.getProfile(),await this.profilePromise}catch(o){throw this.profilePromise=void 0,o}}async getBackstageIdentity(){return this.identity}async getCredentials(){return{token:(await this.authApi.getBackstageIdentity()).token}}async signOut(){return this.authApi.signOut()}}const Oi={Component:({config:n,onSignInSuccess:o})=>{const{apiRef:l,title:u,message:g}=n,E=(0,c.useApi)(l),O=(0,c.useApi)(c.errorApiRef),N=async()=>{try{const K=await E.getBackstageIdentity({instantPopup:!0});if(!K)throw new Error(`The ${u} provider is not configured to support sign-in`);const H=await E.getProfile();o(wr.create({identity:K.identity,profile:H,authApi:E}))}catch(K){O.post(new er.SP("Login failed",K))}};return t.createElement(co,null,t.createElement(kn,{variant:"fullHeight",title:u,actions:t.createElement(y.Z,{color:"primary",variant:"outlined",onClick:N},"Sign In")},t.createElement(nt.Z,{variant:"body1"},g)))},loader:async(n,o)=>{const l=n.get(o),u=await l.getBackstageIdentity({optional:!0});if(!u)return;const g=await l.getProfile();return wr.create({identity:u.identity,profile:g,authApi:l})}},xi={Component:({onSignInSuccess:n})=>t.createElement(co,null,t.createElement(kn,{title:"Guest",variant:"fullHeight",actions:t.createElement(y.Z,{color:"primary",variant:"outlined",onClick:()=>n(new uo)},"Enter")},t.createElement(nt.Z,{variant:"body1"},"Enter as a Guest User.",t.createElement("br",null),"You will not have a verified identity,",t.createElement("br",null),"meaning some features might be unavailable."))),loader:async()=>new uo};var Di=e(63955),na=e(86619),ra=e(74828),Fi=e(45455),Bi=e.n(Fi);const Mi=/^[a-z0-9_\-]+\.[a-z0-9_\-]+\.[a-z0-9_\-]+$/i,wi=(0,m.Z)(n=>({form:{display:"flex",flexFlow:"column nowrap"},button:{alignSelf:"center",marginTop:n.spacing(2)}}),{name:"BackstageCustomProvider"}),oa=n=>{const{ref:o,...l}=n;return{inputRef:o,...l}},$i={Component:({onSignInSuccess:n})=>{const o=wi(),{register:l,handleSubmit:u,formState:g}=(0,Di.cI)({mode:"onChange"}),{errors:E}=g,O=({userId:N})=>{n(wr.fromLegacy({userId:N,profile:{email:`${N}@example.com`}}))};return t.createElement(co,null,t.createElement(kn,{title:"Custom User",variant:"fullHeight"},t.createElement(nt.Z,{variant:"body1"},"Enter your own User ID and credentials.",t.createElement("br",null),"This selection will not be stored."),t.createElement("form",{className:o.form,onSubmit:u(O)},t.createElement(C.Z,null,t.createElement(na.Z,{...oa(l("userId",{required:!0})),label:"User ID",margin:"normal",error:Boolean(E.userId)}),E.userId&&t.createElement(ra.Z,{error:!0},E.userId.message)),t.createElement(C.Z,null,t.createElement(na.Z,{...oa(l("idToken",{required:!1,validate:N=>!N||Mi.test(N)||"Token is not a valid OpenID Connect JWT Token"})),label:"ID Token (optional)",margin:"normal",autoComplete:"off",error:Boolean(E.idToken)}),E.idToken&&t.createElement(ra.Z,{error:!0},E.idToken.message)),t.createElement(y.Z,{type:"submit",color:"primary",variant:"outlined",className:o.button,disabled:!(g!=null&&g.isDirty)||!Bi()(E)},"Continue"))))},loader:async()=>{}},qr="@backstage/core:SignInPage:provider",aa={guest:xi,custom:$i,common:Oi};function sa(n,o){if(n in o)throw new Error(`"${n}" ID is duplicated. IDs of identity providers have to be unique.`)}function zl(n){return n.reduce((l,u)=>{if(typeof u=="string")return sa(u,l),l[u]={components:aa[u],id:u},l;const{id:g}=u;return sa(g,l),l[g]={components:aa.common,id:g,config:u},l},{})}const Wl=(n,o)=>{const l=useApi(errorApiRef),u=useApiHolder(),[g,E]=useState(!0),O=useCallback(K=>{o(IdentityApiSignOutProxy.from({identityApi:K,signOut:async()=>{var H;localStorage.removeItem(qr),await((H=K.signOut)==null?void 0:H.call(K))}}))},[o]);useLayoutEffect(()=>{var q;if(!g)return;const K=localStorage.getItem(qr);if(K===null){E(!1);return}const H=n[K];if(!H){E(!1);return}let ee=!1;return H.components.loader(u,(q=H.config)==null?void 0:q.apiRef).then(pe=>{ee||(pe?O(pe):E(!1))}).catch(pe=>{ee||(localStorage.removeItem(qr),l.post(pe),E(!1))}),()=>{ee=!0}},[g,l,o,u,n,O]);const N=useMemo(()=>Object.keys(n).map(K=>{const H=n[K],{Component:ee}=H.components,q=pe=>{localStorage.setItem(qr,H.id),O(pe)};return React.createElement(ee,{key:H.id,config:H.config,onSignInSuccess:q})}),[n,O]);return[g,N]},Ui=({onSignInSuccess:n,providers:o=[],title:l,align:u="left"})=>{const g=useApi(configApiRef),E=useStyles(),O=getSignInProviders(o),[N,K]=useSignInProviders(O,n);return N?React.createElement(Progress,null):React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:g.getString("app.title")}),React.createElement(Content,null,l&&React.createElement(ContentHeader,{title:l,textAlign:u}),React.createElement(Grid,{container:!0,justifyContent:u==="center"?u:"flex-start",spacing:2,component:"ul",classes:E},K)))},Ni=({provider:n,auto:o,onSignInSuccess:l})=>{const u=useStyles(),g=useApi(n.apiRef),E=useApi(configApiRef),[O,N]=useState(),[K,H]=useState(!1),ee=async({checkExisting:q,showPopup:pe})=>{try{let Ee;if(q&&(Ee=await g.getBackstageIdentity({optional:!0})),!Ee&&(pe||o)&&(H(!0),Ee=await g.getBackstageIdentity({instantPopup:!0}),!Ee))throw new Error(`The ${n.title} provider is not configured to support sign-in`);if(!Ee){H(!0);return}const Re=await g.getProfile();l(UserIdentity.create({identity:Ee.identity,authApi:g,profile:Re}))}catch(Ee){N(Ee),H(!0)}};return useMountEffect(()=>ee({checkExisting:!0})),K?React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:E.getString("app.title")}),React.createElement(Content,null,React.createElement(Grid,{container:!0,justifyContent:"center",spacing:2,component:"ul",classes:u},React.createElement(GridItem,null,React.createElement(InfoCard,{variant:"fullHeight",title:n.title,actions:React.createElement(Button,{color:"primary",variant:"outlined",onClick:()=>{ee({showPopup:!0})}},"Sign In")},React.createElement(Typography,{variant:"body1"},n.message),O&&O.name!=="PopupRejectedError"&&React.createElement(Typography,{variant:"body1",color:"error"},O.message)))))):React.createElement(Progress,null)};function Hl(n){return"provider"in n?React.createElement(Ni,{...n}):React.createElement(Ui,{...n})}const Zi=(0,m.Z)(n=>({root:{padding:n.spacing(0,2,0,2.5),minHeight:n.spacing(3)},indicator:{backgroundColor:n.palette.info.main,height:n.spacing(.3)}}),{name:"BackstageTabbedCard"}),zi=(0,ln.Z)(n=>({root:{padding:n.spacing(2,2,2,2.5),display:"inline-block"},title:{fontWeight:700},subheader:{paddingTop:n.spacing(1)}}),{name:"BackstageTabbedCardBoldHeader"})(mr.Z);function jl(n){const{slackChannel:o,errorBoundaryProps:l,children:u,title:g,deepLink:E,value:O,onChange:N}=n,K=Zi(),[H,ee]=useState(0),q=N||((Re,ct)=>ee(ct));let pe;O?React.Children.map(u,Re=>{React.isValidElement(Re)&&(Re==null?void 0:Re.props.value)===O&&(pe=Re==null?void 0:Re.props.children)}):React.Children.map(u,(Re,ct)=>{React.isValidElement(Re)&&ct===H&&(pe=Re==null?void 0:Re.props.children)});const Ee=l||(o?{slackChannel:o}:{});return React.createElement(Card,null,React.createElement(ErrorBoundary,{...Ee},g&&React.createElement(zi,{title:g}),React.createElement(Tabs,{selectionFollowsFocus:!0,classes:K,value:O||H,onChange:q},u),React.createElement(Divider,null),React.createElement(CardContent,null,pe),E&&React.createElement(BottomLink,{...E})))}const Wi=(0,m.Z)(n=>({root:{minWidth:n.spacing(6),minHeight:n.spacing(3),margin:n.spacing(0,2,0,0),padding:n.spacing(.5,0,.5,0),textTransform:"none","&:hover":{opacity:1,backgroundColor:"transparent",color:n.palette.text.primary}},selected:{fontWeight:"bold"}}),{name:"BackstageCardTab"});function Vl(n){const{children:o,...l}=n,u=Wi();return React.createElement(Tab,{disableRipple:!0,classes:u,...l})}},88609:function(_,s,e){"use strict";e.d(s,{Os:function(){return f},fC:function(){return A}});var r=e(76241),t=e(2784);const c=(0,r.CT)("analytics-context"),f=()=>{const a=(0,t.useContext)(c);if(a===void 0)return{routeRef:"unknown",pluginId:"root",extension:"App"};const i=a.atVersion(1);if(i===void 0)throw new Error("No context found for version 1.");return i},A=a=>{const{attributes:i,children:d}=a,p={...f(),...i},v=(0,r.EI)({1:p});return t.createElement(c.Provider,{value:v},d)};function m(a,i){const d=y=>React.createElement(A,{attributes:i},React.createElement(a,{...y}));return d.displayName=`WithAnalyticsContext(${a.displayName||a.name||"Component"})`,d}},28461:function(_,s,e){"use strict";e.d(s,{f:function(){return r.fC},z:function(){return m}});var r=e(88609),t=e(27399),c=e(2784);class f{constructor(i,d={routeRef:"unknown",pluginId:"root",extension:"App"}){this.analyticsApi=i,this.context=d}setContext(i){this.context=i}captureEvent(i,d,{value:y,attributes:p}={}){try{this.analyticsApi.captureEvent({action:i,subject:d,value:y,attributes:p,context:this.context})}catch(v){console.warn("Error during analytics event capture. %o",v)}}}function A(){try{return(0,t.useApi)(t.analyticsApiRef)}catch{return{captureEvent:()=>{}}}}function m(){const a=(0,c.useRef)(null),i=(0,r.Os)(),d=A();function y(){return a.current===null&&(a.current=new f(d)),a.current}const p=y();return p.setContext(i),p}},39135:function(_,s,e){"use strict";e.d(s,{CL:function(){return x},sM:function(){return t},$v:function(){return p},v_:function(){return v},hg:function(){return b},uB:function(){return y},bq:function(){return d},Ds:function(){return L},NW:function(){return w},VE:function(){return z},W0:function(){return T},gP:function(){return I},F4:function(){return f},ux:function(){return m},Kp:function(){return c},$4:function(){return F},p_:function(){return a},ZM:function(){return M},D:function(){return A},gW:function(){return i},E6:function(){return G}});var r=e(86833),t;(function(J){const me="SignedIn";J.SignedIn=me;const Be="SignedOut";J.SignedOut=Be})(t||(t={}));const c=(0,r.createApiRef)({id:"core.auth.google"}),f=(0,r.createApiRef)({id:"core.auth.github"}),A=(0,r.createApiRef)({id:"core.auth.okta"}),m=(0,r.createApiRef)({id:"core.auth.gitlab"}),a=(0,r.createApiRef)({id:"core.auth.microsoft"}),i=(0,r.createApiRef)({id:"core.auth.onelogin"}),d=(0,r.createApiRef)({id:"core.auth.bitbucket"}),y=(0,r.createApiRef)({id:"core.auth.atlassian"}),p=(0,r.createApiRef)({id:"core.alert"}),v=(0,r.createApiRef)({id:"core.analytics"}),b=(0,r.createApiRef)({id:"core.apptheme"}),L=(0,r.createApiRef)({id:"core.config"}),w=(0,r.createApiRef)({id:"core.discovery"}),z=(0,r.createApiRef)({id:"core.error"});var x;(function(J){J[J.None=0]="None";const Be=1;J[J.Active=Be]="Active"})(x||(x={}));const T=(0,r.createApiRef)({id:"core.featureflags"}),I=(0,r.createApiRef)({id:"core.fetch"}),F=(0,r.createApiRef)({id:"core.identity"}),M=(0,r.createApiRef)({id:"core.oauthrequest"}),G=(0,r.createApiRef)({id:"core.storage"})},27399:function(_,s,e){"use strict";e.d(s,{FeatureFlagState:function(){return t.CL},SessionState:function(){return t.sM},alertApiRef:function(){return t.$v},analyticsApiRef:function(){return t.v_},appThemeApiRef:function(){return t.hg},atlassianAuthApiRef:function(){return t.uB},bitbucketAuthApiRef:function(){return t.bq},configApiRef:function(){return t.Ds},createApiFactory:function(){return r.createApiFactory},createApiRef:function(){return r.createApiRef},discoveryApiRef:function(){return t.NW},errorApiRef:function(){return t.VE},featureFlagsApiRef:function(){return t.W0},fetchApiRef:function(){return t.gP},githubAuthApiRef:function(){return t.F4},gitlabAuthApiRef:function(){return t.ux},googleAuthApiRef:function(){return t.Kp},identityApiRef:function(){return t.$4},microsoftAuthApiRef:function(){return t.p_},oauthRequestApiRef:function(){return t.ZM},oktaAuthApiRef:function(){return t.D},oneloginAuthApiRef:function(){return t.gW},storageApiRef:function(){return t.E6},useApi:function(){return r.useApi},useApiHolder:function(){return r.useApiHolder}});var r=e(86833);e.o(r,"FeatureFlagState")&&e.d(s,{FeatureFlagState:function(){return r.FeatureFlagState}}),e.o(r,"SessionState")&&e.d(s,{SessionState:function(){return r.SessionState}}),e.o(r,"alertApiRef")&&e.d(s,{alertApiRef:function(){return r.alertApiRef}}),e.o(r,"analyticsApiRef")&&e.d(s,{analyticsApiRef:function(){return r.analyticsApiRef}}),e.o(r,"appThemeApiRef")&&e.d(s,{appThemeApiRef:function(){return r.appThemeApiRef}}),e.o(r,"atlassianAuthApiRef")&&e.d(s,{atlassianAuthApiRef:function(){return r.atlassianAuthApiRef}}),e.o(r,"attachComponentData")&&e.d(s,{attachComponentData:function(){return r.attachComponentData}}),e.o(r,"bitbucketAuthApiRef")&&e.d(s,{bitbucketAuthApiRef:function(){return r.bitbucketAuthApiRef}}),e.o(r,"configApiRef")&&e.d(s,{configApiRef:function(){return r.configApiRef}}),e.o(r,"createComponentExtension")&&e.d(s,{createComponentExtension:function(){return r.createComponentExtension}}),e.o(r,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return r.createExternalRouteRef}}),e.o(r,"createPlugin")&&e.d(s,{createPlugin:function(){return r.createPlugin}}),e.o(r,"createReactExtension")&&e.d(s,{createReactExtension:function(){return r.createReactExtension}}),e.o(r,"createRoutableExtension")&&e.d(s,{createRoutableExtension:function(){return r.createRoutableExtension}}),e.o(r,"createRouteRef")&&e.d(s,{createRouteRef:function(){return r.createRouteRef}}),e.o(r,"discoveryApiRef")&&e.d(s,{discoveryApiRef:function(){return r.discoveryApiRef}}),e.o(r,"errorApiRef")&&e.d(s,{errorApiRef:function(){return r.errorApiRef}}),e.o(r,"featureFlagsApiRef")&&e.d(s,{featureFlagsApiRef:function(){return r.featureFlagsApiRef}}),e.o(r,"fetchApiRef")&&e.d(s,{fetchApiRef:function(){return r.fetchApiRef}}),e.o(r,"getComponentData")&&e.d(s,{getComponentData:function(){return r.getComponentData}}),e.o(r,"githubAuthApiRef")&&e.d(s,{githubAuthApiRef:function(){return r.githubAuthApiRef}}),e.o(r,"gitlabAuthApiRef")&&e.d(s,{gitlabAuthApiRef:function(){return r.gitlabAuthApiRef}}),e.o(r,"googleAuthApiRef")&&e.d(s,{googleAuthApiRef:function(){return r.googleAuthApiRef}}),e.o(r,"identityApiRef")&&e.d(s,{identityApiRef:function(){return r.identityApiRef}}),e.o(r,"microsoftAuthApiRef")&&e.d(s,{microsoftAuthApiRef:function(){return r.microsoftAuthApiRef}}),e.o(r,"oauthRequestApiRef")&&e.d(s,{oauthRequestApiRef:function(){return r.oauthRequestApiRef}}),e.o(r,"oktaAuthApiRef")&&e.d(s,{oktaAuthApiRef:function(){return r.oktaAuthApiRef}}),e.o(r,"oneloginAuthApiRef")&&e.d(s,{oneloginAuthApiRef:function(){return r.oneloginAuthApiRef}}),e.o(r,"storageApiRef")&&e.d(s,{storageApiRef:function(){return r.storageApiRef}}),e.o(r,"useApp")&&e.d(s,{useApp:function(){return r.useApp}}),e.o(r,"useElementFilter")&&e.d(s,{useElementFilter:function(){return r.useElementFilter}}),e.o(r,"useRouteRef")&&e.d(s,{useRouteRef:function(){return r.useRouteRef}}),e.o(r,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return r.useRouteRefParams}});var t=e(39135)},90515:function(_,s,e){"use strict";e.d(s,{T:function(){return t}});class r{constructor(f){if(this.config=f,!f.id.split(".").flatMap(m=>m.split("-")).every(m=>m.match(/^[a-z][a-z0-9]*$/)))throw new Error(`API id must only contain period separated lowercase alphanum tokens with dashes, got '${f.id}'`)}get id(){return this.config.id}get T(){throw new Error(`tried to read ApiRef.T of ${this}`)}toString(){return`apiRef{${this.config.id}}`}}function t(c){return new r(c)}},25182:function(_,s,e){"use strict";e.d(s,{n:function(){return r}});function r(t,c){return"id"in t?{api:t,deps:{},factory:()=>c}:t}},86833:function(_,s,e){"use strict";e.d(s,{createApiFactory:function(){return A.n},createApiRef:function(){return t.T},useApi:function(){return r.h_},useApiHolder:function(){return r.I_}});var r=e(5761),t=e(90515),c=e(16362),f=e.n(c);e.o(c,"FeatureFlagState")&&e.d(s,{FeatureFlagState:function(){return c.FeatureFlagState}}),e.o(c,"SessionState")&&e.d(s,{SessionState:function(){return c.SessionState}}),e.o(c,"alertApiRef")&&e.d(s,{alertApiRef:function(){return c.alertApiRef}}),e.o(c,"analyticsApiRef")&&e.d(s,{analyticsApiRef:function(){return c.analyticsApiRef}}),e.o(c,"appThemeApiRef")&&e.d(s,{appThemeApiRef:function(){return c.appThemeApiRef}}),e.o(c,"atlassianAuthApiRef")&&e.d(s,{atlassianAuthApiRef:function(){return c.atlassianAuthApiRef}}),e.o(c,"attachComponentData")&&e.d(s,{attachComponentData:function(){return c.attachComponentData}}),e.o(c,"bitbucketAuthApiRef")&&e.d(s,{bitbucketAuthApiRef:function(){return c.bitbucketAuthApiRef}}),e.o(c,"configApiRef")&&e.d(s,{configApiRef:function(){return c.configApiRef}}),e.o(c,"createApiFactory")&&e.d(s,{createApiFactory:function(){return c.createApiFactory}}),e.o(c,"createComponentExtension")&&e.d(s,{createComponentExtension:function(){return c.createComponentExtension}}),e.o(c,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return c.createExternalRouteRef}}),e.o(c,"createPlugin")&&e.d(s,{createPlugin:function(){return c.createPlugin}}),e.o(c,"createReactExtension")&&e.d(s,{createReactExtension:function(){return c.createReactExtension}}),e.o(c,"createRoutableExtension")&&e.d(s,{createRoutableExtension:function(){return c.createRoutableExtension}}),e.o(c,"createRouteRef")&&e.d(s,{createRouteRef:function(){return c.createRouteRef}}),e.o(c,"discoveryApiRef")&&e.d(s,{discoveryApiRef:function(){return c.discoveryApiRef}}),e.o(c,"errorApiRef")&&e.d(s,{errorApiRef:function(){return c.errorApiRef}}),e.o(c,"featureFlagsApiRef")&&e.d(s,{featureFlagsApiRef:function(){return c.featureFlagsApiRef}}),e.o(c,"fetchApiRef")&&e.d(s,{fetchApiRef:function(){return c.fetchApiRef}}),e.o(c,"getComponentData")&&e.d(s,{getComponentData:function(){return c.getComponentData}}),e.o(c,"githubAuthApiRef")&&e.d(s,{githubAuthApiRef:function(){return c.githubAuthApiRef}}),e.o(c,"gitlabAuthApiRef")&&e.d(s,{gitlabAuthApiRef:function(){return c.gitlabAuthApiRef}}),e.o(c,"googleAuthApiRef")&&e.d(s,{googleAuthApiRef:function(){return c.googleAuthApiRef}}),e.o(c,"identityApiRef")&&e.d(s,{identityApiRef:function(){return c.identityApiRef}}),e.o(c,"microsoftAuthApiRef")&&e.d(s,{microsoftAuthApiRef:function(){return c.microsoftAuthApiRef}}),e.o(c,"oauthRequestApiRef")&&e.d(s,{oauthRequestApiRef:function(){return c.oauthRequestApiRef}}),e.o(c,"oktaAuthApiRef")&&e.d(s,{oktaAuthApiRef:function(){return c.oktaAuthApiRef}}),e.o(c,"oneloginAuthApiRef")&&e.d(s,{oneloginAuthApiRef:function(){return c.oneloginAuthApiRef}}),e.o(c,"storageApiRef")&&e.d(s,{storageApiRef:function(){return c.storageApiRef}}),e.o(c,"useApp")&&e.d(s,{useApp:function(){return c.useApp}}),e.o(c,"useElementFilter")&&e.d(s,{useElementFilter:function(){return c.useElementFilter}}),e.o(c,"useRouteRef")&&e.d(s,{useRouteRef:function(){return c.useRouteRef}}),e.o(c,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return c.useRouteRefParams}});var A=e(25182)},16362:function(){},5761:function(_,s,e){"use strict";e.d(s,{I_:function(){return c},h_:function(){return f}});var r=e(2784),t=e(76241);function c(){const m=(0,t.Vt)("api-context");if(!m)throw new Error("API context is not available");const a=m.atVersion(1);if(!a)throw new Error("ApiContext v1 not available");return a}function f(m){const i=c().get(m);if(!i)throw new Error(`No implementation available for ${m}`);return i}function A(m){return function(i){const d=p=>{const v=c(),b={};for(const L in m)if(m.hasOwnProperty(L)){const w=m[L],z=v.get(w);if(!z)throw new Error(`No implementation available for ${w}`);b[L]=z}return React.createElement(i,{...p,...b})},y=i.displayName||i.name||"Component";return d.displayName=`withApis(${y})`,d}}},31311:function(_,s,e){"use strict";e.d(s,{useApp:function(){return r.q}});var r=e(32483),t=e(67229),c=e.n(t);e.o(t,"attachComponentData")&&e.d(s,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(s,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(s,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(s,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(s,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createReactExtension")&&e.d(s,{createReactExtension:function(){return t.createReactExtension}}),e.o(t,"createRoutableExtension")&&e.d(s,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(s,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(s,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(s,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(s,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useElementFilter")&&e.d(s,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(s,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return t.useRouteRefParams}})},67229:function(){},32483:function(_,s,e){"use strict";e.d(s,{q:function(){return t}});var r=e(76241);const t=()=>{const c=(0,r.Vt)("app-context");if(!c)throw new Error("App context is not available");const f=c.atVersion(1);if(!f)throw new Error("AppContext v1 not available");return f}},74181:function(_,s,e){"use strict";e.d(s,{R5:function(){return f},CO:function(){return v},YO:function(){return b},P4:function(){return p},IY:function(){return A},vJ:function(){return x}});var r=e(76241);const t=(0,r.uW)("component-data-store",()=>new WeakMap),c="__backstage_data";function f(T,I,F){var J;const M=T;let G=(J=M[c])!=null?J:t.get(T);if(G||(G={map:new Map},Object.defineProperty(M,c,{enumerable:!1,configurable:!0,writable:!1,value:G}),t.set(T,G)),G.map.has(I)){const me=T.displayName||T.name;throw new Error(`Attempted to attach duplicate data "${I}" to component "${me}"`)}G.map.set(I,F)}function A(T,I){var G;if(!T)return;const F=T.type;if(!F)return;const M=(G=F[c])!=null?G:t.get(F);if(!!M)return M.map.get(I)}var m=e(2784),a=e(88609),i=e(31311),d=e(82772);class y extends m.Component{constructor(){super(...arguments);X(this,"state",{error:void 0});X(this,"handleErrorReset",()=>{this.setState({error:void 0})})}static getDerivedStateFromError(F){return{error:F}}render(){const{error:F}=this.state,{app:M,plugin:G}=this.props,{ErrorBoundaryFallback:J}=M.getComponents();return F?m.createElement(J,{error:F,resetError:this.handleErrorReset,plugin:G}):this.props.children}}function p(T){const{component:I,mountPoint:F,name:M}=T;return b({component:{lazy:()=>I().then(G=>{const J=Be=>{try{(0,d.tg)(F)}catch(Le){if(typeof Le=="object"&&Le!==null){const{message:le}=Le;if(typeof le=="string"&&le.startsWith("No path for "))throw new Error(`Routable extension component with mount point ${F} 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 Le}return m.createElement(G,{...Be})},me=M||G.displayName||G.name||"LazyComponent";return J.displayName=`RoutableExtension(${me})`,J},G=>me=>{const Be=(0,i.useApp)(),{BootErrorPage:Le}=Be.getComponents();return m.createElement(Le,{step:"load-chunk",error:G})})},data:{"core.mountPoint":F},name:M})}function v(T){const{component:I,name:F}=T;return b({component:I,name:F})}function b(T){const{data:I={},name:F}=T;F||console.warn("Declaring extensions without name is DEPRECATED. Make sure that all usages of createReactExtension, createComponentExtension and createRoutableExtension provide a name.");let M;if("lazy"in T.component){const J=T.component.lazy;M=(0,m.lazy)(()=>J().then(me=>({default:me})))}else M=T.component.sync;const G=F||M.displayName||M.name||"Component";return{expose(J){const me=Be=>{const Le=(0,i.useApp)(),{Progress:le}=Le.getComponents(),Ne=I==null?void 0:I["core.mountPoint"];return m.createElement(m.Suspense,{fallback:m.createElement(le,null)},m.createElement(y,{app:Le,plugin:J},m.createElement(a.fC,{attributes:{pluginId:J.getId(),...F&&{extension:F},...Ne&&{routeRef:Ne.id}}},m.createElement(M,{...Be}))))};f(me,"core.plugin",J);for(const[Be,Le]of Object.entries(I))f(me,Be,Le);return me.displayName=`Extension(${G})`,me}}}var L=e(27399);function w(T,I,F,M){return m.Children.toArray(T).flatMap(G=>{if(!(0,m.isValidElement)(G))return[];if(G.type===m.Fragment)return w(G.props.children,I,F,M);if(A(G,"core.featureFlagged")){const J=G.props;return("with"in J?I.isActive(J.with):!I.isActive(J.without))?w(G.props.children,I,F,M):[]}if(F===void 0||F(G))return[G];if(M)throw new Error(M);return w(G.props.children,I,F,M)})}class z{constructor(I,F){this.node=I,this.featureFlagsApi=F}selectByComponentData(I){const F=w(this.node,this.featureFlagsApi,M=>A(M,I.key)!==void 0,I.withStrictError);return new z(F,this.featureFlagsApi)}findComponentData(I){return w(this.node,this.featureFlagsApi,M=>A(M,I.key)!==void 0).map(M=>A(M,I.key)).filter(M=>M!==void 0)}getElements(){return w(this.node,this.featureFlagsApi)}}function x(T,I,F=[]){const M=(0,L.useApi)(L.featureFlagsApiRef),G=new z(T,M);return(0,m.useMemo)(()=>I(G),[T,...F])}},80274:function(){},36964:function(_,s,e){"use strict";e.d(s,{AnalyticsContext:function(){return r.f},FeatureFlagState:function(){return t.FeatureFlagState},SessionState:function(){return t.SessionState},alertApiRef:function(){return t.alertApiRef},analyticsApiRef:function(){return t.analyticsApiRef},appThemeApiRef:function(){return t.appThemeApiRef},atlassianAuthApiRef:function(){return t.atlassianAuthApiRef},attachComponentData:function(){return f.R5},bitbucketAuthApiRef:function(){return t.bitbucketAuthApiRef},configApiRef:function(){return t.configApiRef},createComponentExtension:function(){return f.CO},createExternalRouteRef:function(){return i.x8},createPlugin:function(){return a.r},createReactExtension:function(){return f.YO},createRoutableExtension:function(){return f.P4},createRouteRef:function(){return i.NT},discoveryApiRef:function(){return t.discoveryApiRef},errorApiRef:function(){return t.errorApiRef},featureFlagsApiRef:function(){return t.featureFlagsApiRef},fetchApiRef:function(){return t.fetchApiRef},getComponentData:function(){return f.IY},githubAuthApiRef:function(){return t.githubAuthApiRef},gitlabAuthApiRef:function(){return t.gitlabAuthApiRef},googleAuthApiRef:function(){return t.googleAuthApiRef},identityApiRef:function(){return t.identityApiRef},microsoftAuthApiRef:function(){return t.microsoftAuthApiRef},oauthRequestApiRef:function(){return t.oauthRequestApiRef},oktaAuthApiRef:function(){return t.oktaAuthApiRef},oneloginAuthApiRef:function(){return t.oneloginAuthApiRef},storageApiRef:function(){return t.storageApiRef},useAnalytics:function(){return r.z},useApp:function(){return c.useApp},useElementFilter:function(){return f.vJ},useRouteRef:function(){return i.tg},useRouteRefParams:function(){return i.Oi}});var r=e(28461),t=e(27399);e.o(t,"attachComponentData")&&e.d(s,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(s,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(s,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(s,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(s,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createReactExtension")&&e.d(s,{createReactExtension:function(){return t.createReactExtension}}),e.o(t,"createRoutableExtension")&&e.d(s,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(s,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(s,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(s,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(s,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useApp")&&e.d(s,{useApp:function(){return t.useApp}}),e.o(t,"useElementFilter")&&e.d(s,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(s,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return t.useRouteRefParams}});var c=e(31311);e.o(c,"attachComponentData")&&e.d(s,{attachComponentData:function(){return c.attachComponentData}}),e.o(c,"createApiFactory")&&e.d(s,{createApiFactory:function(){return c.createApiFactory}}),e.o(c,"createApiRef")&&e.d(s,{createApiRef:function(){return c.createApiRef}}),e.o(c,"createComponentExtension")&&e.d(s,{createComponentExtension:function(){return c.createComponentExtension}}),e.o(c,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return c.createExternalRouteRef}}),e.o(c,"createPlugin")&&e.d(s,{createPlugin:function(){return c.createPlugin}}),e.o(c,"createReactExtension")&&e.d(s,{createReactExtension:function(){return c.createReactExtension}}),e.o(c,"createRoutableExtension")&&e.d(s,{createRoutableExtension:function(){return c.createRoutableExtension}}),e.o(c,"createRouteRef")&&e.d(s,{createRouteRef:function(){return c.createRouteRef}}),e.o(c,"getComponentData")&&e.d(s,{getComponentData:function(){return c.getComponentData}}),e.o(c,"useApi")&&e.d(s,{useApi:function(){return c.useApi}}),e.o(c,"useApiHolder")&&e.d(s,{useApiHolder:function(){return c.useApiHolder}}),e.o(c,"useElementFilter")&&e.d(s,{useElementFilter:function(){return c.useElementFilter}}),e.o(c,"useRouteRef")&&e.d(s,{useRouteRef:function(){return c.useRouteRef}}),e.o(c,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return c.useRouteRefParams}});var f=e(74181),A=e(80274),m=e.n(A);e.o(A,"createApiFactory")&&e.d(s,{createApiFactory:function(){return A.createApiFactory}}),e.o(A,"createApiRef")&&e.d(s,{createApiRef:function(){return A.createApiRef}}),e.o(A,"createExternalRouteRef")&&e.d(s,{createExternalRouteRef:function(){return A.createExternalRouteRef}}),e.o(A,"createPlugin")&&e.d(s,{createPlugin:function(){return A.createPlugin}}),e.o(A,"createRouteRef")&&e.d(s,{createRouteRef:function(){return A.createRouteRef}}),e.o(A,"useApi")&&e.d(s,{useApi:function(){return A.useApi}}),e.o(A,"useApiHolder")&&e.d(s,{useApiHolder:function(){return A.useApiHolder}}),e.o(A,"useRouteRef")&&e.d(s,{useRouteRef:function(){return A.useRouteRef}}),e.o(A,"useRouteRefParams")&&e.d(s,{useRouteRefParams:function(){return A.useRouteRefParams}});var a=e(96896),i=e(82772)},96896:function(_,s,e){"use strict";e.d(s,{r:function(){return t}});class r{constructor(f){this.config=f}getId(){return this.config.id}getApis(){var f;return(f=this.config.apis)!=null?f:[]}getFeatureFlags(){var f,A;return(A=(f=this.config.featureFlags)==null?void 0:f.slice())!=null?A:[]}get routes(){var f;return(f=this.config.routes)!=null?f:{}}get externalRoutes(){var f;return(f=this.config.externalRoutes)!=null?f:{}}provide(f){return f.expose(this)}toString(){return`plugin{${this.config.id}}`}}function t(c){return new r(c)}},82772:function(_,s,e){var L,w,z;"use strict";e.d(s,{x8:function(){return d},NT:function(){return f},tg:function(){return v},Oi:function(){return b}});var r=e(76241);const t=(0,r.uW)("route-ref-type",()=>Symbol("route-ref-type"));class c{constructor(T,I){X(this,L,"absolute");this.id=T,this.params=I}get title(){return this.id}toString(){return`routeRef{type=absolute,id=${this.id}}`}}L=t;function f(x){var T;return new c(x.id,(T=x.params)!=null?T:[])}const A=/^\w+$/;class m{constructor(T,I,F,M){X(this,w,"sub");this.id=T,this.path=I,this.parent=F,this.params=M}toString(){return`routeRef{type=sub,id=${this.id}}`}}w=t;function a(x){const{id:T,path:I,parent:F}=x,M=I.split("/").filter(me=>me.startsWith(":")).map(me=>me.substring(1)),G=[...F.params,...M];if(F.params.some(me=>M.includes(me)))throw new Error("SubRouteRef may not have params that overlap with its parent");if(!I.startsWith("/"))throw new Error(`SubRouteRef path must start with '/', got '${I}'`);if(I.endsWith("/"))throw new Error(`SubRouteRef path must not end with '/', got '${I}'`);for(const me of M)if(!A.test(me))throw new Error(`SubRouteRef path has invalid param, got '${me}'`);return new m(T,I,F,G)}class i{constructor(T,I,F){X(this,z,"external");this.id=T,this.params=I,this.optional=F}toString(){return`routeRef{type=external,id=${this.id}}`}}z=t;function d(x){var T;return new i(x.id,(T=x.params)!=null?T:[],Boolean(x.optional))}var y=e(2784),p=e(10289);function v(x){const T=(0,p.TH)(),I=(0,r.Vt)("routing-context");if(!I)throw new Error("Routing context is not available");const F=I.atVersion(1),M=(0,y.useMemo)(()=>F&&F.resolve(x,T),[F,x,T]);if(!I)throw new Error("useRouteRef used outside of routing context");if(!F)throw new Error("RoutingContext v1 not available");const G="optional"in x&&x.optional;if(!M&&!G)throw new Error(`No path for ${x}`);return M}function b(x){return(0,p.UO)()}},10179:function(_,s,e){"use strict";e.d(s,{SP:function(){return L},dR:function(){return p},VL:function(){return z},BD:function(){return t}});function r(x){if(typeof x!="object"||x===null||Array.isArray(x))return!1;const T=x;return!(typeof T.name!="string"||T.name===""||typeof T.message!="string")}function t(x){if(typeof x!="object"||x===null||Array.isArray(x))throw new Error(`Encountered invalid error, not an object, got '${x}'`);const T=x;if(typeof T.name!="string"||T.name==="")throw new Error(`Encountered error object without a name, got '${x}'`);if(typeof T.message!="string")throw new Error(`Encountered error object without a message, got '${x}'`)}var c=e(24852);function f(x,T){const I=serializeErrorInternal(x),F={name:"Unknown",message:"<no reason given>",...I};return T!=null&&T.includeStack||delete F.stack,F}function A(x){const T=(0,c.deserializeError)(x);return x.stack||(T.stack=void 0),T}function m(x){if(r(x)){const T=String(x);return T!=="[object Object]"?T:`${x.name}: ${x.message}`}return`unknown error '${x}'`}class a extends Error{constructor(I,F){var G;let M=I;if(F!==void 0){const J=m(F);M?M+=`; caused by ${J}`:M=`caused by ${J}`}super(M);X(this,"cause");(G=Error.captureStackTrace)==null||G.call(Error,this,this.constructor),this.name=this.constructor.name,this.cause=r(F)?F:void 0}}class i extends null{}class d extends null{}class y extends null{}class p extends a{}class v extends null{}class b extends null{}class L extends a{constructor(T,I){super(T,I),this.name=r(I)?I.name:"Error"}}async function w(x){var T;try{const I=await x.text();if(I){if((T=x.headers.get("content-type"))!=null&&T.startsWith("application/json"))try{const F=JSON.parse(I);if(F.error&&F.response)return F}catch{}return{error:{name:"Error",message:`Request failed with status ${x.status} ${x.statusText}, ${I}`},response:{statusCode:x.status}}}}catch{}return{error:{name:"Error",message:`Request failed with status ${x.status} ${x.statusText}`},response:{statusCode:x.status}}}class z extends Error{constructor(I){super(I.message);X(this,"response");X(this,"body");X(this,"cause");this.name="ResponseError",this.response=I.response,this.body=I.data,this.cause=I.cause}static async fromResponse(I){const F=await w(I),M=F.response.statusCode||I.status,G=F.error.name||I.statusText,J=`Request failed with ${M} ${G}`,me=A(F.error);return new z({message:J,response:I,data:F,cause:me})}}},36356:function(_,s,e){var p,v,b,L,w;"use strict";e.d(s,{nW:function(){return y},ae:function(){return m},q3:function(){return a}});var r=e(36964);const t=(0,r.createApiRef)({id:"core.scmauth"});class c{constructor(T){Dn(this,p,void 0);Un(this,p,T)}async getCredentials(T){const I=new URL(T.url),F=Qe(this,p).find(M=>M.isUrlSupported(I));if(!F)throw new Error(`No auth provider available for '${T.url}', see https://backstage.io/link?scm-auth`);return F.getCredentials(T)}}p=new WeakMap;const z=class{constructor(T,I,F,M){Dn(this,v,void 0);Dn(this,b,void 0);Dn(this,L,void 0);Dn(this,w,void 0);Un(this,v,I),Un(this,b,F),Un(this,L,M),Un(this,w,T)}static createDefaultApiFactory(){return createApiFactory({api:scmAuthApiRef,deps:{github:githubAuthApiRef,gitlab:gitlabAuthApiRef,azure:microsoftAuthApiRef,bitbucket:bitbucketAuthApiRef},factory:({github:T,gitlab:I,azure:F,bitbucket:M})=>z.merge(z.forGithub(T),z.forGitlab(I),z.forAzure(F),z.forBitbucket(M))})}static forAuthApi(T,I){return new z("generic",T,I.host,I.scopeMapping)}static forGithub(T,I){var M;const F=(M=I==null?void 0:I.host)!=null?M:"github.com";return new z("github",T,F,{default:["repo","read:org","read:user"],repoWrite:["gist"]})}static forGitlab(T,I){var M;const F=(M=I==null?void 0:I.host)!=null?M:"gitlab.com";return new z("gitlab",T,F,{default:["read_user","read_api","read_repository"],repoWrite:["write_repository","api"]})}static forAzure(T,I){var M;const F=(M=I==null?void 0:I.host)!=null?M:"dev.azure.com";return new z("azure",T,F,{default:["vso.build","vso.code","vso.graph","vso.project","vso.profile"],repoWrite:["vso.code_manage"]})}static forBitbucket(T,I){var M;const F=(M=I==null?void 0:I.host)!=null?M:"bitbucket.org";return new z("bitbucket",T,F,{default:["account","team","pullrequest","snippet","issue"],repoWrite:["pullrequest:write","snippet:write","issue:write"]})}static merge(...T){return new c(T)}isUrlSupported(T){return T.host===Qe(this,b)}getAdditionalScopesForProvider(T){var I,F;return!(T!=null&&T.customScopes)||Qe(this,w)==="generic"?[]:(F=(I=T.customScopes)==null?void 0:I[Qe(this,w)])!=null?F:[]}async getCredentials(T){const{url:I,additionalScope:F,...M}=T,G=Qe(this,L).default.slice();F!=null&&F.repoWrite&&G.push(...Qe(this,L).repoWrite);const J=this.getAdditionalScopesForProvider(F);J.length&&G.push(...J);const me=[...new Set(G)],Be=await Qe(this,v).getAccessToken(me,M);return{token:Be,headers:{Authorization:`Bearer ${Be}`}}}};let f=z;v=new WeakMap,b=new WeakMap,L=new WeakMap,w=new WeakMap;var A=e(68370);class m{static fromConfig(T){return A.Lx.fromConfig(T)}}const a=(0,r.createApiRef)({id:"integration.scmintegrations"});var i=e(73250),d=e(2784);const y=x=>{var G;const{type:T}=x,I=(0,r.useApp)(),F=i.Z,M=T&&(G=I.getSystemIcon(T))!=null?G:F;return d.createElement(M,null)}},68370:function(_,s,e){var Tt,at,Wt,Qt,wt,$t,tn;"use strict";e.d(s,{Lx:function(){return Mt},Pb:function(){return Gt}});var r=e(82717),t=e.n(r),c=e(76635);function f(U){const h=new URL("http://example.com");return h.host=U,h.host===U}function A(U){try{return new URL(U),!0}catch{return!1}}function m(U,h){return{list(){return U},byUrl(S){try{const B=typeof S=="string"?new URL(S):S;return U.find(W=>h(W)===B.host)}catch{return}},byHost(S){return U.find(B=>h(B)===S)}}}function a(U){const{url:h,base:S,lineNumber:B}=U;try{return new URL(h),h}catch{}let W;if(h.startsWith("/")){const{filepath:ue}=t()(S);W=new URL(S);const fe=(0,c.trimEnd)(W.pathname.substring(0,W.pathname.length-ue.length),"/");W.pathname=`${fe}${h}`}else W=new URL(h,S);return W.search=new URL(S).search,B&&(W.hash=`L${B}`),W.toString()}const i="amazonaws.com";function d(U){var ht;const h=U.getOptionalString("endpoint"),S=(ht=U.getOptionalBoolean("s3ForcePathStyle"))!=null?ht:!1;let B,W;if(h){try{const Tn=new URL(h);B=Tn.host,W=Tn.pathname}catch{throw new Error(`invalid awsS3 integration config, endpoint '${h}' is not a valid URL`)}if(W!=="/")throw new Error(`invalid awsS3 integration config, endpoints cannot contain path, got '${h}'`)}else B=i;const ue=U.getOptionalString("accessKeyId"),fe=U.getOptionalString("secretAccessKey"),xe=U.getOptionalString("roleArn"),ot=U.getOptionalString("externalId");return{host:B,endpoint:h,s3ForcePathStyle:S,accessKeyId:ue,secretAccessKey:fe,roleArn:xe,externalId:ot}}function y(U){const h=U.map(d);return h.some(S=>S.host===i)||h.push({host:i}),h}const Rt=class{get type(){return"awsS3"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}constructor(h){this.integrationConfig=h}resolveUrl(h){return a(h)}resolveEditUrl(h){return h}};let p=Rt;X(p,"factory",({config:h})=>{var B;const S=y((B=h.getOptionalConfigArray("integrations.awsS3"))!=null?B:[]);return m(S.map(W=>new Rt(W)),W=>W.config.host)});const v="GB",Cn=class{constructor(h,S,B,W,ue,fe){Dn(this,Tt,void 0);Dn(this,at,void 0);Dn(this,Wt,void 0);Dn(this,Qt,void 0);Dn(this,wt,void 0);Dn(this,$t,void 0);Dn(this,tn,(...h)=>{const S=new URL(Qe(this,Tt));return S.pathname=h.map(B=>encodeURIComponent(B)).join("/"),S});Un(this,Tt,h),Un(this,at,S),Un(this,Wt,B),Un(this,Qt,W),Un(this,wt,ue),Un(this,$t,fe)}static fromRepoUrl(h){var Tn;const S=new URL(h);let B,W,ue;const fe=S.pathname.split("/").map(vn=>decodeURIComponent(vn));if(fe[2]==="_git"?(B=fe[1],W=ue=fe[3]):fe[3]==="_git"&&(B=fe[1],W=fe[2],ue=fe[4]),!B||!W||!ue)throw new Error("Azure URL must point to a git repository");const xe=(Tn=S.searchParams.get("path"))!=null?Tn:void 0;let ot;const ht=S.searchParams.get("version");if(ht){if(ht.slice(0,2)!=="GB")throw new Error("Azure URL version must point to a git branch");ot=ht.slice(2)}return new Cn(S.origin,B,W,ue,xe,ot)}toRepoUrl(){let h;return Qe(this,Wt)===Qe(this,Qt)?h=Qe(this,tn).call(this,Qe(this,at),"_git",Qe(this,Qt)):h=Qe(this,tn).call(this,Qe(this,at),Qe(this,Wt),"_git",Qe(this,Qt)),Qe(this,wt)&&h.searchParams.set("path",Qe(this,wt)),Qe(this,$t)&&h.searchParams.set("version",v+Qe(this,$t)),h.toString()}toFileUrl(){if(!Qe(this,wt))throw new Error("Azure URL must point to a specific path to be able to download a file");const h=Qe(this,tn).call(this,Qe(this,at),Qe(this,Wt),"_apis","git","repositories",Qe(this,Qt),"items");return h.searchParams.set("api-version","6.0"),h.searchParams.set("path",Qe(this,wt)),Qe(this,$t)&&h.searchParams.set("version",Qe(this,$t)),h.toString()}toArchiveUrl(){const h=Qe(this,tn).call(this,Qe(this,at),Qe(this,Wt),"_apis","git","repositories",Qe(this,Qt),"items");return h.searchParams.set("recursionLevel","full"),h.searchParams.set("download","true"),h.searchParams.set("api-version","6.0"),Qe(this,wt)&&h.searchParams.set("scopePath",Qe(this,wt)),Qe(this,$t)&&h.searchParams.set("version",Qe(this,$t)),h.toString()}toCommitsUrl(){const h=Qe(this,tn).call(this,Qe(this,at),Qe(this,Wt),"_apis","git","repositories",Qe(this,Qt),"commits");return h.searchParams.set("api-version","6.0"),Qe(this,$t)&&h.searchParams.set("searchCriteria.itemVersion.version",Qe(this,$t)),h.toString()}getOwner(){return Qe(this,at)}getProject(){return Qe(this,Wt)}getRepo(){return Qe(this,Qt)}getPath(){return Qe(this,wt)}getRef(){return Qe(this,$t)}};let b=Cn;Tt=new WeakMap,at=new WeakMap,Wt=new WeakMap,Qt=new WeakMap,wt=new WeakMap,$t=new WeakMap,tn=new WeakMap;const L="dev.azure.com";function w(U){var B;const h=(B=U.getOptionalString("host"))!=null?B:L,S=U.getOptionalString("token");if(!f(h))throw new Error(`Invalid Azure integration config, '${h}' is not a valid host`);return{host:h,token:S}}function z(U){const h=U.map(w);return h.some(S=>S.host===L)||h.push({host:L}),h}const bt=class{constructor(h){this.integrationConfig=h}get type(){return"azure"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){var W;const{url:S,base:B}=h;if(A(S))return S;try{const ue=b.fromRepoUrl(B),fe=new URL(B),xe=new URL(`https://a.com${(W=ue.getPath())!=null?W:""}`),ot=new URL(S,xe).pathname;return fe.searchParams.set("path",ot),h.lineNumber&&(fe.searchParams.set("line",String(h.lineNumber)),fe.searchParams.set("lineEnd",String(h.lineNumber+1)),fe.searchParams.set("lineStartColumn","1"),fe.searchParams.set("lineEndColumn","1")),fe.toString()}catch{return new URL(S,B).toString()}}resolveEditUrl(h){return h}};let x=bt;X(x,"factory",({config:h})=>{var B;const S=z((B=h.getOptionalConfigArray("integrations.azure"))!=null?B:[]);return m(S.map(W=>new bt(W)),W=>W.config.host)});var T=e(48834).Buffer;function I(U){return AzureUrl.fromRepoUrl(U).toFileUrl()}function F(U){return AzureUrl.fromRepoUrl(U).toArchiveUrl()}function M(U){return AzureUrl.fromRepoUrl(U).toCommitsUrl()}function G(U,h){const S=h?{...h}:{};if(U.token){const B=T.from(`:${U.token}`,"utf8");S.Authorization=`Basic ${B.toString("base64")}`}return{headers:S}}const J="bitbucket.org",me="https://api.bitbucket.org/2.0";function Be(U){var fe;const h=(fe=U.getOptionalString("host"))!=null?fe:J;let S=U.getOptionalString("apiBaseUrl");const B=U.getOptionalString("token"),W=U.getOptionalString("username"),ue=U.getOptionalString("appPassword");if(!f(h))throw new Error(`Invalid Bitbucket integration config, '${h}' is not a valid host`);return S?S=(0,c.trimEnd)(S,"/"):h===J?S=me:S=`https://${h}/rest/api/1.0`,{host:h,apiBaseUrl:S,token:B,username:W,appPassword:ue}}function Le(U){const h=U.map(Be);return h.some(S=>S.host===J)||h.push({host:J,apiBaseUrl:me}),h}const Lt=class{constructor(h){this.integrationConfig=h}get type(){return"bitbucket"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){const S=a(h);if(!h.lineNumber)return S;const B=new URL(S);return this.integrationConfig.host==="bitbucket.org"?B.hash=`lines-${h.lineNumber}`:B.hash=`${h.lineNumber}`,B.toString()}resolveEditUrl(h){const S=t()(h),B=new URL(h);return B.searchParams.set("mode","edit"),B.searchParams.set("spa","0"),B.searchParams.set("at",S.ref),B.toString()}};let le=Lt;X(le,"factory",({config:h})=>{var B,W,ue;const S=Le((ue=h.getOptionalConfigArray("integrations.bitbucket"))!=null?ue:[...(B=h.getOptionalConfigArray("integrations.bitbucketCloud"))!=null?B:[],...(W=h.getOptionalConfigArray("integrations.bitbucketServer"))!=null?W:[]]);return m(S.map(fe=>new Lt(fe)),fe=>fe.config.host)});var Ne=e(96279),ze=e(48834).Buffer;async function Ye(U,h){const{name:S,owner:B,resource:W}=parseGitUrl(U),ue=W==="bitbucket.org";let fe=ue?`${h.apiBaseUrl}/repositories/${B}/${S}`:`${h.apiBaseUrl}/projects/${B}/repos/${S}/default-branch`,xe=await fetch(fe,lt(h));if(xe.status===404&&!ue&&(fe=`${h.apiBaseUrl}/projects/${B}/repos/${S}/branches/default`,xe=await fetch(fe,lt(h))),!xe.ok){const ht=`Failed to retrieve default branch from ${fe}, ${xe.status} ${xe.statusText}`;throw new Error(ht)}let ot;if(ue)ot=(await xe.json()).mainbranch.name;else{const{displayId:ht}=await xe.json();ot=ht}if(!ot)throw new Error(`Failed to read default branch from ${fe}. Response ${xe.status} ${xe.json()}`);return ot}async function _e(U,h){const{name:S,owner:B,ref:W,protocol:ue,resource:fe,filepath:xe}=parseGitUrl(U),ot=fe==="bitbucket.org";let ht=W;ht||(ht=await Ye(U,h));const Tn=xe?`&path=${encodeURIComponent(xe)}`:"";return ot?`${ue}://${fe}/${B}/${S}/get/${ht}.tar.gz`:`${h.apiBaseUrl}/projects/${B}/repos/${S}/archive?format=tgz&at=${ht}&prefix=${B}-${S}${Tn}`}function it(U,h){try{const{owner:S,name:B,ref:W,filepathtype:ue,filepath:fe}=parseGitUrl(U);if(!S||!B||ue!=="browse"&&ue!=="raw"&&ue!=="src")throw new Error("Invalid Bitbucket URL or file path");const xe=fe.replace(/^\//,"");if(h.host==="bitbucket.org"){if(!W)throw new Error("Invalid Bitbucket URL or file path");return`${h.apiBaseUrl}/repositories/${S}/${B}/src/${W}/${xe}`}return`${h.apiBaseUrl}/projects/${S}/repos/${B}/raw/${xe}?at=${W}`}catch(S){throw new Error(`Incorrect URL: ${U}, ${S}`)}}function lt(U){const h={};if(U.token)h.Authorization=`Bearer ${U.token}`;else if(U.username&&U.appPassword){const S=ze.from(`${U.username}:${U.appPassword}`,"utf8");h.Authorization=`Basic ${S.toString("base64")}`}return{headers:h}}const Te="bitbucket.org",st="https://api.bitbucket.org/2.0";function He(U){const h=Te,S=st,B=U.getString("username"),W=U.getString("appPassword");return{host:h,apiBaseUrl:S,username:B,appPassword:W}}function re(U){const h=U.map(He);return h.length===0&&h.push({host:Te,apiBaseUrl:st}),h}const un=class{constructor(h){this.integrationConfig=h}get type(){return"bitbucketCloud"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){const S=a(h);if(h.lineNumber){const B=new URL(S);return B.hash=`lines-${h.lineNumber}`,B.toString()}return S}resolveEditUrl(h){const S=t()(h),B=new URL(h);return B.searchParams.set("mode","edit"),B.searchParams.set("at",S.ref),B.toString()}};let he=un;X(he,"factory",({config:h})=>{var B;const S=re((B=h.getOptionalConfigArray("integrations.bitbucketCloud"))!=null?B:[]);return m(S.map(W=>new un(W)),W=>W.config.host)});var Me=e(48834).Buffer;async function be(U,h){const{name:S,owner:B}=parseGitUrl(U),W=`${h.apiBaseUrl}/repositories/${B}/${S}`,ue=await fetch(W,Ze(h));if(!ue.ok){const ot=`Failed to retrieve default branch from ${W}, ${ue.status} ${ue.statusText}`;throw new Error(ot)}const xe=(await ue.json()).mainbranch.name;if(!xe)throw new Error(`Failed to read default branch from ${W}. Response ${ue.status} ${ue.json()}`);return xe}async function Xe(U,h){const{name:S,owner:B,ref:W,protocol:ue,resource:fe}=parseGitUrl(U);let xe=W;return xe||(xe=await be(U,h)),`${ue}://${fe}/${B}/${S}/get/${xe}.tar.gz`}function Ve(U,h){try{const{owner:S,name:B,ref:W,filepathtype:ue,filepath:fe}=parseGitUrl(U);if(!S||!B||ue!=="src"&&ue!=="raw")throw new Error("Invalid Bitbucket Cloud URL or file path");const xe=fe.replace(/^\//,"");if(!W)throw new Error("Invalid Bitbucket Cloud URL or file path");return`${h.apiBaseUrl}/repositories/${S}/${B}/src/${W}/${xe}`}catch(S){throw new Error(`Incorrect URL: ${U}, ${S}`)}}function Ze(U){const h={};if(U.username&&U.appPassword){const S=Me.from(`${U.username}:${U.appPassword}`,"utf8");h.Authorization=`Basic ${S.toString("base64")}`}return{headers:h}}function ut(U){const h=U.getString("host");let S=U.getOptionalString("apiBaseUrl");const B=U.getOptionalString("token");if(!f(h))throw new Error(`Invalid Bitbucket Server integration config, '${h}' is not a valid host`);return S?S=(0,c.trimEnd)(S,"/"):S=`https://${h}/rest/api/1.0`,{host:h,apiBaseUrl:S,token:B}}function dt(U){return U.map(ut)}const hn=class{constructor(h){this.integrationConfig=h}get type(){return"bitbucketServer"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){const S=a(h);if(h.lineNumber){const B=new URL(S),W=B.pathname.split("/").slice(-1)[0];return B.hash=`${W}-${h.lineNumber}`,B.toString()}return S}resolveEditUrl(h){const S=t()(h),B=new URL(h);return B.searchParams.set("mode","edit"),B.searchParams.set("spa","0"),B.searchParams.set("at",S.ref),B.toString()}};let Ut=hn;X(Ut,"factory",({config:h})=>{var B;const S=dt((B=h.getOptionalConfigArray("integrations.bitbucketServer"))!=null?B:[]);return m(S.map(W=>new hn(W)),W=>W.config.host)});async function Sn(U,h){const{name:S,owner:B}=parseGitUrl(U);let W=`${h.apiBaseUrl}/projects/${B}/repos/${S}/default-branch`,ue=await fetch(W,pn(h));if(ue.status===404&&(W=`${h.apiBaseUrl}/projects/${B}/repos/${S}/branches/default`,ue=await fetch(W,pn(h))),!ue.ok){const ot=`Failed to retrieve default branch from ${W}, ${ue.status} ${ue.statusText}`;throw new Error(ot)}const{displayId:fe}=await ue.json(),xe=fe;if(!xe)throw new Error(`Failed to read default branch from ${W}. Response ${ue.status} ${ue.json()}`);return xe}async function jt(U,h){const{name:S,owner:B,ref:W,filepath:ue}=parseGitUrl(U);let fe=W;fe||(fe=await Sn(U,h));const xe=ue?`&path=${encodeURIComponent(ue)}`:"";return`${h.apiBaseUrl}/projects/${B}/repos/${S}/archive?format=tgz&at=${fe}&prefix=${B}-${S}${xe}`}function vt(U,h){try{const{owner:S,name:B,ref:W,filepathtype:ue,filepath:fe}=parseGitUrl(U);if(!S||!B||ue!=="browse"&&ue!=="raw"&&ue!=="src")throw new Error("Invalid Bitbucket Server URL or file path");const xe=fe.replace(/^\//,"");return`${h.apiBaseUrl}/projects/${S}/repos/${B}/raw/${xe}?at=${W}`}catch(S){throw new Error(`Incorrect URL: ${U}, ${S}`)}}function pn(U){const h={};return U.token&&(h.Authorization=`Bearer ${U.token}`),{headers:h}}function ae(U){const h=U.getString("host");let S=U.getOptionalString("baseUrl"),B=U.getOptionalString("cloneUrl"),W=U.getOptionalString("gitilesBaseUrl");const ue=U.getOptionalString("username"),fe=U.getOptionalString("password");if(f(h)){if(S&&!A(S))throw new Error(`Invalid Gerrit integration config, '${S}' is not a valid baseUrl`);if(B&&!A(B))throw new Error(`Invalid Gerrit integration config, '${B}' is not a valid cloneUrl`);if(W&&!A(W))throw new Error(`Invalid Gerrit integration config, '${W}' is not a valid gitilesBaseUrl`)}else throw new Error(`Invalid Gerrit integration config, '${h}' is not a valid host`);return S?S=(0,c.trimEnd)(S,"/"):S=`https://${h}`,W?W=(0,c.trimEnd)(W,"/"):W=`https://${h}`,B?B=(0,c.trimEnd)(B,"/"):B=S,{host:h,baseUrl:S,cloneUrl:B,gitilesBaseUrl:W,username:ue,password:fe}}function j(U){return U.map(ae)}var oe=e(48834).Buffer;const de=")]}'";function ye(U,h){const B=h.replace(U.gitilesBaseUrl,"").split("/").filter(ht=>!!ht),W=B.indexOf("+");if(W<=0)throw new Error(`Unable to parse project from url: ${h}`);const ue=(0,c.trimStart)(B.slice(0,W).join("/"),"/"),fe=B.indexOf("heads");if(fe<=0)throw new Error(`Unable to parse branch from url: ${h}`);const xe=B[fe+1],ot=B.slice(fe+2).join("/");return{branch:xe,filePath:ot===""?"/":ot,project:ue}}function Oe(U,h,S,B){return`${U.gitilesBaseUrl}/${h}/+/refs/heads/${S}/${(0,c.trimStart)(B,"/")}`}function $e(U){return U.password?"/a/":"/"}function De(U,h){const{branch:S,project:B}=ye(U,h);return`${U.baseUrl}${$e(U)}projects/${encodeURIComponent(B)}/branches/${S}`}function tt(U,h){const{project:S}=ye(U,h);return`${U.cloneUrl}${$e(U)}${S}`}function pt(U,h){const{branch:S,filePath:B,project:W}=ye(U,h);return`${U.baseUrl}${$e(U)}projects/${encodeURIComponent(W)}/branches/${S}/files/${encodeURIComponent(B)}/content`}function Zt(U){return`${U.baseUrl}${$e(U)}projects/`}function Dt(U){const h={};if(!U.password)return h;const S=oe.from(`${U.username}:${U.password}`,"utf8");return h.Authorization=`Basic ${S.toString("base64")}`,{headers:h}}async function ft(U){const h=await U.text();if(h.startsWith(de))try{return JSON.parse(h.slice(de.length))}catch(S){throw new Error(`Invalid response from Gerrit: ${h.slice(0,10)} - ${S}`)}throw new Error(`Gerrit JSON body prefix missing. Found: ${h.slice(0,10)}`)}const qt=class{constructor(h){this.integrationConfig=h}get type(){return"gerrit"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){const{url:S,base:B,lineNumber:W}=h;let ue;if(S.startsWith("/")){const{branch:fe,project:xe}=ye(this.config,B);return Oe(this.config,xe,fe,S)}return S?ue=new URL(S,B):ue=new URL(B),W&&(ue.hash=W.toString()),ue.toString()}resolveEditUrl(h){return h}};let Ft=qt;X(Ft,"factory",({config:h})=>{var B;const S=j((B=h.getOptionalConfigArray("integrations.gerrit"))!=null?B:[]);return m(S.map(W=>new qt(W)),W=>W.config.host)});const zt="github.com",Jt="https://api.github.com",yn="https://raw.githubusercontent.com";function En(U){var fe,xe;const h=(fe=U.getOptionalString("host"))!=null?fe:zt;let S=U.getOptionalString("apiBaseUrl"),B=U.getOptionalString("rawBaseUrl");const W=U.getOptionalString("token"),ue=(xe=U.getOptionalConfigArray("apps"))==null?void 0:xe.map(ot=>({appId:ot.getNumber("appId"),clientId:ot.getString("clientId"),clientSecret:ot.getString("clientSecret"),webhookSecret:ot.getString("webhookSecret"),privateKey:ot.getString("privateKey"),allowedInstallationOwners:ot.getOptionalStringArray("allowedInstallationOwners")}));if(!f(h))throw new Error(`Invalid GitHub integration config, '${h}' is not a valid host`);return S?S=(0,c.trimEnd)(S,"/"):h===zt&&(S=Jt),B?B=(0,c.trimEnd)(B,"/"):h===zt&&(B=yn),{host:h,apiBaseUrl:S,rawBaseUrl:B,token:W,apps:ue}}function Ct(U){const h=U.map(En);return h.some(S=>S.host===zt)||h.push({host:zt,apiBaseUrl:Jt,rawBaseUrl:yn}),h}function nt(U,h,S){try{const{owner:B,name:W,ref:ue,filepathtype:fe,filepath:xe}=parseGitUrl(U);if(!B||!W||!ue||fe!=="blob"&&fe!=="raw"&&fe!=="tree")throw new Error("Invalid GitHub URL or file path");const ot=xe.replace(/^\//,"");return ne(h,S)==="api"?`${h.apiBaseUrl}/repos/${B}/${W}/contents/${ot}?ref=${ue}`:`${h.rawBaseUrl}/${B}/${W}/${ue}/${ot}`}catch(B){throw new Error(`Incorrect URL: ${U}, ${B}`)}}function Vt(U,h){const S={};return ne(U,h)==="api"&&(S.Accept="application/vnd.github.v3.raw"),h.token&&(S.Authorization=`token ${h.token}`),{headers:S}}function ne(U,h){return U.apiBaseUrl&&(h.token||!U.rawBaseUrl)?"api":"raw"}class V{constructor(){X(this,"tokenCache",new Map);X(this,"isNotExpired",h=>h.diff(DateTime.local(),"minutes").minutes>50)}async getOrCreateToken(h,S){const B=this.tokenCache.get(h);if(B&&this.isNotExpired(B.expiresAt))return{accessToken:B.token};const W=await S();return this.tokenCache.set(h,W),{accessToken:W.token}}}const ce={Accept:"application/vnd.github.machine-man-preview+json"};class Ue{constructor(h,S){X(this,"appClient");X(this,"baseUrl");X(this,"baseAuthConfig");X(this,"cache",new V);X(this,"allowedInstallationOwners");this.allowedInstallationOwners=h.allowedInstallationOwners,this.baseUrl=S,this.baseAuthConfig={appId:h.appId,privateKey:h.privateKey.replace(/\\n/gm,`
|
|
31
|
+
`)},this.appClient=new Octokit({baseUrl:S,headers:ce,authStrategy:createAppAuth,auth:this.baseAuthConfig})}async getInstallationCredentials(h,S){var fe;const{installationId:B,suspended:W}=await this.getInstallationData(h);if(this.allowedInstallationOwners&&!((fe=this.allowedInstallationOwners)!=null&&fe.includes(h)))return{accessToken:void 0};if(W)throw new Error(`The GitHub application for ${h} is suspended`);const ue=S?`${h}/${S}`:h;return this.cache.getOrCreateToken(ue,async()=>{const xe=await this.appClient.apps.createInstallationAccessToken({installation_id:B,headers:ce});if(S&&xe.data.repository_selection==="selected"){const ot=new Octokit({baseUrl:this.baseUrl,auth:xe.data.token});if(!(await ot.paginate(ot.apps.listReposAccessibleToInstallation)).some(vn=>vn.name===S))throw new Error(`The Backstage GitHub application used in the ${h} organization does not have access to a repository with the name ${S}`)}return{token:xe.data.token,expiresAt:DateTime.fromISO(xe.data.expires_at)}})}getInstallations(){return this.appClient.paginate(this.appClient.apps.listInstallations)}async getInstallationData(h){const B=(await this.getInstallations()).find(ue=>{var fe,xe;return((xe=(fe=ue.account)==null?void 0:fe.login)==null?void 0:xe.toLocaleLowerCase("en-US"))===h.toLocaleLowerCase("en-US")});if(B)return{installationId:B.id,suspended:Boolean(B.suspended_by)};const W=new Error(`No app installation found for ${h} in ${this.baseAuthConfig.appId}`);throw W.name="NotFoundError",W}}class ke{constructor(h){X(this,"apps");var S,B;this.apps=(B=(S=h.apps)==null?void 0:S.map(W=>new Ue(W,h.apiBaseUrl)))!=null?B:[]}async getAllInstallations(){return this.apps.length?(await Promise.all(this.apps.map(S=>S.getInstallations()))).flat():[]}async getAppToken(h,S){if(this.apps.length===0)return;const B=await Promise.all(this.apps.map(xe=>xe.getInstallationCredentials(h,S).then(ot=>({credentials:ot,error:void 0}),ot=>({credentials:void 0,error:ot})))),W=B.find(xe=>xe.credentials);if(W)return W.credentials.accessToken;const fe=B.map(xe=>xe.error).find(xe=>xe.name!=="NotFoundError");if(fe)throw fe}}class qe{constructor(h,S){this.githubAppCredentialsMux=h,this.token=S}async getCredentials(h){const S=parseGitUrl(h.url),B=S.owner||S.name,W=S.owner?S.name:void 0;let ue="app",fe=await this.githubAppCredentialsMux.getAppToken(B,W);return fe||(ue="token",fe=this.token),{headers:fe?{Authorization:`Bearer ${fe}`}:void 0,token:fe,type:ue}}}X(qe,"create",null);class mt{static fromIntegrations(h){const S=new Map;return h.github.list().forEach(B=>{const W=SingleInstanceGithubCredentialsProvider.create(B.config);S.set(B.config.host,W)}),new mt(S)}constructor(h){this.providers=h}async getCredentials(h){const S=new URL(h.url),B=this.providers.get(S.host);if(!B)throw new Error(`There is no GitHub integration that matches ${h.url}. Please add a configuration for an integration.`);return B.getCredentials(h)}}const sn=class{constructor(h){this.integrationConfig=h}get type(){return"github"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){return Gt(a(h),"tree")}resolveEditUrl(h){return Gt(h,"edit")}};let Bt=sn;X(Bt,"factory",({config:h})=>{var B;const S=Ct((B=h.getOptionalConfigArray("integrations.github"))!=null?B:[]);return m(S.map(W=>new sn(W)),W=>W.config.host)});function Gt(U,h){return U.replace(/\/\/([^/]+)\/([^/]+)\/([^/]+)\/(blob|tree|edit)\//,(S,B,W,ue)=>`//${B}/${W}/${ue}/${h}/`)}const nn="gitlab.com",rn="https://gitlab.com/api/v4";function At(U){const h=U.getString("host");let S=U.getOptionalString("apiBaseUrl");const B=U.getOptionalString("token");let W=U.getOptionalString("baseUrl");if(S?S=(0,c.trimEnd)(S,"/"):h===nn&&(S=rn),W?W=(0,c.trimEnd)(W,"/"):W=`https://${h}`,f(h)){if(!S||!A(S))throw new Error(`Invalid GitLab integration config, '${S}' is not a valid apiBaseUrl`);if(!A(W))throw new Error(`Invalid GitLab integration config, '${W}' is not a valid baseUrl`)}else throw new Error(`Invalid GitLab integration config, '${h}' is not a valid host`);return{host:h,token:B,apiBaseUrl:S,baseUrl:W}}function Kt(U){const h=U.map(At);return h.some(S=>S.host===nn)||h.push({host:nn,apiBaseUrl:rn,baseUrl:`https://${nn}`}),h}var D=e(10179);async function te(U,h){if(U.includes("/-/blob/")){const S=await Ge(U,h);return Se(U,S).toString()}return Ae(U).toString()}function ge(U){const{token:h=""}=U;return{headers:{"PRIVATE-TOKEN":h}}}function Ae(U){try{const h=new URL(U),S=h.pathname.split("/").filter(Boolean),B=S.indexOf("blob",2);if(B<2||B===S.length-1)throw new InputError("Wrong GitLab URL");const W=S.slice(0,B),ue=S.slice(B+1);if(!ue.join("/").match(/\.(yaml|yml)$/))throw new InputError("Wrong GitLab URL");return h.pathname=[...W,"raw",...ue].join("/"),h}catch(h){throw new InputError(`Incorrect url: ${U}, ${h}`)}}function Se(U,h){try{const S=new URL(U),B=S.pathname.split("/-/blob/")[1],[W,...ue]=B.split("/");return S.pathname=["/api/v4/projects",h,"repository/files",encodeURIComponent(decodeURIComponent(ue.join("/"))),"raw"].join("/"),S.search=`?ref=${W}`,S}catch(S){throw new Error(`Incorrect url: ${U}, ${S}`)}}async function Ge(U,h){const S=new URL(U);if(!S.pathname.includes("/-/blob/"))throw new Error("Please provide full path to yaml file from GitLab");try{const B=S.pathname.split("/-/blob/")[0],W=new URL(`${S.origin}/api/v4/projects/${encodeURIComponent(B.replace(/^\//,""))}`),ue=await fetch(W.toString(),ge(h)),fe=await ue.json();if(!ue.ok)throw new Error(`GitLab Error '${fe.error}', ${fe.error_description}`);return Number(fe.id)}catch(B){throw new Error(`Could not get GitLab project ID for: ${U}, ${B}`)}}const Hn=class{constructor(h){this.integrationConfig=h}get type(){return"gitlab"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(h){return a(h)}resolveEditUrl(h){return Nt(h,"edit")}};let et=Hn;X(et,"factory",({config:h})=>{var B;const S=Kt((B=h.getOptionalConfigArray("integrations.gitlab"))!=null?B:[]);return m(S.map(W=>new Hn(W)),W=>W.config.host)});function Nt(U,h){return U.replace(/\/\-\/(blob|tree|edit)\//,`/-/${h}/`)}class Mt{constructor(h){X(this,"byType");this.byType=h}static fromConfig(h){return new Mt({awsS3:p.factory({config:h}),azure:x.factory({config:h}),bitbucket:le.factory({config:h}),bitbucketCloud:he.factory({config:h}),bitbucketServer:Ut.factory({config:h}),gerrit:Ft.factory({config:h}),github:Bt.factory({config:h}),gitlab:et.factory({config:h})})}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}list(){return Object.values(this.byType).flatMap(h=>h.list())}byUrl(h){return Object.values(this.byType).map(S=>S.byUrl(h)).find(Boolean)}byHost(h){return Object.values(this.byType).map(S=>S.byHost(h)).find(Boolean)}resolveUrl(h){const S=this.byUrl(h.base);return S?S.resolveUrl(h):a(h)}resolveEditUrl(h){const S=this.byUrl(h);return S?S.resolveEditUrl(h):h}}},46054:function(_,s,e){"use strict";var r={};e.r(r),e.d(r,{TechDocsPlugin:function(){return A.plugin}});var t=e(2784),c=e(47093),f=e(10289),A=e(82250),m=e(26136),a=e(49208),i=e(36964),d=e(68099);const y=[(0,i.createApiFactory)({api:i.discoveryApiRef,deps:{configApi:i.configApiRef},factory:({configApi:P})=>a.UrlPatternDiscovery.compile(`${P.getString("backend.baseUrl")}/api/{{ pluginId }}`)}),(0,i.createApiFactory)({api:i.alertApiRef,deps:{},factory:()=>new a.AlertApiForwarder}),(0,i.createApiFactory)({api:i.analyticsApiRef,deps:{},factory:()=>new a.NoOpAnalyticsApi}),(0,i.createApiFactory)({api:i.errorApiRef,deps:{alertApi:i.alertApiRef},factory:({alertApi:P})=>{const Q=new a.ErrorAlerter(P,new a.ErrorApiForwarder);return a.UnhandledErrorForwarder.forward(Q,{hidden:!1}),Q}}),(0,i.createApiFactory)({api:i.storageApiRef,deps:{errorApi:i.errorApiRef},factory:({errorApi:P})=>a.WebStorage.create({errorApi:P})}),(0,i.createApiFactory)({api:i.fetchApiRef,deps:{configApi:i.configApiRef,identityApi:i.identityApiRef,discoveryApi:i.discoveryApiRef},factory:({configApi:P,identityApi:Q,discoveryApi:ie})=>(0,a.createFetchApi)({middleware:[a.FetchMiddlewares.resolvePluginProtocol({discoveryApi:ie}),a.FetchMiddlewares.injectIdentityAuth({identityApi:Q,config:P})]})}),(0,i.createApiFactory)({api:i.oauthRequestApiRef,deps:{},factory:()=>new a.OAuthRequestManager}),(0,i.createApiFactory)({api:i.googleAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:P,oauthRequestApi:Q,configApi:ie})=>a.GoogleAuth.create({discoveryApi:P,oauthRequestApi:Q,environment:ie.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.microsoftAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:P,oauthRequestApi:Q,configApi:ie})=>a.MicrosoftAuth.create({discoveryApi:P,oauthRequestApi:Q,environment:ie.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.githubAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:P,oauthRequestApi:Q,configApi:ie})=>a.GithubAuth.create({discoveryApi:P,oauthRequestApi:Q,defaultScopes:["read:user"],environment:ie.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.oktaAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:P,oauthRequestApi:Q,configApi:ie})=>a.OktaAuth.create({discoveryApi:P,oauthRequestApi:Q,environment:ie.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.gitlabAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:P,oauthRequestApi:Q,configApi:ie})=>a.GitlabAuth.create({discoveryApi:P,oauthRequestApi:Q,environment:ie.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.oneloginAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:P,oauthRequestApi:Q,configApi:ie})=>a.OneLoginAuth.create({discoveryApi:P,oauthRequestApi:Q,environment:ie.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.bitbucketAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:P,oauthRequestApi:Q,configApi:ie})=>a.BitbucketAuth.create({discoveryApi:P,oauthRequestApi:Q,defaultScopes:["team"],environment:ie.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:i.atlassianAuthApiRef,deps:{discoveryApi:i.discoveryApiRef,oauthRequestApi:i.oauthRequestApiRef,configApi:i.configApiRef},factory:({discoveryApi:P,oauthRequestApi:Q,configApi:ie})=>a.AtlassianAuth.create({discoveryApi:P,oauthRequestApi:Q,environment:ie.getOptionalString("auth.environment")})}),(0,i.createApiFactory)({api:d.RV,deps:{discovery:i.discoveryApiRef,identity:i.identityApiRef,config:i.configApiRef},factory:({config:P,discovery:Q,identity:ie})=>d.iM.create({config:P,discovery:Q,identity:ie})})];var p=e(77277),v=e(53492),b=e(62833);function L({children:P}){return(0,f.GV)()?t.createElement(t.Fragment,null,P):t.createElement(f.VA,null,P)}const w=()=>t.createElement(v.ErrorPage,{status:"404",statusMessage:"PAGE NOT FOUND"}),z=({step:P,error:Q})=>{let ie="";return P==="load-config"?ie=`The configuration failed to load, someone should have a look at this error: ${Q.message}`:P==="load-chunk"&&(ie=`Lazy loaded chunk failed to load, try to reload the page: ${Q.message}`),t.createElement(L,null,t.createElement(v.ErrorPage,{status:"501",statusMessage:ie}))},x=({error:P,resetError:Q,plugin:ie})=>t.createElement(v.ErrorPanel,{title:`Error in ${ie==null?void 0:ie.getId()}`,defaultExpanded:!0,error:P},t.createElement(p.Z,{variant:"outlined",onClick:Q},"Retry")),T={Progress:v.Progress,Router:b.VK,NotFoundErrorPage:w,BootErrorPage:z,ErrorBoundaryFallback:x};var I=e(43642),F=e(80079),M=e(90941),G=e(32915),J=e(40562),me=e(21853),Be=e(60744),Le=e(66569),le=e(30254),Ne=e(13384),ze=e(15933),Ye=e(58838),_e=e(86737),it=e(4989),lt=e(44407),Te=e(18628),st=e(84219),He=e(98685),re=e(39781);const he={brokenImage:F.Z,catalog:Te.Z,scaffolder:G.Z,techdocs:J.Z,search:me.Z,chat:Be.Z,dashboard:Le.Z,docs:le.Z,email:Ne.Z,github:Ye.Z,group:st.Z,help:_e.Z,"kind:api":ze.Z,"kind:component":lt.Z,"kind:domain":I.Z,"kind:group":st.Z,"kind:location":it.Z,"kind:system":M.Z,"kind:user":He.Z,user:He.Z,warning:re.Z};var Me=e(73689),be=e(48032);const Xe={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")`},Ve={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"]};function Ze(P,Q){const Pe=`linear-gradient(90deg, ${(P.length===1?[P[0],P[0]]:P).join(", ")})`,Ke=`${Q}, ${Pe}`;return{colors:P,shape:Q,backgroundImage:Ke}}const ut={home:Ze(Ve.teal,Xe.wave),documentation:Ze(Ve.pinkSea,Xe.wave2),tool:Ze(Ve.purpleSky,Xe.round),service:Ze(Ve.marineBlue,Xe.wave),website:Ze(Ve.veryBlue,Xe.wave),library:Ze(Ve.rubyRed,Xe.wave),other:Ze(Ve.darkGrey,Xe.wave),app:Ze(Ve.toastyOrange,Xe.wave),apis:Ze(Ve.teal,Xe.wave2)},dt='"Helvetica Neue", Helvetica, Roboto, Arial, sans-serif';function Ut(P){const{palette:Q,fontFamily:ie=dt,defaultPageTheme:Pe,pageTheme:Ke=ut}=P;if(!Ke[Pe])throw new Error(`${Pe} is not defined in pageTheme.`);return{palette:Q,props:{MuiGrid:{spacing:2},MuiSwitch:{color:"primary"}},typography:{fontFamily:ie,h5:{fontWeight:700},h4:{fontWeight:700,fontSize:28,marginBottom:6},h3:{fontSize:32,fontWeight:700,marginBottom:6},h2:{fontSize:40,fontWeight:700,marginBottom:8},h1:{fontSize:54,fontWeight:700,marginBottom:10}},page:Ke[Pe],getPageTheme:({themeId:gt})=>{var yt;return(yt=Ke[gt])!=null?yt:Ke[Pe]}}}function Sn(P){return{MuiCssBaseline:{"@global":{html:{height:"100%",fontFamily:P.typography.fontFamily},body:{height:"100%",fontFamily:P.typography.fontFamily,"overscroll-behavior-y":"none"},a:{color:"inherit",textDecoration:"none"}}},MuiTableRow:{root:{"&:nth-of-type(odd)":{backgroundColor:P.palette.background.default}},hover:{"&:hover":{cursor:"pointer"}},head:{"&:nth-of-type(odd)":{backgroundColor:P.palette.background.paper}}},MuiTableCell:{root:{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:P.spacing(3,2,3,2.5),borderBottom:0},sizeSmall:{padding:P.spacing(1.5,2,1.5,2.5)},head:{wordBreak:"break-word",overflow:"hidden",color:"rgb(179, 179, 179)",fontWeight:"normal",lineHeight:"1"}},MuiTabs:{root:{minHeight:24}},MuiTab:{root:{color:P.palette.link,minHeight:24,textTransform:"initial",letterSpacing:"0.07em","&:hover":{color:(0,be.darken)(P.palette.link,.3),background:(0,be.lighten)(P.palette.link,.95)},[P.breakpoints.up("md")]:{minWidth:120,fontSize:P.typography.pxToRem(14),fontWeight:500}},textColorPrimary:{color:P.palette.link}},MuiTableSortLabel:{root:{color:"inherit","&:hover":{color:"inherit"},"&:focus":{color:"inherit"}},active:{fontWeight:"bold",color:"inherit"}},MuiListItemText:{dense:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},MuiButton:{text:{padding:void 0}},MuiChip:{root:{backgroundColor:"#D9D9D9",marginRight:P.spacing(1),marginBottom:P.spacing(1),color:P.palette.grey[900]},outlined:{color:P.palette.text.primary},label:{lineHeight:`${P.spacing(2.5)}px`,fontWeight:P.typography.fontWeightMedium,fontSize:`${P.spacing(1.75)}px`},labelSmall:{fontSize:`${P.spacing(1.5)}px`},deleteIcon:{color:P.palette.grey[500],width:`${P.spacing(3)}px`,height:`${P.spacing(3)}px`,margin:`0 ${P.spacing(.75)}px 0 -${P.spacing(.75)}px`},deleteIconSmall:{width:`${P.spacing(2)}px`,height:`${P.spacing(2)}px`,margin:`0 ${P.spacing(.5)}px 0 -${P.spacing(.5)}px`}},MuiCard:{root:{display:"flex",flexDirection:"column"}},MuiCardHeader:{root:{paddingBottom:0}},MuiCardContent:{root:{flexGrow:1,"&:last-child":{paddingBottom:void 0}}},MuiCardActions:{root:{justifyContent:"flex-end"}}}}function jt(P){const Q=Ut(P),ie=(0,Me.Z)(Q),Pe=Sn(ie);return{...ie,overrides:Pe}}var vt=e(34505);const pn=jt({palette:{type:"light",background:{default:"#F8F8F8"},status:{ok:"#1DB954",warning:"#FF9800",error:"#E22134",running:"#2E77D0",pending:"#FFED51",aborted:"#757575"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#2E77D0"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",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:vt.Z.A700,navigation:{background:"#171717",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#181818",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}},defaultPageTheme:"home",pageTheme:ut}),ae=jt({palette:{type:"dark",background:{default:"#333333"},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",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:vt.Z.A700,navigation:{background:"#424242",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#404040",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}},defaultPageTheme:"home",pageTheme:ut});var j=e(98192),oe=e(15222),de=e(41547),ye=e(87561);const Oe=[{id:"light",title:"Light Theme",variant:"light",icon:t.createElement(oe.Z,null),Provider:({children:P})=>t.createElement(de.Z,{theme:pn},t.createElement(ye.ZP,null,P))},{id:"dark",title:"Dark Theme",variant:"dark",icon:t.createElement(j.Z,null),Provider:({children:P})=>t.createElement(de.Z,{theme:ae},t.createElement(ye.ZP,null,P))}];function $e(P){var Q,ie,Pe;return(0,a.createSpecializedApp)({...P,apis:(Q=P==null?void 0:P.apis)!=null?Q:[],bindRoutes:P==null?void 0:P.bindRoutes,components:{...T,...P==null?void 0:P.components},configLoader:P==null?void 0:P.configLoader,defaultApis:y,icons:{...he,...P==null?void 0:P.icons},plugins:(ie=P==null?void 0:P.plugins)!=null?ie:[],themes:(Pe=P==null?void 0:P.themes)!=null?Pe:Oe})}var De=e(82394),tt=e.n(De),pt=e(48023),Zt=e(76635);async function Dt({storageApi:P}){var gt;const Q=P.forBucket("settings"),ie=P.forBucket("starredEntities"),Pe=Q.snapshot("starredEntities").value;if(!(0,Zt.isArray)(Pe))return;const Ke=new Set((gt=ie.snapshot("entityRefs").value)!=null?gt:[]);Pe.filter(Zt.isString).map(yt=>yt.split(":")).filter(yt=>yt.length===4&&yt[0]==="entity").map(([yt,R,C,$])=>(0,pt.eE)({kind:R,namespace:C,name:$})).forEach(yt=>Ke.add(yt)),await ie.set("entityRefs",Array.from(Ke)),await Q.remove("starredEntities")}class ft{constructor(Q){X(this,"settingsStore");X(this,"starredEntities");X(this,"subscribers",new Set);X(this,"observable",new(tt())(Q=>(Q.next(new Set(this.starredEntities)),this.subscribers.add(Q),()=>{this.subscribers.delete(Q)})));var ie;Dt(Q).then(),this.settingsStore=Q.storageApi.forBucket("starredEntities"),this.starredEntities=new Set((ie=this.settingsStore.snapshot("entityRefs").value)!=null?ie:[]),this.settingsStore.observe$("entityRefs").subscribe({next:Pe=>{var Ke;this.starredEntities=new Set((Ke=Pe.value)!=null?Ke:[]),this.notifyChanges()}})}async toggleStarred(Q){this.starredEntities.has(Q)?this.starredEntities.delete(Q):this.starredEntities.add(Q),await this.settingsStore.set("entityRefs",Array.from(this.starredEntities))}starredEntitie$(){return this.observable}notifyChanges(){for(const Q of this.subscribers)Q.next(new Set(this.starredEntities))}}var Ft=e(39398),zt=e(49782),Jt=e(79692),yn=e(73624);const En=(0,Jt.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",wordBreak:"break-all",marginBottom:"1rem"}});function Ct(P){var Pe,Ke;const Q=P.result,ie=En();return React.createElement(Link,{to:Q.location},React.createElement(ListItem,{alignItems:"flex-start",className:ie.flexContainer},React.createElement(ListItemText,{className:ie.itemText,primaryTypographyProps:{variant:"h6"},primary:(Pe=P.highlight)!=null&&Pe.fields.title?React.createElement(HighlightedSearchResultText,{text:P.highlight.fields.title,preTag:P.highlight.preTag,postTag:P.highlight.postTag}):Q.title,secondary:(Ke=P.highlight)!=null&&Ke.fields.text?React.createElement(HighlightedSearchResultText,{text:P.highlight.fields.text,preTag:P.highlight.preTag,postTag:P.highlight.postTag}):Q.text}),React.createElement(Box,null,Q.kind&&React.createElement(Chip,{label:`Kind: ${Q.kind}`,size:"small"}),Q.lifecycle&&React.createElement(Chip,{label:`Lifecycle: ${Q.lifecycle}`,size:"small"}))),React.createElement(Divider,{component:"li"}))}var nt=e(30097),Vt=e(53479),ne=e(95544),V=e(99688),ce=e(12231),Ue=e(86136),ke=e(49378),qe=e(85256),mt=e(61837),Bt=e(79784),Gt=e(50758),nn=e(49166),rn=e(31654),At=e(43054),Kt=e(40749);const D="catalog-entity",te=(0,Kt.J$)({name:"catalog.entity.read",attributes:{action:"read"},resourceType:D}),ge=(0,Kt.J$)({name:"catalog.entity.create",attributes:{action:"create"}}),Ae=(0,Kt.J$)({name:"catalog.entity.delete",attributes:{action:"delete"},resourceType:D}),Se=(0,Kt.J$)({name:"catalog.entity.refresh",attributes:{action:"update"},resourceType:D}),Ge=(0,Kt.J$)({name:"catalog.location.read",attributes:{action:"read"}}),et=(0,Kt.J$)({name:"catalog.location.create",attributes:{action:"create"}}),Nt=(0,Kt.J$)({name:"catalog.location.delete",attributes:{action:"delete"}}),Mt=(0,Jt.Z)({button:{color:"white"}});function Rt(P){var se;const{UNSTABLE_extraContextMenuItems:Q,UNSTABLE_contextMenuOptions:ie,onUnregisterEntity:Pe,onInspectEntity:Ke}=P,[gt,yt]=(0,t.useState)(),R=Mt(),C=(0,Vt.useEntityPermission)(Ae),$=ve=>{yt(ve.currentTarget)},Z=()=>{yt(void 0)},Y=Q&&[...Q.map(ve=>t.createElement(ce.Z,{key:ve.title,onClick:()=>{Z(),ve.onClick()}},t.createElement(Ue.Z,null,t.createElement(ve.Icon,{fontSize:"small"})),t.createElement(ke.Z,{primary:ve.title}))),t.createElement(qe.Z,{key:"the divider is here!"})],k=(se=!C.allowed||(ie==null?void 0:ie.disableUnregister))!=null?se:!1;return t.createElement(t.Fragment,null,t.createElement(mt.Z,{"aria-label":"more","aria-controls":"long-menu","aria-haspopup":"true","aria-expanded":!!gt,role:"button",onClick:$,"data-testid":"menu-button",className:R.button,id:"long-menu"},t.createElement(At.Z,null)),t.createElement(Bt.ZP,{open:Boolean(gt),onClose:Z,anchorEl:gt,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},"aria-labelledby":"long-menu"},t.createElement(Gt.Z,null,Y,t.createElement(ce.Z,{onClick:()=>{Z(),Pe()},disabled:k},t.createElement(Ue.Z,null,t.createElement(nn.Z,{fontSize:"small"})),t.createElement(ke.Z,{primary:"Unregister entity"})),t.createElement(ce.Z,{onClick:()=>{Z(),Ke()}},t.createElement(Ue.Z,null,t.createElement(rn.Z,{fontSize:"small"})),t.createElement(ke.Z,{primary:"Inspect entity"})))))}const Tt="plugin.catalog.entityLayoutRoute",at=()=>null;(0,i.attachComponentData)(at,Tt,!0),(0,i.attachComponentData)(at,"core.gatherMountPoints",!0);function Wt(P){const{entity:Q,title:ie}=P;return t.createElement(ne.Z,{display:"inline-flex",alignItems:"center",height:"1em",maxWidth:"100%"},t.createElement(ne.Z,{component:"span",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},ie),Q&&t.createElement(Vt.FavoriteEntity,{entity:Q}))}function Qt(P,Q,ie,Pe){var R,C,$,Z,Y;const Ke=(R=P!=null?P:Pe==null?void 0:Pe.kind)!=null?R:"",gt=(C=Q!=null?Q:Pe==null?void 0:Pe.metadata.namespace)!=null?C:"";return{headerTitle:`${(Y=(Z=($=Pe==null?void 0:Pe.metadata.title)!=null?$:ie)!=null?Z:Pe==null?void 0:Pe.metadata.name)!=null?Y:""}${gt&>!==pt.zG?` in ${gt}`:""}`,headerType:(()=>{let k=Ke.toLocaleLowerCase("en-US");return Pe&&Pe.spec&&"type"in Pe.spec&&(k+=" \u2014 ",k+=Pe.spec.type.toLocaleLowerCase("en-US")),k})()}}function wt(P){var Pe;const{entity:Q}=P,ie=(0,Vt.getEntityRelations)(Q,pt.S4);return t.createElement(t.Fragment,null,ie.length>0&&t.createElement(v.HeaderLabel,{label:"Owner",value:t.createElement(Vt.EntityRefLinks,{entityRefs:ie,defaultKind:"Group",color:"inherit"})}),((Pe=Q.spec)==null?void 0:Pe.lifecycle)&&t.createElement(v.HeaderLabel,{label:"Lifecycle",value:Q.spec.lifecycle}))}const $t=P=>{var Je,We,St;const{UNSTABLE_extraContextMenuItems:Q,UNSTABLE_contextMenuOptions:ie,children:Pe,NotFoundComponent:Ke}=P,{kind:gt,namespace:yt,name:R}=(0,i.useRouteRefParams)(Vt.entityRouteRef),{entity:C,loading:$,error:Z}=(0,Vt.useAsyncEntity)(),Y=(0,f.TH)(),k=(0,i.useElementFilter)(Pe,kt=>kt.selectByComponentData({key:Tt,withStrictError:"Child of EntityLayout must be an EntityLayout.Route"}).getElements().flatMap(({props:gn})=>{if(C){if(gn.if&&!gn.if(C))return[]}else return[];return[{path:gn.path,title:gn.title,children:gn.children,tabProps:gn.tabProps}]}),[C]),{headerTitle:se,headerType:ve}=Qt(gt,yt,R,C),[we,Ce]=(0,t.useState)(!1),[Ie,Fe]=(0,t.useState)(!1),je=(0,f.s0)(),Et=async()=>{Ce(!1),Fe(!1),je("/")};return(0,t.useEffect)(()=>{Ce(!1),Fe(!1)},[Y.pathname]),t.createElement(v.Page,{themeId:(St=(We=(Je=C==null?void 0:C.spec)==null?void 0:Je.type)==null?void 0:We.toString())!=null?St:"home"},t.createElement(v.Header,{title:t.createElement(Wt,{title:se,entity:C}),pageTitleOverride:se,type:ve},C&&t.createElement(t.Fragment,null,t.createElement(wt,{entity:C}),t.createElement(Rt,{UNSTABLE_extraContextMenuItems:Q,UNSTABLE_contextMenuOptions:ie,onUnregisterEntity:()=>Ce(!0),onInspectEntity:()=>Fe(!0)}))),$&&t.createElement(v.Progress,null),C&&t.createElement(v.RoutedTabs,{routes:k}),Z&&t.createElement(v.Content,null,t.createElement(V.Z,{severity:"error"},Z.toString())),!$&&!Z&&!C&&t.createElement(v.Content,null,Ke||t.createElement(v.WarningPanel,{title:"Entity not found"},"There is no ",gt," with the requested"," ",t.createElement(v.Link,{to:"https://backstage.io/docs/features/software-catalog/references"},"kind, namespace, and name"),".")),t.createElement(Vt.UnregisterEntityDialog,{open:we,entity:C,onConfirm:Et,onClose:()=>Ce(!1)}),t.createElement(Vt.InspectEntityDialog,{open:Ie,entity:C,onClose:()=>Fe(!1)}))};$t.Route=at;var tn=e(10179);function Cn(P){const{open:Q,onClose:ie,onConfirm:Pe,entity:Ke}=P,[gt,yt]=useState(!1),R=useApi(catalogApiRef),C=useApi(alertApiRef),$=async()=>{yt(!0);try{const Z=Ke.metadata.uid;await R.removeEntityByUid(Z),Pe()}catch(Z){assertError(Z),C.post({message:Z.message})}finally{yt(!1)}};return React.createElement(Dialog,{open:Q,onClose:ie},React.createElement(DialogTitle,{id:"responsive-dialog-title"},"Are you sure you want to delete this entity?"),React.createElement(DialogActions,null,React.createElement(Button,{variant:"contained",color:"secondary",disabled:gt,onClick:$},"Delete"),React.createElement(Button,{onClick:ie,color:"primary"},"Cancel")))}var bt=e(47851);function Lt(P){var Q,ie;return((ie=(Q=P==null?void 0:P.metadata)==null?void 0:Q.annotations)==null?void 0:ie["backstage.io/orphan"])==="true"}function un(){const P=useNavigate(),Q=useRouteRef(rootRouteRef),[ie,Pe]=useState(!1),{entity:Ke}=useEntity(),gt=async()=>{Pe(!1),P(Q())};return React.createElement(React.Fragment,null,React.createElement(Alert,{severity:"warning",onClick:()=>Pe(!0)},"This entity is not referenced by any location and is therefore not receiving updates. Click here to delete."),React.createElement(DeleteEntityDialog,{open:ie,entity:Ke,onConfirm:gt,onClose:()=>Pe(!1)}))}var hn=e(30001);const qt=P=>P.error&&P.level==="error"&&P.type===ENTITY_STATUS_CATALOG_PROCESSING_TYPE;async function sn(P,Q){return{items:(await Q.getEntityAncestors({entityRef:P})).items.map(Ke=>{var R,C;return{errors:((C=(R=Ke.entity.status)==null?void 0:R.items)!=null?C:[]).filter(qt).map($=>$.error).filter($=>Boolean($)),entity:Ke.entity}}).filter(Ke=>Ke.errors.length>0)}}async function Hn(P,Q){const ie=Q.apis.get(catalogApiRef);if(!ie)throw new Error(`No implementation available for ${catalogApiRef}`);return(await sn(stringifyEntityRef(P),ie)).items.length>0}function U(){const{entity:P}=useEntity(),Q=stringifyEntityRef(P),ie=useApi(catalogApiRef),{loading:Pe,error:Ke,value:gt}=useAsync(async()=>sn(Q,ie),[Q,ie]);return Ke?React.createElement(Box,{mb:1},React.createElement(ResponseErrorPanel,{error:Ke})):Pe||!gt?null:React.createElement(React.Fragment,null,gt.items.map((yt,R)=>React.createElement(Box,{key:R,mb:1},stringifyEntityRef(P)!==stringifyEntityRef(yt.entity)&&React.createElement(Box,{p:1},"The error below originates from"," ",React.createElement(EntityRefLink,{entityRef:yt.entity})),yt.errors.map((C,$)=>React.createElement(ResponseErrorPanel,{key:$,error:C})))))}var h=e(64279);const S="core.backstage.entitySwitch",B=P=>null;(0,i.attachComponentData)(B,S,!0);const W=P=>{var yt,R;const{entity:Q,loading:ie}=(0,Vt.useAsyncEntity)(),Pe=(0,i.useApiHolder)(),Ke=(0,i.useElementFilter)(P.children,C=>C.selectByComponentData({key:S,withStrictError:"Child of EntitySwitch is not an EntitySwitch.Case"}).getElements().flatMap($=>{var k;if(ie)return[];const{if:Z,children:Y}=$.props;return Q?[{if:(k=Z==null?void 0:Z(Q,{apis:Pe}))!=null?k:!0,children:Y}]:[{if:Z===void 0,children:Y}]}),[Pe,Q,ie]);return Ke.some(C=>typeof C.if=="object"&&"then"in C.if)?t.createElement(ue,{results:Ke}):(R=(yt=Ke.find(C=>C.if))==null?void 0:yt.children)!=null?R:null};function ue({results:P}){const{loading:Q,value:ie}=(0,h.default)(async()=>{var Ke;const Pe=P.map(async({if:gt,children:yt})=>{try{if(await gt)return yt}catch{}return null});return(Ke=(await Promise.all(Pe)).find(Boolean))!=null?Ke:null},[P]);return Q||!ie?null:ie}W.Case=B;const fe=null,xe=Vt.CatalogFilterLayout.Filters,ot=Vt.CatalogFilterLayout.Content,ht=(0,i.createPlugin)({id:"catalog",apis:[(0,i.createApiFactory)({api:Vt.catalogApiRef,deps:{discoveryApi:i.discoveryApiRef,fetchApi:i.fetchApiRef},factory:({discoveryApi:P,fetchApi:Q})=>new hn.MS({discoveryApi:P,fetchApi:Q})}),(0,i.createApiFactory)({api:Vt.starredEntitiesApiRef,deps:{storageApi:i.storageApiRef},factory:({storageApi:P})=>new ft({storageApi:P})})],routes:{catalogIndex:bt._Z,catalogEntity:Vt.entityRouteRef},externalRoutes:{createComponent:bt.yw,viewTechDoc:bt.jU}}),Tn=ht.provide((0,i.createRoutableExtension)({name:"CatalogIndexPage",component:()=>e.e(7758).then(e.bind(e,7758)).then(P=>P.CatalogPage),mountPoint:bt._Z})),vn=ht.provide((0,i.createRoutableExtension)({name:"CatalogEntityPage",component:()=>e.e(6583).then(e.bind(e,96583)).then(P=>P.CatalogEntityPage),mountPoint:Vt.entityRouteRef})),Ur=ht.provide((0,i.createComponentExtension)({name:"EntityAboutCard",component:{lazy:()=>Promise.resolve().then(e.bind(e,39398)).then(P=>P.AboutCard)}})),ir=ht.provide((0,i.createComponentExtension)({name:"EntityLinksCard",component:{lazy:()=>e.e(1959).then(e.bind(e,81959)).then(P=>P.EntityLinksCard)}})),Nr=ht.provide((0,i.createComponentExtension)({name:"EntityHasSystemsCard",component:{lazy:()=>e.e(390).then(e.bind(e,60390)).then(P=>P.HasSystemsCard)}})),Zr=ht.provide((0,i.createComponentExtension)({name:"EntityHasComponentsCard",component:{lazy:()=>e.e(4022).then(e.bind(e,4022)).then(P=>P.HasComponentsCard)}})),jn=ht.provide((0,i.createComponentExtension)({name:"EntityHasSubcomponentsCard",component:{lazy:()=>e.e(8792).then(e.bind(e,38792)).then(P=>P.HasSubcomponentsCard)}})),Nn=ht.provide((0,i.createComponentExtension)({name:"EntityHasResourcesCard",component:{lazy:()=>e.e(1553).then(e.bind(e,11553)).then(P=>P.HasResourcesCard)}})),Qn=ht.provide((0,i.createComponentExtension)({name:"EntityDependsOnComponentsCard",component:{lazy:()=>e.e(8061).then(e.bind(e,48061)).then(P=>P.DependsOnComponentsCard)}})),lr=ht.provide((0,i.createComponentExtension)({name:"EntityDependencyOfComponentsCard",component:{lazy:()=>e.e(6235).then(e.bind(e,56235)).then(P=>P.DependencyOfComponentsCard)}})),Sr=ht.provide((0,i.createComponentExtension)({name:"EntityDependsOnResourcesCard",component:{lazy:()=>e.e(9028).then(e.bind(e,59028)).then(P=>P.DependsOnResourcesCard)}})),zr=ht.provide((0,i.createComponentExtension)({name:"RelatedEntitiesCard",component:{lazy:()=>e.e(2426).then(e.bind(e,62426)).then(P=>P.RelatedEntitiesCard)}}));var Xn=e(36356);class Cr{constructor({configApi:Q,discoveryApi:ie,identityApi:Pe}){X(this,"configApi");X(this,"discoveryApi");X(this,"identityApi");this.configApi=Q,this.discoveryApi=ie,this.identityApi=Pe}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(Q,ie){const Ke=`${await this.getApiOrigin()}/${ie}`,gt=await fetch(`${Ke.endsWith("/")?Ke:`${Ke}/`}index.html`);if(gt.status===404)throw new Error("Page not found");return gt.text()}async syncEntityDocs(Q){return"cached"}async getBaseUrl(Q,ie,Pe){const Ke=await this.getApiOrigin();return new URL(Q,`${Ke}/${Pe}`).toString()}}class Wr{constructor({configApi:Q,discoveryApi:ie,identityApi:Pe}){X(this,"configApi");X(this,"discoveryApi");X(this,"identityApi");this.configApi=Q,this.discoveryApi=ie,this.identityApi=Pe}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getEntityMetadata(Q){return{apiVersion:"backstage.io/v1alpha1",kind:"Component",metadata:{name:"local"},spec:{owner:"test",lifecycle:"experimental"}}}async getTechDocsMetadata(Q){return{site_name:"Live preview environment",site_description:""}}}const er=[(0,i.createApiFactory)({api:m.Dl,deps:{configApi:i.configApiRef,discoveryApi:i.discoveryApiRef,identityApi:i.identityApiRef},factory:({configApi:P,discoveryApi:Q,identityApi:ie})=>new Cr({configApi:P,discoveryApi:Q,identityApi:ie})}),(0,i.createApiFactory)({api:m.gT,deps:{configApi:i.configApiRef,discoveryApi:i.discoveryApiRef,identityApi:i.identityApiRef},factory:({configApi:P,discoveryApi:Q,identityApi:ie})=>new Wr({configApi:P,discoveryApi:Q,identityApi:ie})}),(0,i.createApiFactory)({api:Xn.q3,deps:{configApi:i.configApiRef},factory:({configApi:P})=>Xn.ae.fromConfig(P)})],bn={backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}},tr={backend:{baseUrl:"http://localhost:7007"},techdocs:{builder:"external"}};async function nr(){const P=await fetch("/.detect");return P.ok?(await P.text()).trim()==="techdocs-cli-server":!1}async function Tr(){const P=await(0,a.defaultConfigLoader)(),Q=await nr();return[...P,{context:"detected",data:Q?bn:tr}]}var cr=e(86689),ur=e(58845);const br=(0,Jt.Z)({svg:{width:"auto",height:30},path:{fill:"#7df3e1"}});var rr=()=>{const P=br();return t.createElement("svg",{className:P.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2079.95 456.05"},t.createElement("path",{className:P.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 Pr=(0,Jt.Z)({svg:{width:"auto",height:28},path:{fill:"#7df3e1"}});var dr=()=>{const P=Pr();return t.createElement("svg",{className:P.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 337.46 428.5"},t.createElement("path",{className:P.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"}))};const Lr=(0,Jt.Z)({root:{width:v.sidebarConfig.drawerWidthClosed,height:3*v.sidebarConfig.logoHeight,display:"flex",flexFlow:"row nowrap",alignItems:"center",marginBottom:-14},link:{width:v.sidebarConfig.drawerWidthClosed,marginLeft:24}}),fr=()=>{const P=Lr(),{isOpen:Q}=(0,t.useContext)(v.SidebarContext);return t.createElement("div",{className:P.root},t.createElement(cr.Z,{component:b.OL,to:"/docs/default/component/local/",underline:"none",className:P.link},Q?t.createElement(rr,null):t.createElement(dr,null)))},Ir=({children:P})=>t.createElement(v.SidebarPage,null,t.createElement(v.Sidebar,null,t.createElement(fr,null),t.createElement(v.SidebarDivider,null),t.createElement(v.SidebarItem,{icon:ur.Z,to:"/docs/default/component/local",text:"Docs Preview"})),P);var mr=e(80030),ln=e(32388),Fn=e(4142);const Or=(0,Jt.Z)(P=>({headerIcon:{color:P.palette.common.white,width:"32px",height:"32px"},content:{backgroundColor:P.palette.background.default},contentToolbar:{display:"flex",justifyContent:"flex-end",padding:0}}));var Bn;(function(P){const Q="light";P.LIGHT=Q;const ie="dark";P.DARK=ie})(Bn||(Bn={}));const hr=()=>{const P=(0,i.useApi)(i.appThemeApiRef),Q=Or(),[ie,Pe]=(0,t.useState)(P.getActiveThemeId()||Bn.LIGHT),Ke={[Bn.LIGHT]:{icon:Fn.Z,title:"Dark theme"},[Bn.DARK]:{icon:ln.Z,title:"Light theme"}},{title:gt,icon:yt}=Ke[ie],R=()=>{Pe(C=>{const $=C===Bn.LIGHT?Bn.DARK:Bn.LIGHT;return P.setActiveThemeId($),$})};return t.createElement(ne.Z,{display:"flex",alignItems:"center",mr:2},t.createElement(mr.ZP,{title:gt,arrow:!0},t.createElement(mt.Z,{size:"small",onClick:R},t.createElement(yt,{className:Q.headerIcon}))))},Gn=()=>t.createElement(A.TechDocsReaderPage,null,t.createElement(A.TechDocsReaderPageHeader,null),t.createElement(A.TechDocsReaderPageContent,{withSearch:!1})),Kn=t.createElement(Gn,null),gr=$e({apis:er,configLoader:Tr,plugins:Object.values(r)}),xr=gr.getProvider(),pr=gr.getRouter(),kn=A.techdocsPlugin.provide((0,m.KY)({name:"ThemeToggleAddon",component:hr,location:m.oZ.Header})),Vr=t.createElement(a.FlatRoutes,null,t.createElement(f.Fg,{key:"/",to:"/docs/default/component/local/"}),t.createElement(f.AW,{path:"/catalog/:namespace/:kind/:name",element:t.createElement(vn,null)}),t.createElement(f.AW,{path:"/docs",element:t.createElement(A.TechDocsIndexPage,null)},t.createElement(A.DefaultTechDocsHome,null)),t.createElement(f.AW,{path:"/docs/:namespace/:kind/:name/*",element:t.createElement(A.TechDocsReaderPage,null)},Kn,t.createElement(m.DR,null,t.createElement(kn,null))));var yr=()=>t.createElement(xr,null,t.createElement(pr,null,t.createElement(Ir,null,Vr)));c.render(t.createElement(yr,null),document.getElementById("root"))},76241:function(_,s,e){"use strict";e.d(s,{CT:function(){return m},EI:function(){return d},uW:function(){return f},Vt:function(){return a}});function r(){return typeof window!="undefined"&&window.Math===Math?window:typeof self!="undefined"&&self.Math===Math?self:Function("return this")()}const t=r(),c=y=>`__@backstage/${y}__`;function f(y,p){const v=c(y);let b=t[v];return b||(b=p(),t[v]=b,b)}var A=e(2784);function m(y){return f(y,()=>(0,A.createContext)(void 0))}function a(y){return(0,A.useContext)(m(y))}function i(y){return{set(p){globalThis[`__@backstage/${y}__`]=createContext(createVersionedValueMap(p))},reset(){delete globalThis[`__@backstage/${y}__`]}}}function d(y){return Object.freeze(y),{atVersion(p){return y[p]}}}},53479:function(_,s,e){"use strict";e.d(s,{AsyncEntityProvider:function(){return M},CATALOG_FILTER_EXISTS:function(){return r.n3},CatalogFilterLayout:function(){return T},EntityKindFilter:function(){return oe},EntityLifecyclePicker:function(){return At},EntityListProvider:function(){return Me},EntityOwnerPicker:function(){return ge},EntityRefLink:function(){return ae},EntityRefLinks:function(){return j},EntityTable:function(){return Rt},EntityTagPicker:function(){return Qt},EntityTypePicker:function(){return tn},FavoriteEntity:function(){return qt},InspectEntityDialog:function(){return gr},UnregisterEntityDialog:function(){return yr},UserListPicker:function(){return gt},catalogApiRef:function(){return c},entityRouteRef:function(){return Ut},getEntityRelations:function(){return st},getEntitySourceLocation:function(){return He},humanizeEntityRef:function(){return jt},starredEntitiesApiRef:function(){return f},useAsyncEntity:function(){return me},useEntity:function(){return J},useEntityList:function(){return be},useEntityOwnership:function(){return En},useEntityPermission:function(){return nt},useRelatedEntities:function(){return Dt},useStarredEntities:function(){return zt}});var r=e(30001),t=e(36964);const c=(0,t.createApiRef)({id:"plugin.catalog.service"}),f=(0,t.createApiRef)({id:"catalog-react.starred-entities"});var A=e(82394);class m{constructor(){X(this,"starredEntities",new Set);X(this,"subscribers",new Set);X(this,"observable",new ObservableImpl(C=>(C.next(new Set(this.starredEntities)),this.subscribers.add(C),()=>{this.subscribers.delete(C)})))}async toggleStarred(C){this.starredEntities.delete(C)||this.starredEntities.add(C);for(const $ of this.subscribers)$.next(new Set(this.starredEntities))}starredEntitie$(){return this.observable}}var a=e(2784),i=e(41156),d=e(60364),y=e(77277),p=e(4190),v=e(95544),b=e(90436),L=e(60905),w=e(36444);const z=R=>{const C=(0,i.Z)(k=>k.breakpoints.down("md")),$=(0,d.Z)(),[Z,Y]=(0,a.useState)(!1);return C?a.createElement(a.Fragment,null,a.createElement(y.Z,{style:{marginTop:$.spacing(1),marginLeft:$.spacing(1)},onClick:()=>Y(!0),startIcon:a.createElement(w.Z,null)},"Filters"),a.createElement(p.ZP,{open:Z,onClose:()=>Y(!1),anchor:"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary"},a.createElement(v.Z,{m:2},a.createElement(b.Z,{variant:"h6",component:"h2",style:{marginBottom:$.spacing(1)}},"Filters"),R.children))):a.createElement(L.Z,{item:!0,lg:2},R.children)},x=R=>a.createElement(L.Z,{item:!0,xs:12,lg:10},R.children),T=R=>a.createElement(L.Z,{container:!0,style:{position:"relative"}},R.children);T.Filters=z,T.Content=x;var I=e(76241);const F=(0,I.CT)("entity-context"),M=({children:R,entity:C,loading:$,error:Z,refresh:Y})=>{const k={entity:C,loading:$,error:Z,refresh:Y};return a.createElement(F.Provider,{value:(0,I.EI)({1:k})},R)},G=R=>React.createElement(M,{entity:R.entity,loading:!Boolean(R.entity),error:void 0,refresh:void 0,children:R.children});function J(){const R=(0,I.Vt)("entity-context");if(!R)throw new Error("Entity context is not available");const C=R.atVersion(1);if(!C)throw new Error("EntityContext v1 not available");if(!C.entity)throw new Error("useEntity hook is being called outside of an EntityLayout where the entity has not been loaded. If this is intentional, please use useAsyncEntity instead.");return{entity:C.entity}}function me(){const R=(0,I.Vt)("entity-context");if(!R)throw new Error("Entity context is not available");const C=R.atVersion(1);if(!C)throw new Error("EntityContext v1 not available");const{entity:$,loading:Z,error:Y,refresh:k}=C;return{entity:$,loading:Z,error:Y,refresh:k}}var Be=e(76635),Le=e(19126),le=e.n(Le),Ne=e(10289),ze=e(69294),Ye=e(48760),_e=e(90736);function it(R){return R.reduce((C,$)=>({...C,...$.getCatalogFilters?$.getCatalogFilters():{}}),{})}function lt(R){return C=>R.every($=>!$.filterEntity||$.filterEntity(C))}var Te=e(48023);function st(R,C,$){var Y;let Z=((Y=R==null?void 0:R.relations)==null?void 0:Y.filter(k=>k.type===C).map(k=>(0,Te.of)(k.targetRef)))||[];return $!=null&&$.kind&&(Z=Z.filter(k=>k.kind.toLocaleLowerCase("en-US")===$.kind.toLocaleLowerCase("en-US"))),Z}function He(R,C){var Z;const $=(Z=R.metadata.annotations)==null?void 0:Z[Te.M6];if(!!$)try{const Y=(0,Te.Ou)($),k=C.byUrl(Y.target);return{locationTargetUrl:Y.target,integrationType:k==null?void 0:k.type}}catch{return}}function re(R,C){const $=new Set([...getEntityRelations(R,RELATION_MEMBER_OF,{kind:"group"}),...R?[getCompoundEntityRef(R)]:[]].map(stringifyEntityRef)),Z=getEntityRelations(C,RELATION_OWNED_BY).map(stringifyEntityRef);for(const Y of Z)if($.has(Y))return!0;return!1}const he=(0,a.createContext)(void 0),Me=({children:R})=>{const C=(0,_e.default)(),$=(0,t.useApi)(c),[Z,Y]=(0,a.useState)({}),k=(0,Ne.TH)(),se=(0,a.useMemo)(()=>{var Je;return(Je=le().parse(k.search,{ignoreQueryPrefix:!0}).filters)!=null?Je:{}},[k]),[ve,we]=(0,a.useState)(()=>({appliedFilters:{},entities:[],backendEntities:[]})),[{loading:Ce,error:Ie},Fe]=(0,ze.default)(async()=>{var Pn;const Je=(0,Be.compact)(Object.values(Z)),We=lt(Je),St=it(Je),kt=it((0,Be.compact)(Object.values(ve.appliedFilters))),gn=Object.keys(Z).reduce((dn,An)=>{const Ln=Z[An];return Ln!=null&&Ln.toQueryValue&&(dn[An]=Ln.toQueryValue()),dn},{});if((0,Be.isEqual)(kt,St))we({appliedFilters:Z,backendEntities:ve.backendEntities,entities:ve.backendEntities.filter(We)});else{const dn=await $.getEntities({filter:St});we({appliedFilters:Z,backendEntities:dn.items,entities:dn.items.filter(We)})}if(C()){const dn=le().parse(k.search,{ignoreQueryPrefix:!0}),An=le().stringify({...dn,filters:gn},{addQueryPrefix:!0,arrayFormat:"repeat"}),Ln=`${window.location.pathname}${An}`;(Pn=window.history)==null||Pn.replaceState(null,document.title,Ln)}},[$,se,Z,ve],{loading:!0});(0,Ye.Z)(Fe,10,[Z]);const je=(0,a.useCallback)(Je=>{Y(We=>{const St=typeof Je=="function"?Je(We):Je;return{...We,...St}})},[]),Et=(0,a.useMemo)(()=>({filters:ve.appliedFilters,entities:ve.entities,backendEntities:ve.backendEntities,updateFilters:je,queryParameters:se,loading:Ce,error:Ie}),[ve,je,se,Ce,Ie]);return a.createElement(he.Provider,{value:Et},R)};function be(){const R=(0,a.useContext)(he);if(!R)throw new Error("useEntityList must be used within EntityListProvider");return R}var Xe=e(64279),Ve=e(18149),Ze=e.n(Ve),ut=e(829),dt=e.n(ut);const Ut=(0,I.uW)("catalog:entity-route-ref",()=>(0,t.createRouteRef)({id:"catalog:entity",params:["namespace","kind","name"]}));function Sn(R){var C,$;return{kind:R.kind.toLocaleLowerCase("en-US"),namespace:($=(C=R.metadata.namespace)==null?void 0:C.toLocaleLowerCase("en-US"))!=null?$:DEFAULT_NAMESPACE,name:R.metadata.name}}function jt(R,C){const $=C==null?void 0:C.defaultKind;let Z,Y,k;return"metadata"in R?(Z=R.kind,Y=R.metadata.namespace,k=R.metadata.name):(Z=R.kind,Y=R.namespace,k=R.name),Y===Te.zG&&(Y=void 0),Z=Z.toLocaleLowerCase("en-US"),Z=$&&$.toLocaleLowerCase("en-US")===Z?void 0:Z,`${Z?`${Z}:`:""}${Y?`${Y}/`:""}${k}`}var vt=e(53492),pn=e(80030);const ae=(0,a.forwardRef)((R,C)=>{var Je;const{entityRef:$,defaultKind:Z,title:Y,children:k,...se}=R,ve=(0,t.useRouteRef)(Ut);let we,Ce,Ie;if(typeof $=="string"){const We=(0,Te.of)($);we=We.kind,Ce=We.namespace,Ie=We.name}else"metadata"in $?(we=$.kind,Ce=$.metadata.namespace,Ie=$.metadata.name):(we=$.kind,Ce=$.namespace,Ie=$.name);we=we.toLocaleLowerCase("en-US"),Ce=(Je=Ce==null?void 0:Ce.toLocaleLowerCase("en-US"))!=null?Je:Te.zG;const Fe={kind:we,namespace:Ce,name:Ie},je=jt({kind:we,namespace:Ce,name:Ie},{defaultKind:Z}),Et=a.createElement(vt.Link,{...se,ref:C,to:ve(Fe)},k,!k&&(Y!=null?Y:je));return Y?a.createElement(pn.ZP,{title:je},Et):Et});function j(R){const{entityRefs:C,defaultKind:$,...Z}=R;return a.createElement(a.Fragment,null,C.map((Y,k)=>a.createElement(a.Fragment,{key:k},k>0&&", ",a.createElement(ae,{...Z,entityRef:Y,defaultKind:$}))))}class oe{constructor(C){this.value=C}getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}}class de{constructor(C){this.value=C}getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}}class ye{constructor(C){this.values=C}filterEntity(C){return this.values.every($=>{var Z;return((Z=C.metadata.tags)!=null?Z:[]).includes($)})}toQueryValue(){return this.values}}class Oe{constructor(C){this.value=C}filterEntity(C){var Z;const $=this.value.toLocaleUpperCase("en-US");return C.metadata.name.toLocaleUpperCase("en-US").includes($)||`${C.metadata.title}`.toLocaleUpperCase("en-US").includes($)||((Z=C.metadata.tags)==null?void 0:Z.join("").toLocaleUpperCase("en-US").indexOf($))!==-1}}class $e{constructor(C){this.values=C}filterEntity(C){return this.values.some($=>st(C,Te.S4).some(Z=>jt(Z,{defaultKind:"group"})===$))}toQueryValue(){return this.values}}class De{constructor(C){this.values=C}filterEntity(C){return this.values.some($=>{var Z;return((Z=C.spec)==null?void 0:Z.lifecycle)===$})}toQueryValue(){return this.values}}class tt{constructor(C,$,Z){this.value=C,this.isOwnedEntity=$,this.isStarredEntity=Z}filterEntity(C){switch(this.value){case"owned":return this.isOwnedEntity(C);case"starred":return this.isStarredEntity(C);default:return!0}}toQueryValue(){return this.value}}function pt(){var We;const R=(0,t.useApi)(c),{filters:{kind:C,type:$},queryParameters:{type:Z},updateFilters:Y}=be(),k=(0,a.useMemo)(()=>[Z].flat().filter(Boolean),[Z]),[se,ve]=(0,a.useState)(k.length?k:(We=$==null?void 0:$.getTypes())!=null?We:[]);(0,a.useEffect)(()=>{k.length&&ve(k)},[k]);const[we,Ce]=(0,a.useState)([]),Ie=(0,a.useMemo)(()=>C==null?void 0:C.value,[C]),{error:Fe,loading:je,value:Et}=(0,Xe.default)(async()=>Ie?await R.getEntityFacets({filter:{kind:Ie},facets:["spec.type"]}).then(kt=>kt.facets["spec.type"]||[]):[],[Ie,R]),Je=(0,a.useRef)(Et);return(0,a.useEffect)(()=>{const St=Je.current;if(Je.current=Et,je||!Ie||St===Et||!Et)return;const kt=[...new Set(dt()(Et,Pn=>-Pn.count).map(Pn=>Pn.value.toLocaleLowerCase("en-US")))];Ce(kt);const gn=se.filter(Pn=>kt.includes(Pn));Ze()(se,gn)||ve(gn)},[je,Ie,se,ve,Et]),(0,a.useEffect)(()=>{Y({type:se.length?new de(se):void 0})},[se,Y]),{loading:je,error:Fe,availableTypes:we,selectedTypes:se,setSelectedTypes:ve}}const Zt=20;function Dt(R,C){var we,Ce;const $=(we=C==null?void 0:C.type)==null?void 0:we.toLocaleLowerCase("en-US"),Z=(Ce=C==null?void 0:C.kind)==null?void 0:Ce.toLocaleLowerCase("en-US"),Y=(0,t.useApi)(c),{loading:k,value:se,error:ve}=(0,Xe.default)(async()=>{var Je;const Ie=(Je=R.relations)==null?void 0:Je.map(We=>({type:We.type,target:(0,Te.of)(We.targetRef)})).filter(We=>(!$||We.type.toLocaleLowerCase("en-US")===$)&&(!Z||We.target.kind===Z));if(!Ie)return[];const Fe=Object.values((0,Be.groupBy)(Ie,({target:We})=>`${We.kind}:${We.namespace}`.toLocaleLowerCase("en-US"))),je=[];for(const We of Fe)je.push({kind:We[0].target.kind,namespace:We[0].target.namespace,nameBatches:(0,Be.chunk)(We.map(St=>St.target.name),Zt)});return(await Promise.all(je.flatMap(We=>We.nameBatches.map(St=>Y.getEntities({filter:{kind:We.kind,"metadata.namespace":We.namespace,"metadata.name":St}}))))).flatMap(We=>We.items)},[R,$,Z]);return{entities:se,loading:k,error:ve}}var ft=e(72164);function Ft(R){return typeof R=="string"?R:(0,Te.eE)(R)}function zt(){const R=(0,t.useApi)(f),C=(0,ft.Z)(R.starredEntitie$(),new Set),$=(0,a.useCallback)(Y=>C.has(Ft(Y)),[C]),Z=(0,a.useCallback)(Y=>R.toggleStarred(Ft(Y)).then(),[R]);return{starredEntities:C,toggleStarredEntity:Z,isStarredEntity:$}}function Jt(R){return typeof R=="string"?R:(0,Te.eE)(R)}function yn(R){const C=(0,t.useApi)(f),[$,Z]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{const k=C.starredEntitie$().subscribe({next(se){Z(se.has(Jt(R)))}});return()=>{k.unsubscribe()}},[R,C]),{toggleStarredEntity:(0,a.useCallback)(()=>C.toggleStarred(Jt(R)).then(),[R,C]),isStarredEntity:$}}function En(){const R=(0,t.useApi)(t.identityApiRef),{loading:C,value:$}=(0,Xe.default)(async()=>{const{ownershipEntityRefs:Y}=await R.getBackstageIdentity();return Y},[]),Z=(0,a.useMemo)(()=>{const Y=new Set($!=null?$:[]);return k=>{const se=st(k,Te.S4).map(Te.eE);for(const ve of se)if(Y.has(ve))return!0;return!1}},[$]);return(0,a.useMemo)(()=>({loading:C,isOwnedEntity:Z}),[C,Z])}var Ct=e(68099);function nt(R){const{entity:C,loading:$,error:Z}=me(),{allowed:Y,loading:k,error:se}=(0,Ct.gI)({permission:R,resourceRef:C?(0,Te.eE)(C):void 0});return $||k?{loading:!0,allowed:!1}:Z?{loading:!1,allowed:!1,error:Z}:{loading:!1,allowed:Y,error:se}}const Vt=R=>{var se;const{initialFilter:C,hidden:$}=R,{updateFilters:Z,queryParameters:{kind:Y}}=useEntityList(),[k]=useState((se=[Y].flat()[0])!=null?se:C);return useEffect(()=>{Z({kind:k?new EntityKindFilter(k):void 0})},[k,Z]),$?null:React.createElement(Alert,{severity:"warning"},"Kind filter not yet available")};var ne=e(79692),V=e(5806),ce=e(21324),Ue=e(86619),ke=e(19996),qe=e(25505),mt=e(38016),Bt=e(88013);const Gt=(0,ne.Z)({input:{}},{name:"CatalogReactEntityLifecyclePicker"}),nn=a.createElement(qe.Z,{fontSize:"small"}),rn=a.createElement(ke.Z,{fontSize:"small"}),At=()=>{var Ce,Ie;const R=Gt(),{updateFilters:C,backendEntities:$,filters:Z,queryParameters:{lifecycles:Y}}=be(),k=(0,a.useMemo)(()=>[Y].flat().filter(Boolean),[Y]),[se,ve]=(0,a.useState)(k.length?k:(Ie=(Ce=Z.lifecycles)==null?void 0:Ce.values)!=null?Ie:[]);(0,a.useEffect)(()=>{k.length&&ve(k)},[k]),(0,a.useEffect)(()=>{C({lifecycles:se.length?new De(se):void 0})},[se,C]);const we=(0,a.useMemo)(()=>[...new Set($.map(Fe=>{var je;return(je=Fe.spec)==null?void 0:je.lifecycle}).filter(Boolean))].sort(),[$]);return we.length?a.createElement(v.Z,{pb:1,pt:1},a.createElement(b.Z,{variant:"button",component:"label"},"Lifecycle",a.createElement(Bt.ZP,{multiple:!0,options:we,value:se,onChange:(Fe,je)=>ve(je),renderOption:(Fe,{selected:je})=>a.createElement(V.Z,{control:a.createElement(ce.Z,{icon:nn,checkedIcon:rn,checked:je}),label:Fe}),size:"small",popupIcon:a.createElement(mt.Z,{"data-testid":"lifecycle-picker-expand"}),renderInput:Fe=>a.createElement(Ue.Z,{...Fe,className:R.input,variant:"outlined"})}))):null},Kt=(0,ne.Z)({input:{}},{name:"CatalogReactEntityOwnerPicker"}),D=a.createElement(qe.Z,{fontSize:"small"}),te=a.createElement(ke.Z,{fontSize:"small"}),ge=()=>{var Ce,Ie;const R=Kt(),{updateFilters:C,backendEntities:$,filters:Z,queryParameters:{owners:Y}}=be(),k=(0,a.useMemo)(()=>[Y].flat().filter(Boolean),[Y]),[se,ve]=(0,a.useState)(k.length?k:(Ie=(Ce=Z.owners)==null?void 0:Ce.values)!=null?Ie:[]);(0,a.useEffect)(()=>{k.length&&ve(k)},[k]),(0,a.useEffect)(()=>{C({owners:se.length?new $e(se):void 0})},[se,C]);const we=(0,a.useMemo)(()=>[...new Set($.flatMap(Fe=>st(Fe,Te.S4).map(je=>jt(je,{defaultKind:"group"}))).filter(Boolean))].sort(),[$]);return we.length?a.createElement(v.Z,{pb:1,pt:1},a.createElement(b.Z,{variant:"button",component:"label"},"Owner",a.createElement(Bt.ZP,{multiple:!0,options:we,value:se,onChange:(Fe,je)=>ve(je),renderOption:(Fe,{selected:je})=>a.createElement(V.Z,{control:a.createElement(ce.Z,{icon:D,checkedIcon:te,checked:je}),label:Fe}),size:"small",popupIcon:a.createElement(mt.Z,{"data-testid":"owner-picker-expand"}),renderInput:Fe=>a.createElement(Ue.Z,{...Fe,className:R.input,variant:"outlined"})}))):null},Ae=(0,ne.Z)(R=>({searchToolbar:{paddingLeft:0,paddingRight:0},input:{}}),{name:"CatalogReactEntitySearchBar"}),Se=()=>{var k,se;const R=Ae(),{filters:C,updateFilters:$}=useEntityList(),[Z,Y]=useState((se=(k=C.text)==null?void 0:k.value)!=null?se:"");return useDebounce(()=>{$({text:Z.length?new EntityTextFilter(Z):void 0})},250,[Z,$]),React.createElement(Toolbar,{className:R.searchToolbar},React.createElement(FormControl,null,React.createElement(Input,{"aria-label":"search",id:"input-with-icon-adornment",className:R.input,placeholder:"Search",autoComplete:"off",onChange:ve=>Y(ve.target.value),value:Z,startAdornment:React.createElement(InputAdornment,{position:"start"},React.createElement(Search,null)),endAdornment:React.createElement(InputAdornment,{position:"end"},React.createElement(IconButton,{"aria-label":"clear search",onClick:()=>Y(""),edge:"end",disabled:Z.length===0},React.createElement(Clear,null)))})))},Ge=Object.freeze({createEntityRefColumn(R){const{defaultKind:C}=R;function $(Z){var Y;return((Y=Z.metadata)==null?void 0:Y.title)||jt(Z,{defaultKind:C})}return{title:"Name",highlight:!0,customFilterAndSearch(Z,Y){return $(Y).includes(Z)},customSort(Z,Y){return $(Z).localeCompare($(Y))},render:Z=>{var Y;return a.createElement(ae,{entityRef:Z,defaultKind:C,title:(Y=Z.metadata)==null?void 0:Y.title})}}},createEntityRelationColumn({title:R,relation:C,defaultKind:$,filter:Z}){function Y(se){return st(se,C,Z)}function k(se){return Y(se).map(ve=>jt(ve,{defaultKind:$})).join(", ")}return{title:R,customFilterAndSearch(se,ve){return k(ve).includes(se)},customSort(se,ve){return k(se).localeCompare(k(ve))},render:se=>a.createElement(j,{entityRefs:Y(se),defaultKind:$})}},createOwnerColumn(){return this.createEntityRelationColumn({title:"Owner",relation:Te.S4,defaultKind:"group"})},createDomainColumn(){return this.createEntityRelationColumn({title:"Domain",relation:Te.cz,defaultKind:"domain",filter:{kind:"domain"}})},createSystemColumn(){return this.createEntityRelationColumn({title:"System",relation:Te.cz,defaultKind:"system",filter:{kind:"system"}})},createMetadataDescriptionColumn(){return{title:"Description",field:"metadata.description",render:R=>a.createElement(vt.OverflowTooltip,{text:R.metadata.description,placement:"bottom-start",line:2}),width:"auto"}},createSpecLifecycleColumn(){return{title:"Lifecycle",field:"spec.lifecycle"}},createSpecTypeColumn(){return{title:"Type",field:"spec.type"}}}),et=[Ge.createEntityRefColumn({defaultKind:"system"}),Ge.createDomainColumn(),Ge.createOwnerColumn(),Ge.createMetadataDescriptionColumn()],Nt=[Ge.createEntityRefColumn({defaultKind:"component"}),Ge.createSystemColumn(),Ge.createOwnerColumn(),Ge.createSpecTypeColumn(),Ge.createSpecLifecycleColumn(),Ge.createMetadataDescriptionColumn()],Mt=(0,ne.Z)(R=>({empty:{padding:R.spacing(2),display:"flex",justifyContent:"center"}})),Rt=R=>{const{entities:C,title:$,emptyContent:Z,variant:Y="gridItem",columns:k}=R,se=Mt(),ve={minWidth:"0",width:"100%"};return Y==="gridItem"&&(ve.height="calc(100% - 10px)"),a.createElement(vt.Table,{columns:k,title:$,style:ve,emptyContent:Z&&a.createElement("div",{className:se.empty},Z),options:{search:!1,paging:!1,actionsColumnIndex:-1,padding:"dense"},data:C})};Rt.columns=Ge,Rt.systemEntityColumns=et,Rt.componentEntityColumns=Nt;const Tt=(0,ne.Z)({input:{}},{name:"CatalogReactEntityTagPicker"}),at=a.createElement(qe.Z,{fontSize:"small"}),Wt=a.createElement(ke.Z,{fontSize:"small"}),Qt=()=>{var Ce,Ie;const R=Tt(),{updateFilters:C,filters:$,queryParameters:{tags:Z}}=be(),Y=(0,t.useApi)(c),{value:k}=(0,Xe.default)(async()=>{var Et;const Fe="metadata.tags",{facets:je}=await Y.getEntityFacets({facets:[Fe],filter:(Et=$.kind)==null?void 0:Et.getCatalogFilters()});return je[Fe].map(({value:Je})=>Je)},[$.kind]),se=(0,a.useMemo)(()=>[Z].flat().filter(Boolean),[Z]),[ve,we]=(0,a.useState)(se.length?se:(Ie=(Ce=$.tags)==null?void 0:Ce.values)!=null?Ie:[]);return(0,a.useEffect)(()=>{se.length&&we(se)},[se]),(0,a.useEffect)(()=>{C({tags:ve.length?new ye(ve):void 0})},[ve,C]),k!=null&&k.length?a.createElement(v.Z,{pb:1,pt:1},a.createElement(b.Z,{variant:"button",component:"label"},"Tags",a.createElement(Bt.ZP,{multiple:!0,options:k,value:ve,onChange:(Fe,je)=>we(je),renderOption:(Fe,{selected:je})=>a.createElement(V.Z,{control:a.createElement(ce.Z,{icon:at,checkedIcon:Wt,checked:je}),label:Fe}),size:"small",popupIcon:a.createElement(mt.Z,{"data-testid":"tag-picker-expand"}),renderInput:Fe=>a.createElement(Ue.Z,{...Fe,className:R.input,variant:"outlined"})}))):null};var wt=e(82108),$t=e.n(wt);const tn=R=>{var Ce;const{hidden:C,initialFilter:$}=R,Z=(0,t.useApi)(t.alertApiRef),{error:Y,availableTypes:k,selectedTypes:se,setSelectedTypes:ve}=pt();if((0,a.useEffect)(()=>{Y&&Z.post({message:"Failed to load entity types",severity:"error"}),$&&ve([$])},[Y,Z,$,ve]),k.length===0||Y)return null;const we=[{value:"all",label:"All"},...k.map(Ie=>({value:Ie,label:$t()(Ie)}))];return C?null:a.createElement(v.Z,{pb:1,pt:1},a.createElement(vt.Select,{label:"Type",items:we,selected:(Ce=we.length>1?se[0]:void 0)!=null?Ce:"all",onChange:Ie=>ve(Ie==="all"?[]:[String(Ie)])}))};var Cn=e(15459),bt=e(61837),Lt=e(11640),un=e(28347);const hn=(0,Cn.Z)({root:{color:"#f3ba37"}})(Lt.Z),qt=R=>{const{toggleStarredEntity:C,isStarredEntity:$}=yn(R.entity);return a.createElement(bt.Z,{"aria-label":"favorite",color:"inherit",...R,onClick:()=>C()},a.createElement(pn.ZP,{title:$?"Remove from favorites":"Add to favorites"},$?a.createElement(hn,null):a.createElement(un.Z,null)))};var sn=e(8629),Hn=e(79249),U=e(38724),h=e(99152),S=e(6487),B=e(49429),W=e(55999),ue=e(72779),fe=e.n(ue),xe=e(39412);const ot=xe.Z;function ht(R,C){if(R)return R.toLocaleLowerCase("en-US");if(C)try{return(0,Te.of)(C).kind.toLocaleLowerCase("en-US")}catch{return}}function Tn(R,C){const $=(0,t.useApp)(),Z=ht(R,C);return Z&&$.getSystemIcon(`kind:${Z}`)||ot}function vn(R){const{kind:C,entityRef:$,...Z}=R,Y=Tn(C,$);return a.createElement(Y,{...Z})}const Ur=(0,ne.Z)(R=>({node:{fill:R.palette.grey[300],stroke:R.palette.grey[300],"&.primary":{fill:R.palette.primary.light,stroke:R.palette.primary.light},"&.secondary":{fill:R.palette.secondary.light,stroke:R.palette.secondary.light}},text:{fill:R.palette.getContrastText(R.palette.grey[300]),"&.primary":{fill:R.palette.primary.contrastText},"&.secondary":{fill:R.palette.secondary.contrastText},"&.focused":{fontWeight:"bold"}},clickable:{cursor:"pointer"}}));function ir(R){const C=(0,t.useApi)(c),$=(0,Te.eE)(R),{loading:Z,error:Y,value:k}=(0,Xe.default)(async()=>{const se=await C.getEntityAncestors({entityRef:$}),ve=new Array,we=new Array;for(const Ce of se.items){const Ie=(0,Te.eE)(Ce.entity),Fe=Ie===se.rootEntityRef;ve.push({id:Ie,root:Fe,...Ce.entity});for(const je of Ce.parentEntityRefs)we.push({from:Ie,to:je})}return{nodes:ve,edges:we}},[$]);return{loading:Z,error:Y,nodes:(k==null?void 0:k.nodes)||[],edges:(k==null?void 0:k.edges)||[]}}function Nr({node:R}){const C=Ur(),$=(0,Ne.s0)(),Z=(0,t.useRouteRef)(Ut),[Y,k]=(0,a.useState)(0),[se,ve]=(0,a.useState)(0),we=(0,a.useRef)(null);(0,a.useLayoutEffect)(()=>{if(we.current){let{height:St,width:kt}=we.current.getBBox();St=Math.round(St),kt=Math.round(kt),(St!==se||kt!==Y)&&(k(kt),ve(St))}},[Y,se]);const Ce=10,Ie=se,Fe=Ie+Ce,je=Fe+Y+Ce*2,Et=se+Ce*2,Je=R.metadata.title||(R.kind&&R.metadata.name&&R.metadata.namespace?jt({kind:R.kind,name:R.metadata.name,namespace:R.metadata.namespace||""}):R.id),We=()=>{$(Z({kind:R.kind,namespace:R.metadata.namespace||Te.zG,name:R.metadata.name}))};return a.createElement("g",{onClick:We,className:C.clickable},a.createElement("rect",{className:fe()(C.node,R.root?"secondary":"primary"),width:je,height:Et,rx:10}),a.createElement(vn,{kind:R.kind,y:Ce,x:Ce,width:Ie,height:Ie,className:fe()(C.text,R.root?"secondary":"primary")}),a.createElement("text",{ref:we,className:fe()(C.text,R.root?"secondary":"primary"),y:Et/2,x:Fe+(Y+Ce*2)/2,textAnchor:"middle",alignmentBaseline:"middle"},Je))}function Zr(R){const{loading:C,error:$,nodes:Z,edges:Y}=ir(R.entity);return C?a.createElement(vt.Progress,null):$?a.createElement(vt.ResponseErrorPanel,{error:$}):a.createElement(a.Fragment,null,a.createElement(W.Z,{variant:"h2"},"Ancestry"),a.createElement(W.Z,{gutterBottom:!0},"This is the ancestry of entities above the current one - as in, the chain(s) of entities down to the current one, where"," ",a.createElement(vt.Link,{to:"https://backstage.io/docs/features/software-catalog/life-of-an-entity"},"processors emitted")," ","child entities that ultimately led to the current one existing. Note that this is a completely different mechanism from relations."),a.createElement(v.Z,{mt:4},a.createElement(vt.DependencyGraph,{nodes:Z,edges:Y,renderNode:Nr,direction:vt.DependencyGraphTypes.Nm.BOTTOM_TOP,zoom:"enable-on-click"})))}var jn=e(11776),Nn=e(38402),Qn=e(86136),lr=e(99688),Sr=e(49378),zr=e(54506),Xn=e(94339),Cr=e(24579),Wr=e(27685);const er=(0,ne.Z)(R=>({root:{display:"flex",flexDirection:"column"},marginTop:{marginTop:R.spacing(2)},helpIcon:{marginLeft:R.spacing(1),color:R.palette.text.disabled},monospace:{fontFamily:"monospace"}}));function bn(R){const C=er();return a.createElement(Sr.Z,{...R,primaryTypographyProps:{className:C.monospace},secondaryTypographyProps:{className:C.monospace}})}function tr(R){const C=er();return a.createElement(zr.Z,{className:C.monospace},R.children)}function nr(R){return a.createElement(v.Z,{mt:2},a.createElement(Xn.Z,{variant:"outlined"},a.createElement(Cr.Z,null,a.createElement(b.Z,{variant:"h6",gutterBottom:!0},R.title,R.helpLink&&a.createElement(ur,{to:R.helpLink})),R.children)))}function Tr(R){if(R.match(/^url:https?:\/\//))return R.slice(4);if(R.match(/^https?:\/\//))return R}function cr(R){const[C,$]=R.entry,Z=Tr($);return a.createElement(Nn.Z,null,R.indent&&a.createElement(Qn.Z,null),a.createElement(bn,{primary:C,secondary:Z?a.createElement(vt.Link,{to:Z},$):$}))}function ur(R){const C=er();return a.createElement(vt.Link,{to:R.to,className:C.helpIcon},a.createElement(Wr.Z,{fontSize:"inherit"}))}const br=(0,ne.Z)({root:{display:"flex",flexDirection:"column"}});function Hr(R){var we,Ce;const C=(0,t.useApi)(c),$=(0,Te.eE)(R),Z=(we=R.metadata.annotations)==null?void 0:we[Te.P1],Y=(Ce=R.metadata.annotations)==null?void 0:Ce[Te.q1],{loading:k,error:se,value:ve}=(0,Xe.default)(async()=>!Z&&!Y?[]:(await C.getEntities({filter:[...Z?[{[`metadata.annotations.${Te.P1}`]:Z}]:[],...Y?[{[`metadata.annotations.${Te.q1}`]:Y}]:[]]})).items,[Z,Y]);return{loading:k,error:se,location:Z,originLocation:Y,colocatedEntities:ve==null?void 0:ve.filter(Ie=>(0,Te.eE)(Ie)!==$)}}function rr(R){return a.createElement(jn.Z,{dense:!0},R.header&&a.createElement(cr,{key:"header",entry:R.header}),R.entities.map(C=>a.createElement(Nn.Z,{key:(0,Te.eE)(C)},a.createElement(Qn.Z,null,a.createElement(vn,{kind:C.kind})),a.createElement(bn,{primary:a.createElement(ae,{entityRef:C})}))))}function Pr(R){const{entity:C}=R,{loading:$,error:Z,location:Y,originLocation:k,colocatedEntities:se}=Hr(C);if($)return a.createElement(vt.Progress,null);if(Z)return a.createElement(vt.ResponseErrorPanel,{error:Z});if(!Y&&!k)return a.createElement(lr.Z,{severity:"warning"},"Entity had no location information.");if(!(se!=null&&se.length))return a.createElement(lr.Z,{severity:"info"},"There were no other entities on this location.");if(Y===k)return a.createElement(rr,{entities:se});const ve=se.filter(Ce=>{var Ie;return((Ie=Ce.metadata.annotations)==null?void 0:Ie[Te.P1])===Y}),we=se.filter(Ce=>{var Ie;return((Ie=Ce.metadata.annotations)==null?void 0:Ie[Te.q1])===k});return a.createElement(a.Fragment,null,ve.length>0&&a.createElement(rr,{entities:ve,header:["At the same location",Y]}),we.length>0&&a.createElement(rr,{entities:we,header:["At the same origin",k]}))}function jr(R){const C=br();return a.createElement(a.Fragment,null,a.createElement(W.Z,{variant:"h2"},"Colocated"),a.createElement(W.Z,null,"These are the entities that are colocated with this entity - as in, they originated from the same data source (e.g. came from the same YAML file), or from the same origin (e.g. the originally registered URL)."),a.createElement("div",{className:C.root},a.createElement(Pr,{entity:R.entity})))}function dr(R){return Object.fromEntries([...Object.entries(R)].sort((C,$)=>C[0]<$[0]?-1:1))}function Lr(R){return a.createElement(a.Fragment,null,a.createElement(W.Z,{variant:"h2"},"Entity as JSON"),a.createElement(W.Z,null,"This is the raw entity data as received from the catalog, on JSON form."),a.createElement(W.Z,null,a.createElement("div",{style:{fontSize:"75%"},"data-testid":"code-snippet"},a.createElement(vt.CodeSnippet,{text:JSON.stringify(dr(R.entity),void 0,2),language:"json",showCopyCodeButton:!0}))))}var fr=e(3440),Ir=e.n(fr);const mr=(0,ne.Z)({root:{display:"flex",flexDirection:"column"}});function ln(R){var Ce,Ie;const C=mr(),{apiVersion:$,kind:Z,metadata:Y,spec:k,relations:se=[],status:ve={}}=R.entity,we=Ir()(dt()(se,Fe=>Fe.targetRef),"type");return a.createElement(a.Fragment,null,a.createElement(W.Z,{variant:"h2"},"Overview"),a.createElement("div",{className:C.root},a.createElement(nr,{title:"Identity"},a.createElement(jn.Z,{dense:!0},a.createElement(Nn.Z,null,a.createElement(bn,{primary:"apiVersion",secondary:$})),a.createElement(Nn.Z,null,a.createElement(bn,{primary:"kind",secondary:Z})),(k==null?void 0:k.type)&&a.createElement(Nn.Z,null,a.createElement(bn,{primary:"spec.type",secondary:k.type})),Y.uid&&a.createElement(Nn.Z,null,a.createElement(bn,{primary:"uid",secondary:Y.uid})),Y.etag&&a.createElement(Nn.Z,null,a.createElement(bn,{primary:"etag",secondary:Y.etag})))),a.createElement(nr,{title:"Metadata"},!!Object.keys(Y.annotations||{}).length&&a.createElement(jn.Z,{dense:!0,subheader:a.createElement(tr,null,"Annotations",a.createElement(ur,{to:"https://backstage.io/docs/features/software-catalog/well-known-annotations"}))},Object.entries(Y.annotations).map(Fe=>a.createElement(cr,{key:Fe[0],indent:!0,entry:Fe}))),!!Object.keys(Y.labels||{}).length&&a.createElement(jn.Z,{dense:!0,subheader:a.createElement(tr,null,"Labels")},Object.entries(Y.labels).map(Fe=>a.createElement(cr,{key:Fe[0],indent:!0,entry:Fe}))),!!((Ce=Y.tags)!=null&&Ce.length)&&a.createElement(jn.Z,{dense:!0,subheader:a.createElement(tr,null,"Tags")},Y.tags.map((Fe,je)=>a.createElement(Nn.Z,{key:`${Fe}-${je}`},a.createElement(Qn.Z,null),a.createElement(bn,{primary:Fe}))))),!!se.length&&a.createElement(nr,{title:"Relations",helpLink:"https://backstage.io/docs/features/software-catalog/well-known-relations"},Object.entries(we).map(([Fe,je],Et)=>a.createElement("div",{key:Et},a.createElement(jn.Z,{dense:!0,subheader:a.createElement(tr,null,Fe)},je.map(Je=>a.createElement(Nn.Z,{key:Je.targetRef},a.createElement(Qn.Z,null,a.createElement(vn,{entityRef:Je.targetRef})),a.createElement(bn,{primary:a.createElement(ae,{entityRef:Je.targetRef})}))))))),!!((Ie=ve.items)!=null&&Ie.length)&&a.createElement(nr,{title:"Status",helpLink:"https://backstage.io/docs/features/software-catalog/well-known-statuses"},ve.items.map((Fe,je)=>a.createElement("div",{key:je},a.createElement(b.Z,null,Fe.level,": ",Fe.type),a.createElement(v.Z,{ml:2},Fe.message))))))}var Fn=e(60155),Or=e.n(Fn);function Bn(R){return a.createElement(a.Fragment,null,a.createElement(W.Z,{variant:"h2"},"Entity as YAML"),a.createElement(W.Z,null,"This is the raw entity data as received from the catalog, on YAML form."),a.createElement(W.Z,null,a.createElement("div",{style:{fontSize:"75%"},"data-testid":"code-snippet"},a.createElement(vt.CodeSnippet,{text:Or().stringify(dr(R.entity)),language:"yaml",showCopyCodeButton:!0}))))}const hr=(0,ne.Z)(R=>({fullHeightDialog:{height:"calc(100% - 64px)"},root:{display:"flex",flexGrow:1,width:"100%",backgroundColor:R.palette.background.paper},tabs:{borderRight:`1px solid ${R.palette.divider}`,flexShrink:0},tabContents:{flexGrow:1,overflowX:"auto"}}));function Gn(R){const{children:C,value:$,index:Z,...Y}=R,k=hr();return a.createElement("div",{role:"tabpanel",hidden:$!==Z,id:`vertical-tabpanel-${Z}`,"aria-labelledby":`vertical-tab-${Z}`,className:k.tabContents,...Y},$===Z&&a.createElement(v.Z,{pl:3,pr:3},C))}function Kn(R){return{id:`vertical-tab-${R}`,"aria-controls":`vertical-tabpanel-${R}`}}function gr(R){const C=hr(),[$,Z]=a.useState(0);return(0,a.useEffect)(()=>{Z(0)},[R.open]),R.entity?a.createElement(sn.Z,{fullWidth:!0,maxWidth:"xl",open:R.open,onClose:R.onClose,"aria-labelledby":"entity-inspector-dialog-title",PaperProps:{className:C.fullHeightDialog}},a.createElement(Hn.Z,{id:"entity-inspector-dialog-title"},"Entity Inspector"),a.createElement(U.Z,{dividers:!0},a.createElement("div",{className:C.root},a.createElement(h.Z,{orientation:"vertical",variant:"scrollable",value:$,onChange:(Y,k)=>Z(k),"aria-label":"Inspector options",className:C.tabs},a.createElement(S.Z,{label:"Overview",...Kn(0)}),a.createElement(S.Z,{label:"Ancestry",...Kn(1)}),a.createElement(S.Z,{label:"Colocated",...Kn(2)}),a.createElement(S.Z,{label:"Raw JSON",...Kn(3)}),a.createElement(S.Z,{label:"Raw YAML",...Kn(4)})),a.createElement(Gn,{value:$,index:0},a.createElement(ln,{entity:R.entity})),a.createElement(Gn,{value:$,index:1},a.createElement(Zr,{entity:R.entity})),a.createElement(Gn,{value:$,index:2},a.createElement(jr,{entity:R.entity})),a.createElement(Gn,{value:$,index:3},a.createElement(Lr,{entity:R.entity})),a.createElement(Gn,{value:$,index:4},a.createElement(Bn,{entity:R.entity})))),a.createElement(B.Z,null,a.createElement(y.Z,{onClick:R.onClose,color:"primary"},"Close"))):null}var xr=e(85256);function pr(R){var Et;const C=(0,t.useApi)(c),$=(Et=R.metadata.annotations)==null?void 0:Et[Te.q1],Z=R.metadata.uid,Y=$==="bootstrap:bootstrap",k=(0,Xe.default)(async()=>{const Je=C.getLocationByRef($);let We;if(!$)We=Promise.resolve([]);else{const St=`metadata.annotations.${Te.q1}`;We=C.getEntities({filter:{[St]:$},fields:["kind","metadata.uid","metadata.name","metadata.namespace"]}).then(kt=>kt.items)}return Promise.all([Je,We]).then(([St,kt])=>({location:St,colocatedEntities:kt}))},[C,R]),se=(0,a.useCallback)(async function(){const{location:We}=k.value;await C.removeLocationById(We.id)},[C,k]),ve=(0,a.useCallback)(async function(){await C.removeEntityByUid(Z)},[C,Z]);if(Y)return{type:"bootstrap",location:$,deleteEntity:ve};const{loading:we,error:Ce,value:Ie}=k;if(we)return{type:"loading"};if(Ce)return{type:"error",error:Ce};const{location:Fe,colocatedEntities:je}=Ie;return Fe?{type:"unregister",location:$,colocatedEntities:je.map(Te.iB),unregisterLocation:se,deleteEntity:ve}:{type:"only-delete",deleteEntity:ve}}var kn=e(10179);const Vr=(0,ne.Z)({advancedButton:{fontSize:"0.7em"}}),Gr=({entity:R,onConfirm:C})=>{var Et;const $=(0,t.useApi)(t.alertApiRef),Z=(0,t.useApi)(t.configApiRef),Y=Vr(),k=pr(R),[se,ve]=(0,a.useState)(!1),[we,Ce]=(0,a.useState)(!1),Ie=(Et=Z.getOptionalString("app.title"))!=null?Et:"Backstage",Fe=(0,a.useCallback)(async function(){if("unregisterLocation"in k){Ce(!0);try{await k.unregisterLocation(),C()}catch(We){(0,kn.BD)(We),$.post({message:We.message})}finally{Ce(!1)}}},[$,C,k]),je=(0,a.useCallback)(async function(){if("deleteEntity"in k){Ce(!0);try{await k.deleteEntity(),C()}catch(We){(0,kn.BD)(We),$.post({message:We.message})}finally{Ce(!1)}}},[$,C,k]);return k.type==="loading"?a.createElement(vt.Progress,null):k.type==="error"?a.createElement(vt.ResponseErrorPanel,{error:k.error}):k.type==="bootstrap"?a.createElement(a.Fragment,null,a.createElement(lr.Z,{severity:"info"},'You cannot unregister this entity, since it originates from a protected Backstage configuration (location "',k.location,'"). If you believe this is in error, please contact the ',Ie," ","integrator."),a.createElement(v.Z,{marginTop:2},!se&&a.createElement(y.Z,{variant:"text",size:"small",color:"primary",className:Y.advancedButton,onClick:()=>ve(!0)},"Advanced Options"),se&&a.createElement(a.Fragment,null,a.createElement(W.Z,null,"You have the option to delete the entity itself from the catalog. Note that this should only be done if you know that the catalog file has been deleted at, or moved from, its origin location. If that is not the case, the entity will reappear shortly as the next refresh round is performed by the catalog."),a.createElement(y.Z,{variant:"contained",color:"secondary",disabled:we,onClick:je},"Delete Entity")))):k.type==="only-delete"?a.createElement(a.Fragment,null,a.createElement(W.Z,null,"This entity does not seem to originate from a registered location. You therefore only have the option to delete it outright from the catalog."),a.createElement(y.Z,{variant:"contained",color:"secondary",disabled:we,onClick:je},"Delete Entity")):k.type==="unregister"?a.createElement(a.Fragment,null,a.createElement(W.Z,null,"This action will unregister the following entities:"),a.createElement(W.Z,{component:"ul"},k.colocatedEntities.map(Je=>a.createElement("li",{key:`${Je.kind}:${Je.namespace}/${Je.name}`},a.createElement(ae,{entityRef:Je})))),a.createElement(W.Z,null,"Located at the following location:"),a.createElement(W.Z,{component:"ul"},a.createElement("li",null,k.location)),a.createElement(W.Z,null,"To undo, just re-register the entity in ",Ie,"."),a.createElement(v.Z,{marginTop:2},a.createElement(y.Z,{variant:"contained",color:"secondary",disabled:we,onClick:Fe},"Unregister Location"),!se&&a.createElement(v.Z,{component:"span",marginLeft:2},a.createElement(y.Z,{variant:"text",size:"small",color:"primary",className:Y.advancedButton,onClick:()=>ve(!0)},"Advanced Options"))),se&&a.createElement(a.Fragment,null,a.createElement(v.Z,{paddingTop:4,paddingBottom:4},a.createElement(xr.Z,null)),a.createElement(W.Z,null,"You also have the option to delete the entity itself from the catalog. Note that this should only be done if you know that the catalog file has been deleted at, or moved from, its origin location. If that is not the case, the entity will reappear shortly as the next refresh round is performed by the catalog."),a.createElement(y.Z,{variant:"contained",color:"secondary",disabled:we,onClick:je},"Delete Entity"))):a.createElement(lr.Z,{severity:"error"},"Internal error: Unknown state")},yr=R=>{const{open:C,onConfirm:$,onClose:Z,entity:Y}=R;return a.createElement(sn.Z,{open:C,onClose:Z},a.createElement(Hn.Z,{id:"responsive-dialog-title"},"Are you sure you want to unregister this entity?"),a.createElement(U.Z,null,a.createElement(Gr,{entity:Y,onConfirm:$})),a.createElement(B.Z,null,a.createElement(y.Z,{onClick:Z,color:"primary"},"Cancel")))};var P=e(12231),Q=e(9520),ie=e(47603);const Pe=(0,ne.Z)(R=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:R.spacing(1,0,1,0)},title:{margin:R.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:R.palette.text.primary},menuItem:{minHeight:R.spacing(6)},groupWrapper:{margin:R.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"});function Ke(R){return[{name:"Personal",items:[{id:"owned",label:"Owned",icon:ie.Z},{id:"starred",label:"Starred",icon:Lt.Z}]},{name:R!=null?R:"Company",items:[{id:"all",label:"All"}]}]}const gt=R=>{var no;const{initialFilter:C,availableFilters:$}=R,Z=Pe(),k=(no=(0,t.useApi)(t.configApiRef).getOptionalString("organization.name"))!=null?no:"Company",{filters:se,updateFilters:ve,backendEntities:we,queryParameters:{kind:Ce,user:Ie},loading:Fe}=be(),je=["starred","all"],Et=Ke(k).map(_t=>({..._t,items:_t.items.filter(({id:In})=>["group","user"].some(Fr=>Fr===Ce)?je.includes(In):!$||$.includes(In))})).filter(({items:_t})=>!!_t.length),{isStarredEntity:Je}=zt(),{isOwnedEntity:We,loading:St}=En(),kt=Fe||St,gn=(0,a.useMemo)(()=>new tt("owned",We,Je),[We,Je]),Pn=(0,a.useMemo)(()=>new tt("starred",We,Je),[We,Je]),dn=(0,a.useMemo)(()=>[Ie].flat()[0],[Ie]),[An,Ln]=(0,a.useState)(dn!=null?dn:C),Dr=(0,a.useMemo)(()=>we.filter(lt((0,Be.compact)(Object.values({...se,user:void 0})))),[se,we]),Er=(0,a.useMemo)(()=>({all:Dr.length,starred:Dr.filter(_t=>Pn.filterEntity(_t)).length,owned:Dr.filter(_t=>gn.filterEntity(_t)).length}),[Dr,Pn,gn]);return(0,a.useEffect)(()=>{dn&&Ln(dn)},[dn]),(0,a.useEffect)(()=>{!kt&&!!An&&An!=="all"&&Er[An]===0&&Ln("all")},[kt,Er,An,Ln]),(0,a.useEffect)(()=>{ve({user:An?new tt(An,We,Je):void 0})},[An,We,Je,ve]),a.createElement(Xn.Z,{className:Z.root},Et.map(_t=>a.createElement(a.Fragment,{key:_t.name},a.createElement(b.Z,{variant:"subtitle2",component:"span",className:Z.title},_t.name),a.createElement(Xn.Z,{className:Z.groupWrapper},a.createElement(jn.Z,{disablePadding:!0,dense:!0,role:"menu","aria-label":_t.name},_t.items.map(In=>{var Fr,ro;return a.createElement(P.Z,{role:"none presentation",key:In.id,button:!0,divider:!0,onClick:()=>Ln(In.id),selected:In.id===((Fr=se.user)==null?void 0:Fr.value),className:Z.menuItem,disabled:Er[In.id]===0,"data-testid":`user-picker-${In.id}`,tabIndex:0,ContainerProps:{role:"menuitem"}},In.icon&&a.createElement(Qn.Z,{className:Z.listIcon},a.createElement(In.icon,{fontSize:"small"})),a.createElement(Sr.Z,null,a.createElement(b.Z,{variant:"body1"},In.label," ")),a.createElement(Q.Z,null,(ro=Er[In.id])!=null?ro:"-"))}))))))},yt=({children:R,value:C})=>{var ve;const[$,Z]=useState((ve=C==null?void 0:C.filters)!=null?ve:{}),Y=useCallback(we=>{Z(Ce=>{const Ie=typeof we=="function"?we(Ce):we;return{...Ce,...Ie}})},[]),k=useMemo(()=>({entities:[],backendEntities:[],queryParameters:{}}),[]),se=useMemo(()=>{var we,Ce,Ie,Fe,je;return{entities:(we=C==null?void 0:C.entities)!=null?we:k.entities,backendEntities:(Ce=C==null?void 0:C.backendEntities)!=null?Ce:k.backendEntities,updateFilters:(Ie=C==null?void 0:C.updateFilters)!=null?Ie:Y,filters:$,loading:(Fe=C==null?void 0:C.loading)!=null?Fe:!1,queryParameters:(je=C==null?void 0:C.queryParameters)!=null?je:k.queryParameters,error:C==null?void 0:C.error}},[C,k,$,Y]);return React.createElement(EntityListContext.Provider,{value:se},R)}},39398:function(_,s,e){"use strict";e.r(s),e.d(s,{AboutCard:function(){return Be},AboutContent:function(){return J},AboutField:function(){return M}});var r=e(48023),t=e(53492),c=e(36964),f=e(36356),A=e(53479),m=e(79692),a=e(94339),i=e(32552),d=e(61837),y=e(85256),p=e(24579),v=e(52866),b=e(30254),L=e(27604),w=e(2784),z=e(47851),x=e(60905),T=e(90436),I=e(7089);const F=(0,m.Z)(Le=>({value:{fontWeight:"bold",overflow:"hidden",lineHeight:"24px",wordBreak:"break-word"},label:{color:Le.palette.text.secondary,textTransform:"uppercase",fontSize:"10px",fontWeight:"bold",letterSpacing:.5,overflow:"hidden",whiteSpace:"nowrap"}}));function M(Le){const{label:le,value:Ne,gridSizes:ze,children:Ye}=Le,_e=F(),it=(0,c.useElementFilter)(Ye,Te=>Te.getElements()),lt=it.length>0?it:w.createElement(T.Z,{variant:"body2",className:_e.value},Ne||"unknown");return w.createElement(x.Z,{item:!0,...ze},w.createElement(T.Z,{variant:"h2",className:_e.label},le),lt)}const G=(0,m.Z)({description:{wordBreak:"break-word"}});function J(Le){var be,Xe,Ve,Ze,ut,dt;const{entity:le}=Le,Ne=G(),ze=le.kind.toLocaleLowerCase("en-US")==="system",Ye=le.kind.toLocaleLowerCase("en-US")==="resource",_e=le.kind.toLocaleLowerCase("en-US")==="component",it=le.kind.toLocaleLowerCase("en-US")==="api",lt=le.kind.toLocaleLowerCase("en-US")==="template",Te=le.kind.toLocaleLowerCase("en-US")==="location",st=le.kind.toLocaleLowerCase("en-US")==="group",He=(0,A.getEntityRelations)(le,r.cz,{kind:"system"}),re=(0,A.getEntityRelations)(le,r.cz,{kind:"component"}),he=(0,A.getEntityRelations)(le,r.cz,{kind:"domain"}),Me=(0,A.getEntityRelations)(le,r.S4);return w.createElement(x.Z,{container:!0},w.createElement(M,{label:"Description",gridSizes:{xs:12}},w.createElement(T.Z,{variant:"body2",paragraph:!0,className:Ne.description},((be=le==null?void 0:le.metadata)==null?void 0:be.description)||"No description")),w.createElement(M,{label:"Owner",value:"No Owner",gridSizes:{xs:12,sm:6,lg:4}},Me.length>0&&w.createElement(A.EntityRefLinks,{entityRefs:Me,defaultKind:"group"})),(ze||he.length>0)&&w.createElement(M,{label:"Domain",value:"No Domain",gridSizes:{xs:12,sm:6,lg:4}},he.length>0&&w.createElement(A.EntityRefLinks,{entityRefs:he,defaultKind:"domain"})),(it||_e||Ye||He.length>0)&&w.createElement(M,{label:"System",value:"No System",gridSizes:{xs:12,sm:6,lg:4}},He.length>0&&w.createElement(A.EntityRefLinks,{entityRefs:He,defaultKind:"system"})),_e&&re.length>0&&w.createElement(M,{label:"Parent Component",value:"No Parent Component",gridSizes:{xs:12,sm:6,lg:4}},w.createElement(A.EntityRefLinks,{entityRefs:re,defaultKind:"component"})),(it||_e||Ye||lt||st||Te||typeof((Xe=le==null?void 0:le.spec)==null?void 0:Xe.type)=="string")&&w.createElement(M,{label:"Type",value:(Ve=le==null?void 0:le.spec)==null?void 0:Ve.type,gridSizes:{xs:12,sm:6,lg:4}}),(it||_e||typeof((Ze=le==null?void 0:le.spec)==null?void 0:Ze.lifecycle)=="string")&&w.createElement(M,{label:"Lifecycle",value:(ut=le==null?void 0:le.spec)==null?void 0:ut.lifecycle,gridSizes:{xs:12,sm:6,lg:4}}),w.createElement(M,{label:"Tags",value:"No Tags",gridSizes:{xs:12,sm:6,lg:4}},(((dt=le==null?void 0:le.metadata)==null?void 0:dt.tags)||[]).map(Ut=>w.createElement(I.Z,{key:Ut,size:"small",label:Ut}))))}const me=(0,m.Z)({gridItemCard:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px"},fullHeightCard:{display:"flex",flexDirection:"column",height:"100%"},gridItemCardContent:{flex:1},fullHeightCardContent:{flex:1}});function Be(Le){var Ze,ut,dt;const{variant:le}=Le,Ne=me(),{entity:ze}=(0,A.useEntity)(),Ye=(0,c.useApi)(f.q3),_e=(0,c.useApi)(A.catalogApiRef),it=(0,c.useApi)(c.alertApiRef),lt=(0,c.useRouteRef)(z.jU),Te=(0,A.getEntitySourceLocation)(ze,Ye),st=(Ze=ze.metadata.annotations)==null?void 0:Ze[r.Tf],He={label:"View Source",disabled:!Te,icon:w.createElement(f.nW,{type:Te==null?void 0:Te.integrationType}),href:Te==null?void 0:Te.locationTargetUrl},re={label:"View TechDocs",disabled:!((ut=ze.metadata.annotations)!=null&&ut["backstage.io/techdocs-ref"])||!lt,icon:w.createElement(b.Z,null),href:lt&<({namespace:ze.metadata.namespace||r.zG,kind:ze.kind,name:ze.metadata.name})};let he="";le==="gridItem"?he=Ne.gridItemCard:le==="fullHeight"&&(he=Ne.fullHeightCard);let Me="";le==="gridItem"?Me=Ne.gridItemCardContent:le==="fullHeight"&&(Me=Ne.fullHeightCardContent);const be=(dt=ze.metadata.annotations)==null?void 0:dt[r.P1],Xe=(be==null?void 0:be.startsWith("url:"))||(be==null?void 0:be.startsWith("file:")),Ve=(0,w.useCallback)(async()=>{await _e.refreshEntity((0,r.eE)(ze)),it.post({message:"Refresh scheduled",severity:"info"})},[_e,it,ze]);return w.createElement(a.Z,{className:he},w.createElement(i.Z,{title:"About",action:w.createElement(w.Fragment,null,Xe&&w.createElement(d.Z,{"aria-label":"Refresh",title:"Schedule entity refresh",onClick:Ve},w.createElement(v.Z,null)),w.createElement(d.Z,{component:t.Link,"aria-label":"Edit",disabled:!st,title:"Edit Metadata",to:st!=null?st:"#"},w.createElement(L.Z,null))),subheader:w.createElement(t.HeaderIconLinkRow,{links:[He,re]})}),w.createElement(y.Z,null),w.createElement(p.Z,{className:Me},w.createElement(J,{entity:ze})))}},49782:function(_,s,e){"use strict";e.d(s,{K:function(){return v}});var r=e(2784),t=e(79692),c=e(12420),f=e(97580),A=e(73698),m=e(74603),a=e(12231),i=e(53479),d=e(64279),y=e(36964);const p=(0,t.Z)(b=>(0,c.Z)({root:{...b.typography.h4}}));function v(b){var Le;const{initialFilter:L="component",allowedKinds:w}=b,z=p(),x=(0,y.useApi)(i.catalogApiRef),{value:T}=(0,d.default)(async()=>await x.getEntityFacets({facets:["kind"]}).then(le=>{var Ne;return((Ne=le.facets.kind)==null?void 0:Ne.map(ze=>ze.value).sort())||[]})),{updateFilters:I,queryParameters:{kind:F}}=(0,i.useEntityList)(),M=(0,r.useMemo)(()=>{var le;return(le=[F].flat()[0])==null?void 0:le.toLocaleLowerCase("en-US")},[F]),[G,J]=(0,r.useState)(M!=null?M:L);(0,r.useEffect)(()=>{I({kind:G?new i.EntityKindFilter(G):void 0})},[G,I]),(0,r.useEffect)(()=>{M&&J(M)},[M]);const Be=[(0,f.Z)(G)].concat((Le=T==null?void 0:T.filter(le=>w?w.some(Ne=>Ne.toLocaleLowerCase("en-US")===le.toLocaleLowerCase("en-US")):!0))!=null?Le:[]).sort().reduce((le,Ne)=>(le[Ne.toLocaleLowerCase("en-US")]=Ne,le),{});return r.createElement(A.Z,{input:r.createElement(m.Z,{value:G}),value:G,onChange:le=>J(le.target.value),classes:z},Object.keys(Be).map(le=>r.createElement(a.Z,{value:le,key:le},`${Be[le]}s`)))}},30097:function(_,s,e){"use strict";e.d(s,{E:function(){return w}});var r=e(48023),t=e(53479),c=e(27604),f=e(2997),A=e(76635),m=e(2784),a=e(7089),i=e(53492);const d=Object.freeze({createNameColumn(z){function x(T){var I;return((I=T.metadata)==null?void 0:I.title)||(0,t.humanizeEntityRef)(T,{defaultKind:z==null?void 0:z.defaultKind})}return{title:"Name",field:"resolved.name",highlight:!0,customSort({entity:T},{entity:I}){return x(T).localeCompare(x(I))},render:({entity:T})=>{var I;return m.createElement(t.EntityRefLink,{entityRef:T,defaultKind:(z==null?void 0:z.defaultKind)||"Component",title:(I=T.metadata)==null?void 0:I.title})}}},createSystemColumn(){return{title:"System",field:"resolved.partOfSystemRelationTitle",render:({resolved:z})=>m.createElement(t.EntityRefLinks,{entityRefs:z.partOfSystemRelations,defaultKind:"system"})}},createOwnerColumn(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:z})=>m.createElement(t.EntityRefLinks,{entityRefs:z.ownedByRelations,defaultKind:"group"})}},createSpecTypeColumn(){return{title:"Type",field:"entity.spec.type",hidden:!0}},createSpecLifecycleColumn(){return{title:"Lifecycle",field:"entity.spec.lifecycle"}},createMetadataDescriptionColumn(){return{title:"Description",field:"entity.metadata.description",render:({entity:z})=>m.createElement(i.OverflowTooltip,{text:z.metadata.description,placement:"bottom-start"}),width:"auto"}},createTagsColumn(){return{title:"Tags",field:"entity.metadata.tags",cellStyle:{padding:"0px 16px 0px 20px"},render:({entity:z})=>m.createElement(m.Fragment,null,z.metadata.tags&&z.metadata.tags.map(x=>m.createElement(a.Z,{key:x,label:x,size:"small",variant:"outlined",style:{marginBottom:"0px"}})))}}});var y=e(28347),p=e(15459),v=e(11640),b=e(90436);const L=(0,p.Z)({root:{color:"#f3ba37"}})(v.Z),w=z=>{var lt,Te,st;const{columns:x,actions:T,tableOptions:I}=z,{isStarredEntity:F,toggleStarredEntity:M}=(0,t.useStarredEntities)(),{loading:G,error:J,entities:me,filters:Be}=(0,t.useEntityList)(),Le=(0,m.useMemo)(()=>{var re;return[d.createNameColumn({defaultKind:(re=Be.kind)==null?void 0:re.value}),...He(),d.createMetadataDescriptionColumn(),d.createTagsColumn()];function He(){var he;switch((he=Be.kind)==null?void 0:he.value){case"user":return[];case"domain":case"system":return[d.createOwnerColumn()];case"group":case"location":case"template":return[d.createSpecTypeColumn()];default:return[d.createSystemColumn(),d.createOwnerColumn(),d.createSpecTypeColumn(),d.createSpecLifecycleColumn()]}}},[(lt=Be.kind)==null?void 0:lt.value]),le=Be.type===void 0,Ne=(0,A.capitalize)((st=(Te=Be.user)==null?void 0:Te.value)!=null?st:"all");if(J)return m.createElement("div",null,m.createElement(i.WarningPanel,{severity:"error",title:"Could not fetch catalog entities."},m.createElement(i.CodeSnippet,{language:"text",text:J.toString()})));const ze=[({entity:He})=>{var Me;const re=(Me=He.metadata.annotations)==null?void 0:Me[r.l2],he="View";return{icon:()=>m.createElement(m.Fragment,null,m.createElement(b.Z,{variant:"srOnly"},he),m.createElement(f.Z,{fontSize:"small"})),tooltip:he,disabled:!re,onClick:()=>{!re||window.open(re,"_blank")}}},({entity:He})=>{var Me;const re=(Me=He.metadata.annotations)==null?void 0:Me[r.Tf],he="Edit";return{icon:()=>m.createElement(m.Fragment,null,m.createElement(b.Z,{variant:"srOnly"},he),m.createElement(c.Z,{fontSize:"small"})),tooltip:he,disabled:!re,onClick:()=>{!re||window.open(re,"_blank")}}},({entity:He})=>{const re=F(He),he=re?"Remove from favorites":"Add to favorites";return{cellStyle:{paddingLeft:"1em"},icon:()=>m.createElement(m.Fragment,null,m.createElement(b.Z,{variant:"srOnly"},he),re?m.createElement(L,null):m.createElement(y.Z,null)),tooltip:he,onClick:()=>M(He)}}],Ye=me.map(He=>{const re=(0,t.getEntityRelations)(He,r.cz,{kind:"system"}),he=(0,t.getEntityRelations)(He,r.S4);return{entity:He,resolved:{name:(0,t.humanizeEntityRef)(He,{defaultKind:"Component"}),ownedByRelationsTitle:he.map(Me=>(0,t.humanizeEntityRef)(Me,{defaultKind:"group"})).join(", "),ownedByRelations:he,partOfSystemRelationTitle:re.map(Me=>(0,t.humanizeEntityRef)(Me,{defaultKind:"system"})).join(", "),partOfSystemRelations:re}}}),_e=(x||Le).find(He=>He.title==="Type");_e&&(_e.hidden=!le);const it=Ye.length>20;return m.createElement(i.Table,{isLoading:G,columns:x||Le,options:{paging:it,pageSize:20,actionsColumnIndex:-1,loadingType:"linear",showEmptyDataSourceMessage:!G,padding:"dense",pageSizeOptions:[20,50,100],...I},title:`${Ne} (${me.length})`,data:Ye,actions:T||ze})};w.columns=d},47851:function(_,s,e){"use strict";e.d(s,{_Z:function(){return f},jU:function(){return c},yw:function(){return t}});var r=e(36964);const t=(0,r.createExternalRouteRef)({id:"create-component",optional:!0}),c=(0,r.createExternalRouteRef)({id:"view-techdoc",optional:!0,params:["namespace","kind","name"]}),f=(0,r.createRouteRef)({id:"catalog"})},40749:function(_,s,e){"use strict";e.d(s,{rG:function(){return r},Y2:function(){return I},J$:function(){return d},g2:function(){return c}});var r;(function(F){const M="DENY";F.DENY=M;const G="ALLOW";F.ALLOW=G;const J="CONDITIONAL";F.CONDITIONAL=J})(r||(r={}));function t(F,M){return F.name===M.name}function c(F,M){return"resourceType"in F?!M||F.resourceType===M:!1}function f(F){return F.attributes.action==="create"}function A(F){return F.attributes.action==="read"}function m(F){return F.attributes.action==="update"}function a(F){return F.attributes.action==="delete"}function i(F){return{authorize:async(M,G)=>await F.authorize(M,G),authorizeConditional(M,G){const J=M;return F.authorize(J,G)}}}function d({name:F,attributes:M,resourceType:G}){return G?{type:"resource",name:F,attributes:M,resourceType:G}:{type:"basic",name:F,attributes:M}}var y=e(10179),p=e(96279),v=e.n(p),b=e(9571),L=e(30195);const w=L.z.lazy(()=>L.z.object({rule:L.z.string(),resourceType:L.z.string(),params:L.z.array(L.z.unknown())}).or(L.z.object({anyOf:L.z.array(w).nonempty()})).or(L.z.object({allOf:L.z.array(w).nonempty()})).or(L.z.object({not:w}))),z=L.z.object({result:L.z.literal(r.ALLOW).or(L.z.literal(r.DENY))}),x=L.z.union([L.z.object({result:L.z.literal(r.ALLOW).or(L.z.literal(r.DENY))}),L.z.object({result:L.z.literal(r.CONDITIONAL),pluginId:L.z.string(),resourceType:L.z.string(),conditions:w})]),T=(F,M)=>L.z.object({items:L.z.array(L.z.intersection(L.z.object({id:L.z.string()}),F)).refine(G=>G.length===M.size&&G.every(({id:J})=>M.has(J)),{message:"Items in response do not match request"})});class I{constructor(M){X(this,"enabled");X(this,"discovery");var G;this.discovery=M.discovery,this.enabled=(G=M.config.getOptionalBoolean("permission.enabled"))!=null?G:!1}async authorize(M,G){return this.makeRequest(M,z,G)}async authorizeConditional(M,G){return this.makeRequest(M,x,G)}async makeRequest(M,G,J){if(!this.enabled)return M.map(Ye=>({result:r.ALLOW}));const me={items:M.map(Ye=>({id:b.Z(),...Ye}))},Be=await this.discovery.getBaseUrl("permission"),Le=await v()(`${Be}/authorize`,{method:"POST",body:JSON.stringify(me),headers:{...this.getAuthorizationHeader(J==null?void 0:J.token),"content-type":"application/json"}});if(!Le.ok)throw await y.VL.fromResponse(Le);const le=await Le.json(),ze=T(G,new Set(me.items.map(({id:Ye})=>Ye))).parse(le).items.reduce((Ye,_e)=>(Ye[_e.id]=_e,Ye),{});return me.items.map(Ye=>ze[Ye.id])}getAuthorizationHeader(M){return M?{Authorization:`Bearer ${M}`}:{}}}},68099:function(_,s,e){"use strict";e.d(s,{iM:function(){return A},RV:function(){return c},gI:function(){return a}});var r=e(2784),t=e(36964);const c=(0,t.createApiRef)({id:"plugin.permission.api"});var f=e(40749);class A{constructor(y,p){this.permissionClient=y,this.identityApi=p}static create(y){const{config:p,discovery:v,identity:b}=y,L=new f.Y2({discovery:v,config:p});return new A(L,b)}async authorize(y){return(await this.permissionClient.authorize([y],await this.identityApi.getCredentials()))[0]}}var m=e(49857);function a(d){const y=(0,t.useApi)(c),{data:p,error:v}=(0,m.ZP)(d,async b=>{if((0,f.g2)(b.permission)&&!b.resourceRef)return f.rG.DENY;const{result:L}=await y.authorize(b);return L});return v?{error:v,loading:!1,allowed:!1}:p===void 0?{loading:!0,allowed:!1}:{loading:!1,allowed:p===f.rG.ALLOW}}const i=d=>{const{permission:y,resourceRef:p,errorComponent:v,...b}=d,L=usePermission(isResourcePermission(y)?{permission:y,resourceRef:p}:{permission:y}),w=useApp(),{NotFoundErrorPage:z}=w.getComponents();let x=v===void 0?React.createElement(z,null):v;return L.loading?x=null:L.allowed&&(x=d.element),React.createElement(Route,{...b,element:x})}},73624:function(_,s,e){"use strict";e.d(s,{FA:function(){return a},Nd:function(){return w},Rx:function(){return v}});var r=e(36964);const t=(0,r.createApiRef)({id:"plugin.search.queryservice"});class c{constructor(x){this.mockedResults=x}query(){return Promise.resolve(this.mockedResults||{results:[]})}}var f=e(2784),A=e(79692);const m=(0,A.Z)(()=>({highlight:{}}),{name:"BackstageHighlightedSearchResultText"}),a=({text:z,preTag:x,postTag:T})=>{const I=m(),F=(0,f.useMemo)(()=>z.split(new RegExp(`(${x}.+?${T})`)),[T,x,z]);return f.createElement(f.Fragment,null,F.map((M,G)=>M.includes(x)?f.createElement("mark",{className:I.highlight,key:G},M.replace(new RegExp(`${x}|${T}`,"g"),"")):M))};var i=e(76241),d=e(64279),y=e(1849);const p=(0,i.CT)("search-context"),v=()=>{const z=(0,f.useContext)(p);if(!z)throw new Error("useSearch must be used within a SearchContextProvider");const x=z.atVersion(1);if(!x)throw new Error("No SearchContext v1 found");return x},b=()=>useContext(p)!==void 0,L={term:"",pageCursor:void 0,filters:{},types:[]},w=z=>{var He,re,he,Me;const{initialState:x=L,children:T}=z,I=(0,r.useApi)(t),[F,M]=(0,f.useState)(x.pageCursor),[G,J]=(0,f.useState)(x.filters),[me,Be]=(0,f.useState)(x.term),[Le,le]=(0,f.useState)(x.types),Ne=(0,y.Z)(me),ze=(0,d.default)(()=>I.query({term:me,filters:G,pageCursor:F,types:Le}),[me,G,Le,F]),Ye=!ze.loading&&!ze.error&&((He=ze.value)==null?void 0:He.nextPageCursor),_e=!ze.loading&&!ze.error&&((re=ze.value)==null?void 0:re.previousPageCursor),it=(0,f.useCallback)(()=>{var be;M((be=ze.value)==null?void 0:be.nextPageCursor)},[(he=ze.value)==null?void 0:he.nextPageCursor]),lt=(0,f.useCallback)(()=>{var be;M((be=ze.value)==null?void 0:be.previousPageCursor)},[(Me=ze.value)==null?void 0:Me.previousPageCursor]);(0,f.useEffect)(()=>{me&&Ne&&me!==Ne&&M(void 0)},[me,Ne,x.pageCursor]);const Te={result:ze,filters:G,setFilters:J,term:me,setTerm:Be,types:Le,setTypes:le,pageCursor:F,setPageCursor:M,fetchNextPage:Ye?it:void 0,fetchPreviousPage:_e?lt:void 0},st=(0,i.EI)({1:Te});return f.createElement(r.AnalyticsContext,{attributes:{searchTypes:Le.sort().join(",")}},f.createElement(p.Provider,{value:st,children:T}))}},26136:function(_,s,e){"use strict";e.d(s,{Ox:function(){return Ne},Zz:function(){return A},oZ:function(){return J},DR:function(){return m},ZS:function(){return M},VA:function(){return _e},KY:function(){return i},gT:function(){return b},Dl:function(){return L},ux:function(){return Ye},$L:function(){return v},x1:function(){return G}});var r=e(2784),t=e(10289),c=e(36964);const f="techdocs.addons.addon.v1",A="techdocs.addons.wrapper.v1",m=()=>null;(0,c.attachComponentData)(m,A,!0);const a=re=>`${f}.${re.toLocaleLowerCase("en-US")}`;function i(re){const{name:he,component:Me}=re;return(0,c.createReactExtension)({name:he,component:{sync:be=>r.createElement(Me,{...be})},data:{[f]:re,[a(he)]:!0}})}const d=(re,he)=>re.selectByComponentData({key:he}).getElements()[0],y=re=>re.selectByComponentData({key:A}).selectByComponentData({key:f}),p=re=>re.selectByComponentData({key:A}).findComponentData({key:f}),v=()=>{const re=(0,t.pC)(),he=(0,c.useElementFilter)(re,y),Me=(0,c.useElementFilter)(re,p),be=(0,r.useCallback)(Ze=>{var dt;if(!he||!Ze)return null;const ut=a(Ze.name);return(dt=d(he,ut))!=null?dt:null},[he]),Xe=(0,r.useCallback)(Ze=>{const ut=Me.find(dt=>dt.name===Ze);return ut?be(ut):null},[Me,be]),Ve=(0,r.useCallback)(Ze=>{const ut=Me.filter(dt=>dt.location===Ze);return ut.length?ut.map(be):null},[Me,be]);return{renderComponentByName:Xe,renderComponentsByLocation:Ve}},b=(0,c.createApiRef)({id:"plugin.techdocs.service"}),L=(0,c.createApiRef)({id:"plugin.techdocs.storageservice"});var w=e(64279),z=e(48023),x=e(76241);const T=(re,he)=>(0,z.eE)(re)===(0,z.eE)(he),I={title:"",subtitle:"",setTitle:()=>{},setSubtitle:()=>{},setShadowRoot:()=>{},metadata:{loading:!0},entityMetadata:{loading:!0},entityRef:{kind:"",name:"",namespace:""}},F=(0,x.CT)("techdocs-reader-page-context"),M=(0,r.memo)(({entityRef:re,children:he})=>{const Me=(0,c.useApi)(b),be=(0,w.default)(async()=>Me.getTechDocsMetadata(re),[re]),Xe=(0,w.default)(async()=>Me.getEntityMetadata(re),[re]),[Ve,Ze]=(0,r.useState)(I.title),[ut,dt]=(0,r.useState)(I.subtitle),[Ut,Sn]=(0,r.useState)(I.shadowRoot),jt={metadata:be,entityRef:re,entityMetadata:Xe,shadowRoot:Ut,setShadowRoot:Sn,title:Ve,setTitle:Ze,subtitle:ut,setSubtitle:dt},vt=(0,x.EI)({1:jt});return r.createElement(F.Provider,{value:vt},he instanceof Function?he(jt):he)},(re,he)=>T(re.entityRef,he.entityRef)),G=()=>{const re=(0,r.useContext)(F);if(re===void 0)return I;const he=re.atVersion(1);if(he===void 0)throw new Error("No context found for version 1.");return he},J=Object.freeze({Header:"Header",Subheader:"Subheader",Settings:"Settings",PrimarySidebar:"PrimarySidebar",SecondarySidebar:"SecondarySidebar",Content:"Content"});var me=e(6553),Be=e(50236),Le=e(19219),le=e(53492);const Ne="TECH_DOCS_SHADOW_DOM_STYLE_LOAD",ze=re=>{(0,r.useEffect)(()=>{var Ve;if(!re)return()=>{};const he=re.querySelectorAll('head > link[rel="stylesheet"]');let Me=(Ve=he==null?void 0:he.length)!=null?Ve:0;const be=new CustomEvent(Ne);if(!Me)return re.dispatchEvent(be),()=>{};const Xe=()=>{--Me===0&&re.dispatchEvent(be)};return he==null||he.forEach(Ze=>{Ze.addEventListener("load",Xe)}),()=>{he==null||he.forEach(Ze=>{Ze.removeEventListener("load",Xe)})}},[re])},Ye=re=>{const[he,Me]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{if(!re)return()=>{};Me(!0);const be=re.style;be.setProperty("opacity","0");const Xe=()=>{Me(!1),be.setProperty("opacity","1")};return re.addEventListener(Ne,Xe),()=>{re.removeEventListener(Ne,Xe)}},[re]),he},_e=({element:re,onAppend:he,children:Me})=>{const[be,Xe]=(0,r.useState)((0,me.Ue)({...(0,Be.Z)(),insertionPoint:void 0}));ze(re);const Ve=Ye(re),Ze=(0,r.useCallback)(ut=>{if(!re||!ut)return;Xe((0,me.Ue)({...(0,Be.Z)(),insertionPoint:re.querySelector("head")||void 0}));let dt=ut.shadowRoot;dt||(dt=ut.attachShadow({mode:"open"})),dt.replaceChildren(re),typeof he=="function"&&he(dt)},[re,he]);return r.createElement(r.Fragment,null,Ve&&r.createElement(le.Progress,null),r.createElement(Le.ZP,{jss:be,sheetsManager:new Map},r.createElement("div",{ref:Ze,"data-testid":"techdocs-native-shadowroot"}),Me))};var it=e(54073);const lt=()=>{const{shadowRoot:re}=useTechDocsReaderPage();return re},Te=re=>{const he=lt();return he?re.map(Me=>he==null?void 0:he.querySelectorAll(Me)).filter(Me=>Me.length).map(Me=>Array.from(Me)).flat():[]},st=re=>re.toString()&&re.rangeCount&&re.getRangeAt(0).getBoundingClientRect().top,He=(re=0)=>{const he=lt(),[Me,be]=useState(null),Xe=useMemo(()=>debounce(()=>{const Ve=he,Ze=Ve.getSelection?Ve.getSelection():document.getSelection();Ze&&st(Ze)?be(Ze):be(null)},re),[he,be,re]);return useEffect(()=>(window.document.addEventListener("selectionchange",Xe),()=>window.document.removeEventListener("selectionchange",Xe)),[Xe]),Me}},94067:function(_,s,e){"use strict";e.r(s),e.d(s,{EmbeddedDocsRouter:function(){return w},Router:function(){return L},isTechDocsAvailable:function(){return b}});var r=e(2784),t=e(10289),c=e(53479),f=e(53492),A=e(48023),m=e(20961),a=e(16172),i=e(63126);const d=({entity:z})=>{const x=(0,A.iB)(z);return r.createElement(m.I6,{entityRef:x},r.createElement(a.b,null),r.createElement(i.F,{withSearch:!1}))};var y=e(50021),p=e(26220);const v="backstage.io/techdocs-ref",b=z=>{var x,T;return Boolean((T=(x=z==null?void 0:z.metadata)==null?void 0:x.annotations)==null?void 0:T[v])},L=()=>r.createElement(t.Z5,null,r.createElement(t.AW,{path:"/",element:r.createElement(y.TechDocsIndexPage,null)}),r.createElement(t.AW,{path:"/:namespace/:kind/:name/*",element:r.createElement(p.TechDocsReaderPage,null)})),w=z=>{var M;const{children:x}=z,{entity:T}=(0,c.useEntity)(),I=(0,t.V$)([{path:"/*",element:r.createElement(d,{entity:T}),children:[{path:"/*",element:x}]}]);return((M=T.metadata.annotations)==null?void 0:M[v])?I:r.createElement(f.MissingAnnotationEmptyState,{annotation:v})}},3337:function(_,s,e){"use strict";var r=e(36964);const t=(0,r.createApiRef)({id:"plugin.techdocs.storageservice"}),c=(0,r.createApiRef)({id:"plugin.techdocs.service"})},42723:function(_,s,e){"use strict";e.d(s,{k:function(){return A},p:function(){return f}});var r=e(10179),t=e(76372),c=e.n(t);class f{constructor(a){X(this,"configApi");X(this,"discoveryApi");X(this,"fetchApi");this.configApi=a.configApi,this.discoveryApi=a.discoveryApi,this.fetchApi=a.fetchApi}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getTechDocsMetadata(a){const{kind:i,namespace:d,name:y}=a,v=`${await this.getApiOrigin()}/metadata/techdocs/${d}/${i}/${y}`,b=await this.fetchApi.fetch(`${v}`);if(!b.ok)throw await r.VL.fromResponse(b);return await b.json()}async getEntityMetadata(a){const{kind:i,namespace:d,name:y}=a,v=`${await this.getApiOrigin()}/metadata/entity/${d}/${i}/${y}`,b=await this.fetchApi.fetch(`${v}`);if(!b.ok)throw await r.VL.fromResponse(b);return await b.json()}}class A{constructor(a){X(this,"configApi");X(this,"discoveryApi");X(this,"identityApi");X(this,"fetchApi");this.configApi=a.configApi,this.discoveryApi=a.discoveryApi,this.identityApi=a.identityApi,this.fetchApi=a.fetchApi}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var a;return(a=this.configApi.getOptionalString("techdocs.storageUrl"))!=null?a:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(a,i){const{kind:d,namespace:y,name:p}=a,b=`${await this.getStorageUrl()}/${y}/${d}/${p}/${i}`,L=await this.fetchApi.fetch(`${b.endsWith("/")?b:`${b}/`}index.html`);let w="";switch(L.status){case 404:throw w="Page not found. ",i||(w+="This could be because there is no index.md file in the root of the docs directory of this repository."),new r.dR(w);case 500:throw w="Could not generate documentation or an error in the TechDocs backend. ",new Error(w);default:break}return L.text()}async syncEntityDocs(a,i=()=>{}){const{kind:d,namespace:y,name:p}=a,b=`${await this.getApiOrigin()}/sync/${y}/${d}/${p}`,{token:L}=await this.identityApi.getCredentials();return new Promise((w,z)=>{const x=new t.EventSourcePolyfill(b,{withCredentials:!0,headers:L?{Authorization:`Bearer ${L}`}:{}});x.addEventListener("log",T=>{T.data&&i(JSON.parse(T.data))}),x.addEventListener("finish",T=>{let I=!1;T.data&&({updated:I}=JSON.parse(T.data)),w(I?"updated":"cached")}),x.onerror=T=>{switch(x.close(),T.status){case 404:z(new r.dR(T.message));return;default:z(new Error(T.data));return}}})}async getBaseUrl(a,i,d){const{kind:y,namespace:p,name:v}=i,L=`${await this.getApiOrigin()}/static/docs/${p}/${y}/${v}/${d}`;return new URL(a,L.endsWith("/")?L:`${L}/`).toString()}}},97589:function(_,s,e){"use strict";e.d(s,{D:function(){return r}});function r(t,c){return c.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?t:t.toLocaleLowerCase("en-US")}},2546:function(_,s,e){"use strict";e.d(s,{u:function(){return a}});var r=e(2784),t=e(53492),c=e(53479),f=e(1114),A=e(70335),m=e(21956);const a=i=>{const{initialFilter:d="all",columns:y,actions:p}=i;return r.createElement(f.j,null,r.createElement(t.Content,null,r.createElement(t.ContentHeader,{title:""},r.createElement(t.SupportButton,null,"Discover documentation in your ecosystem.")),r.createElement(c.EntityListProvider,null,r.createElement(c.CatalogFilterLayout,null,r.createElement(c.CatalogFilterLayout.Filters,null,r.createElement(A.f,null),r.createElement(c.UserListPicker,{initialFilter:d}),r.createElement(c.EntityOwnerPicker,null),r.createElement(c.EntityTagPicker,null)),r.createElement(c.CatalogFilterLayout.Content,null,r.createElement(m.EntityListDocsTable,{actions:p,columns:y}))))))}},51016:function(_,s,e){"use strict";e.d(s,{f:function(){return y}});var r=e(68725),t=e(97589),c=e(36964),f=e(53492),A=e(94339),m=e(16111),a=e(24579),i=e(14503),d=e(2784);const y=b=>{const{entities:L}=b,w=(0,c.useRouteRef)(r.Fw),z=(0,c.useApi)(c.configApiRef);return L?d.createElement(f.ItemCardGrid,{"data-testid":"docs-explore"},L!=null&&L.length?L.map((x,T)=>{var I,F;return d.createElement(A.Z,{key:T},d.createElement(m.Z,null,d.createElement(f.ItemCardHeader,{title:(I=x.metadata.title)!=null?I:x.metadata.name})),d.createElement(a.Z,null,x.metadata.description),d.createElement(i.Z,null,d.createElement(f.Button,{to:w({namespace:(0,t.D)((F=x.metadata.namespace)!=null?F:"default",z),kind:(0,t.D)(x.kind,z),name:(0,t.D)(x.metadata.name,z)}),color:"primary","data-testid":"read_docs"},"Read Docs")))}):null):null};var p=e(53479);const v=()=>{const{loading:b,error:L,entities:w}=useEntityList();return L?React.createElement(WarningPanel,{severity:"error",title:"Could not load available documentation."},React.createElement(CodeSnippet,{language:"text",text:L.toString()})):b||!w?React.createElement(Progress,null):(w.sort((z,x)=>{var T,I;return((T=z.metadata.title)!=null?T:z.metadata.name).localeCompare((I=x.metadata.title)!=null?I:x.metadata.name)}),React.createElement(DocsCardGrid,{entities:w}))}},38634:function(_,s,e){"use strict";e.d(s,{H:function(){return p}});var r=e(2784),t=e(95074),c=e(36964),f=e(48023),A=e(53479),m=e(68725),a=e(53492),i=e(98095),d=e(3792),y=e(97589);const p=v=>{const{entities:b,title:L,loading:w,columns:z,actions:x}=v,[,T]=(0,t.Z)(),I=(0,c.useRouteRef)(m.Fw),F=(0,c.useApi)(c.configApiRef);if(!b)return null;const M=b.map(me=>{var Le;const Be=(0,A.getEntityRelations)(me,f.S4);return{entity:me,resolved:{docsUrl:I({namespace:(0,y.D)((Le=me.metadata.namespace)!=null?Le:"default",F),kind:(0,y.D)(me.kind,F),name:(0,y.D)(me.metadata.name,F)}),ownedByRelations:Be,ownedByRelationsTitle:Be.map(le=>(0,A.humanizeEntityRef)(le,{defaultKind:"group"})).join(", ")}}}),G=[d.N.createNameColumn(),d.N.createOwnerColumn(),d.N.createTypeColumn()],J=[i.n.createCopyDocsUrlAction(T)];return r.createElement(r.Fragment,null,w||M&&M.length>0?r.createElement(a.Table,{isLoading:w,options:{paging:!0,pageSize:20,search:!0,actionsColumnIndex:-1},data:M,columns:z||G,actions:x||J,title:L?`${L} (${M.length})`:`All (${M.length})`}):r.createElement(a.EmptyState,{missing:"data",title:"No documents to show",description:"Create your own document. Check out our Getting Started Information",action:r.createElement(a.Button,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained"},"DOCS")}))};p.columns=d.N,p.actions=i.n},12481:function(_,s,e){"use strict";e.d(s,{n:function(){return y}});var r=e(2784),t=e(95074),c=e(76635),f=e.n(c),A=e(53492),m=e(53479),a=e(38634),i=e(98095),d=e(3792);const y=p=>{var J,me;const{columns:v,actions:b}=p,{loading:L,error:w,entities:z,filters:x}=(0,m.useEntityList)(),{isStarredEntity:T,toggleStarredEntity:I}=(0,m.useStarredEntities)(),[,F]=(0,t.Z)(),M=(0,c.capitalize)((me=(J=x.user)==null?void 0:J.value)!=null?me:"all"),G=[i.n.createCopyDocsUrlAction(F),i.n.createStarEntityAction(T,I)];return w?r.createElement(A.WarningPanel,{severity:"error",title:"Could not load available documentation."},r.createElement(A.CodeSnippet,{language:"text",text:w.toString()})):r.createElement(a.H,{title:M,entities:z,loading:L,actions:b||G,columns:v})};y.columns=d.N,y.actions=i.n},98095:function(_,s,e){"use strict";e.d(s,{n:function(){return a}});var r=e(2784),t=e(39981),c=e(2337),f=e(11640),A=e(28347);const m=(0,c.Z)({root:{color:"#f3ba37"}})(f.Z),a={createCopyDocsUrlAction(i){return d=>({icon:()=>r.createElement(t.Z,{fontSize:"small"}),tooltip:"Click to copy documentation link to clipboard",onClick:()=>i(`${window.location.origin}${d.resolved.docsUrl}`)})},createStarEntityAction(i,d){return({entity:y})=>{const p=i(y);return{cellStyle:{paddingLeft:"1em"},icon:()=>p?r.createElement(m,null):r.createElement(A.Z,null),tooltip:p?"Remove from favorites":"Add to favorites",onClick:()=>d(y)}}}}},3792:function(_,s,e){"use strict";e.d(s,{N:function(){return A}});var r=e(2784),t=e(53492),c=e(53479);function f(m){return m.metadata.title||m.metadata.name}const A={createNameColumn(){return{title:"Document",field:"entity.metadata.name",highlight:!0,render:m=>r.createElement(t.SubvalueCell,{value:r.createElement(t.Link,{to:m.resolved.docsUrl},f(m.entity)),subvalue:m.entity.metadata.description})}},createOwnerColumn(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:m})=>r.createElement(c.EntityRefLinks,{entityRefs:m.ownedByRelations,defaultKind:"group"})}},createTypeColumn(){return{title:"Type",field:"entity.spec.type"}}}},21956:function(_,s,e){"use strict";e.d(s,{DocsTable:function(){return t.H},EntityListDocsTable:function(){return r.n}});var r=e(12481),t=e(38634),c=e(72580),f=e.n(c);e.o(c,"DefaultTechDocsHome")&&e.d(s,{DefaultTechDocsHome:function(){return c.DefaultTechDocsHome}})},72580:function(){},50021:function(_,s,e){"use strict";e.r(s),e.d(s,{TechDocsIndexPage:function(){return f}});var r=e(2784),t=e(10289),c=e(2546);const f=()=>(0,t.pC)()||r.createElement(c.u,null)},1114:function(_,s,e){"use strict";e.d(s,{j:function(){return f}});var r=e(2784),t=e(53492),c=e(36964);const f=A=>{var d;const{children:m}=A,i=`Documentation available in ${(d=(0,c.useApi)(c.configApiRef).getOptionalString("organization.name"))!=null?d:"Backstage"}`;return r.createElement(t.PageWithHeader,{title:"Documentation",subtitle:i,themeId:"documentation"},m)}},70335:function(_,s,e){"use strict";e.d(s,{f:function(){return f}});var r=e(2784),t=e(53479);class c{getCatalogFilters(){return{"metadata.annotations.backstage.io/techdocs-ref":t.CATALOG_FILTER_EXISTS}}}const f=()=>{const{updateFilters:A}=(0,t.useEntityList)();return(0,r.useEffect)(()=>{A({techdocs:new c})},[A]),null}},19192:function(_,s,e){"use strict";e.d(s,{DefaultTechDocsHome:function(){return c.u}});var r=e(51016),t=e(21956),c=e(2546),f=e(1114),A=e(70335)},82250:function(_,s,e){"use strict";e.d(s,{DefaultTechDocsHome:function(){return a.DefaultTechDocsHome},TechDocsIndexPage:function(){return i.Jl},TechDocsReaderPage:function(){return i.I6},TechDocsReaderPageContent:function(){return A.Fq},TechDocsReaderPageHeader:function(){return A.SE},plugin:function(){return i.s4},techdocsPlugin:function(){return i.s4}});var r=e(98157),t=e.n(r);e.o(r,"DefaultTechDocsHome")&&e.d(s,{DefaultTechDocsHome:function(){return r.DefaultTechDocsHome}}),e.o(r,"TechDocsReaderPageContent")&&e.d(s,{TechDocsReaderPageContent:function(){return r.TechDocsReaderPageContent}}),e.o(r,"TechDocsReaderPageHeader")&&e.d(s,{TechDocsReaderPageHeader:function(){return r.TechDocsReaderPageHeader}});var c=e(3337),f=e(42723),A=e(96393),m=e(47861),a=e(19192),i=e(20961),d=e(94067)},20961:function(_,s,e){"use strict";e.d(s,{I6:function(){return y},Jl:function(){return d},s4:function(){return A}});var r=e(26136),t=e(42723),c=e(68725),f=e(36964);const A=(0,f.createPlugin)({id:"techdocs",apis:[(0,f.createApiFactory)({api:r.Dl,deps:{configApi:f.configApiRef,discoveryApi:f.discoveryApiRef,identityApi:f.identityApiRef,fetchApi:f.fetchApiRef},factory:({configApi:p,discoveryApi:v,identityApi:b,fetchApi:L})=>new t.k({configApi:p,discoveryApi:v,identityApi:b,fetchApi:L})}),(0,f.createApiFactory)({api:r.gT,deps:{configApi:f.configApiRef,discoveryApi:f.discoveryApiRef,fetchApi:f.fetchApiRef},factory:({configApi:p,discoveryApi:v,fetchApi:b})=>new t.p({configApi:p,discoveryApi:v,fetchApi:b})})],routes:{root:c._Z,docRoot:c.Fw,entityContent:c.pd}}),m=A.provide((0,f.createRoutableExtension)({name:"TechdocsPage",component:()=>Promise.resolve().then(e.bind(e,94067)).then(p=>p.Router),mountPoint:c._Z})),a=A.provide((0,f.createRoutableExtension)({name:"EntityTechdocsContent",component:()=>Promise.resolve().then(e.bind(e,94067)).then(p=>p.EmbeddedDocsRouter),mountPoint:c.pd})),i=A.provide((0,f.createRoutableExtension)({name:"TechDocsCustomHome",component:()=>e.e(7110).then(e.bind(e,57110)).then(p=>p.TechDocsCustomHome),mountPoint:c._Z})),d=A.provide((0,f.createRoutableExtension)({name:"TechDocsIndexPage",component:()=>Promise.resolve().then(e.bind(e,50021)).then(p=>p.TechDocsIndexPage),mountPoint:c._Z})),y=A.provide((0,f.createRoutableExtension)({name:"TechDocsReaderPage",component:()=>Promise.resolve().then(e.bind(e,26220)).then(p=>p.TechDocsReaderPage),mountPoint:c.Fw}))},26220:function(_,s,e){"use strict";e.r(s),e.d(s,{TechDocsReaderLayout:function(){return i},TechDocsReaderPage:function(){return d}});var r=e(2784),t=e(10289),c=e(53492),f=e(26136),A=e(63126),m=e(99954),a=e(16172);const i=({withSearch:y,withHeader:p=!0})=>r.createElement(c.Page,{themeId:"documentation"},p&&r.createElement(m.S,null),r.createElement(a.b,null),r.createElement(A.F,{withSearch:y})),d=y=>{const{kind:p,name:v,namespace:b}=(0,t.UO)(),{children:L,entityRef:w={kind:p,name:v,namespace:b}}=y,z=(0,t.pC)();if(!L){const T=(z?r.Children.toArray(z.props.children):[]).find(I=>{var M,G;const{type:F}=I;return!((G=(M=F==null?void 0:F.__backstage_data)==null?void 0:M.map)!=null&&G.get(f.Zz))});return r.createElement(f.ZS,{entityRef:w},T||r.createElement(i,null))}return r.createElement(f.ZS,{entityRef:w},({metadata:x,entityMetadata:T,onReady:I})=>r.createElement(c.Page,{themeId:"documentation"},L instanceof Function?L({entityRef:w,techdocsMetadataValue:x.value,entityMetadataValue:T.value,onReady:I}):L))}},63126:function(_,s,e){"use strict";e.d(s,{F:function(){return At}});var r=e(2784),t=e(79692),c=e(60905),f=e(26136),A=e(53492),m=e(47861),a=e(4614),i=e(77277),d=e(99688),y=e(12420),p=e(90436),v=e(61837),b=e(4190),L=e(87685);const w=(0,t.Z)(D=>(0,y.Z)({paper:{width:"100%",[D.breakpoints.up("sm")]:{width:"75%"},[D.breakpoints.up("md")]:{width:"50%"},padding:D.spacing(2.5)},root:{height:"100%",overflow:"hidden"},logs:{background:D.palette.background.default}})),z=({buildLog:D,onClose:te})=>{const ge=w(),Ae=D.length===0?"Waiting for logs...":D.join(`
|
|
32
|
+
`);return r.createElement(c.Z,{container:!0,direction:"column",className:ge.root,spacing:0,wrap:"nowrap"},r.createElement(c.Z,{item:!0,container:!0,justifyContent:"space-between",alignItems:"center",spacing:0,wrap:"nowrap"},r.createElement(p.Z,{variant:"h5"},"Build Details"),r.createElement(v.Z,{key:"dismiss",title:"Close the drawer",onClick:te,color:"inherit"},r.createElement(L.Z,null))),r.createElement(A.LogViewer,{text:Ae,classes:{root:ge.logs}}))},x=({buildLog:D})=>{const te=w(),[ge,Ae]=(0,r.useState)(!1);return r.createElement(r.Fragment,null,r.createElement(i.Z,{color:"inherit",onClick:()=>Ae(!0)},"Show Build Logs"),r.createElement(b.ZP,{classes:{paper:te.paper},anchor:"right",open:ge,onClose:()=>Ae(!1)},r.createElement(z,{buildLog:D,onClose:()=>Ae(!1)})))};var T=e(36964);const I=({errorMessage:D})=>{const te=(0,T.useApi)(T.configApiRef).getOptionalString("techdocs.builder");let ge="";return te!=="local"&&(ge="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."),r.createElement(A.ErrorPage,{status:"404",statusMessage:D||"Documentation not found",additionalInfo:ge})};var F=e(2263);const M=(0,t.Z)(D=>({root:{marginBottom:D.spacing(2)},message:{wordBreak:"break-word",overflowWrap:"anywhere"}})),G=()=>{let D=null;const te=M(),{state:ge,contentReload:Ae,contentErrorMessage:Se,syncErrorMessage:Ge,buildLog:et}=(0,F.DK)();return ge==="INITIAL_BUILD"&&(D=r.createElement(d.Z,{classes:{root:te.root},variant:"outlined",severity:"info",icon:r.createElement(a.Z,{size:"24px"}),action:r.createElement(x,{buildLog:et})},"Documentation is accessed for the first time and is being prepared. The subsequent loads are much faster.")),ge==="CONTENT_STALE_REFRESHING"&&(D=r.createElement(d.Z,{variant:"outlined",severity:"info",icon:r.createElement(a.Z,{size:"24px"}),action:r.createElement(x,{buildLog:et}),classes:{root:te.root}},"A newer version of this documentation is being prepared and will be available shortly.")),ge==="CONTENT_STALE_READY"&&(D=r.createElement(d.Z,{variant:"outlined",severity:"success",action:r.createElement(i.Z,{color:"inherit",onClick:()=>Ae()},"Refresh"),classes:{root:te.root}},"A newer version of this documentation is now available, please refresh to view.")),ge==="CONTENT_STALE_ERROR"&&(D=r.createElement(d.Z,{variant:"outlined",severity:"error",action:r.createElement(x,{buildLog:et}),classes:{root:te.root,message:te.message}},"Building a newer version of this documentation failed."," ",Ge)),ge==="CONTENT_NOT_FOUND"&&(D=r.createElement(r.Fragment,null,Ge&&r.createElement(d.Z,{variant:"outlined",severity:"error",action:r.createElement(x,{buildLog:et}),classes:{root:te.root,message:te.message}},"Building a newer version of this documentation failed."," ",Ge),r.createElement(I,{errorMessage:Se}))),D};var J=e(10289),me=e(60364),Be=e(41156),Le=e(36356),le=e(35368),Ne=e.n(le);const ze=/main\.[A-Fa-f0-9]{8}\.min\.css$/,Ye=/^https:\/\/fonts\.googleapis\.com/,_e=/^https:\/\/fonts\.gstatic\.com/,it=D=>D.nodeName==="LINK",lt=D=>{const te=(D==null?void 0:D.getAttribute("href"))||"",ge=te.match(ze),Ae=te.match(Ye),Se=te.match(_e);return ge||Ae||Se},Te=D=>(it(D)&&!lt(D)&&D.remove(),D),st=D=>D.nodeName==="IFRAME",He=(D,te)=>{const ge=D.getAttribute("src")||"";try{const{host:Ae}=new URL(ge);return te.includes(Ae)}catch{return!1}},re=D=>te=>(st(te)&&!He(te,D)&&te.remove(),te),he=()=>{const D=(0,T.useApi)(T.configApiRef);return(0,r.useMemo)(()=>D.getOptionalConfig("techdocs.sanitizer"),[D])},Me=()=>{const D=he();return(0,r.useCallback)(async te=>{const ge=D==null?void 0:D.getOptionalStringArray("allowedIframeHosts");Ne().addHook("beforeSanitizeElements",Te);const Ae=["link"];return ge&&(Ae.push("iframe"),Ne().addHook("beforeSanitizeElements",re(ge))),Ne().sanitize(te.innerHTML,{ADD_TAGS:Ae,FORBID_TAGS:["style"],WHOLE_DOCUMENT:!0,RETURN_DOM:!0})},[D])};var be=e(41128),Xe=({theme:D})=>`
|
|
33
|
+
/*================== Variables ==================*/
|
|
34
|
+
/*
|
|
35
|
+
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.
|
|
36
|
+
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.
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
:host {
|
|
40
|
+
/* FONT */
|
|
41
|
+
--md-default-fg-color: ${D.palette.text.primary};
|
|
42
|
+
--md-default-fg-color--light: ${D.palette.text.secondary};
|
|
43
|
+
--md-default-fg-color--lighter: ${(0,be.$n)(D.palette.text.secondary,.7)};
|
|
44
|
+
--md-default-fg-color--lightest: ${(0,be.$n)(D.palette.text.secondary,.3)};
|
|
45
|
+
|
|
46
|
+
/* BACKGROUND */
|
|
47
|
+
--md-default-bg-color:${D.palette.background.default};
|
|
48
|
+
--md-default-bg-color--light: ${D.palette.background.paper};
|
|
49
|
+
--md-default-bg-color--lighter: ${(0,be.$n)(D.palette.background.paper,.7)};
|
|
50
|
+
--md-default-bg-color--lightest: ${(0,be.$n)(D.palette.background.paper,.3)};
|
|
51
|
+
|
|
52
|
+
/* PRIMARY */
|
|
53
|
+
--md-primary-fg-color: ${D.palette.primary.main};
|
|
54
|
+
--md-primary-fg-color--light: ${D.palette.primary.light};
|
|
55
|
+
--md-primary-fg-color--dark: ${D.palette.primary.dark};
|
|
56
|
+
--md-primary-bg-color: ${D.palette.primary.contrastText};
|
|
57
|
+
--md-primary-bg-color--light: ${(0,be.$n)(D.palette.primary.contrastText,.7)};
|
|
58
|
+
|
|
59
|
+
/* ACCENT */
|
|
60
|
+
--md-accent-fg-color: var(--md-primary-fg-color);
|
|
61
|
+
|
|
62
|
+
/* SHADOW */
|
|
63
|
+
--md-shadow-z1: ${D.shadows[1]};
|
|
64
|
+
--md-shadow-z2: ${D.shadows[2]};
|
|
65
|
+
--md-shadow-z3: ${D.shadows[3]};
|
|
66
|
+
|
|
67
|
+
/* EXTENSIONS */
|
|
68
|
+
--md-admonition-fg-color: var(--md-default-fg-color);
|
|
69
|
+
--md-admonition-bg-color: var(--md-default-bg-color);
|
|
70
|
+
/* Admonitions and others are using SVG masks to define icons. These masks are defined as CSS variables. */
|
|
71
|
+
--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>');
|
|
72
|
+
--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>');
|
|
73
|
+
--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>');
|
|
74
|
+
--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>');
|
|
75
|
+
--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>');
|
|
76
|
+
--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>');
|
|
77
|
+
--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>');
|
|
78
|
+
--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>');
|
|
79
|
+
--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>');
|
|
80
|
+
--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>');
|
|
81
|
+
--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>');
|
|
82
|
+
--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>');
|
|
83
|
+
--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>');
|
|
84
|
+
--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>');
|
|
85
|
+
--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>');
|
|
86
|
+
--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>');
|
|
87
|
+
--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>');
|
|
88
|
+
--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>');
|
|
89
|
+
--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>');
|
|
90
|
+
--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>');
|
|
91
|
+
--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>');
|
|
92
|
+
--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>');
|
|
93
|
+
--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>');
|
|
94
|
+
--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>');
|
|
95
|
+
--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>');
|
|
96
|
+
--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>');
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
:host > * {
|
|
100
|
+
/* CODE */
|
|
101
|
+
--md-code-fg-color: ${D.palette.text.primary};
|
|
102
|
+
--md-code-bg-color: ${D.palette.background.paper};
|
|
103
|
+
--md-code-hl-color: ${(0,be.Fq)(D.palette.warning.main,.5)};
|
|
104
|
+
--md-code-hl-keyword-color: ${D.palette.type==="dark"?D.palette.primary.light:D.palette.primary.dark};
|
|
105
|
+
--md-code-hl-function-color: ${D.palette.type==="dark"?D.palette.secondary.light:D.palette.secondary.dark};
|
|
106
|
+
--md-code-hl-string-color: ${D.palette.type==="dark"?D.palette.success.light:D.palette.success.dark};
|
|
107
|
+
--md-code-hl-number-color: ${D.palette.type==="dark"?D.palette.error.light:D.palette.error.dark};
|
|
108
|
+
--md-code-hl-constant-color: var(--md-code-hl-function-color);
|
|
109
|
+
--md-code-hl-special-color: var(--md-code-hl-function-color);
|
|
110
|
+
--md-code-hl-name-color: var(--md-code-fg-color);
|
|
111
|
+
--md-code-hl-comment-color: var(--md-default-fg-color--light);
|
|
112
|
+
--md-code-hl-generic-color: var(--md-default-fg-color--light);
|
|
113
|
+
--md-code-hl-variable-color: var(--md-default-fg-color--light);
|
|
114
|
+
--md-code-hl-operator-color: var(--md-default-fg-color--light);
|
|
115
|
+
--md-code-hl-punctuation-color: var(--md-default-fg-color--light);
|
|
116
|
+
|
|
117
|
+
/* TYPESET */
|
|
118
|
+
--md-typeset-font-size: 1rem;
|
|
119
|
+
--md-typeset-color: var(--md-default-fg-color);
|
|
120
|
+
--md-typeset-a-color: var(--md-accent-fg-color);
|
|
121
|
+
--md-typeset-table-color: ${D.palette.text.primary};
|
|
122
|
+
--md-typeset-del-color: ${D.palette.type==="dark"?(0,be.Fq)(D.palette.error.dark,.5):(0,be.Fq)(D.palette.error.light,.5)};
|
|
123
|
+
--md-typeset-ins-color: ${D.palette.type==="dark"?(0,be.Fq)(D.palette.success.dark,.5):(0,be.Fq)(D.palette.success.light,.5)};
|
|
124
|
+
--md-typeset-mark-color: ${D.palette.type==="dark"?(0,be.Fq)(D.palette.warning.dark,.5):(0,be.Fq)(D.palette.warning.light,.5)};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
@media screen and (max-width: 76.1875em) {
|
|
128
|
+
:host > * {
|
|
129
|
+
/* TYPESET */
|
|
130
|
+
--md-typeset-font-size: .9rem;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@media screen and (max-width: 600px) {
|
|
135
|
+
:host > * {
|
|
136
|
+
/* TYPESET */
|
|
137
|
+
--md-typeset-font-size: .7rem;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
`,Ve=({theme:D})=>`
|
|
141
|
+
/*================== Reset ==================*/
|
|
142
|
+
|
|
143
|
+
body {
|
|
144
|
+
--md-text-color: var(--md-default-fg-color);
|
|
145
|
+
--md-text-link-color: var(--md-accent-fg-color);
|
|
146
|
+
--md-text-font-family: ${D.typography.fontFamily};
|
|
147
|
+
font-family: var(--md-text-font-family);
|
|
148
|
+
background-color: unset;
|
|
149
|
+
}
|
|
150
|
+
`,Ze=({theme:D,sidebar:te})=>`
|
|
151
|
+
/*================== Layout ==================*/
|
|
152
|
+
|
|
153
|
+
.md-grid {
|
|
154
|
+
max-width: 100%;
|
|
155
|
+
margin: 0;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.md-nav {
|
|
159
|
+
font-size: calc(var(--md-typeset-font-size) * 0.9);
|
|
160
|
+
}
|
|
161
|
+
.md-nav__link {
|
|
162
|
+
display: flex;
|
|
163
|
+
align-items: center;
|
|
164
|
+
justify-content: space-between;
|
|
165
|
+
}
|
|
166
|
+
.md-nav__icon {
|
|
167
|
+
height: 20px !important;
|
|
168
|
+
width: 20px !important;
|
|
169
|
+
margin-left:${D.spacing(1)}px;
|
|
170
|
+
}
|
|
171
|
+
.md-nav__icon svg {
|
|
172
|
+
margin: 0;
|
|
173
|
+
width: 20px !important;
|
|
174
|
+
height: 20px !important;
|
|
175
|
+
}
|
|
176
|
+
.md-nav__icon:after {
|
|
177
|
+
width: 20px !important;
|
|
178
|
+
height: 20px !important;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.md-main__inner {
|
|
182
|
+
margin-top: 0;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.md-sidebar {
|
|
186
|
+
bottom: 75px;
|
|
187
|
+
position: fixed;
|
|
188
|
+
width: 16rem;
|
|
189
|
+
overflow-y: auto;
|
|
190
|
+
overflow-x: hidden;
|
|
191
|
+
scrollbar-color: rgb(193, 193, 193) #eee;
|
|
192
|
+
scrollbar-width: thin;
|
|
193
|
+
}
|
|
194
|
+
.md-sidebar .md-sidebar__scrollwrap {
|
|
195
|
+
width: calc(16rem - 10px);
|
|
196
|
+
}
|
|
197
|
+
.md-sidebar--secondary {
|
|
198
|
+
right: ${D.spacing(3)}px;
|
|
199
|
+
}
|
|
200
|
+
.md-sidebar::-webkit-scrollbar {
|
|
201
|
+
width: 5px;
|
|
202
|
+
}
|
|
203
|
+
.md-sidebar::-webkit-scrollbar-button {
|
|
204
|
+
width: 5px;
|
|
205
|
+
height: 5px;
|
|
206
|
+
}
|
|
207
|
+
.md-sidebar::-webkit-scrollbar-track {
|
|
208
|
+
background: #eee;
|
|
209
|
+
border: 1 px solid rgb(250, 250, 250);
|
|
210
|
+
box-shadow: 0px 0px 3px #dfdfdf inset;
|
|
211
|
+
border-radius: 3px;
|
|
212
|
+
}
|
|
213
|
+
.md-sidebar::-webkit-scrollbar-thumb {
|
|
214
|
+
width: 5px;
|
|
215
|
+
background: rgb(193, 193, 193);
|
|
216
|
+
border: transparent;
|
|
217
|
+
border-radius: 3px;
|
|
218
|
+
}
|
|
219
|
+
.md-sidebar::-webkit-scrollbar-thumb:hover {
|
|
220
|
+
background: rgb(125, 125, 125);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.md-content {
|
|
224
|
+
max-width: calc(100% - 16rem * 2);
|
|
225
|
+
margin-left: 16rem;
|
|
226
|
+
margin-bottom: 50px;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.md-footer {
|
|
230
|
+
position: fixed;
|
|
231
|
+
bottom: 0px;
|
|
232
|
+
}
|
|
233
|
+
.md-footer__title {
|
|
234
|
+
background-color: unset;
|
|
235
|
+
}
|
|
236
|
+
.md-footer-nav__link {
|
|
237
|
+
width: 16rem;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.md-dialog {
|
|
241
|
+
background-color: unset;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
@media screen and (min-width: 76.25em) {
|
|
245
|
+
.md-sidebar {
|
|
246
|
+
height: auto;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
@media screen and (max-width: 76.1875em) {
|
|
251
|
+
.md-nav {
|
|
252
|
+
transition: none !important;
|
|
253
|
+
background-color: var(--md-default-bg-color)
|
|
254
|
+
}
|
|
255
|
+
.md-nav--primary .md-nav__title {
|
|
256
|
+
cursor: auto;
|
|
257
|
+
color: var(--md-default-fg-color);
|
|
258
|
+
font-weight: 700;
|
|
259
|
+
white-space: normal;
|
|
260
|
+
line-height: 1rem;
|
|
261
|
+
height: auto;
|
|
262
|
+
display: flex;
|
|
263
|
+
flex-flow: column;
|
|
264
|
+
row-gap: 1.6rem;
|
|
265
|
+
padding: 1.2rem .8rem .8rem;
|
|
266
|
+
background-color: var(--md-default-bg-color);
|
|
267
|
+
}
|
|
268
|
+
.md-nav--primary .md-nav__title~.md-nav__list {
|
|
269
|
+
box-shadow: none;
|
|
270
|
+
}
|
|
271
|
+
.md-nav--primary .md-nav__title ~ .md-nav__list > :first-child {
|
|
272
|
+
border-top: none;
|
|
273
|
+
}
|
|
274
|
+
.md-nav--primary .md-nav__title .md-nav__button {
|
|
275
|
+
display: none;
|
|
276
|
+
}
|
|
277
|
+
.md-nav--primary .md-nav__title .md-nav__icon {
|
|
278
|
+
color: var(--md-default-fg-color);
|
|
279
|
+
position: static;
|
|
280
|
+
height: auto;
|
|
281
|
+
margin: 0 0 0 -0.2rem;
|
|
282
|
+
}
|
|
283
|
+
.md-nav--primary > .md-nav__title [for="none"] {
|
|
284
|
+
padding-top: 0;
|
|
285
|
+
}
|
|
286
|
+
.md-nav--primary .md-nav__item {
|
|
287
|
+
border-top: none;
|
|
288
|
+
}
|
|
289
|
+
.md-nav--primary :is(.md-nav__title,.md-nav__item) {
|
|
290
|
+
font-size : var(--md-typeset-font-size);
|
|
291
|
+
}
|
|
292
|
+
.md-nav .md-source {
|
|
293
|
+
display: none;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
.md-sidebar {
|
|
297
|
+
height: 100%;
|
|
298
|
+
}
|
|
299
|
+
.md-sidebar--primary {
|
|
300
|
+
width: 12.1rem !important;
|
|
301
|
+
z-index: 200;
|
|
302
|
+
left: ${te.isPinned?"calc(-12.1rem + 242px)":"calc(-12.1rem + 72px)"} !important;
|
|
303
|
+
}
|
|
304
|
+
.md-sidebar--secondary:not([hidden]) {
|
|
305
|
+
display: none;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.md-content {
|
|
309
|
+
max-width: 100%;
|
|
310
|
+
margin-left: 0;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.md-header__button {
|
|
314
|
+
margin: 0.4rem 0;
|
|
315
|
+
margin-left: 0.4rem;
|
|
316
|
+
padding: 0;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.md-overlay {
|
|
320
|
+
left: 0;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.md-footer {
|
|
324
|
+
position: static;
|
|
325
|
+
padding-left: 0;
|
|
326
|
+
}
|
|
327
|
+
.md-footer-nav__link {
|
|
328
|
+
/* footer links begin to overlap at small sizes without setting width */
|
|
329
|
+
width: 50%;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
@media screen and (max-width: 600px) {
|
|
334
|
+
.md-sidebar--primary {
|
|
335
|
+
left: -12.1rem !important;
|
|
336
|
+
width: 12.1rem;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
`;const ut=["h1","h2","h3","h4","h5","h6"];var dt=({theme:D})=>`
|
|
340
|
+
/*================== Typeset ==================*/
|
|
341
|
+
|
|
342
|
+
.md-typeset {
|
|
343
|
+
font-size: var(--md-typeset-font-size);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
${ut.reduce((te,ge)=>{const Ae=D.typography[ge],{lineHeight:Se,fontFamily:Ge,fontWeight:et,fontSize:Nt}=Ae,Mt=Rt=>{let Tt=1;return typeof Rt=="number"&&(Tt=Rt/16*.6),typeof Rt=="string"&&(Tt=Rt.replace("rem","")),`calc(${Tt} * var(--md-typeset-font-size))`};return te.concat(`
|
|
347
|
+
.md-typeset ${ge} {
|
|
348
|
+
color: var(--md-default-fg-color);
|
|
349
|
+
line-height: ${Se};
|
|
350
|
+
font-family: ${Ge};
|
|
351
|
+
font-weight: ${et};
|
|
352
|
+
font-size: ${Mt(Nt)};
|
|
353
|
+
}
|
|
354
|
+
`)},"")}
|
|
355
|
+
|
|
356
|
+
.md-typeset .md-content__button {
|
|
357
|
+
color: var(--md-default-fg-color);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
.md-typeset hr {
|
|
361
|
+
border-bottom: 0.05rem dotted ${D.palette.divider};
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
.md-typeset details {
|
|
365
|
+
font-size: var(--md-typeset-font-size) !important;
|
|
366
|
+
}
|
|
367
|
+
.md-typeset details summary {
|
|
368
|
+
padding-left: 2.5rem !important;
|
|
369
|
+
}
|
|
370
|
+
.md-typeset details summary:before,
|
|
371
|
+
.md-typeset details summary:after {
|
|
372
|
+
top: 50% !important;
|
|
373
|
+
width: 20px !important;
|
|
374
|
+
height: 20px !important;
|
|
375
|
+
transform: rotate(0deg) translateY(-50%) !important;
|
|
376
|
+
}
|
|
377
|
+
.md-typeset details[open] > summary:after {
|
|
378
|
+
transform: rotate(90deg) translateX(-50%) !important;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
.md-typeset blockquote {
|
|
382
|
+
color: var(--md-default-fg-color--light);
|
|
383
|
+
border-left: 0.2rem solid var(--md-default-fg-color--light);
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
.md-typeset table:not([class]) {
|
|
387
|
+
font-size: var(--md-typeset-font-size);
|
|
388
|
+
border: 1px solid var(--md-default-fg-color);
|
|
389
|
+
border-bottom: none;
|
|
390
|
+
border-collapse: collapse;
|
|
391
|
+
}
|
|
392
|
+
.md-typeset table:not([class]) th {
|
|
393
|
+
font-weight: bold;
|
|
394
|
+
}
|
|
395
|
+
.md-typeset table:not([class]) td, .md-typeset table:not([class]) th {
|
|
396
|
+
border-bottom: 1px solid var(--md-default-fg-color);
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
.md-typeset pre > code::-webkit-scrollbar-thumb {
|
|
400
|
+
background-color: hsla(0, 0%, 0%, 0.32);
|
|
401
|
+
}
|
|
402
|
+
.md-typeset pre > code::-webkit-scrollbar-thumb:hover {
|
|
403
|
+
background-color: hsla(0, 0%, 0%, 0.87);
|
|
404
|
+
}
|
|
405
|
+
`,Ut=()=>`
|
|
406
|
+
/*================== Animations ==================*/
|
|
407
|
+
/*
|
|
408
|
+
Disable CSS animations on link colors as they lead to issues in dark mode.
|
|
409
|
+
The dark mode color theme is applied later and theirfore there is always an animation from light to dark mode when navigation between pages.
|
|
410
|
+
*/
|
|
411
|
+
.md-dialog, .md-nav__link, .md-footer__link, .md-typeset a, .md-typeset a::before, .md-typeset .headerlink {
|
|
412
|
+
transition: none;
|
|
413
|
+
}
|
|
414
|
+
`,Sn=({theme:D})=>`
|
|
415
|
+
/*================== Extensions ==================*/
|
|
416
|
+
|
|
417
|
+
/* HIGHLIGHT */
|
|
418
|
+
.highlight .md-clipboard:after {
|
|
419
|
+
content: unset;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
.highlight .nx {
|
|
423
|
+
color: ${D.palette.type==="dark"?"#ff53a3":"#ec407a"};
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
/* CODE HILITE */
|
|
427
|
+
.codehilite .gd {
|
|
428
|
+
background-color: ${D.palette.type==="dark"?"rgba(248,81,73,0.65)":"#fdd"};
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
.codehilite .gi {
|
|
432
|
+
background-color: ${D.palette.type==="dark"?"rgba(46,160,67,0.65)":"#dfd"};
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
/* TABBED */
|
|
436
|
+
.tabbed-set>input:nth-child(1):checked~.tabbed-labels>:nth-child(1),
|
|
437
|
+
.tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),
|
|
438
|
+
.tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),
|
|
439
|
+
.tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),
|
|
440
|
+
.tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),
|
|
441
|
+
.tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),
|
|
442
|
+
.tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),
|
|
443
|
+
.tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),
|
|
444
|
+
.tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),
|
|
445
|
+
.tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),
|
|
446
|
+
.tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),
|
|
447
|
+
.tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),
|
|
448
|
+
.tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),
|
|
449
|
+
.tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),
|
|
450
|
+
.tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),
|
|
451
|
+
.tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),
|
|
452
|
+
.tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),
|
|
453
|
+
.tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),
|
|
454
|
+
.tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),
|
|
455
|
+
.tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20) {
|
|
456
|
+
color: var(--md-accent-fg-color);
|
|
457
|
+
border-color: var(--md-accent-fg-color);
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
/* TASK-LIST */
|
|
461
|
+
.task-list-control .task-list-indicator::before {
|
|
462
|
+
background-color: ${D.palette.action.disabledBackground};
|
|
463
|
+
}
|
|
464
|
+
.task-list-control [type="checkbox"]:checked + .task-list-indicator:before {
|
|
465
|
+
background-color: ${D.palette.success.main};
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
/* ADMONITION */
|
|
469
|
+
.admonition {
|
|
470
|
+
font-size: var(--md-typeset-font-size) !important;
|
|
471
|
+
}
|
|
472
|
+
.admonition .admonition-title {
|
|
473
|
+
padding-left: 2.5rem !important;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
.admonition .admonition-title:before {
|
|
477
|
+
top: 50% !important;
|
|
478
|
+
width: 20px !important;
|
|
479
|
+
height: 20px !important;
|
|
480
|
+
transform: translateY(-50%) !important;
|
|
481
|
+
}
|
|
482
|
+
`;const jt=[Xe,Ve,Ze,dt,Ut,Sn],vt=()=>(0,r.useContext)(A.SidebarPinStateContext),pn=()=>{const D=vt(),te=(0,me.Z)();return(0,r.useMemo)(()=>{const ge={theme:te,sidebar:D};return jt.reduce((Ae,Se)=>Ae+Se(ge),"")},[te,D])},ae=()=>{const D=pn();return(0,r.useCallback)(te=>(te.getElementsByTagName("head")[0].insertAdjacentHTML("beforeend",`<style>${D}</style>`),te),[D])},j=(D,te,ge)=>{const Ae=D==="src"&&te.endsWith(".svg"),Se=!te.match(/^([a-z]*:)?\/\//i),Ge=te.startsWith(ge);return Ae&&(Se||Ge)},oe=({techdocsStorageApi:D,entityId:te,path:ge})=>async Ae=>{const Se=await D.getApiOrigin(),Ge=async(et,Nt)=>{for(const Mt of et)if(Mt.hasAttribute(Nt)){const Rt=Mt.getAttribute(Nt);if(!Rt)return;const Tt=await D.getBaseUrl(Rt,te,ge);if(j(Nt,Rt,Se))try{const Wt=await(await fetch(Tt,{credentials:"include"})).text();Mt.setAttribute(Nt,`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(Wt)))}`)}catch{Mt.setAttribute("alt",`Error: ${Rt}`)}else Mt.setAttribute(Nt,Tt)}};return await Promise.all([Ge(Ae.querySelectorAll("img"),"src"),Ge(Ae.querySelectorAll("script"),"src"),Ge(Ae.querySelectorAll("source"),"src"),Ge(Ae.querySelectorAll("link"),"href"),Ge(Ae.querySelectorAll("a[download]"),"href")]),Ae};var de=e(68370),ye=e(67097),Oe=e(47093),$e=e(82717),De=e.n($e);const tt=D=>te=>{var Wt;const ge=te.querySelector('[title="Edit this page"]');if(!ge||!ge.href)return te;const Ae=new URL(ge.href),Se=D.byUrl(Ae);if((Se==null?void 0:Se.type)!=="github"&&(Se==null?void 0:Se.type)!=="gitlab")return te;const Ge=((Wt=te.querySelector("article>h1"))==null?void 0:Wt.childNodes[0].textContent)||"",et=encodeURIComponent(`Documentation Feedback: ${Ge}`),Nt=encodeURIComponent(`Page source:
|
|
483
|
+
${ge.href}
|
|
484
|
+
|
|
485
|
+
Feedback:`),Mt=(Se==null?void 0:Se.type)==="github"?(0,de.Pb)(Ae.href,"blob"):Ae.href,Rt=De()(Mt),Tt=`/${Rt.organization}/${Rt.name}`,at=ge.cloneNode();switch(Se==null?void 0:Se.type){case"gitlab":at.href=`${Ae.origin}${Tt}/issues/new?issue[title]=${et}&issue[description]=${Nt}`;break;case"github":at.href=`${Ae.origin}${Tt}/issues/new?title=${et}&body=${Nt}`;break;default:return te}return Oe.render(r.createElement(ye.Z),at),at.style.paddingLeft="5px",at.title="Leave feedback for this page",at.id="git-feedback-link",ge==null||ge.insertAdjacentElement("beforebegin",at),te};var pt=e(44882);const Zt=()=>D=>{const te=D.querySelector('.md-header label[for="__drawer"]'),ge=D.querySelector("article");if(!te||!ge)return D;const Ae=te.cloneNode();return Oe.render(r.createElement(pt.Z),Ae),Ae.id="toggle-sidebar",Ae.title="Toggle Sidebar",Ae.classList.add("md-content__button"),Ae.style.setProperty("padding","0 0 0 5px"),Ae.style.setProperty("margin","0.4rem 0 0.4rem 0.4rem"),ge==null||ge.prepend(Ae),D},Dt=()=>D=>(((ge,Ae)=>{Array.from(ge).filter(Se=>Se.hasAttribute(Ae)).forEach(Se=>{const Ge=Se.getAttribute(Ae);if(Ge){Ge.match(/^https?:\/\//i)&&Se.setAttribute("target","_blank");try{const et=ft(window.location.href);Se.setAttribute(Ae,new URL(Ge,et).toString())}catch{Se.replaceWith(Se.textContent||Ge)}}})})(Array.from(D.getElementsByTagName("a")),"href"),D);function ft(D){const te=new URL(D);return!te.pathname.endsWith("/")&&!te.pathname.endsWith(".html")&&(te.pathname+="/"),te.toString()}const Ft=({baseUrl:D,onClick:te})=>ge=>(Array.from(ge.getElementsByTagName("a")).forEach(Ae=>{Ae.addEventListener("click",Se=>{const et=Ae.getAttribute("href");!et||et.startsWith(D)&&!Ae.hasAttribute("download")&&(Se.preventDefault(),te(Se,et))})}),ge);var zt=e(15459),Jt=e(80030),yn=e(72379),En=e(41547);const Ct=(0,zt.Z)(D=>({tooltip:{fontSize:"inherit",color:D.palette.text.primary,margin:0,padding:D.spacing(.5),backgroundColor:"transparent",boxShadow:"none"}}))(Jt.ZP),nt=()=>r.createElement(yn.Z,null,r.createElement("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"})),Vt=({text:D})=>{const[te,ge]=(0,r.useState)(!1),Ae=(0,r.useCallback)(()=>{navigator.clipboard.writeText(D),ge(!0)},[D]),Se=(0,r.useCallback)(()=>{ge(!1)},[ge]);return r.createElement(Ct,{title:"Copied to clipboard",placement:"left",open:te,onClose:Se,leaveDelay:1e3},r.createElement("button",{className:"md-clipboard md-icon",onClick:Ae},r.createElement(nt,null)))},ne=D=>te=>{var Ae;const ge=te.querySelectorAll("pre > code");for(const Se of ge){const Ge=Se.textContent||"",et=document.createElement("div");(Ae=Se==null?void 0:Se.parentElement)==null||Ae.prepend(et),Oe.render(r.createElement(En.Z,{theme:D},r.createElement(Vt,{text:Ge})),et)}return te},V=()=>D=>{var te;return(te=D.querySelector(".md-header"))==null||te.remove(),D},ce=()=>D=>{var te,ge;return(te=D.querySelector(".md-footer .md-copyright"))==null||te.remove(),(ge=D.querySelector(".md-footer-copyright"))==null||ge.remove(),D},Ue=({onLoading:D,onLoaded:te})=>ge=>(D(),ge.addEventListener(f.Ox,function Ae(){te(),ge.removeEventListener(f.Ox,Ae)}),ge),ke=()=>D=>(setTimeout(()=>{var te;if(window.location.hash){const ge=window.location.hash.slice(1);(te=D==null?void 0:D.querySelector(`[id="${ge}"]`))==null||te.scrollIntoView()}},200),D),qe=async(D,te)=>{let ge;if(typeof D=="string")ge=new DOMParser().parseFromString(D,"text/html").documentElement;else if(D instanceof Element)ge=D;else throw new Error("dom is not a recognized type");for(const Ae of te)ge=await Ae(ge);return ge},mt="screen and (max-width: 76.1875em)",Bt=D=>{const te=(0,J.s0)(),ge=(0,me.Z)(),Ae=(0,Be.Z)(mt),Se=Me(),Ge=ae(),et=(0,T.useApi)(f.Dl),Nt=(0,T.useApi)(Le.q3),{state:Mt,path:Rt,content:Tt}=(0,F.DK)(),[at,Wt]=(0,r.useState)(null),Qt=(0,f.ux)(at),wt=(0,r.useCallback)(()=>{if(!at)return;at.querySelectorAll(".md-sidebar").forEach(Lt=>{var un,hn;if(Ae)Lt.style.top="0px";else{const qt=(un=at.getBoundingClientRect().top)!=null?un:0,sn=at.querySelector(".md-container > .md-tabs"),Hn=(hn=sn==null?void 0:sn.getBoundingClientRect().height)!=null?hn:0;Lt.style.top=`${Math.max(qt,0)+Hn}px`}Lt.style.setProperty("opacity","1")})},[at,Ae]);(0,r.useEffect)(()=>(window.addEventListener("resize",wt),window.addEventListener("scroll",wt,!0),()=>{window.removeEventListener("resize",wt),window.removeEventListener("scroll",wt,!0)}),[at,wt]);const $t=(0,r.useCallback)(()=>{if(!at)return;const bt=at.querySelector(".md-footer");bt&&(bt.style.width=`${at.getBoundingClientRect().width}px`)},[at]);(0,r.useEffect)(()=>(window.addEventListener("resize",$t),()=>{window.removeEventListener("resize",$t)}),[at,$t]),(0,r.useEffect)(()=>{Qt||($t(),wt())},[Mt,Qt,$t,wt]);const tn=(0,r.useCallback)((bt,Lt)=>qe(bt,[Se,oe({techdocsStorageApi:et,entityId:D,path:Lt}),Dt(),Zt(),V(),ce(),tt(Nt),Ge]),[D,Nt,et,Se,Ge]),Cn=(0,r.useCallback)(async bt=>qe(bt,[ke(),ne(ge),Ft({baseUrl:window.location.origin,onClick:(Lt,un)=>{var sn;const hn=Lt.ctrlKey||Lt.metaKey,qt=new URL(un);qt.hash?hn?window.open(`${qt.pathname}${qt.hash}`,"_blank"):(te(`${qt.pathname}${qt.hash}`),(sn=bt==null?void 0:bt.querySelector(`#${qt.hash.slice(1)}`))==null||sn.scrollIntoView()):hn?window.open(qt.pathname,"_blank"):te(qt.pathname)}}),Ue({onLoading:()=>{},onLoaded:()=>{var Lt;(Lt=bt.querySelector(".md-nav__title"))==null||Lt.removeAttribute("for")}}),Ue({onLoading:()=>{Array.from(bt.querySelectorAll(".md-sidebar")).forEach(un=>{un.style.setProperty("opacity","0")})},onLoaded:()=>{}})]),[ge,te]);return(0,r.useEffect)(()=>{if(!Tt)return()=>{};let bt=!0;return tn(Tt,Rt).then(async Lt=>{if(!(Lt!=null&&Lt.innerHTML)||!bt)return;window.scroll({top:0});const un=await Cn(Lt);Wt(un)}),()=>{bt=!1}},[Tt,Rt,tn,Cn]),at};var Gt=e(8560);const nn=()=>{const D=(0,f.$L)(),{shadowRoot:te}=(0,f.x1)(),ge=te==null?void 0:te.querySelector('[data-md-component="content"]'),Ae=te==null?void 0:te.querySelector('div[data-md-component="sidebar"][data-md-type="navigation"], div[data-md-component="navigation"]');let Se=Ae==null?void 0:Ae.querySelector('[data-techdocs-addons-location="primary sidebar"]');Se||(Se=document.createElement("div"),Se.setAttribute("data-techdocs-addons-location","primary sidebar"),Ae==null||Ae.prepend(Se));const Ge=te==null?void 0:te.querySelector('div[data-md-component="sidebar"][data-md-type="toc"], div[data-md-component="toc"]');let et=Ge==null?void 0:Ge.querySelector('[data-techdocs-addons-location="secondary sidebar"]');return et||(et=document.createElement("div"),et.setAttribute("data-techdocs-addons-location","secondary sidebar"),Ge==null||Ge.prepend(et)),r.createElement(r.Fragment,null,r.createElement(Gt.Z,{container:Se},D.renderComponentsByLocation(f.oZ.PrimarySidebar)),r.createElement(Gt.Z,{container:ge},D.renderComponentsByLocation(f.oZ.Content)),r.createElement(Gt.Z,{container:et},D.renderComponentsByLocation(f.oZ.SecondarySidebar)))},rn=(0,t.Z)({search:{width:"100%","@media (min-width: 76.1875em)":{width:"calc(100% - 34.4rem)",margin:"0 auto"}}}),At=(0,F.m1)(D=>{const{withSearch:te=!0,onReady:ge}=D,Ae=rn(),{entityMetadata:{value:Se,loading:Ge},entityRef:et,setShadowRoot:Nt}=(0,f.x1)(),Mt=Bt(et),Rt=(0,r.useCallback)(Tt=>{Nt(Tt),ge instanceof Function&&ge()},[Nt,ge]);return Ge===!1&&!Se?r.createElement(A.ErrorPage,{status:"404",statusMessage:"PAGE NOT FOUND"}):Mt?r.createElement(A.Content,null,r.createElement(c.Z,{container:!0},r.createElement(c.Z,{xs:12,item:!0},r.createElement(G,null)),te&&r.createElement(c.Z,{className:Ae.search,xs:"auto",item:!0},r.createElement(m.S,{entityId:et})),r.createElement(c.Z,{xs:12,item:!0},r.createElement(f.VA,{element:Mt,onAppend:Rt},r.createElement(nn,null))))):r.createElement(A.Content,null,r.createElement(c.Z,{container:!0},r.createElement(c.Z,{xs:12,item:!0},r.createElement(G,null))))}),Kt=null},99954:function(_,s,e){"use strict";e.d(s,{S:function(){return v}});var r=e(2784),t=e(18671),c=e(98069),f=e(73250),A=e(26136),m=e(53479),a=e(48023),i=e(53492),d=e(36964),y=e(68725);const p=r.createElement(c.Z,{animation:"wave",variant:"text",height:40}),v=b=>{const{children:L}=b,w=(0,A.$L)(),z=(0,d.useApi)(d.configApiRef),{title:x,setTitle:T,subtitle:I,setSubtitle:F,entityRef:M,metadata:{value:G,loading:J},entityMetadata:{value:me,loading:Be}}=(0,A.x1)();(0,r.useEffect)(()=>{!G||(T(He=>{const{site_name:re}=G;return He||re}),F(He=>{let{site_description:re}=G;return(!re||re==="None")&&(re="Home"),He||re}))},[G,T,F]);const Le=z.getOptional("app.title")||"Backstage",le=[I,x,Le].filter(Boolean).join(" | "),{locationMetadata:Ne,spec:ze}=me||{},Ye=ze==null?void 0:ze.lifecycle,_e=me?(0,m.getEntityRelations)(me,a.S4):[],it=(0,d.useRouteRef)(y._Z)(),lt=r.createElement(r.Fragment,null,r.createElement(i.HeaderLabel,{label:"Component",value:r.createElement(m.EntityRefLink,{color:"inherit",entityRef:M,defaultKind:"Component"})}),_e.length>0&&r.createElement(i.HeaderLabel,{label:"Owner",value:r.createElement(m.EntityRefLinks,{color:"inherit",entityRefs:_e,defaultKind:"group"})}),Ye?r.createElement(i.HeaderLabel,{label:"Lifecycle",value:Ye}):null,Ne&&Ne.type!=="dir"&&Ne.type!=="file"?r.createElement(i.HeaderLabel,{label:"",value:r.createElement("a",{href:Ne.target,target:"_blank",rel:"noopener noreferrer"},r.createElement(f.Z,{style:{marginTop:"-25px",fill:"#fff"}}))}):null);return!Be&&me===void 0||!J&&G===void 0?null:r.createElement(i.Header,{type:"Documentation",typeLink:it,title:x||p,subtitle:I||p},r.createElement(t.Z,{titleTemplate:"%s"},r.createElement("title",null,le)),lt,L,w.renderComponentsByLocation(A.oZ.Header))}},16172:function(_,s,e){"use strict";e.d(s,{b:function(){return p}});var r=e(2784),t=e(79692),c=e(15223),f=e(95544),A=e(80030),m=e(61837),a=e(48348),i=e(47603),d=e(26136);const y=(0,t.Z)(v=>({root:{gridArea:"pageSubheader",flexDirection:"column",minHeight:"auto",padding:v.spacing(3,3,0)}})),p=({toolbarProps:v})=>{const b=y(),[L,w]=(0,r.useState)(null),z=(0,r.useCallback)(J=>{w(J.currentTarget)},[]),x=(0,r.useCallback)(()=>{w(null)},[]),{entityMetadata:{value:T,loading:I}}=(0,d.x1)(),F=(0,d.$L)(),M=F.renderComponentsByLocation(d.oZ.Subheader),G=F.renderComponentsByLocation(d.oZ.Settings);return!M&&!G||I===!1&&!T?null:r.createElement(c.Z,{classes:b,...v},r.createElement(f.Z,{display:"flex",justifyContent:"flex-end",width:"100%",flexWrap:"wrap"},M,G?r.createElement(r.Fragment,null,r.createElement(A.ZP,{title:"Settings"},r.createElement(m.Z,{"aria-controls":"tech-docs-reader-page-settings","aria-haspopup":"true",onClick:z},r.createElement(i.Z,null))),r.createElement(a.Z,{id:"tech-docs-reader-page-settings",getContentAnchorEl:null,anchorEl:L,anchorOrigin:{vertical:"bottom",horizontal:"right"},open:Boolean(L),onClose:x,keepMounted:!0},G)):null))}},2263:function(_,s,e){"use strict";e.d(s,{DK:function(){return p},m1:function(){return b}});var r=e(2784),t=e(10289),c=e(26136),f=e(36964),A=e(64279),m=e(77446);function a({contentLoading:L,content:w,activeSyncState:z}){return L||z==="BUILD_READY_RELOAD"||!w&&z==="CHECKING"?"CHECKING":!w&&z==="BUILDING"?"INITIAL_BUILD":w?z==="BUILDING"?"CONTENT_STALE_REFRESHING":z==="BUILD_READY"?"CONTENT_STALE_READY":z==="ERROR"?"CONTENT_STALE_ERROR":"CONTENT_FRESH":"CONTENT_NOT_FOUND"}function i(L,w){const z={...L};switch(w.type){case"sync":w.state==="CHECKING"&&(z.buildLog=[]),z.activeSyncState=w.state,z.syncError=w.syncError;break;case"contentLoading":z.contentLoading=!0,z.contentError=void 0;break;case"content":typeof w.path=="string"&&(z.path=w.path),z.contentLoading=!1,z.content=w.content,z.contentError=w.contentError;break;case"buildLog":z.buildLog=z.buildLog.concat(w.log);break;default:throw new Error}return["BUILD_READY","BUILD_READY_RELOAD"].includes(z.activeSyncState)&&["contentLoading","content"].includes(w.type)&&(z.activeSyncState="UP_TO_DATE",z.buildLog=[]),z}function d(L,w,z,x){var me,Be;const[T,I]=(0,r.useReducer)(i,{activeSyncState:"CHECKING",path:x,contentLoading:!0,buildLog:[]}),F=(0,f.useApi)(c.Dl),{retry:M}=(0,m.Z)(async()=>{I({type:"contentLoading"});try{const Le=await F.getEntityDocs({kind:L,namespace:w,name:z},x);return I({type:"content",content:Le,path:x}),Le}catch(Le){I({type:"content",contentError:Le,path:x})}},[F,L,w,z,x]),G=(0,r.useRef)({content:void 0,reload:()=>{}});return G.current={content:T.content,reload:M},(0,A.default)(async()=>{I({type:"sync",state:"CHECKING"});const Le=setTimeout(()=>{I({type:"sync",state:"BUILDING"})},1e3);try{switch(await F.syncEntityDocs({kind:L,namespace:w,name:z},Ne=>{I({type:"buildLog",log:Ne})})){case"updated":G.current.content?I({type:"sync",state:"BUILD_READY"}):(G.current.reload(),I({type:"sync",state:"BUILD_READY_RELOAD"}));break;case"cached":I({type:"sync",state:"UP_TO_DATE"});break;default:I({type:"sync",state:"ERROR",syncError:new Error("Unexpected return state")});break}}catch(le){I({type:"sync",state:"ERROR",syncError:le})}finally{clearTimeout(Le)}},[L,z,w,F,I,G]),{state:(0,r.useMemo)(()=>a({activeSyncState:T.activeSyncState,contentLoading:T.contentLoading,content:T.content}),[T.activeSyncState,T.content,T.contentLoading]),contentReload:M,path:T.path,content:T.content,contentErrorMessage:(me=T.contentError)==null?void 0:me.toString(),syncErrorMessage:(Be=T.syncError)==null?void 0:Be.toString(),buildLog:T.buildLog}}const y=(0,r.createContext)({}),p=()=>(0,r.useContext)(y),v=({children:L})=>{const{"*":w=""}=(0,t.UO)(),{entityRef:z}=(0,c.x1)(),{kind:x,namespace:T,name:I}=z,F=d(x,T,I,w);return r.createElement(y.Provider,{value:F},L instanceof Function?L(F):L)},b=L=>w=>r.createElement(v,null,r.createElement(L,{...w}))},96393:function(_,s,e){"use strict";e.d(s,{Fq:function(){return f.F},SE:function(){return c.S}});var r=e(2263),t=e(26220),c=e(99954),f=e(63126),A=e(16172)},68725:function(_,s,e){"use strict";e.d(s,{Fw:function(){return c},_Z:function(){return t},pd:function(){return f}});var r=e(36964);const t=(0,r.createRouteRef)({id:"techdocs:index-page"}),c=(0,r.createRouteRef)({id:"techdocs:reader-page",params:["namespace","kind","name"]}),f=(0,r.createRouteRef)({id:"techdocs:catalog-reader-view"})},47861:function(_,s,e){"use strict";e.d(s,{S:function(){return F}});var r=e(2784),t=e(79692),c=e(49378),f=e(38402),A=e(85256),m=e(53492),a=e(73624);const i=(0,t.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",marginBottom:"1rem"}}),d=M=>{const{result:G,highlight:J,lineClamp:me=5,asListItem:Be=!0,asLink:Le=!0,title:le}=M,Ne=i(),ze=()=>{const it=J!=null&&J.fields.title?r.createElement(a.FA,{text:J.fields.title,preTag:J.preTag,postTag:J.postTag}):G.title,lt=J!=null&&J.fields.entityTitle?r.createElement(a.FA,{text:J.fields.entityTitle,preTag:J.preTag,postTag:J.postTag}):G.entityTitle,Te=J!=null&&J.fields.name?r.createElement(a.FA,{text:J.fields.name,preTag:J.preTag,postTag:J.postTag}):G.name;return r.createElement(c.Z,{className:Ne.itemText,primaryTypographyProps:{variant:"h6"},primary:le||r.createElement(r.Fragment,null,it," | ",lt!=null?lt:Te," docs"),secondary:r.createElement("span",{style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:me,overflow:"hidden"}},J!=null&&J.fields.text?r.createElement(a.FA,{text:J.fields.text,preTag:J.preTag,postTag:J.postTag}):G.text)})},Ye=({children:it})=>Le?r.createElement(m.Link,{to:G.location},it):r.createElement(r.Fragment,null,it),_e=({children:it})=>Be?r.createElement(r.Fragment,null,r.createElement(f.Z,{alignItems:"flex-start",className:Ne.flexContainer},it),r.createElement(A.Z,{component:"li"})):r.createElement(r.Fragment,null,it);return r.createElement(Ye,null,r.createElement(_e,null,r.createElement(ze,null)))};var y=e(86619),p=e(50581),v=e(61837),b=e(4614),L=e(21853),w=e(88013),z=e(10289),x=e(48760);const T=(0,t.Z)({root:{width:"100%"}}),I=M=>{const{entityId:G,debounceTime:J=150}=M,[me,Be]=(0,r.useState)(!1),Le=(0,z.s0)(),{term:le,setTerm:Ne,setFilters:ze,result:{loading:Ye,value:_e}}=(0,a.Rx)(),it=T(),[lt,Te]=(0,r.useState)([]);(0,r.useEffect)(()=>{let Ve=!0;if(Ve&&_e){const Ze=_e.results.slice(0,10);Te(Ze)}return()=>{Ve=!1}},[Ye,_e]);const[st,He]=(0,r.useState)(le);(0,x.Z)(()=>Ne(st),J,[st]);const{kind:re,name:he,namespace:Me}=G;(0,r.useEffect)(()=>{ze(Ve=>({...Ve,kind:re,namespace:Me,name:he}))},[re,Me,he,ze]);const be=Ve=>{me||Be(!0),He(Ve.target.value)},Xe=(Ve,Ze)=>{if(Ze!=null&&Ze.document){const{location:ut}=Ze.document;Le(ut)}};return r.createElement(w.ZP,{classes:{root:it.root},"data-testid":"techdocs-search-bar",size:"small",open:me,getOptionLabel:()=>"",filterOptions:Ve=>Ve,onClose:()=>{Be(!1)},onFocus:()=>{Be(!0)},onChange:Xe,blurOnSelect:!0,noOptionsText:"No results found",value:null,options:lt,renderOption:({document:Ve,highlight:Ze})=>r.createElement(d,{result:Ve,lineClamp:3,asListItem:!1,asLink:!1,title:Ve.title,highlight:Ze}),loading:Ye,renderInput:Ve=>r.createElement(y.Z,{...Ve,"data-testid":"techdocs-search-bar-input",variant:"outlined",fullWidth:!0,placeholder:`Search ${G.name} docs`,value:st,onChange:be,InputProps:{...Ve.InputProps,startAdornment:r.createElement(p.Z,{position:"start"},r.createElement(v.Z,{"aria-label":"Query",disabled:!0},r.createElement(L.Z,null))),endAdornment:r.createElement(r.Fragment,null,Ye?r.createElement(b.Z,{color:"inherit",size:20}):null,Ve.InputProps.endAdornment)}})})},F=M=>{const G={term:"",types:["techdocs"],pageCursor:"",filters:M.entityId};return r.createElement(a.Nd,{initialState:G},r.createElement(I,{...M}))}},98157:function(){},53260:function(){}},function(_){var s=function(r){return _(_.s=r)};_.O(0,[2370,6202,9284,2126,7012,9035,4983,3222,5218,4736],function(){return s(88649),s(46054)});var e=_.O()}]);})();
|
|
486
|
+
|
|
487
|
+
//# sourceMappingURL=main.a7898f9b.js.map
|