From 94bef7372b2a451de6e3112984d1c86beb00e490 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 27 Jul 2023 21:57:02 +0000 Subject: [PATCH] deploy: 470afe4d7f5db43fc643e56052dab323185096d4 --- 404.html | 4 ++-- about/index.html | 4 ++-- ...ervicebus-dotnet-functionapp.6d41bed.690.png | Bin 0 -> 23291 bytes ...ervicebus-dotnet-functionapp.a17a902.640.png | Bin 0 -> 63370 bytes ...tionapp-a880bdabc4abfd5dfa68f933bd6dd5b5.png | Bin 0 -> 26961 bytes assets/js/1df93b7f.46ac3de5.js | 1 - assets/js/1df93b7f.b53d7bbf.js | 1 + assets/js/runtime~main.9aec9acd.js | 1 - assets/js/runtime~main.d92d16d0.js | 1 + docs/faq/azd-template/index.html | 4 ++-- docs/faq/azd/index.html | 4 ++-- docs/faq/contribute-template/index.html | 4 ++-- docs/faq/create-template/index.html | 4 ++-- docs/faq/discover-azd/index.html | 4 ++-- docs/faq/rate-template/index.html | 4 ++-- docs/faq/request-template/index.html | 4 ++-- docs/faq/use-azd-template/index.html | 4 ++-- docs/intro/index.html | 4 ++-- index.html | 6 +++--- 19 files changed, 27 insertions(+), 27 deletions(-) create mode 100644 assets/ideal-img/servicebus-dotnet-functionapp.6d41bed.690.png create mode 100644 assets/ideal-img/servicebus-dotnet-functionapp.a17a902.640.png create mode 100644 assets/images/servicebus-dotnet-functionapp-a880bdabc4abfd5dfa68f933bd6dd5b5.png delete mode 100644 assets/js/1df93b7f.46ac3de5.js create mode 100644 assets/js/1df93b7f.b53d7bbf.js delete mode 100644 assets/js/runtime~main.9aec9acd.js create mode 100644 assets/js/runtime~main.d92d16d0.js diff --git a/404.html b/404.html index 818cf07e..ab71dd85 100644 --- a/404.html +++ b/404.html @@ -4,13 +4,13 @@ Page Not Found | Awesome Azure Dev CLI - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/about/index.html b/about/index.html index e26101b9..5f8441b2 100644 --- a/about/index.html +++ b/about/index.html @@ -4,13 +4,13 @@ Welcome to Awesome Azure Dev CLI | Awesome Azure Dev CLI - +
Skip to main content

Awesome Azure Dev CLI

Discover - Create - Contribute

Discover Templates

Discover Templates

Explore the azd-templates topic on GitHub or check out the Gallery to find templates using richer filters and search capability.

Create Your Own

Create Your Own

Have an existing project that you want to migrate, to use azd templates? Convert a sample or create a new template!

Contribute To Gallery

Contribute To Gallery

Consider sharing your template in our Gallery to help the community. Just fill in the issue and we'll do the rest!

- + \ No newline at end of file diff --git a/assets/ideal-img/servicebus-dotnet-functionapp.6d41bed.690.png b/assets/ideal-img/servicebus-dotnet-functionapp.6d41bed.690.png new file mode 100644 index 0000000000000000000000000000000000000000..f90d2fa56ad5b926bf28cf20d29dca508f1e558d GIT binary patch literal 23291 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�F7X9B{Q7^$WXM^JF< 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 N#Du>Jm3-3j{9jIOfkglS literal 0 HcmV?d00001 diff --git a/assets/images/servicebus-dotnet-functionapp-a880bdabc4abfd5dfa68f933bd6dd5b5.png b/assets/images/servicebus-dotnet-functionapp-a880bdabc4abfd5dfa68f933bd6dd5b5.png new file mode 100644 index 0000000000000000000000000000000000000000..57b14bd07501d9ff22af013ff9d4f698f10f9d9f GIT binary patch literal 26961 zcmagGbyU>R_C7qcARr+nDUCEpNlSx(NOyxsgLDib(jeVk(%p@ebcl4r(B1v}4C=ji zecwM`)^ZJtIl0e1&#vbf_+Cx|4dn$22n0ftk`(;_0>M@Q|D>NF0)H8)%RL2w$Ust} z!b;A`yYnvYN@vXvN2(nKO3`JK-n-vGQlOXcR0<;5Wa7i1Q~?v=8iC;rFqNr0fX;l=_ln3GD1Hf~3z# z5_wFAt_I)-dDE_v502{W*86Zop+8z7d7}sc&>yX52Jx@9VN_#PP`Nn$PiCjXoojlQZ`H_~BcY zu1l!>HDDa*8|RRI$@K;Pp<|ORJLc%{5R?wtUmzhN(W^gwXyemtVxh|T3I9?M9=V+ZO2x`phff+? z13YE~ZiMb_m@Eh{;`%iOu*Q|_qQ-gh4{494B0Z3#;$a6q4ZTOcEg?aC) z-(l@{Nwv$8qgU~d=_xp9yeR0LchEfO?B*XMs#7;W4#M`|=Q+cDXn3$Ccr8yBB zW&4}@6>R#uYJ!|rKka)7y3W2+&>N(^0fr`$o@C>(Lh~%mQ+J>lB)zyv5`WegM}-|n zAbef*qjPYO^xqRP%L{Q-O7z=L144$uUB+)%+S&OCQ>#ZPvtEc~H+_RgExT2&UQhD&iAmzARTTGU@1lXN&aG@?mgKyG0t z!XlY)c+J?q_`GmwzD_={d?t^ZDiDuz7EGX7vxY&$PV~^W+zG#4HV28PCd~IpaoGw_ z=(wX9?9QW25XYh78Y5JwLHan>P;Ibi?A{ zocZR9ZE3_>pHi48S*LT2vU;9{A+tC}D-U|Fy706=g_5>9R?_^~RU%514q>73Lu@}8~DVqUR zU!Zfq&68a}(%1d3K)FLE=m`!D**NPs7{3TxclfNXDyl7tCKKc+n!U@t8)__m!nm%Q z(gbie$-|fKY8Y(~wUoswPO3L@KPm+j4eURXeMw|e`P3&&9v{1eM7UUSN9%EdRaokV zjiCe{s!knUO~8aFj4Lgkw?4swSbQlTFL4Si`C(+N;x(ZrjP{^_32*2&8aJ3+d^OjO zylTE-OIROX$K+rnwmbgOJAgaziH;OFB&e=7fTh$BC;9L-yU)VPJT*}l_}cyWHWq_* zvZ)Cd6fq!KdUdhz&SRaGZS}XBz>KxC)T?o6#7>&&5YXJnu`=XouMhUu$!8tjKLU|8 zel#Yeeb9+|%N~cJ@4!`s7k!REb zTJC$qVp_7k=G!_w0xM(3!HezVS@inCt(*uuMU$hUm(XkiHbQ0T z)b?2zkwt$(Dc{Jj*v85-vbG1)D%WY|Xifn3Bd`JEa9#Yo;Zppz9_XYd@y4ZEL=ZP+ zAcuappId&YPexSW2+i}y^N%^P&_RJitScXgmP;0#_4e1@m2M2X_TFrIb5h#z)Z%It zS^Vyl@U{cTq)QaK7ywIGa;2TBRy*-5@p*ER-WEN*y!S#62{?Fr?nWHSB$gcTZ_ND6 zUB}bVh6w=TkzLVtdl~0v6pj)E7_hM)Meq&BR#7+B#m;TQ=dg#R@7vuoEZ{B3key949k@m7 zq&zU#pJ!Ce2ngT~^C<#G>GcWa`*0$*Zij^(yE6X1?c^M(k63d~`HJ1_ClmFAyIJY} z*Gu@3T7*JuOw1mrfxOxGjFH_5Wy(yrlr!AAHWOEUNlrc}3M{&$;MJaOZYcwz4`UX> zwDp%0wx=!;(@n|7Go=S>&(vNVSXT>TG=Gz|Hz*2={kgMh5@mMvX39jX{ZtE_E5~H& zcZJWX$f)ZE}7Hi(L5$Eq-5MC3k|q+GxnGYAO!IzSXqx|OuYPzMLxgV^V4_g!GJSTiCeWF z+(T?;!o)0p58NdUHR@?~P$fasM4L&{=Z$bD_TrF{$;NyNWLe{Z9W2ZU4XD+|KQl22 zg~%HjvCylSMDq8{In1X@QDd-=DdpYmLBa~ho0)8BR70O=wqy`bZ@ z>Zi{T_^u)F+GXl!lhw4HuC`81Fch|Ge!nDfzwcNaLx!!uhDcz@0L4X&F~bgbhTlImu>? z5@cyfQm={LT8*9IGqT@ccAHJPatPD}cG)QqPJitnucb8OPx8*a?sA5=<^#Q_=hO0^ zwd40D9*1Mkt7Yss+>>U_En5|kxKc7adP?!{H)|PfKHE}Vbsa2uHX&|5H`zL+9^E1UA(OUA&xrji0Hj4V z^Pxc4;5k`$xEQEvBfd_DtUu9>VgD%VC{$x@5^< z(quw`RRh>$XcuMjdelYf;d1{&2X7HYO4CdRX|Nn*45y{w%`jL_%iz~=ivpL5#eb%6 z+&QxU5^}WE+y3-+zfUKp`P%xwN=?PoAX_+ zFaFQg!ZP599Ib{qRX4F65n3})%057yJSgN=!KO6oX4s!Pq4Vl`-fv{z4&Ur9>b@OL zop;{Gt9*jy07?HHcrwqg#sbE1<7~@XBpghx9}i)Y24FbC{QWna2$Qp;T=~ni#p1Po zW_jBUZC~dtu0UrO2hN5fbJsQhi_uC`uE-5W$N_kEpxlrqK8`QNYTk;y;k8*8RAj?E zf*aVFaaC*%#KTmrgK@g41}oV&>bK`waZk!Q_FwSC3*K&t`S`d`w^(uw3!G5<`K^n` zQ5DDk-GF4J+GRJ&f=)7G8~gCP*1F6c?B{F!D^3u*3w{wgTH4iV(*;Vm8>_7T zNR@xKZ0#!%ucMEt=M^>hX34Or$;x=SLzj*9-ZQJe;iZmF?eXj)e?Ns_Q}}9+{P6(u z;+iihjwF|#@?*t2mbY8- zVAIi#*27Y;$IqgNFs=p$GqHcyt)A&&t|?0Q?pPM+Pe6j%m$@jgs`9d?TONE*J4}6t z?{%S4VmP#0i&`S7@y}F6P;182q`KIHhbMI({6_`rqNrq|wx%nSMvbfEdse!S`wH33 z7F&ol*-kEx);73Zj;ltErRdZDn({Hqhm*#b+u;Kh*ux(Z671l1248x+kn#(Oc}TqoNX}j51J974Hf=I3+3NS1p0iR-NJg2hSUdhfp6%6AsO#(ZYo^|-wNrg zB>MlA%oC75y7I{;MXvfV5@|!+Bt+2IMy!O6Ed80e;4ObT3q60F zB@Kmi=|0RY1!-xP>daq#{P6)8(JJKM<+pP?e|{82Hw?!@=SgG_sVQl6sE!71r=dM0 z4dka@|HsECqaO=WRwiEG5cDAMN_%(5?0Gd{1T2y{h1ZFk_oCE`Zs7iSOAJw!vPAsv z3N-SgXyi|_NE1yA^5h8RR|dF&_VRnPwG`H>FF-ugZqBP`>(CC5-W(9HXk=Ko-i1lo z<|a%@csi4^W0A7gkzd4>dm@9t53?rs*KyC#O2oDN{;m9NWvXimHcg9((mVK*$h6lD z$toFc7fiQQXUd@1rpmn~@T zhA>HpmI(jbZeX;Npx#*l+UFfd!cxX~v5learXX(KzqZE=L15t&x&Ptz;p1!#TB|3W zx0jcIcpN2p=;O^yjKHzApO}zPKOXu7g34BWj%V}5aIe0?u6xCcnddBi(Y33GR{P{= z`kpBl)KRRwW19x3*%$2z|I|N86X+U7#4}Wflo@|G72hp5y5}4EOaO+_R!fnk$dlZ! zD@yC-@g$hEKy{FOncq5+J|Ke6*+>?==|Vs$HX)E)$r5{|nPuMS9J4hb{VwNM zh5rO+ffV?ax6%RKyL>sSYE-gsbmPrZ+A4$5Il+M^#r!pQ=o$HNeN9Gc@7b|1KMH)k z;xmSzFmPyw%K!SDN~XuY+)j(cVEuszc-(;g{yZ zOg{+-C?}EyZ87;^_>zRbmR{XHHCe9w%xc>bL1|1W(yYGp;RE&#k*P3jaFeCT&BO#r z?fpk@9%oj+XjFTff_J7W2C(H5vV^MvLy1%w5| z7s$#NU3kJdEFc|71xqczYUO@?exo5zm%kN}ZDh0*%9Ab-GxYr6mAHw~H>HyWN~X;4 ztK{ldd`8YmJ(T8h2xz!KEIXFtIhnm$71_?KRVz_#@?b~Rg2ZA?gj>y>47h#UaPOMjAE6LujXP%(kV}<^7;f)g=mJsO-xKWe=syE z1aLh}vD35QA9trlDCv z97`=$dZIV+VkW7s?qhl)^DEW|gXg``Ilo_WL}t5;>Ycq{yx~f(YAEoQppfb-G*aoF z&rkVj^3><1nhy4y)g-!FD1u~q2XkCM5GmKI!-u_lX|_g=HD(`>v^Q>p*XVuGIGT9u z(JY*cp(AZ(z>u%X6LpbInY%{)EfHTPO!i{pxpO7%0FC30@|&8oH%FoFszjG0zy5O% zqJU*9D@!1gl63H2pqpn@sv*!Fyt2<5Y{Tku9>VQ_F6pg~g#f&GO!9&(*}W^yJ+nzUudSNk)IMa^RkuR)dwW z2neKd%e|(i-q?@iM{C?gs<6M&!}{6lrr&af2XFo9tpk~2kpO1d14*(~tg5aE6xUvB zkgb>q^sx+r_)bTf8C^*Zq-;gwaw5yf`p*qLbQLE{m%|+i9gN0%1~lz|<_}Qi6%F;Q zGWGTFVz`m|aU~o`lEX<$X@5iEIB2ydvb`{26=aPW^O6+jG{w95+FBaAvA2g7iVw#c zNJ&TGM+cLW-I8E+LLYgN-DNZo{I&Q5P-R}L2n&aHH7l$9y-^dIqpP`V z4bd2<&nZ1)vRwYXy(|yq`zXMIS^kA)brB&Udw^7JPD4p8cH9ki7=)Fa^2rrHZYw^l zE`FzEg9z`!?x=SNWo~esuR+3{YdfM%Q>eOO6{NEH6l6Pmre>(JAhIuQyw51}xNL{z zUed6}d{G-;%{9(w3UuQ|NR=*2iE4I2p^Nbvbc+|Wa>R<5ywvV=`#>~0G1cQa=8nr;JaG#}LX2;B>?2eKF-t>$O<`;!EkHY08zAVky(2C{7pH2<<~7M}^^3@7uD zq>_(bczQNFGh4y{evJ7sYs*auW1igSPu|;!C9V?;SauZio3VAFF+Vb=KA*7Zi%*h| z95ytoj#uB9@$n~Z^nCI>;&oo?N?(dgTz4klm&`&Sw=zg^$?@?g32Q0A*wM06yVJ=Z zWRooR+sfMG_EXC;Vy@8mgbo0VhRLUNg-0J0+G%NXl=%wqX8B#6kCsF(@U@4~^6LvD z&wNgb#m)-UDV2ISwjfW&lHcugn#34SGYuP?(lx~9K9dD9en7el&g~*zoI!k!Ks=5q z1+4_qEjlzrW>_<-jQ_)J%z!O~DO0&neXQT*pOZ{DRhjq1tE|kE>vOW>9@E&}d1+D> zr5W|cP|604VrpLI$`hzdGlitxxXL8^Se$@*G;lW;u^UdOJ8{iaCFfK`8cVhtYn>U=lT1?Htrd_A^U-!GS zYw!A$4D>R?1Fb|eECf5mZ+4PpAFh!3>ohh5)` zL)}#gTgZU={b^4tp>`PefAWKM&5)u7Lj3pCpk=o|5HGOLxl zWFC6}k?turhILsQD9wcbEwLkvR1jIH)l&dbl|1b9lsQdrvkc}rPRz+^ksnkJ|8n_S zQ`41;pb;QC^QFg>_%z-fb@kL_G|L~a(Fu>u^js5gBpLs?(OOgW_7Jk!AN@ZaX$3ceXrv=wN#K@|DS#HIvk?{w<62q#!)pCcfXU-S3|vHlY0Yly#}+6%GPVfn~OMntr#ulzmB%8LY{ou z`tiEVcCR$Q;Qh}Zd=DMNpsAWOc2CYb;|1-8ul5^5gjxx&|3#a1-xc$QK)|BVTrXQQ z)d4{m><2F$ulEt@rC9Su#=P|MV_GrEPpX>Zc+J&{)T$!_bi19>O5Apgy=7 z1*rfMCV*^N8br;2#Q-_^Dk0HqoUMsMUa3lOhewvg;k_Gy#bQm;u%JA}St+UALmllt zDV~(1WcsLaP{Ln52&j51;*YMkIRfLJ=;Yhnn)Q`X z+oUk>Upb(7>M-E_SBWoJTt}X4zbz>Y=Q(SPAmvo-;Q&O;2{J|A^oZH@Gp2+vRV)7s zhB5V*+CYftsCqzZ=cih2io?T{G>~mt+W-#%aYslHft=DWV$|>_91TkKayP-cu5$GHd(O+6keiZ}a5Thmzm? zt)mC}gSLcj$=wsnfk@g`-*!vQmcn~p>153cph<NIXAQ4goEv= zJmx@35wPK-cM7#$jyk1&(;e=lh^`2OQh^90LV;5MXrt3JlB;D8zT+P^+_o#`j{Ci) zlO?{pvzqUeClvZa@jx9N*Q^ZgWIw*5>8UwCv7D`8t#jR2+9p;9^@YC=OZleS5c|{C zoVJEf?@qykg!xOWm{^D5WloWPmdnjrIZx4?+69Hjcne{Vfb7C|`M`J}sx+-?YYJcI z`8_|;ZBa@ezD|e3;@FfE#yH%?o_EVSi@pa`#RvE;cvR+XgO|RD6(yI%2$uLm#Ztu$ z`x_Dhvq zx!|?=dh>v%!{*!=8iVB}ul)z1v(em^4c>RrnIF3Ghc+b&Y0M-wg_`%y@kJ>>dZ0`M ziioBo4R{RUg&nnyqAeas8{fIvu}<)J{)eaLfpUc5tuDOC!M*JMeNfHm>QXep{z~u6 z#gysJY8EGe@1Ft3E)@T zuVOT`9hr|GbrGK-=SnU-;ybIGbL` z{DV`W))DpVHkKoVH&uHGnt$uFn#az@pW$t$__|r{3r=b^V@or*H(AHb-&)9eWEIzh zd(2=Nz})5y8;P4lPPnAshgk4oQpq+i75Y@zwWX641~&r*iA1SJM@v~lgk?AwZinp< zswoX8b8}Q8d?Cq?x?fR|P1G)h0AtNjaEiMz!(L$$tFAoWbAHfGC35YadrX%=^)&_W!!+BJFnRRd;p4}@cw-_k~t>~)FWGZ*$z|_j5f=>=UjI#LKs@r>$^gV#NbP_1;xeY zUMSX1%(YYrlDb}Q`xEk~5(rBfS@DGE*5@ZR9KRqQy7sOM+d+wKMt;)4_H+(EOGk#{ zfMYxe33J(D!#Rfz3QwK+E^Zf{vyC**_=(Vj6cl*UAjEnH3s~p7OjUE7wbWDRI~zaB z4!xnE3!JUvR#>s-XQN_-^NwfV%dRg%*ZsYB>PPZ(>61E%00M*+vsYpVqRL|2Nrq1i@g2&4b#tQ0JfVNq` zP(A34WtM^X4OZ(~yX-S^u1E}gUl4*XZ6ZM?Tr@alD;(N^P}S(pvb%B{!uXH})Fi>m zX2eBubn?fk-q>tuPz%PH&fNDI!s|K!*`20bg7J64GsBC|q>p=F6;D%y;}tQ#i86tf z=mYAi0Mv@#f5B-83wW4I<4th8Gsp90Ij#i4flacIBuN6aJt;SHnkeEW2X`(7#S!&do;qFc-zXbd^)@@rUCKpASma_>z z(oRpvq-kP9nfI!Cf?UcT3#Yz93RCe}0m7MX)WhjjlLE;wQNI9i&s`}AHxhr;yX1V; z0I*t>>)h2v%XaTUIvYpkX2dt}8J@121XuM<TJ)`##C-e>Sh%M< zCOixGD{*xls!-$0(1Sf0quT`ktbv90k}6B4ULSC~0|I8ZM>6;+_K7+Jc#+geW?LWZ z&-WNjpw@SvZbk5cr^mDr<5L33sZxn2YM$xyr6MzpL|0?3zTkO z-@5f!xj~&I^TlbIDJaSa9937_2+e? zAiWWg@{Zj=fIodXFt4D3jory0ank2~$bRo9h>B3{cYuFqHgSDgpCaI4 z)oL>7cvCYx)w0Lle*z18je#{2H!=bk`x~t1YvvbxeM($y^-k{_da@h)DzZ z-GUf~cNUtT0s-Nc;|(k9wa&}l3qE3APD@JR>}se@#PDJ3ic|C6_k&ew9 zYI2CUZ32M0US##U;t5F%gF8o1i^mPtix<)#KhnN@`SNsUayTAu^lia;&3gYUc_!W0 z4Uv%X8vf5GjiPBIGU9P7zoBR)iaG`aWl%Ty6?Mn4nyoDY(($u$ep6y&{~_B`-G}9o z3=yI?p98ARCt*i2JdobL6?uZ3e|K_s0ABnaXFFeTQA_2vE<1PH%;|jP&{i3mH%i5k zBtyfjnCRq9T*!=dwragOE$>}JMGMtk?g&69eSGhppwM@~G2gn~1>N4dqpy)J>9q@^ zpr8Q9P1)#lU~;iPAG_gjwynWDw*dIzh%Hz*1t+s*TNlIxn2UY_zH?5WGgro~FAs6> zAI7*&pS+K^w0fjh%0bDInpX9G5fl<^c59OTtAJK6F9|Dt=XX9NLwZKCR*0=zZaK?Y zV>xRwJv`YniDkv>e(>DWTf8ag>w1e5_79o{rvQXQLQiZ}CS6F>1^;C!-VkuDXB8fg z;)AMYb-HS)&gu3bF%%zm@&YNK31Cky=c2H>r+}8*NvX9{p@!xbX@ShKi5h*5>VvioYcP z0CRu3W$*U1DN#e$V_8b|z>(1v-E?(*K2=d-hFk301mh>*%(J`Zd*4)~rlx-J^TWi& zMQj5whudi%pJXu<;^m?}+u_3&M$Fs(7f06Xff`xngV$s5(*^>=-dw-#XLK^xYT5Lb zNa7rHPK)T8OQX8<8lHJ{_{rBo0~KTyZcNly=1 z$wZM$zD#UNxmw#BsNLOIcc5>-yTj*Z@dEJV=;T05NGQ#uSUx-dQA3lXDfV|K04;5B zI_Q|cKm|qv%97|L+@gS^jeubM94FRxrE}6fvN2rV?qZs+_5lP2RP6BLAQUV_3JdGH zx~1M2^81tqJP0Hq4%eatjZUBKTO3VN6bD0H$bhI%`(YM_XPe7n;cs?kNdV-!y-QPk z|6W{Jn9dKum`Knw61Zp;9-4b>di-vV6m_knFfbmQzl)#dwF=0Hbz$N@+ z;2T-+Ql;9LgrZ}o6i+6_tQwHvvR&N7oa1u+vR6zha}BCmY?yL|=X>Fx%Vy1|7O|LyIpSW7%+oy;XYI?MZ* zA8U2IA++jqA&>ibO}Jy@c6Dq#rkdnqktfGBnjzxGq|G)zUoeX4adQ%q(AvK3t(TkI zG)%c@!lhAm`L;vo{lT8ulOQ8nG#?a=SnUk|}b3wtIP#c{g6q8SV zOfojb(r(FH$jcUKw=goRcbex20pmb64ig9)$~S9=M>2jm=u9csCs#29NY(7M02HKQ zHWJh8KEWvBhgS-NiUoDF!{!H2lJkDsD0}TBv4QvQgbYvTo#?zaI7xoZJz`8i6pyR}4hDvoyhxJA-62dtK@tX8t>AF{mz+z0i8k&!o`#pjb$DFYqpmzX zmg8hjrlJ|~d1Rz;JDcmg!p-oeT zc28&fm)=jqcNbYKafkBhI+mE7eTnO_{HRyR#K-RQcpTgbL(VrKbz>#ryCa{y1S441 zP_zmYkG+BswU0XRFPg5QN3{UAoSWNE4Gt7He=K~p=b{olvA>V~@JbObNIgQY`R!YtLX+R> ztinX%KuQ-d<OI{&}ae4@U}J)9D)2BXge z=nh*eIDE6N0N3)5fxz_Np4nj2RR)_vzs$VWwAz_y=xC()qnRRS=*^v7Px10+ZbCuu{~mc(7yqKlW)<|N(6r5-3$|IO9vNRo)S71UnMq@SQBT=kA4<`hwh?I zAS3Rwz361E$thA~+Vb#t$IF!PVyjfU!6t#3p4n#oSd7GTna~yfV^R7a(;M*89Z|Q_ z^pN1uBPgiUYMH9Q6Y;1i^qOycO7P}0=tl=q&1U_~0-`qs(AdcI+<~F03Hsb>%?1dGHZ;MdwspruA`KV-VX6 zZ4Hmk?pmPv;6JY{YL#>xww4s zYUSj?=d@8PJp|f`+yQ?YMepu4{_LF^66897PX|aMA*2r&;e4*7^9}PRHV!M2f7JLC zYPKQaPGwiC#DIVJ@?7*aQwp3JOj(lfCVT zDzrm#kECOw%%)uyXyV3H9@FjOx&7&8T&(4Mqmw=$uFTARGPZ5>nHoz&y_}U-kAl~T zxLv6wb}T7vy$>4>mQ(!jIdNEK=)JP-Zxgq?gKFbLV(lk{?u5Skn{Ru>hP(1U+!ZekXI``)rr<>il(mc)yOox)orx#km z;IF6z9e`Izz~{`u?|S+%;!U>0qYg%h1Ic$vKR-VrKId;89dFNfrxls&5aHo5aB)qL zOIli55S8hRy&sSLm;L@6kBnaN)dt|tZtrcZuXhDtQapL~%=G;f*)7~H+IJNV`p3%! z_0!ijHlotfhP~mCXzA(AZCcZTs0|g!&qzMW$jE?4K;WtS@W|c;ZtFn4VxGlYb5Bo! zMfVfg<~w%}4`gKIa`;IYI7HywdEs8+n*Grl!bayKas&hfK%KmNd|=T@_#_=19GdTd z%lHn6H1zfLV+B**IIyJ~M07ve8Cwb}Dk@-aBUlQk`bh?`oa+k847_+HVX7qTWLnDJn5BoacBkib_iD z>-}*%d$aZSrq>q-)>rI$ZJ?&+X0-1boi2a;gSM@4Q#z(sdD+=x&vk+eX&DP!T|r)P zlf|d!=WUavgcqXsA@_GTh2yWrK+r>qFmVJ_JNmimhYwm(3bs5{T`@%b*T%j#fC_}B z>*-!2-C)lx#x33719?laf0b5zBvs~>H;-y-CFF9YFC9cr`>KG&K{L3I$K%?<_XZKs zd7OF59~xNsyvwMzH!YrcW!L=J;YB|6_um7RxOl2|%Wv<3%Vw(0Wo*hw?|j_178g&4 zfi5%ErUo8(2BR$HPrU?5;Kf4D?C0clVaS=fEEn!! z*ZBB&dVyGH0#r>z+%GIO0&}XWV*Ou&~kUqn>0UDb!2q-O|PSNASB zaXy2FvZb2Cm~+aT`2pW&^Mx4n^ZT+{EDZPO{MCS$_pFj$&*-N zaJkT&g<=M)Q{!QR?m>S&~4eIS1Eay|v&~}Jn=hOl?R$UHZ1QL%# zHn@p3NNh(l#m+Aj^$BHXu8fl06ubh}oG7u^KYyR}E(mbW|9+hRHBjd6?23o`J|F%& zi5wu5fldPFXWC4xy(A+cVo}w40_B>Pjin1wk@1m9LZ1v6c+eazcEZtLGofPeQ47ciLW~$uaq&nxvhHq; zy#v{~S%S`qqNYQgJydfjiP0Jj&So{K28w-_WexDYZZIyoUQ?btj=&2gcXFR{m*%3x( z>Su^>b404n45tgFj8W(a2#n$%e(AJ1G&=yw8bKku2$!^~qN>jyFcR+}DjJdt1dg^v z0KJJ#JW=p#smIhgA~HIJuxBNQg?`kLgyTB!`S>=BYCX342PKip@1vASrN`lJjwn2_ zhKZ);l>oEz&6aIMr#Br#ckWEI;Z~ncWyx1(-J2!_DIN(oFk)b`N*lX2^Cl=O@BDDXjOZQ%UN!~@+l?vyoJo|9od`hq%|(WRiP;Fn zdQ>bPUf+=ETySl|af2NKA72Qav}mW_BQRH)gCq89!Ir?hrd`L?3=bz7Oj?(*>14W4 zmJhTB3OocLU%`4Dr_8>`Q-$F{5Qq@q_4>j|4Q8UkZGbc~TFE=nP6z0C+#_AVan2ii z%Gu2in4sk!BJrG-e82}Pw8hzDi{7JE8ke&e!DFD(ZPijwF`nxFg-+13ce4U`F&+!W za=7SdrQ`kw9cW8vOg7BN>z7WpXfCKADq1290CBdTvGw90d#gLP7x3gE@^Cy+qTQV6LA54Ik&%>}f&PI&w_R3n&v{>@BeRsxMRdQ#lH|}g$4xNJpNf6V6_U$h1@o}V?8V5YkDoH?xV0vx)1duJ^g3fJHWi`(U>JAMCXh^{Np)VE3 zLSFTSkL1Xh4t4|L_Im6LxIhdva_)lwtAGP|juoLI3>8v>k`fVOx?4CCKuaPYd$VbL zSy=Ut3jhuExV~rJvgG7U>|PoPf)+j8BEo-LW(7|c1H^^0_6b0i%+Mteo-X@qx>&Ej z>7V3v+%@e9yF(=PeyBtyeUo^YkqZ_C|DMuF9AEE$UwuJX zvDhfOw)XTA-8O4cK(sRl8pQobezW~k5VH7gYHH{-blV8vj8WFwthKptGV}a=W}?$! z+Dn!76bo|{NON%yg(-8flRF5tt3rkOzyHa?7?7CmL^eLYuA4T};2(23 zMq&uP;3~@OrZ=4!KrW)KtR220g-QD4V-9`0O3gw|6JacqyKHFTH@P&NP1P8$bYlGHRclmJaJ`f6&9uP6y^zb( z-!y;Ch+KBEav_({>D$@;!h_ebxs+qI7IbE_p@l;)ACp=Wp}-YFh0aGZ`!Ep17C=Ct z2zWQN`{-T+TH|fP$}_7W1Q&eMzi*V7Xl%8(ORY;ErtteocQ%ZGz1d)mTkxg>k6_tN zAa(`Y0wxa04Z~(LJMO8ht0bn%GbhzO?iAy|!4H=!*Scu|0lpsrHdeB@vI7rBh_!De+&z$%RL0?i8D~0)fBWv3DK=5?_pm2L za$HXgmp~oDs!xzhF#RGoK^+V{ z9BwgdO`KfYvvwsdDWC7*oAH|XE)Hz%o&1x$F_SrcIC?uQ^_qJR8q#?T%zS8xxGuJ$ zLL5Q2`$RBsUEVo@1x{>s>f+q@nXut-V@x!5l2tXBo63t z^4G1PJ2WK~n6tMrJkeq|%W$D2%w??>s)id{r7c=2{l_$HZ1Fhs>_1Zt_ZzH+DWhh1 z3~puzi6=J+3A`~dZFQi2CEvbhWIha`TDdFFk<;W=e50IKBekyL(qIwOhWML2frWM< zo{5;(7$usi^0$TW1{3tgF~iCeEvsASfycHC_FXRsF)*F7p#QxA`Te^@XTfO3b%z~g zn0v6B6A7uZ#{u}3-^;5v6L#eT7S^axu*}P2#mHYQQ{U7kHJC7@-2z7q$~>H{8AtH* z#S%$7nN(!58G{qCge=SpE#F4JOoV4dv}k91ZA2hMTY*gbQV4R-%ASz0+rO5aJg{@+ zeCRchz_Y<_`h4LeVfae!>{E_$L)?17Gn>?XOWQjXgcyyunBwDWr0HrFeuY=bq;(xa z3SSq8_tRB%D!L|@8T&>ITEmy;PqK|Q*eAi&zS6}>aijTHQ=Ie~>-8f=N(iaCFgv3) zb^LGHHyYy@WzKZF(p{^^U{yFkAoEO$r|E8inwdU)jj_}m@s^gCN6vFt#mUU3PTfa9JP)Ko(^ypKJ#Xr!*Q*L#C9L-t@Qdnh{A+K@_o=@3F`RN#Yxmbus>9+pAh;0XsInC& zAUwF0ZBKX`;zlOB_0O~rgIrm}pMumxznCyFPrR$_XHh%4w%|djTt6hO3^?`R5iy^I zNvEOcg%#q$ZA@1}c=`s~hYjch0_jP?s{#SW*Lq_J-u1_RsTe%4l_TAz*WJP7CTV@obN0sW-47rktesw1 zmXUA$JD(>Fb-!P_B)zIh89OYz+4k{l9%Oo2{GFGXxLBZgoMz|r%ztI64E~PwvezBeoQ>kG2(?=PFoN!oHFr`xMz-wB85cg0J7 z!;LfpedAa9ST`Kj<5O`$7H&>;U9HFagU}o0vG<#2cI`mvJv%(b0HF}{<+%?72tKgC zD^dxhNBQ{spb2{;Jm?ACe+B3BWfT^~f(wZ7zrXzvrWct$;EIHZeM9)~Zy=Bt6(BS+ zNqj~S$ngLCw)y{>`|7ADyLaseco7sq3_uA%1?dn8X+!}T7!i6V(2Mna`aK)R8R zp&3dP=`M#9>F##m?D2iqIlpz{kF(bIee0WlX2b5i?|t9beck(crVZb_lo$n(GddaL zHEDo8h_4BwAOj9u*B8O9yFcCh?;GELfQC{ZBBI5{(^@gsl_wi<=P8AmuQo5r4J_)f zZEm@g@BT{B;lTwVs6gn}h_N$hFe1?VK_(@z;WtNH7Wd?M5$I+jSV$NWyK5; z7qf-kEYX=&{I8pG!X>CCTO{6L^_1geE{BXdkBXZkgrL6J2lq&z$5QXf{w&%*OZDH0 z>Ho)BB{@^|Zt{_qR#xz$zw|21CX1yv#p^*Dk|KCaS(5YE_kvvH^CV#t2d1r^2Fj_? z3s7GLG0I!|sxg{=)9S(NpOR7Rc;0=I;e;F=G%>`eNuqx?z9a`QwmFI^;=&#$<$zE! zLkNXC{rUzr5pd7{-T{xDfw1ddPJ6UuB)G886~I6O$=qqfrxY-5BbRG{2p#D}5DJl- z&Ula$rw@mL;Z)D`7hfV!o%wlUUwafYQ-1^@lmX5NNl;*5B;)!-&EOpDg_ahZT0H04X!8g;!#VDZj26F-w*U0t59%c% z=Y7)C@2aY+C+NVJTtI!*7cWw0zP`6=_Ph9}bzG?lKx`ERTxZU!tWDJryEm>3f}%kmxAlF4{N9)Vlj~YervNMebr{NRuzOageNs1 zo~zRt#9!Aq+?v;}xt4#(aikV-_nvaw6sr$E4Q~)O^usXio9Cw>z3`edtL69FBc_+4 z?%k&{RvMMvKE(G9z1P(y)YAX6dZ;%4l&F#)QAq zw5)yJ!TER-PN%Mn^$`BmOOtf67!=ws&Qk{`@7qr$!obiZ<@Dp z76s$=AEA$&-Xt&so6`zT^plD*Ltn(o_#wW>A{r?dspmeUT8|FlmLtv%4D>kJAGBhU zn?C=d(DME2E4(I!zcg>=(Ri|r&HnhTFeJEf6whce+#vyWv3F;$_$>9w`_Pph^e_HX z5oEkB8RRGG!*N+!cI4*t@kSCguW>43?dX|=*NVS@_)6*sBeT`39rnDnffX&a8eZM& z8G{w3VFA*7Gp!_Eg~+L?+|?qq%=vEPv;f#XZ(2=5^y?M(&EU`i`;7)ORALW7hs!oU z_IEB7pTpdIt;qnXY3y+A_=1IYE=Kz3&6726JnViH^X-9((RT^D*PtdK_s zHMUK*d0oQgdBXJ3d&cG1#*>KeiZ{n+Jn$f&uzviTfuRN4F(zW^Rz(*Fr|OBuA8?PC zcYyY*OP;F4E?8&3DD*iX#HR4Yq}zD30Nr>8IrDD(|$|2f$ZPc#A=SJ)~CNDE52m1SeXlWTP3TL z#iE+qyp=^(yYT5&7*=L=bY4F4Ed2ERBB&qoPyIm<;1ar|4vW;ot|oM7Ro-7}eT|fo zpL_GwEeNfhmn&%DKvRhfM(1lUys7fU@E{kFAJ?MB#p&HvhN$9WV{(1q+Wf|ClJiue zt^T@DU$=cJ6;8T!2#Cn~th~-cHmb3P^>y3Mq%??9<&DNFn=1_`u#m`di%tPCmjr$F zN{2=fKAC5=C$~A1(eOd4`}t?J?B_vWw8p0%M|mB5$d-{PT<+&~v9)l2pdsJUdAPFO znmn8=cFO13tbsj=BLw=w?z1I6EIzY6C)t% zkgmKCI*?6KY!2^us`zXoyOk>DnF@XGxy$~g1rBRCeY{u-Qr;2{iXt~$&XA>ScKE#LLC%KQE z1?ojR&9Y1_eFykGTv5rpww5;-^7j(Y4`dE4Y}|-!T(zzf#7tY(v!CvKA6=E@h%}ol zl0AEGw}ua~m)7X)wHX8_nJ7N1G@?eXip@f+gvr>D)h} zITKt{SAED%?S6n^6^l75aL{vy`x5DAwkY=8`-bl={Xh%ytG1t&v6_6x(VZx+uXw(4 zMHsQ>w;(2(VI<-X7W2o*a3PBkf}KgrEA` z6{`InRerfQf~ZH^#9CTfR@Co3p%ZhJ0=Yjxdvht99tD<*o?Gq{?UiycW*%rczo2>p7Gc!nG)@=q>i>Qb`BFuNT`sRkJQX>OZR$de&2M^f$CRC< zGPW;^rgn1EXMax7lmzPO_PamYdi`u_df(2(%#OHv{ab*FtA|Q}97RPhkg4TD!78GO zkt#d-^=V{VW*`LV0-ymD{Q6l>Qt@E;7Xs(~B_7>3hK(oV^02eq#`+N~ch~WJul`Vf zMhf8s;%AfL{9K)-vNYsf)EvxVp!7beey?5DL4u7Ef)a4d{8yasJQS)>nKpC=FnrB)`7bPk-#oJ+NgMYyR?EG#ggMEX-ig z|H+Ee@Q>ZvqmEjGkC&mPzrYy;La>-rSh`#|OyHDS5L67@#k^Jk4GLR);dw+KFU>aVb84s*ttf&()FIzkyG?`JLFA{L$C{W zillu^>STR%w_-o(!rB7QVqVs6=j?diVZw& zkcmn+Yb;ky;Ljo5;OguYGGMj|AwRCaHOwr)4MX`?m`g-TF^t;WQ%QKfPMZWm3}X%XrU`9%P;dXMS?Cdl-h~Y_`;~~4hua419xY`Zgnv% zPfc?a=93MO;Xz^-K<)H3Po~23h}_` z%SfO;=|EbCZ_FKf)tXGhtd~dx(WzvCI6k8+2!fns0cw=Z8>-zuM)k6&7NkdOE9b_| zH1uRYM8+sP-Zc*Ejm_wDv--GDpphS!+@xK{p%s)AfMVAVy|n3Zt%Aia;MKTN0Isln zw)uSUr7Y70K^G1R6P7g3gv>U+LY?Hh^F7Lz&ou`tDA<~oFf`FgYop*br=QPf>9pec z^vUEp;;~)~5Yyym#Vq zNSAiHhEO@*!$y1Z=*+natz1o5_x9u**$)e?xY%?ayGbGCA8k#Gl|MG$Y%DH_CF_#x zqB1j&9WKz8DX*eXs<%_Jdae=Tg5$*UKY0nuRgmQW&Y<(Z?o$qd^eX#t( zK8;V<6xCek+^W!T9^GD3bv#?MXiX3{%3&6rWfq9X@R1zI1J?nskH{K^*~K?ew{+X` ztF-=A>RZ`rK01EQ_r|G(wN5Xt$q$jyw2`!N{jg^a=UO@}xv$D#wN{UUfKb#aWag6uc z&y6`Y>zCNpgOHbYN=p8Gwem6FBAX*e^O^>eY;3XPKL|BZ>c;HD*9TM_htA?AN4{|? zeYu20B3R{}@Fc6GahkaeQF`}1?G8Qr){YaequQ~D6aAxyT6NY9w1ESOw>-lNbGBBW zxpKWzPLHI~`)I;ow!tQZ@8c>fRbckCxfsZQ$!#@G$Te8FP&=jg9hJRH%X8SrOS`H% zEf{6PpBk&MaG7@$g# z)lohtG4{7d({3ih*PCHj526M2tvMvzNe0v;u&$avmm z&N6vC1H)j-rWbWKQlBYI_&%i+4(TlrKn#q)bT>&&OlvIUv|YI=O|Jh6g6;rE+%L6c zu7d5E?Xh?%2~5>ML1>*kEv{3Ze{hW#f+q2SMZVE#hX;8Z+yOpaR~!C6DZm9mk|j9F z5Ju6B=2yX;7azTy49M?cQcuFDLXt~&fqUQYl`4u|73wL`MdwJ!1xf<6p6C~ zRBm7Lfzx3c3tD>gUyAFj5kim;&X(gys=re>ss#EX_2&@$=iS2lo3{dM4?6f4^8&gD zM5}*V^$*a>-&RHju&=n(-&vr^KNR8r0p81-wI?x`AMlmlEx?`spBlumgHT#p}D9a2YaC#j&_Q%FI%dT}p300*yucIleU z!CNGP>1fix<2XhA>)TNo@EkyEUB|Js3kP=YaQ%}3lYI$U8Be*Y>Dy+nq#=kMFw#5< zdvN`cPY)vYC8qi86Tf>3q5NgRo85s+4?US&5rl<*;%ol~gCMom7CrCQ#v9Dknl74$L<}Nr!kzB+hIvg_Z+_ZAu4c@J_wG6?`Ly|A98eiQx z+aB;2-cr){xM!4eL2qn)&B2?2CUcgkXJv9<*7+<^UeI$k7(<9B*~fD)C>&8z7mJ|U z@6QzaN?f{B%GK}-AAYjIV{<-8DD3Ioc!0M@`#a=axSHO8qWU!N3lHu&FTy=*D%~;d zh$@}T9pp)z?j`6i(sS2)nI2lh+F$RU#Oq!#_+XfEvhte3Yn@<8=!k~&PPen(%4DqS zC30%l{nFfxI^6l+0?YhA?d?_Lw=dK_ruk)RYN^{G?o0+ek&jA`j?uP2+=0B+$c^8s zJ#sXQqdrKiDJw5;OEjud%o^zqQfsaoc8CY#VPFJBY`fDY5_yG2ke^@w&}rqBy7yIq zl^7yVKl!8!c~jmHn){&mvHo=#EKlVIr7hwyXOQlTJbWB<@w@E9L4H~K7Obu75KD_Q z&WJ{lN9BAL4YYVyfNh|#;xEIz*2;BW-8D&3%F~c$ugX+@`1RgOl`wz}6~=*TJvlEd zv86N{z`ifQ2jeeI>#Z+mY26$h*v+wi8T&T?Dre~}dbPRRh65>b5f)lC?kHGYYkpgkP3L=)-Zx&~!et7HkOFW?|Xc1ph?wp^$p9+Sr7(e+zSm($e_UmP^IF zOO?~q7>W*(!pk6(WX55hI}h~__LM2+qVpKI4jdXSAG^RWhd?NjTX0@s~k&a2$ zlw`NT9)VHKPQP|u`W6=b@uS7w+9?G)nsULUoeO!y*2b>-W#@)JD|kh>TXJm5FOz;) zcf>*g%f1+L(fzQ?PU#&bmCUgXyN&QS0hQP?5tP&Gbnim?xUr5y!wc8)RSI$zr z?RZ)c7fT7b-UWmy>&7j$7PDh#p>?fK$tCaO(k%Dy!}4;5rYH|| z>cq9@lV2>5IUKXuI`ylkQyx3dfaQSY4e2RXlgR7Qkdu9l+_bx!b5h3cg80}WUwPE5 zw@*o-dNevM12#^Z1v7~KY6zlVhnvK)xwY`Gjfj@-oyA-Ld1v-Vc=l$w1_iP)o-(4x z_G;fqXImIL;?;uCA@44YC{fi;eRr|t&!R8)M5Rg0Waa$H4rzj`ncgN1R-f`SD?3;_ z57C#k?5fpk)%YvLmo*PM+ip!9L>lAyk%KAT8di14d;B^gv*cNbt>ZJRz$Y#KXQ$3Y zHI=%16mN76^GN!W^+{W4s7Zq2()&FPdo@v-^ARdH278Wm%-T((*V4MGxWa_LkGD*92hjSdCm~O$=O=NYR`lvDhy& z_`B}TeZP?4@N=5WhbXhDQO4JM85O$=Q+nC_jv3g4t8|Z60P^r*AaSaYp$~Es$G5vf zE9|J=en+uw_pj&{f6EEDwe)OQ&ZH3@=cSZ_>Neg&&CQ(RVexxeaV4Yi#39yqpjNIe z59{Rc8=x@>rD@;7YUSHM8PmB0Y21EHxfJ{wDOh}FWXNsi zudm)c`GvhVZeg{Fb;~D5vLUR6;0a8P-3Tw_P(_CY9NBM&SDhm=hC>T(q{ThFHc9V) z+Pz#EizdMgJ$ib*Ray@P0eHxdo;HN{IWzk?Qr{ZiSpgmgP zgsDtC%(_&))aLOZ{MY8;U(b412$r+D^=NN2T^FG7;MhpIZnKhJd|#SHbigZSFfD79 z34Lyp95zPdZ`7+`Ydc~(ooM?Nd(zu4&?0h*`S}a=%Y^RSA)w?FD>Ww}LQkx9JIOBB zrdXcF#Z;%$k#|g|YS7EGlI2Md$$X7QPuWOOS%>2WTLo9Xl;O5#RRv;dMV8kGsfX8; zr{PIre*IA4SNw&lF`TF6QmAGbql~Q*EWHtV@1bxB4K?Pa`UstCRyI1dH0oMbvpWS9 zr;H0cZA3aAJ$#e_0rA^)GvxnB<2o^o0qJ|uvw%4$I59V5-a2SO%NTy%rZO1oWLSyL&Lq(h|0 zD}#L{4HxJ!AiQ2C|2(e1GifZQwv~8JSGF>%!WCYA?n|v2d%J%<%oD_+{|ku+V&Vih zxUG0jHFbwW8XPKFH-sh)^h5~(`UZ&JsbXcggR@KB#qj6OGfvO1F#*3DTiDPvBSerl z6_8^~oZBV;039fRGk`vXrs{@Dlx~H1O)I!i?|*~o?sSi63+r1UD7+u6^wbRHSN&tm zuMWJE9a?_PBuAMx^Lkj5l*V}qI0y{p#3*8mQH4CEzJwckn=d%zPVVJs&JX3pCbbruADjwPWS zQd8gTl1ALH)+gEvclZ^SAqfZUm$JL)&Gr7c)^v+6Z|Hs>^lRl*VDQ66lA(#XRsr`qr7)Xy zd(Ncdkz_k<`tb>S?eUSgRy_f0Sd=rKq&9du@)?+%!DF0X_s8M*zd7;cbLd+D#l`3n S+9l8pBq#m+X_1tH&%XgpWzSgv literal 0 HcmV?d00001 diff --git a/assets/js/1df93b7f.46ac3de5.js b/assets/js/1df93b7f.46ac3de5.js deleted file mode 100644 index e434b58e..00000000 --- a/assets/js/1df93b7f.46ac3de5.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[237],{2634:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.0517160.640.png 640w,"+a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.95e25b2.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.0517160.640.png",width:640,height:301},{path:a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.95e25b2.1030.png",width:1030,height:484}],src:a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.0517160.640.png",toString:function(){return a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.0517160.640.png"},placeholder:void 0,width:640,height:301},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAADLAAAAywAEoZFrbAAAAg0lEQVQImSWNwQ6DIBBE+f8P6hf01GNvPTVpAhGlosLiuuBOU5zT5GXyxnzD5HFF3VIwp/KvF1AFHwdOVZi3HTyVHdqqigjGuGGcF3AccUaHx/0G714wE6lf846zHtpaw7pFTCGAmbv1YzPmLDC5sJfa+lOtgpR3DD6AiPrwORBsEvwASluZr8cn1d4AAAAASUVORK5CYII="}},4059:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.11ae1d8.640.png 640w,"+a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.e28b434.741.png 741w",images:[{path:a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.11ae1d8.640.png",width:640,height:498},{path:a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.e28b434.741.png",width:741,height:577}],src:a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.11ae1d8.640.png",toString:function(){return a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.11ae1d8.640.png"},placeholder:void 0,width:640,height:498},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAABD0lEQVQYlSXNW0vCYACA4f3/+y66KAksL0wQdM1KCSTBw9Q5N3f6dtB52PKAhiHB5ttFzx94pDzPCKIY21+hB2uG9pKJtWHouujCYTz1UTUTCcCbf2EEFyrTE8WPlJ72y5vTRdFfUN0LmpcibZMQES9pGSaN0YhwHtEJHdrhHpGcUAYLJm6C9HM+4McpbWPB58Rie/pGi1bUhhZ6sEETRwx/+19HcYo8OlDppjSHMa/9iEbPp95xUcUZIzwgXfMMEW3oWzt69h7NWqPaCWMzRrcTBm7MeBYicc2JkyNuAuEOanpKS6xpOgJ5dsQUKp4XIOVZhqy8UyzLlCoK96U6hacqtw9lbgpl7opVHp/r/AFWkhh10iQjdwAAAABJRU5ErkJggg=="}},6657:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/azure-django-postgres-aca.7595fb6.478.png 478w",images:[{path:a.p+"assets/ideal-img/azure-django-postgres-aca.7595fb6.478.png",width:478,height:227}],src:a.p+"assets/ideal-img/azure-django-postgres-aca.7595fb6.478.png",toString:function(){return a.p+"assets/ideal-img/azure-django-postgres-aca.7595fb6.478.png"},placeholder:void 0,width:478,height:227},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVQImUWKy4rCQBRE8/8f4H4WLnXnym0QXCgDioImceEDJ21HlI72w3uPGJApqOJQnCwFZfSzxrk7v9Mn49EdJ4n+ZImxFlPXVFVF1tgri1lJYy2bylBsL/gQWK7W1H9nrG0oipIsxgAoKSS8b7vGFBEVRIRvss+8VKjNgNYfu7OX75idHh2L6L+oKpSHnFtreDjHMF8x3+x5Rd9JqsoboZi8UFoW7eYAAAAASUVORK5CYII="}},5359:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/azure-search-openai-demo.e642b65.640.png 640w,"+a.p+"assets/ideal-img/azure-search-openai-demo.46a922e.999.png 999w",images:[{path:a.p+"assets/ideal-img/azure-search-openai-demo.e642b65.640.png",width:640,height:304},{path:a.p+"assets/ideal-img/azure-search-openai-demo.46a922e.999.png",width:999,height:475}],src:a.p+"assets/ideal-img/azure-search-openai-demo.e642b65.640.png",toString:function(){return a.p+"assets/ideal-img/azure-search-openai-demo.e642b65.640.png"},placeholder:void 0,width:640,height:304},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAiklEQVQImTWObQrCMBBEc//jeAF/eAUREaQoBbVpY2ND04/sPkm0A8MuDPt2DEX6G3+FcebeDKBC63ps+8YkUVRhXoVplXJ0awL7y1B2G1bqfsGcnxEfhZeP7I6OOM141wKp0G2YqVzE5CCJoJKwXV8op9pzuGYiLKLFZuulmivk1+A+I9Wj25LiL563wfZ9tUbIAAAAAElFTkSuQmCC"}},9579:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/basic-aks-template.8f54e1a.640.png 640w,"+a.p+"assets/ideal-img/basic-aks-template.b5a253b.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/basic-aks-template.8f54e1a.640.png",width:640,height:565},{path:a.p+"assets/ideal-img/basic-aks-template.b5a253b.1030.png",width:1030,height:910}],src:a.p+"assets/ideal-img/basic-aks-template.8f54e1a.640.png",toString:function(){return a.p+"assets/ideal-img/basic-aks-template.8f54e1a.640.png"},placeholder:void 0,width:640,height:565},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAABcRAAAXEQHKJvM/AAAA+0lEQVQYlT2PyU7DQBQE5///CiR8BYklCIgICDmL44yXGc/25hVykOhL36qrTWfnn3GwuJB2LnPrszZRaYLSLMJdEJrLUm9MENaoqoJWklTOZ89wHhmHC4v3hAJmyVpBSSnVKiIuJtm+Rdm9O+mnSQafZE4qxiXVEAJTyBS90tcBYg7EVKi1EotiurnQu8ywbzl1F6wrbL8cXW+xdmCcPVNUTO8F6yLj5Jh9IktlKVwp60IGlqwYn/9+FF2vQBaw08y+n7BT1Og8LqOm1KvYv10Wpe0HXg+e3WdL/P7QRcFsTjK8dsLmJLr281F4aAtPh8LjUfR+X3k5lvEXiQNZ9RqhTT8AAAAASUVORK5CYII="}},1260:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/bindings-dapr-cron-postgres.637a9d4.640.png 640w,"+a.p+"assets/ideal-img/bindings-dapr-cron-postgres.a9897b6.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/bindings-dapr-cron-postgres.637a9d4.640.png",width:640,height:259},{path:a.p+"assets/ideal-img/bindings-dapr-cron-postgres.a9897b6.1030.png",width:1030,height:417}],src:a.p+"assets/ideal-img/bindings-dapr-cron-postgres.637a9d4.640.png",toString:function(){return a.p+"assets/ideal-img/bindings-dapr-cron-postgres.637a9d4.640.png"},placeholder:void 0,width:640,height:259},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhklEQVQImU2NsQqCQABA78cb2/uEwM2tL2jKwSjQiChyklITDfW8Os+7FwhFb3rTe2IYRoyxfEnuDZXSk1vnkGbEOYfwvBjfPyJ7zSN74y0qgnVL1yripGa2OpM9FWITpIThbSr0r5FdJNlvc6y1XNOG+fJAWSvE7/mHNmbaFXnH5VRS5JIPwB+VO3rb8mEAAAAASUVORK5CYII="}},2863:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.4160e61.640.png 640w,"+a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.0910641.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.4160e61.640.png",width:640,height:678},{path:a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.0910641.1030.png",width:1030,height:1092}],src:a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.4160e61.640.png",toString:function(){return a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.4160e61.640.png"},placeholder:void 0,width:640,height:678},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA9klEQVQYlVWQzUpDQQxG7/s/kjuhIrjpxpWUFqyIbW2vvTOT+Uvm6Ex1YWASSD7yncnUWqOH3Qqrc+LuGP/1oDHdGoY2w/mA855QKrFCUR2zvmzqKddMo7HdzLxuThz2C9vnK4VG6bMurLUiEobBZYnMi+c89xfJ1QjBISJMHSOkiKmigFrDrBFTJJdC7PZmTB3Yx8L9i+Pt2tkqIVfO8xer1QO+GMXowobUxu7oOLpEUkVyHoKP04VQjGp/vzYjRQFTRCIh3JjHYX7PNxiXEHGSeDwkXNaBsn73SLHhNjYOcO2cmfX+wDUIPhWedp9IUaI2yo/wG6hshJYcuMxMAAAAAElFTkSuQmCC"}},3635:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/chatgpt-plugin-python.8d2fcf5.640.png 640w,"+a.p+"assets/ideal-img/chatgpt-plugin-python.e23f255.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/chatgpt-plugin-python.8d2fcf5.640.png",width:640,height:305},{path:a.p+"assets/ideal-img/chatgpt-plugin-python.e23f255.1030.png",width:1030,height:491}],src:a.p+"assets/ideal-img/chatgpt-plugin-python.8d2fcf5.640.png",toString:function(){return a.p+"assets/ideal-img/chatgpt-plugin-python.8d2fcf5.640.png"},placeholder:void 0,width:640,height:305},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAlElEQVQImU2NSQqDQBREPYZEiItcQUVy/wOkjZF2HYfEXgjthOML3QvJh+IX1OT4/o0giBFC8EgzhEh4ioT0lSGlJM+l/Y7nXYnjO1pr9DRRvEtUVTMMI/M8sywL67riuO6FMIxQSjEOA0VRUtUfvk1D27a2oO97Y/SIopiu6zC37/uJ4zhObhuN0SSNYGa2bbP45z/tzqatFL8rVQAAAABJRU5ErkJggg=="}},4792:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/django-quiz-app.88b41a6.314.png 314w",images:[{path:a.p+"assets/ideal-img/django-quiz-app.88b41a6.314.png",width:314,height:193}],src:a.p+"assets/ideal-img/django-quiz-app.88b41a6.314.png",toString:function(){return a.p+"assets/ideal-img/django-quiz-app.88b41a6.314.png"},placeholder:void 0,width:314,height:193},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAzUlEQVQImS2OwU7CQABE+4Ve+Q0/wQSOHIWbieHIxaAXYwwYDyIQDyoKUZACG6SllG2bdrdgecQtc5t5k8lYNw8dipct/rXVimWkuP6ROGHCX6o5ux1Q7TpY7Zd3Ts4/efzaQKax3Q311ym/a58kjjit9SjfCyzP8wh8jzSUZlWphNVygVY740e2YDITWMYBFRHz5Kv8wh4i+UzqX5EduSk2vjWFO5u3QJtwt4exc8FYlJDayYs6jmj1BZ3hgnDtIoPAgLn7QX/SJMvyzQNMetwSMWHCXAAAAABJRU5ErkJggg=="}},7589:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.ad52bfd.640.png 640w,"+a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.3f84f1e.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.ad52bfd.640.png",width:640,height:455},{path:a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.3f84f1e.1030.png",width:1030,height:732}],src:a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.ad52bfd.640.png",toString:function(){return a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.ad52bfd.640.png"},placeholder:void 0,width:640,height:455},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAzElEQVQYlR3NwW7CMBAAUf//v1WV2kMlEC0IQpzYie14N7EdylTlNqc3RpeMilDbjpZGq/XVWZRSG63teGmYOMw8SmOtO6MWTtcL3bXnUSvP5849b3yeR8y8CEmUdWuc+8TXbcD2jjlHOneg84HD8YhJOeNjeO2Cj3R3RwpCDIkQAp2LvL1/YPwi9H5EVNjrxvfFUnRH0oK1Fuc9WVbM+i/6ia0UolbclEhrw/qZn9uNOUZ03TBpHJmGgdE5xjmSomKlMGXFJkU2hecvf6ElCm/fvYGNAAAAAElFTkSuQmCC"}},7810:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/event-driven-spring-apps.7075e75.640.png 640w,"+a.p+"assets/ideal-img/event-driven-spring-apps.8245b36.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/event-driven-spring-apps.7075e75.640.png",width:640,height:645},{path:a.p+"assets/ideal-img/event-driven-spring-apps.8245b36.1030.png",width:1030,height:1038}],src:a.p+"assets/ideal-img/event-driven-spring-apps.7075e75.640.png",toString:function(){return a.p+"assets/ideal-img/event-driven-spring-apps.7075e75.640.png"},placeholder:void 0,width:640,height:645},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAABYlAAAWJQFJUiTwAAABHElEQVQYlSWQy0rEQBBF8/8/Irh04cqNqxFBBFF0QBkimWQmj+5OJ+nu9OtoZhZFFcUt6t5TDItnmAKnc0ffK7QF7eK17LUPs6eoNRwOj9TtkVa+UZ53xATkSM7bANoGikZn6vOe2Rjk9MZ3s8PYSIwB6+x2weQiRTM6mmGm7hRHlTlpsCGh5IgYFpY10k4rxUl75klTC83Dj+S9VnRyRk5nnn5vWeNCpfz2eiUFz0k77j4Fr5Vi1A7je56rG1KeaHSgOI4rrVCU3cj9XvBSSlq1XAI0QjBZRync5nGlHSQfVX9ZDEsgJNjyujUSU0KZsHlcLwi+OoMyHucjxjpSjHjvr3i21JtwNIFeLcjZIRZPiImcMynni3D85/gHysh92xBNYzgAAAAASUVORK5CYII="}},1784:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/fastapi-azure-function-apim.1a5f5fa.640.png 640w,"+a.p+"assets/ideal-img/fastapi-azure-function-apim.2966d2c.652.png 652w",images:[{path:a.p+"assets/ideal-img/fastapi-azure-function-apim.1a5f5fa.640.png",width:640,height:571},{path:a.p+"assets/ideal-img/fastapi-azure-function-apim.2966d2c.652.png",width:652,height:582}],src:a.p+"assets/ideal-img/fastapi-azure-function-apim.1a5f5fa.640.png",toString:function(){return a.p+"assets/ideal-img/fastapi-azure-function-apim.1a5f5fa.640.png"},placeholder:void 0,width:640,height:571},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA/0lEQVQYlS2O0UrDQBBF95sFn/VjxH8QCoI+aKui0lRsC7WmITFN0iZpk+wm2TmSbedh5l44d7jKDxPefwIWfsSh0ujOkuUV34slq3VAluaYVlChgWllmdVC1VqKFqLggTh8pAeux/eM/BUq0ZaPsOIlaahby6GHJPFIiwAD3Mw93rYxquvB9ELXC9bibqOhqS3HusONgHL77Kyc9N0y4nL0ySTInO/FnsABEBHsOTTaWy7WDa/l0HIgBGXO33sLuhN2RUGSl5RGqI1FhiqdoKJCc/v8hZ+VLjCb+sxnAdiWTbpnstlitEatc83V0y9efALTWLOLW6e9bcP47+j0P27sVVLfHaILAAAAAElFTkSuQmCC"}},552:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/fastapi-on-azure-functions.3f2bb5c.527.png 527w",images:[{path:a.p+"assets/ideal-img/fastapi-on-azure-functions.3f2bb5c.527.png",width:527,height:392}],src:a.p+"assets/ideal-img/fastapi-on-azure-functions.3f2bb5c.527.png",toString:function(){return a.p+"assets/ideal-img/fastapi-on-azure-functions.3f2bb5c.527.png"},placeholder:void 0,width:527,height:392},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQYlU2PS07DQAyGc8CeiEO0d8iWTXf0EO0CiUiIkEaTFvJAtFHzmmRm/KFpIsCyvfD/kgMR6CdHln3wGiekaUKrHf4uIr8TWCdMFs6XjiJaoz5jtAXnmf/qTjQWVDdwiUNU2zEYaLQjr76p8oputATeVptZ5RaTfoK66UmU4unljaIsCTygJ0uaX4nUF6eyph1nxXM1Er7Xc7Rfxgibw5HVdk8Yne/AYIS6d+jRJ8pCtMLjVXgohd1NwPn+e8Z//QMTgQrqiY3V2wAAAABJRU5ErkJggg=="}},7970:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/flask-cdn-container-app.8b57d89.478.png 478w",images:[{path:a.p+"assets/ideal-img/flask-cdn-container-app.8b57d89.478.png",width:478,height:192}],src:a.p+"assets/ideal-img/flask-cdn-container-app.8b57d89.478.png",toString:function(){return a.p+"assets/ideal-img/flask-cdn-container-app.8b57d89.478.png"},placeholder:void 0,width:478,height:192},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAfklEQVQImU3KwQqCQBjE8X3/1+gRuofdQqFEozoE0SWVBd1d141y/f5hgfSDgRkYJQIxCrP06ljt+m+P04SILFHC7zQbXoE2+GX/U3EU9tsHIQzcLoE884T4JjnfMdZhjUFrjXLWk6xPmK6lOBryrOMZRzbpgbqqqJuGoiz5AGXzl8pV7B4zAAAAAElFTkSuQmCC"}},3500:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/flask-db-quiz-example.c7134d2.314.png 314w",images:[{path:a.p+"assets/ideal-img/flask-db-quiz-example.c7134d2.314.png",width:314,height:193}],src:a.p+"assets/ideal-img/flask-db-quiz-example.c7134d2.314.png",toString:function(){return a.p+"assets/ideal-img/flask-db-quiz-example.c7134d2.314.png"},placeholder:void 0,width:314,height:193},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQImTWPzWrCQACE9wn7Kgp9gYJXj+KxSO9e7EEPgh4KpcVCoaCIYKJJ/N260aCJm+x+baL5YC4zw8CI1+EHtdaAHJ3EbKKYzjxke7qQXROeehOan1vE+9cPD40xb7MQTMJip2h/u6zkgfh8pvoyot73EFJKjkqilCpWo/iCs//FaI01hpnr4S59RJGWWHh2Ih7HB7LSuCOstRibGxY/1FS6HkN3jzUZeVaqKBZHtMbzA6aOz269ZhUEpGl62/0v/gHplt7v5aP9lgAAAABJRU5ErkJggg=="}},2748:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/flask-surveys-container-app.7595fb6.478.png 478w",images:[{path:a.p+"assets/ideal-img/flask-surveys-container-app.7595fb6.478.png",width:478,height:227}],src:a.p+"assets/ideal-img/flask-surveys-container-app.7595fb6.478.png",toString:function(){return a.p+"assets/ideal-img/flask-surveys-container-app.7595fb6.478.png"},placeholder:void 0,width:478,height:227},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVQImUWKy4rCQBRE8/8f4H4WLnXnym0QXCgDioImceEDJ21HlI72w3uPGJApqOJQnCwFZfSzxrk7v9Mn49EdJ4n+ZImxFlPXVFVF1tgri1lJYy2bylBsL/gQWK7W1H9nrG0oipIsxgAoKSS8b7vGFBEVRIRvss+8VKjNgNYfu7OX75idHh2L6L+oKpSHnFtreDjHMF8x3+x5Rd9JqsoboZi8UFoW7eYAAAAASUVORK5CYII="}},5283:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/jupyter-mercury-aca.471ed07.640.png 640w,"+a.p+"assets/ideal-img/jupyter-mercury-aca.bb3a443.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/jupyter-mercury-aca.471ed07.640.png",width:640,height:237},{path:a.p+"assets/ideal-img/jupyter-mercury-aca.bb3a443.1030.png",width:1030,height:381}],src:a.p+"assets/ideal-img/jupyter-mercury-aca.471ed07.640.png",toString:function(){return a.p+"assets/ideal-img/jupyter-mercury-aca.471ed07.640.png"},placeholder:void 0,width:640,height:237},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAADCAYAAACqPZ51AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAXklEQVQImU3IMQrDMBAFUd3/SLlAujQqFCLJ69qVMVH0Vw5MwMHggddMuN2fPGLmlSsxRlJKlFwotTKZYTYz2UxY3qAvR+qd3hr7GP9xKexDdAm5s60rn9aQhJ/cDz+yQXG/UWJieAAAAABJRU5ErkJggg=="}},8580:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.8767921.640.png 640w,"+a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.da7f211.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.8767921.640.png",width:640,height:465},{path:a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.da7f211.1030.png",width:1030,height:749}],src:a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.8767921.640.png",toString:function(){return a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.8767921.640.png"},placeholder:void 0,width:640,height:465},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAqklEQVQYlX2PyUoEQRBE6/9/TXDBkzDiQcQextburq0rl3pD9XjxYkASEJm8IENV4fkyMfT0UZmTUppy/74e2Us2FjGCqhJzZPiyZVoTSiks64absuZIbfs4NKbvhJlRVFA3dnFev+QgbrOg4oRcdx5OE3T4SYmmQqrC3duodi6fkVoaofcO3XF33Ozw3h26MnbqgrkRBr4fJX/lv+HjOTFXuRH/my3eHrwCOh8RGk4a29AAAAAASUVORK5CYII="}},7845:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.a654e00.640.png 640w,"+a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.55230d2.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.a654e00.640.png",width:640,height:351},{path:a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.55230d2.1030.png",width:1030,height:565}],src:a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.a654e00.640.png",toString:function(){return a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.a654e00.640.png"},placeholder:void 0,width:640,height:351},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA2ElEQVQImQHNADL/AGaYuyBkm8IuJXarAEGZ7QB8q9UdZKHaNP//vwN+vrI4rc7GCaHKwAAAm66yD4yfohLIf0cDXqPiFpKsxhCUe2IH5+fwBZ6IvhfAuM8GtqzKAACMwcgPc7C3Ev//DQFHkNI3a6XcEz6L2AC1wtAFnXzHI8Gs0wi6oNEAAJeLhwaMfHkGkqSxA44/AAWepaoQh561D////wJyt7wYn8rPB4/GzAAAmY+MAIl8eQD///8AT2+MAHqXsSBUir0p////BE+nzzCg0doJjMrXADARZLv8zAzQAAAAAElFTkSuQmCC"}},167:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/pycon-django.54cd480.640.png 640w,"+a.p+"assets/ideal-img/pycon-django.ecd35fa.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/pycon-django.54cd480.640.png",width:640,height:312},{path:a.p+"assets/ideal-img/pycon-django.ecd35fa.1030.png",width:1030,height:501}],src:a.p+"assets/ideal-img/pycon-django.54cd480.640.png",toString:function(){return a.p+"assets/ideal-img/pycon-django.54cd480.640.png"},placeholder:void 0,width:640,height:312},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAtklEQVQImQXBPU/CQACA4fvxzCzuTM4mOsBWC2IMJARCsGo80l6vCqVfV1ruYiN9eR4RZS21KWltx0dcow4n6sZRXa4UpsHZC33fI1SS8i0lVZFjvBHp05Di7Z6vvGK3j1BhiHMOcfot0InGlBlX/w73OCBdPxC2BqkUP1rjrEVklSFUMW1zJikt57+e7h+m7wf8jUTHEXlpENtjh7/0WASfjF8WjCbPzHYxq1cfb75kHkimgeIGdTO0tcca0vcAAAAASUVORK5CYII="}},8535:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/react-component-toolkit-openai.601cb28.640.png 640w,"+a.p+"assets/ideal-img/react-component-toolkit-openai.dc750d3.997.png 997w",images:[{path:a.p+"assets/ideal-img/react-component-toolkit-openai.601cb28.640.png",width:640,height:480},{path:a.p+"assets/ideal-img/react-component-toolkit-openai.dc750d3.997.png",width:997,height:747}],src:a.p+"assets/ideal-img/react-component-toolkit-openai.601cb28.640.png",toString:function(){return a.p+"assets/ideal-img/react-component-toolkit-openai.601cb28.640.png"},placeholder:void 0,width:640,height:480},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAu0lEQVQYlTWPwU7DMBBE/f+fwh/AiQ/gWFBVQOICaps2JW7ieL27ftRpGGk0l1ntm1BrpWkNng8jp5Q59BNxzLgb7k64lype65Jv3UCaMy/HyLa/ghbMjNDazXXNf713F/bXiepGUSe0Aqx/AZGCqrHdbBj6M6LO134gJDXGecbNsCJosxo5C1LakSIihMefyOfxwqjCw+6Xp9eOMkWGGEkpUUpZ2EPMDVb5jsLHeSamsnC1AcvIxn8r/gGMMQ+Z6UU1WgAAAABJRU5ErkJggg=="}},4706:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/reliable-web-app-for-dotnet.a505a09.640.png 640w,"+a.p+"assets/ideal-img/reliable-web-app-for-dotnet.7dd5819.946.png 946w",images:[{path:a.p+"assets/ideal-img/reliable-web-app-for-dotnet.a505a09.640.png",width:640,height:470},{path:a.p+"assets/ideal-img/reliable-web-app-for-dotnet.7dd5819.946.png",width:946,height:694}],src:a.p+"assets/ideal-img/reliable-web-app-for-dotnet.a505a09.640.png",toString:function(){return a.p+"assets/ideal-img/reliable-web-app-for-dotnet.a505a09.640.png"},placeholder:void 0,width:640,height:470},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAIAAAC+zks0AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAsElEQVQImSXOS07DMBAAUN//WGy6ahFqWRQJCZomkhN/M/F4/JtBqO8ETzHLE3LtPAYDccjywizCokIukDAXEpEvfTk/3qgLEbXeRES1wYvHsBes4+P3crqfWGQyB2LzmFRt47nBusYQ9Oz1t9W9y0OD2bxxsyp9UGkRdx1s6Z2Za+dE5FPUwamIZTU2QLousOcqIu7IxhgH+X2KKlFx1kwbfC47lv8OJHTW/KzHbY5/wwnGzLB/lRoAAAAASUVORK5CYII="}},746:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/rock-paper-orleans.0b84b6a.640.png 640w,"+a.p+"assets/ideal-img/rock-paper-orleans.d2e133d.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/rock-paper-orleans.0b84b6a.640.png",width:640,height:600},{path:a.p+"assets/ideal-img/rock-paper-orleans.d2e133d.1030.png",width:1030,height:965}],src:a.p+"assets/ideal-img/rock-paper-orleans.0b84b6a.640.png",toString:function(){return a.p+"assets/ideal-img/rock-paper-orleans.0b84b6a.640.png"},placeholder:void 0,width:640,height:600},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAIAAACExCpEAAAACXBIWXMAAAsTAAALEwEAmpwYAAABGklEQVQYlQXBX0vCQAAA8PscQa89pNn+3Ka73W3e7jZ0mzV1m7KK3Sz8Q1pKRAQqBtFD0Fv1EERIfZA+Qh+p3w840XmQzv3+nPkFQT2E+shMmD9otMYsLICH46f84334tVq8ddfb7HbbFC+FeD5JVpTngBl8cyZ+4kJ0E20zTe7GdHgd9Se2xTA9Avs67ezB5U5JlgkPbS9FLBwcn06RYdWsEFR1Z4Tc+6rL6p6WtU3Rwskozm44jZAdgU7N/W3nf+l4kfV2P5cH23V5cpUnj2n6QN0C6BqNDB4jzzZZpekrQSARRzcaEBLDCkAF2mXFLCmmJGP1EEtlrY4zIV4vLr95OAMSrEOVQNVSVaJolgyJgZiJmdNb8HT2D4S1U+HRVx7WAAAAAElFTkSuQmCC"}},5515:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.35a1a05.640.jpg 640w,"+a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.611c032.1030.jpg 1030w",images:[{path:a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.35a1a05.640.jpg",width:640,height:360},{path:a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.611c032.1030.jpg",width:1030,height:579}],src:a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.35a1a05.640.jpg",toString:function(){return a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.35a1a05.640.jpg"},placeholder:void 0,width:640,height:360},preSrc:"data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAGAAoDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQI/8QAGhABAAMAAwAAAAAAAAAAAAAAAQARIQISI//EABQBAQAAAAAAAAAAAAAAAAAAAAH/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDTnR9K5U7qWDeNSnXRyIiH/9k="}},9224:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/simple-fastapi-container.bfa4069.371.png 371w",images:[{path:a.p+"assets/ideal-img/simple-fastapi-container.bfa4069.371.png",width:371,height:219}],src:a.p+"assets/ideal-img/simple-fastapi-container.bfa4069.371.png",toString:function(){return a.p+"assets/ideal-img/simple-fastapi-container.bfa4069.371.png"},placeholder:void 0,width:371,height:219},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAtklEQVQImV2M22oCMQBE8/+f0LcW+gsVC7YFXetDYa0FX1YXL0/uJpvEeE1MjrgWCh0YmGEOIyAxfFmRdWaA53u04/lR4+yJab3l4T1HaY0I8cRnd8Go9wvmho/XhnD0rM2Ot/6Q9XKBqGuJthVmq9CNRjvNxlT4cGbvHEpKrLUI/ite8AfbRh8CxhhijIiUEnfHdjTui6p+IqRAOS/JsgFFUfw93uCbNk3Jz6zXdikl+XiCUoorD0fhE/xCxuMAAAAASUVORK5CYII="}},6742:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/simple-flask-api-container.bfa4069.371.png 371w",images:[{path:a.p+"assets/ideal-img/simple-flask-api-container.bfa4069.371.png",width:371,height:219}],src:a.p+"assets/ideal-img/simple-flask-api-container.bfa4069.371.png",toString:function(){return a.p+"assets/ideal-img/simple-flask-api-container.bfa4069.371.png"},placeholder:void 0,width:371,height:219},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAtklEQVQImV2M22oCMQBE8/+f0LcW+gsVC7YFXetDYa0FX1YXL0/uJpvEeE1MjrgWCh0YmGEOIyAxfFmRdWaA53u04/lR4+yJab3l4T1HaY0I8cRnd8Go9wvmho/XhnD0rM2Ot/6Q9XKBqGuJthVmq9CNRjvNxlT4cGbvHEpKrLUI/ite8AfbRh8CxhhijIiUEnfHdjTui6p+IqRAOS/JsgFFUfw93uCbNk3Jz6zXdikl+XiCUoorD0fhE/xCxuMAAAAASUVORK5CYII="}},5062:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/simple-flask-azd.5f4fe8b.640.png 640w,"+a.p+"assets/ideal-img/simple-flask-azd.4921792.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/simple-flask-azd.5f4fe8b.640.png",width:640,height:384},{path:a.p+"assets/ideal-img/simple-flask-azd.4921792.1030.png",width:1030,height:618}],src:a.p+"assets/ideal-img/simple-flask-azd.5f4fe8b.640.png",toString:function(){return a.p+"assets/ideal-img/simple-flask-azd.5f4fe8b.640.png"},placeholder:void 0,width:640,height:384},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAkElEQVQImXXK3QqCMABAYa9LcdPNzRsrcPMnV2QF0fu/14lpBBFdnJvDlwghKIoSH84477HGoG3NNN9wbYtSimiSBZYl/fXOMI5UWqNsTXg8V6j1CqWUSClItxtEnrM/7GiaBily0ixbUDRvGCuotOIUerzvsNZ+0BeMU+mKIVyYpiPGmH8wR2lDF2a8cz/wBfbDTL6QxVQaAAAAAElFTkSuQmCC"}},6638:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/simplechat-azureopenai.bde6248.541.png 541w",images:[{path:a.p+"assets/ideal-img/simplechat-azureopenai.bde6248.541.png",width:541,height:251}],src:a.p+"assets/ideal-img/simplechat-azureopenai.bde6248.541.png",toString:function(){return a.p+"assets/ideal-img/simplechat-azureopenai.bde6248.541.png"},placeholder:void 0,width:541,height:251},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAi0lEQVQImSXK3QqCMABAYd//IbrrNSq6CCII7M+ySMWSfrRma7Op2wnrg3N3PHA4a+nUKkSpO7Z19KYlfb8mWC8ZjsZ4zrnf1MmfV166pGlawrNgcxLkj39eY2G/KpCy4ngwRLGhwRFcBEpr5FsjVYWnP4bZICK/FfhzwS6QGByTxZYsy0jTlDhJ+AJWcJYduXgAVgAAAABJRU5ErkJggg=="}},705:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/spring-petclinic-java-mysql.1652075.640.png 640w,"+a.p+"assets/ideal-img/spring-petclinic-java-mysql.0148652.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/spring-petclinic-java-mysql.1652075.640.png",width:640,height:410},{path:a.p+"assets/ideal-img/spring-petclinic-java-mysql.0148652.1030.png",width:1030,height:659}],src:a.p+"assets/ideal-img/spring-petclinic-java-mysql.1652075.640.png",toString:function(){return a.p+"assets/ideal-img/spring-petclinic-java-mysql.1652075.640.png"},placeholder:void 0,width:640,height:410},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApUlEQVQImR2MSw6CMBQAe30FkU+MegKWJvwKW7YmGlkb/rSvtH2tNzAwq0kmGXK9RPdbFETHk3PwPTeuw7iOQt8LfNc/O+T1fibJo6K0KouKFmVGizQvaZFnadN8CJfzAlPfdZxzxtiq1rb9LsuMqBH1lmc+DsPAGQPgUsqubQHAGGOtJaDYLMZpHAFASYWIQ98LIX47xFhE1FpvK66WVQncHO3OH9zSlKuLOI2+AAAAAElFTkSuQmCC"}},2797:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/staticmaps-function.550f51d.640.png 640w,"+a.p+"assets/ideal-img/staticmaps-function.f97f1fe.652.png 652w",images:[{path:a.p+"assets/ideal-img/staticmaps-function.550f51d.640.png",width:640,height:571},{path:a.p+"assets/ideal-img/staticmaps-function.f97f1fe.652.png",width:652,height:582}],src:a.p+"assets/ideal-img/staticmaps-function.550f51d.640.png",toString:function(){return a.p+"assets/ideal-img/staticmaps-function.550f51d.640.png"},placeholder:void 0,width:640,height:571},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA/klEQVQYlS2O3UrDQBCF95kFr/VhxHcQCoJeaKuC0lSshdKf2Jqftklskt3s7nySbedi5hz4zsyo2giTn5R1XmI9NMaxL2q+vmfMFzG7vMB0gopbz7j2RI3naBxlB9v4gWTziAOuh/cMVnNUZoT3Tc1L1tJYz5+DLIvIyxgD3Ewj3tIEZR0YJ1gneE+YrYa2v9BYQgmo0M/Oy0nfzbZcDj4YxbvgnfgT2AMigj+HBgfPxaLlteq/7AlBmfN250FbYV+WZEVFZYTGeKR/xQpqW2punz9Z7aoQmIxXTCcx+I51fmC0TjFaoxaF5uppSZScwDzR7JMu6ChtGf4eg/4HEsRVxUxwbGcAAAAASUVORK5CYII="}},8053:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/svc-invoke-dapr.b1e0c89.640.png 640w,"+a.p+"assets/ideal-img/svc-invoke-dapr.b382267.945.png 945w",images:[{path:a.p+"assets/ideal-img/svc-invoke-dapr.b1e0c89.640.png",width:640,height:187},{path:a.p+"assets/ideal-img/svc-invoke-dapr.b382267.945.png",width:945,height:276}],src:a.p+"assets/ideal-img/svc-invoke-dapr.b1e0c89.640.png",toString:function(){return a.p+"assets/ideal-img/svc-invoke-dapr.b1e0c89.640.png"},placeholder:void 0,width:640,height:187},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAADCAYAAACqPZ51AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAaUlEQVQImT3GQQ7CIBBAUe5/Cbe69RrG9ARGjdpUhTrA0JYA/a70rZ4J0jjfMrlUBjfhxgmRmSUXklZOl0xtK6Y7JPZbx6P33F+Rax8YrfK2ge4o7DaWpAXjdcFK4qet//LxM0+nxJj5AjPiccGJK40wAAAAAElFTkSuQmCC"}},9134:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/test.61177e3.624.png 624w",images:[{path:a.p+"assets/ideal-img/test.61177e3.624.png",width:624,height:280}],src:a.p+"assets/ideal-img/test.61177e3.624.png",toString:function(){return a.p+"assets/ideal-img/test.61177e3.624.png"},placeholder:void 0,width:624,height:280},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiklEQVQImWNQjp38Xydl+n/dlBn/9VIhWDd1xn/9tJn/dVIgtErclP8MIIWOxYv++9Wu/O9StuS/Q/Hi/44li/+7lC0F893Kl/5Xi5/6nwGkWjFm0n/VuCn/I5pW/k9oXw3G8W2rwabLR02EmAgiQKaC6ILJW/83zd/9v2H+7v81s3eCrVWKgcgBAG5ZWwjFPc+3AAAAAElFTkSuQmCC"}},5340:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-csharp-sql-swa-func.6e08403.640.png 640w,"+a.p+"assets/ideal-img/todo-csharp-sql-swa-func.f3f4965.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-csharp-sql-swa-func.6e08403.640.png",width:640,height:581},{path:a.p+"assets/ideal-img/todo-csharp-sql-swa-func.f3f4965.1030.png",width:1030,height:936}],src:a.p+"assets/ideal-img/todo-csharp-sql-swa-func.6e08403.640.png",toString:function(){return a.p+"assets/ideal-img/todo-csharp-sql-swa-func.6e08403.640.png"},placeholder:void 0,width:640,height:581},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAIAAACExCpEAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxklEQVQYlRXPS05DMQwF0Ox/OWyAJTBiiiqhImhpPu/ZsRPb11XHZ3TKOe1R22RhDdlQTzGIpXpOQ6mMOs6v1onncmTmQcfv7TL4u8sqp8KBqm7I7UCEbm90jvkYauUQ3B+ttkoLL0ZsM93mmbRR6szW5f3t72AfrGZ7mX/+jEsVsixdwAvXq5warBbhnll5dVZyFNIgnuyxIi0Q4duMmAxJhnIoeNnHXdShjgzX7dc+/2kdhjIUXfx2Spcge73PnVW8qbcVT4pmA/9Oo8jrAAAAAElFTkSuQmCC"}},5373:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-csharp-sql.31eed52.640.png 640w,"+a.p+"assets/ideal-img/todo-csharp-sql.a0922ed.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-csharp-sql.31eed52.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-csharp-sql.a0922ed.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-csharp-sql.31eed52.640.png",toString:function(){return a.p+"assets/ideal-img/todo-csharp-sql.31eed52.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAyklEQVQYlUWQy27FMAhE8/8/1m133XR1F30kzcOOjR1sOJVzVRVpBIjRMDAlUfZ9I8mFKBR1avM7y+g75OZMh8C8HvwsM2fp1MYdWYR1+yKVhaPoIDpZnUftJH0quXWiVLYYOPLM/ke8hrzqvXLAzbi081gzi8CpzhQKt799yVR1UlFUL65mvH0E3ufIOTzG6pzSeH1ZOXMn5oq1hlT1PURPagQ1n3YZ1znqT6+j7mZIMz5D5TtWP4biGKTrH9IcNR8v8VNtgNTMfwEKjjbsfUPBnAAAAABJRU5ErkJggg=="}},8897:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-csharp.0c9f111.640.png 640w,"+a.p+"assets/ideal-img/todo-csharp.c356bf8.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-csharp.0c9f111.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-csharp.c356bf8.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-csharp.0c9f111.640.png",toString:function(){return a.p+"assets/ideal-img/todo-csharp.0c9f111.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAx0lEQVQYlUWQa27EMAiEc/+L9W/PULVqm8c68QPb2OZbOauqSCNAjIaBJYri3IMoFVHIapRmd5bZd0jNWE6B9TjZt5WQO6VxRxLhcD/EvHFmnUQjqfFROlFfSjY6Xgr7eeHiivsj1imveq+cMBvk2jhCxlfwaixX5vbntkRRI2al6fTb+XwEvlzkmkRfjCCN97eDkBo+FXprSFHbnbdQO5cOW5zM6wy1l9dZ9zGQNvi+Cr+h2DkV5yDWf0gzdNh8iQUdE8Q27AkkbzcWZ1ml+AAAAABJRU5ErkJggg=="}},2254:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-java-mongo-aca.32dc947.640.png 640w,"+a.p+"assets/ideal-img/todo-java-mongo-aca.2b7e08a.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-java-mongo-aca.32dc947.640.png",width:640,height:568},{path:a.p+"assets/ideal-img/todo-java-mongo-aca.2b7e08a.1030.png",width:1030,height:913}],src:a.p+"assets/ideal-img/todo-java-mongo-aca.32dc947.640.png",toString:function(){return a.p+"assets/ideal-img/todo-java-mongo-aca.32dc947.640.png"},placeholder:void 0,width:640,height:568},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA3klEQVQYlS2QC2rEMAxEc//L9QoLLTS7m8SJ17Il+fNKkgoGDULME5pSqaxbQKSQrZFtoHVQ/BSUBlIHU9SBZOPrZ+HxCrQ2OEuysKy/pPJmL870KQ31zjMWtmRXWq0NUSN8Int6cqgzJe28V2Gen7yWhUOc3jvqlZid0uHjg+nIDbXB7IP9/zZzJ6vxWBPfQdi13egolSVEYjbEBu6O1U5So9TGYZ0pWadUCGGjqHKIYWYXet4OQq7EE30mRIVdKlE7R2mYV8Q7W65s2djPRW/336yBtrMPrN/+Ur9nf4fCXdc8wtGyAAAAAElFTkSuQmCC"}},238:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-java-mongo.97e5a3c.640.png 640w,"+a.p+"assets/ideal-img/todo-java-mongo.3311e57.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-java-mongo.97e5a3c.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-java-mongo.3311e57.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-java-mongo.97e5a3c.640.png",toString:function(){return a.p+"assets/ideal-img/todo-java-mongo.97e5a3c.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAwUlEQVQYlUWQgWrGIAyE+/6PuQ02+re1Vo0aNd/Qn7HAkYQcuVy2KIpzF1EqopDVKM1Wltl3SM3YboH9vDleOyF3SmNFEuF0P8T84s46iUZS46N0or432eg8UjhuzxV33B+xdoi1LckJs0GunTNkHoVHjc1nSLkiKS5SzEpTJZXG1xn4vAKu9Ek0pDTO60LqwMfM6A0plcN5ntLxdbA5me7e8vPWWfcxyG3w7Qt7qPjpeg5i/Yc0Q4etlwQdC7ENfgFLzTdwL6fpBgAAAABJRU5ErkJggg=="}},1893:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-node-aca.e5b7722.640.png 640w,"+a.p+"assets/ideal-img/todo-node-aca.d6fff0c.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-node-aca.e5b7722.640.png",width:640,height:568},{path:a.p+"assets/ideal-img/todo-node-aca.d6fff0c.1030.png",width:1030,height:913}],src:a.p+"assets/ideal-img/todo-node-aca.e5b7722.640.png",toString:function(){return a.p+"assets/ideal-img/todo-node-aca.e5b7722.640.png"},placeholder:void 0,width:640,height:568},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA5ElEQVQYlSWOCWrDQBRDff/L9QqBFhon3sae5S8z/xWnAiGQQNKUm7NuO6U0qnaqBuJBs5vQOhQPplOCUpWvn4XHvNN7cKPUwrL+ktuboxnT1Tpig/lsbFk/be6dIsp+nRx5JokxZRm818LzOfNaVlIxxhiIOakabcBlwZRqRzR42mD38fmmZlRRHmvmey8c0v+nU3G2lCniFA3MDPVBFqV5J+lgyjqiGbFsc7yXV1zNQ0RDzOO5pdirx2kR091wCqxXY72EUwZqTrHBVp2tKsf90XqEeIR2QgehPT4qt39z3FnEH25fXY14p6vpAAAAAElFTkSuQmCC"}},8129:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-nodejs-mongo-aks.f02a5df.640.png 640w,"+a.p+"assets/ideal-img/todo-nodejs-mongo-aks.633aded.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-nodejs-mongo-aks.f02a5df.640.png",width:640,height:989},{path:a.p+"assets/ideal-img/todo-nodejs-mongo-aks.633aded.1030.png",width:1030,height:1592}],src:a.p+"assets/ideal-img/todo-nodejs-mongo-aks.f02a5df.640.png",toString:function(){return a.p+"assets/ideal-img/todo-nodejs-mongo-aks.f02a5df.640.png"},placeholder:void 0,width:640,height:989},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAPCAYAAADd/14OAAAACXBIWXMAAAsTAAALEwEAmpwYAAABYElEQVQokT2Sy4ocMQxF6/8/LstAIIssZjoVuqvKb1ny40xcTSIQyCC4uud6S7VzXI7LJ2KuiA3agGqDoh3tkG2yBRmoNr59Xvx6BvqAOSHmxJ/nBy59cImyJenE3LhCwcVC1kbvHbFOLJUkgaCdLdbBcQr76+CKiZCNPgZSlVcQYoOwpH1pVJvsNnEdxEDVEG18uMLnlXC1sUXp+Nw4z4u0pHRgZlTrpCJonwQbbFkn0sBFR8oZXwxVpVrj9xk4kuKXdLGJr5NrGVp9n9LIbeJ14MTei1Ealwscp7t5+lzx0nHFcKUTDOKSruv43vl+eP7VBKo2Hu4iSMXXwSY2YQ5yrTdol58c6XGns5aSKF7aMgO+KPu+c7yed5QuK7VxmywGoXY2V+adbxbhx8NRRGit8fP5TmlhOrKxOZlYhzFhPwLaOmMM9jMg1dA2uKS/OYb6RrR+SVhvXTP/5/gXzxfsSkZmq5CHYgAAAABJRU5ErkJggg=="}},82:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.eea626a.640.png 640w,"+a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.b70b081.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.eea626a.640.png",width:640,height:655},{path:a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.b70b081.1030.png",width:1030,height:1054}],src:a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.eea626a.640.png",toString:function(){return a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.eea626a.640.png"},placeholder:void 0,width:640,height:655},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA9UlEQVQYlU2QXW7cQAyDff+z9QZtgwJBgGbheL3zp5mRhl9gP0UAIT0QpMgtteBzPyg5U9pguIgFfS7acEZAnWI7qjiy8fYq5GY38ZpUC4/9g7O887TBlkz4gi8LenATVzg2g2yTbJk0gq102I8nx75ThpghtBYRi+l+q1cX29lE65O//35zFiO1ifuk2uD/WdjrJF0/vkw0hzKc3IPcxm09QjyS8TgLZ7+tRW2dPgKbwkOstfAIejeuaMXXHUatd/3aq9qUhksrXDamPvakzzyUXNpOEy9b/Dkqz+a0S3WJ4rqbOMw5xmLzJV1A3PsnrgIuXPc3YjGFho6d2K8AAAAASUVORK5CYII="}},5979:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.229ffc8.640.png 640w,"+a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.ca7b5de.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.229ffc8.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.ca7b5de.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.229ffc8.640.png",toString:function(){return a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.229ffc8.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQYlTWQjW7EMAiD+/5PuV9t6rWXpk1DAgnfKZmGZBlkCwuWlJUQnqRcyQqiTjGfnMfc4DZnOTKs+8H2WLmkUYxZd87s4ZckDw7RYXRudT5KI+nfJu+NMxe2I/JMK+HfWMf6ajNywL0jtbFfwqlwqrNEgVsqMYYpJlFMlbsYX/vF5/MilDaMI67z/v1GTDIjuym5VN9C5CyNWLsvIY/rHHPIxuxb74h1fmLx9aoex9VDSHWgTxZztPt4iV/aGUjW/QUu4zczUOLsjQAAAABJRU5ErkJggg=="}},5949:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-nodejs-mongo.229ffc8.640.png 640w,"+a.p+"assets/ideal-img/todo-nodejs-mongo.ca7b5de.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-nodejs-mongo.229ffc8.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-nodejs-mongo.ca7b5de.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-nodejs-mongo.229ffc8.640.png",toString:function(){return a.p+"assets/ideal-img/todo-nodejs-mongo.229ffc8.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQYlTWQjW7EMAiD+/5PuV9t6rWXpk1DAgnfKZmGZBlkCwuWlJUQnqRcyQqiTjGfnMfc4DZnOTKs+8H2WLmkUYxZd87s4ZckDw7RYXRudT5KI+nfJu+NMxe2I/JMK+HfWMf6ajNywL0jtbFfwqlwqrNEgVsqMYYpJlFMlbsYX/vF5/MilDaMI67z/v1GTDIjuym5VN9C5CyNWLsvIY/rHHPIxuxb74h1fmLx9aoex9VDSHWgTxZztPt4iV/aGUjW/QUu4zczUOLsjQAAAABJRU5ErkJggg=="}},2395:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-python-aca.3e37a03.640.png 640w,"+a.p+"assets/ideal-img/todo-python-aca.55ea324.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-python-aca.3e37a03.640.png",width:640,height:568},{path:a.p+"assets/ideal-img/todo-python-aca.55ea324.1030.png",width:1030,height:913}],src:a.p+"assets/ideal-img/todo-python-aca.3e37a03.640.png",toString:function(){return a.p+"assets/ideal-img/todo-python-aca.3e37a03.640.png"},placeholder:void 0,width:640,height:568},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA5ElEQVQYlSWOW2rEQAwE5/6XyxUWEoi9a3v8mKekUQU7DUV/NBQdUlXWLZJzpXSjdKepU+UGqkFWJ5zNyaXz9bPwmiNmzp1cMsv6S6of9iqEqxpNBvNZ2VJ/bKpGbp14nexp5mhCSG3wWTPTNPNeVo4sjDFoohxFqAMuccJRjNadSQa7judbF6G0zmtNfMfM3oxwVuUqRtxPrqpkARGh6yC1TlXj6INQBX+n5ktJfl6bL/vlIuJN1Kft8FjUT3EPRZytGEsWYm7ELIje5sFWlK109vujmHs3XIynHwbezP8Z9+7+B21KXYugmxCqAAAAAElFTkSuQmCC"}},8285:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-python-mongo-swa-func.97ed1b8.640.png 640w,"+a.p+"assets/ideal-img/todo-python-mongo-swa-func.39b961b.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-python-mongo-swa-func.97ed1b8.640.png",width:640,height:655},{path:a.p+"assets/ideal-img/todo-python-mongo-swa-func.39b961b.1030.png",width:1030,height:1054}],src:a.p+"assets/ideal-img/todo-python-mongo-swa-func.97ed1b8.640.png",toString:function(){return a.p+"assets/ideal-img/todo-python-mongo-swa-func.97ed1b8.640.png"},placeholder:void 0,width:640,height:655},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA8klEQVQYlU2QSU7FQAxEc/+zcQTEBiH4n5ChJ7fbbT+UiAWWSvai5BqW1CaPdaPkTGmKWjAd+nCaGjqhjmDZarBl4e0s5CY38ZpUC8/1g6O8s4uyJAmGw49MunETfRoyJlkGWTJJJ0vpwb4fbOtKVRgzCHfmdIbZ/b1asOwt+DwzW0587wepKmaDKsrXUVjrIF0eTwnWZqQ+SLWSm97SOoNnEp5H4eh/0iKK6kQMbAbujs1J78IVrZjfYaJJj5e1RhseahE+LURHfKwpHlkjWcRySHCK87pV9ma0EZgHxeJuYhNjU2cxj7hAcO//uAq4cN2/WJSFdyhTO0oAAAAASUVORK5CYII="}},1144:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-python-terraform.b6422fb.640.png 640w,"+a.p+"assets/ideal-img/todo-python-terraform.edce7e4.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-python-terraform.b6422fb.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-python-terraform.edce7e4.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-python-terraform.b6422fb.640.png",toString:function(){return a.p+"assets/ideal-img/todo-python-terraform.b6422fb.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQYlTWQgYrEIAxE+/+feXewR7fWWjVq1LzDHhsYQsgjw2RLonh/kqQhCkWN2u3psuYBuRvbJbC7i+O9E8ugdp7KIjj/SypvrqILNLIaX3WQ9P+SzcEtleMKnGnHf0AdkKrSBo+t2aS0gYuFW+FWYwsFrlzIkpGmpNLoquTa+XGR7zPi61ig8boTLife3hGSMEcn12aHD9x1ENq0zctKyWMvHUSNMSelT16h2h6bhZV6LVL7aAGGTlsvsaiTpdSn/QEsljctxJf1cAAAAABJRU5ErkJggg=="}},6148:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-python.b6422fb.640.png 640w,"+a.p+"assets/ideal-img/todo-python.edce7e4.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-python.b6422fb.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-python.edce7e4.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-python.b6422fb.640.png",toString:function(){return a.p+"assets/ideal-img/todo-python.b6422fb.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQYlTWQgYrEIAxE+/+feXewR7fWWjVq1LzDHhsYQsgjw2RLonh/kqQhCkWN2u3psuYBuRvbJbC7i+O9E8ugdp7KIjj/SypvrqILNLIaX3WQ9P+SzcEtleMKnGnHf0AdkKrSBo+t2aS0gYuFW+FWYwsFrlzIkpGmpNLoquTa+XGR7zPi61ig8boTLife3hGSMEcn12aHD9x1ENq0zctKyWMvHUSNMSelT16h2h6bhZV6LVL7aAGGTlsvsaiTpdSn/QEsljctxJf1cAAAAABJRU5ErkJggg=="}},2075:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>ee,prepareUserState:()=>W});var s=a(7294),i=a(3386),r=a(6010),o=a(7462);const n={svgIcon:"svgIcon_R3jO",small:"small_SUAn",medium:"medium_GxVq",large:"large_TyPU",primary:"primary_V8Cc",secondary:"secondary_WyIo",success:"success_lY5U",error:"error_eHdq",warning:"warning_IB04",inherit:"inherit_2ln5"};function p(e){const{svgClass:t,colorAttr:a,children:i,color:p="inherit",size:c="medium",viewBox:A="0 0 24 24",...l}=e;return s.createElement("svg",(0,o.Z)({viewBox:A,color:a,"aria-hidden":!0,className:(0,r.Z)(n.svgIcon,n[p],n[c],t)},l),i)}function c(e){return s.createElement(p,e,s.createElement("path",{d:"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"}))}var A=a(6775);function l(e,t){const a=[...e];return a.sort(((e,a)=>t(e)>t(a)?1:t(a)>t(e)?-1:0)),a}const d="checkboxLabel_pwqD",g="tags";function h(e){return new URLSearchParams(e).getAll(g)}function u(e,t){let{id:a,icon:i,label:r,tag:n,...p}=e;const c=(0,A.TH)(),l=(0,A.k6)(),[u,m]=(0,s.useState)(!1);(0,s.useEffect)((()=>{const e=h(c.search);m(e.includes(n))}),[n,c]);const b=(0,s.useCallback)((()=>{const e=function(e,t){const a=e.indexOf(t);if(-1===a)return e.concat(t);const s=[...e];return s.splice(a,1),s}(h(c.search),n),t=function(e,t){const a=new URLSearchParams(e);return a.delete(g),t.forEach((e=>a.append(g,e))),a.toString()}(c.search,e);l.push({...c,search:t,state:W()})}),[n,c,l]);return s.createElement(s.Fragment,null,s.createElement("input",(0,o.Z)({type:"checkbox",id:a,className:"screen-reader-only",onKeyDown:e=>{"Enter"===e.key&&b()},onFocus:e=>{var t;e.relatedTarget&&(null==(t=e.target.nextElementSibling)||t.dispatchEvent(new KeyboardEvent("focus")))},onBlur:e=>{var t;null==(t=e.target.nextElementSibling)||t.dispatchEvent(new KeyboardEvent("blur"))},onChange:b,checked:u},p)),s.createElement("label",{ref:t,htmlFor:a,className:d},r,i))}const m=s.forwardRef(u),b={checkboxLabel:"checkboxLabel_FmrE"},w="operator";function f(e){return new URLSearchParams(e).get(w)??"OR"}function v(){const e="showcase_filter_toggle",t=(0,A.TH)(),a=(0,A.k6)(),[i,o]=(0,s.useState)(!1);(0,s.useEffect)((()=>{o("AND"===f(t.search))}),[t]);const n=(0,s.useCallback)((()=>{o((e=>!e));const e=new URLSearchParams(t.search);e.delete(w),i||e.append(w,i?"OR":"AND"),a.push({...t,search:e.toString(),state:W()})}),[i,t,a]);return s.createElement("div",null,s.createElement("input",{type:"checkbox",id:e,className:"screen-reader-only","aria-label":"Toggle between or and and for the tags you selected",onChange:n,onKeyDown:e=>{"Enter"===e.key&&n()},checked:i}),s.createElement("label",{htmlFor:e,className:(0,r.Z)(b.checkboxLabel,"shadow--md")},s.createElement("span",{className:b.checkboxLabelOr},"OR"),s.createElement("span",{className:b.checkboxLabelAnd},"AND")))}var S=a(5944),C=a(3699);const E={showcaseCardImage:"showcaseCardImage_qZMA",showcaseCardHeader:"showcaseCardHeader_tfIV",showcaseCardTitle:"showcaseCardTitle_PRHG",svgIconFavorite:"svgIconFavorite_RKtI",showcaseCardSrcBtn:"showcaseCardSrcBtn_AI8i",showcaseCardBody:"showcaseCardBody_I0O5",cardFooter:"cardFooter_EuCG",tag:"tag_Aixk",textLabel:"textLabel_SLNc",colorLabel:"colorLabel_q5Sy"};var y=a(3935),z=a(5237);const k="tooltip_hKx1",I="tooltipArrow_yATY";function T(e){let{children:t,id:a,anchorEl:i,text:r,delay:n}=e;const[p,c]=(0,s.useState)(!1),[A,l]=(0,s.useState)(null),[d,g]=(0,s.useState)(null),[h,u]=(0,s.useState)(null),[m,b]=(0,s.useState)(null),{styles:w,attributes:f}=(0,z.D)(A,d,{modifiers:[{name:"arrow",options:{element:h}},{name:"offset",options:{offset:[0,8]}}]}),v=(0,s.useRef)(null),S=`${a}_tooltip`;return(0,s.useEffect)((()=>{b(i?"string"==typeof i?document.querySelector(i):i:document.body)}),[m,i]),(0,s.useEffect)((()=>{const e=["mouseenter","focus"],t=["mouseleave","blur"],a=()=>{""!==r&&(null==A||A.removeAttribute("title"),v.current=window.setTimeout((()=>{c(!0)}),n||400))},s=()=>{clearInterval(v.current),c(!1)};return A&&(e.forEach((e=>{A.addEventListener(e,a)})),t.forEach((e=>{A.addEventListener(e,s)}))),()=>{A&&(e.forEach((e=>{A.removeEventListener(e,a)})),t.forEach((e=>{A.removeEventListener(e,s)})))}}),[A,r,n]),s.createElement(s.Fragment,null,s.cloneElement(t,{ref:l,"aria-describedby":p?S:void 0}),m?y.createPortal(p&&s.createElement("div",(0,o.Z)({id:S,role:"tooltip",ref:g,className:k,style:w.popper},f.popper),r,s.createElement("span",{ref:u,className:I,style:w.arrow})),m):m)}const j={featured:{label:"\xa0\u2665\ufe0f Featured",description:"This tag is used for admin-curated templates that represent high-quality (community) or official (Microsoft) azd templates.",color:"red"},helpwanted:{label:"\ud83d\ude4f\ud83c\udffd Help Wanted",description:"This tag is used when there is a request for azd templates for a specific architecture. The title will link to arch, the button to a custom-issue for PR",color:"red"},javascript:{label:"JavaScript",description:"Template contains JavaScript app code",color:"#1e90ff"},typescript:{label:"TypeScript",description:"Template contains TypeScript app code",color:"#1e90ff"},dotnetCsharp:{label:".NET/C#",description:"Template contains .NET and/or C# app code",color:"#1e90ff"},java:{label:"Java",description:"Template contains Java app code",color:"#1e90ff"},python:{label:"Python",description:"Template contains Python app code",color:"#1e90ff"},django:{label:"Django",description:"Template contains Django web app code",color:"#1e90ff"},reactjs:{label:"React.js",description:"Template architecture uses React.js",color:"#1e90ff"},nodejs:{label:"Node.js",description:"Template architecture uses Node.js",color:"#1e90ff"},php:{label:"PHP",description:"Template architecture uses PHP",color:"#1e90ff"},bicep:{label:"Bicep",description:"Template uses Bicep for Infra as Code",color:"#66ff00"},terraform:{label:"Terraform",description:"Template uses Terraform for Infra as Code",color:"#66ff00"},mongodb:{label:"MongoDB",description:"Template architecture uses MongoDB",color:"hotpink"},fastapi:{label:"FastAPI",description:"Template architecture uses FastAPI web framework",color:"hotpink"},fhir:{label:"FHIR Service",description:"Template architecture uses Fast Healthcare Interoperability Resources (FHIR)",color:"hotpink"},flask:{label:"Flask",description:"Template architecture uses Flask web framework",color:"hotpink"},nestjs:{label:"NestJS",description:"Template architecture uses NestJS framework",color:"hotpink"},sap:{label:"SAP",description:"Template architecture uses Systems Applications and Products in data processing (SAP)",color:"hotpink"},sapcloudsdk:{label:"SAP Cloud SDK",description:"Template architecture uses SAP Cloud SDK",color:"hotpink"},spring:{label:"Spring",description:"Template architecture uses Spring framework",color:"hotpink"},thymeleaf:{label:"Thymeleaf",description:"Template architecture uses Thymeleaf template engine",color:"hotpink"},dataverse:{label:"Dataverse",description:"Template architecture uses Microsoft Dataverse",color:"hotpink"},chatgpt:{label:"ChatGPT",description:"Template architecture uses ChatGPT model",color:"hotpink"},jupyter:{label:"Jupyter Notebooks",description:"Template architecture uses Jupyter Notebooks",color:"hotpink"},keda:{label:"KEDA",description:"Template architecture uses Kubernetes Event Driven Autoscaling (KEDA)",color:"hotpink"},kubernetes:{label:"Kubernetes",description:"Template architecture uses Kubernetes",color:"hotpink"},ahds:{label:"Azure Health Data Service",description:"Template architecture uses Azure Health Data Services workspace",color:"hotpink"},appinsights:{label:"Azure App Insights",description:"Template architecture uses Azure App Insights",color:"hotpink"},loganalytics:{label:"Azure Log Analytics",description:"Template architecture uses Azure Log Analytics",color:"hotpink"},appservice:{label:"Azure App Service",description:"Template architecture uses Azure App Service",color:"hotpink"},monitor:{label:"Azure Monitor",description:"Template architecture uses Azure App Service",color:"hotpink"},keyvault:{label:"Azure Key Vault",description:"Template architecture uses Azure Key Vault",color:"hotpink"},aca:{label:"Azure Container Apps",description:"Template architecture uses Azure Container Apps",color:"hotpink"},cosmosdb:{label:"CosmosDB",description:"Template architecture uses Azure CosmosDB",color:"hotpink"},signalR:{label:"Azure SignalR",description:"Template architecture uses Azure SignalR",color:"hotpink"},functions:{label:"Azure Functions",description:"Template architecture uses Azure Functions",color:"hotpink"},blobstorage:{label:"Azure Blob Storage",description:"Template architecture uses Azure Blob Storage",color:"hotpink"},webapps:{label:"Web Apps",description:"Template architecture uses Web Apps",color:"hotpink"},azuresql:{label:"Azure SQL",description:"Template architecture uses Azure SQL",color:"hotpink"},"azuredb-postgreSQL":{label:"Azure DB For PostgreSQL",description:"Template architecture uses Azure DB for PostgreSQL",color:"hotpink"},swa:{label:"Azure Static Web Apps",description:"Template architecture uses Azure Static Web Apps",color:"hotpink"},dapr:{label:"Dapr",description:"Template architecture uses Distributed Application Runtime (dapr)",color:"hotpink"},servicebus:{label:"Azure Service Bus",description:"Template architecture uses Azure Service Bus",color:"hotpink"},vnets:{label:"Virtual Networks (VNET)",description:"Template architecture uses Virtual Networks",color:"hotpink"},cognitivesearch:{label:"Azure Cognitive Search",description:"Template architecture uses Azure Cognitive Search",color:"hotpink"},openai:{label:"Azure OpenAI Service",description:"Template architecture uses Azure OpenAI Service",color:"hotpink"},azureai:{label:"Azure AI Service",description:"Template architecture uses Azure AI Service",color:"hotpink"},apim:{label:"Azure API Management",description:"Template architecture uses Azure API Management",color:"hotpink"},aks:{label:"Azure Kubernetes Service",description:"Template architecture uses Azure Kubernetes Service",color:"hotpink"},azurecdn:{label:"Azure Content Delivery Network",description:"Template architecture uses Azure Content Delivery Network",color:"hotpink"},frontdoor:{label:"Azure Front Door",description:"Template architecture uses Azure Front Door",color:"hotpink"},grafana:{label:"Grafana",description:"Template architecture uses Azure Managed Grafana",color:"hotpink"},prometheus:{label:"Prometheus",description:"Template architecture uses Azure Monitor managed service for Prometheus",color:"hotpink"},azurespringapps:{label:"Azure Spring Apps",description:"Template architecture uses Azure Spring Apps",color:"hotpink"},rediscache:{label:"Azure Redis Cache",description:"Template architecture uses Azure Redis Cache",color:"hotpink"},agw:{label:"Azure Application Gateway",description:"Template architecture uses Azure Application Gateway",color:"hotpink"},datascience:{label:"Data Science",description:"Template architecture involves Data Science",color:"hotpink"},enterprisepatterns:{label:"Enterprise App Patterns",description:"Template architecture involves Enterprise Application Patterns",color:"hotpink"},ai:{label:"Artificial Intelligence",description:"Template architecture involves Artificial Intelligence",color:"hotpink"}},B=[{title:"WordPress with Azure Container Apps",description:"A blueprint to easily and quickly create and deploy your first scalable and secure WordPress site to Azure, leveraging Azure Container Apps with Azure Database for MariaDb.",preview:a(4059),website:"https://github.com/kpantos",author:"Konstantinos Pantos",source:"https://github.com/Azure-Samples/apptemplate-wordpress-on-ACA",tags:["featured","php","javascript","aca","agw","rediscache","monitor","keyvault","bicep"]},{title:"React Web App with C# API and MongoDB",description:"A blueprint for getting a React web app with a C# API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly.",preview:a(8897),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-csharp-cosmos-sql",tags:["featured","dotnetCsharp","typescript","javascript","appservice","cosmosdb","mongodb","monitor","keyvault","reactjs","bicep"]},{title:"Rock, Paper, Orleans (RPO) - Distributed .NET",description:'Rock, Paper, Orleans (RPO) is a game built using dotnet, Orleans, and runs in Azure.The idea behind RPO is that you write a "player bot" in which you implement your player logic.',preview:a(746),website:"https://rockpaperorleans.net/",author:"Brady Gaster",source:"https://github.com/bradygaster/RockPaperOrleans",tags:["featured","dotnetCsharp","cosmosdb","aca","bicep"]},{title:"Scalable Django on Azure App Service",description:"Deploy your Django web application with Microsoft Azure, for scale, using a cloud architecture with integrated monitoring and load testing.",preview:a(167),website:"https://github.com/tonybaloney",author:"Anthony Shaw",source:"https://github.com/tonybaloney/django-on-azure",tags:["featured","django","python","azuredb-postgreSQL","webapps","vnets","bicep"]},{title:"React Web App with Node.js API and MongoDB",description:"A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.",preview:a(5949),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-nodejs-mongo",tags:["featured","bicep","nodejs","typescript","javascript","appservice","cosmosdb","monitor","keyvault","mongodb","reactjs"]},{title:"Static React Web App + Functions with Node.js API and MongoDB",description:"A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting static web apps with serverless logic and functionality.",preview:a(82),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-nodejs-mongo-swa-func",tags:["featured","bicep","swa","functions","nodejs","typescript","javascript","cosmosdb","monitor","keyvault","mongodb","reactjs","appservice"]},{title:"Static React Web App + Functions with Python API and MongoDB",description:"A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The frontend, currently a ToDo application, is designed as a placeholder that can easily be removed and replaced with your own frontend code. This architecture is for hosting static web apps with serverless logic and functionality.",preview:a(8285),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-python-mongo-swa-func",tags:["featured","bicep","swa","functions","python","typescript","javascript","cosmosdb","monitor","keyvault","mongodb","reactjs","appservice","fastapi"]},{title:"React Web App with Python API and MongoDB",description:"A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Terraform) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.",preview:a(1144),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-python-mongo-terraform",tags:["featured","python","typescript","javascript","cosmosdb","mongodb","monitor","keyvault","mongodb","reactjs","terraform","appservice","fastapi"]},{title:"React Web App with Node.js API and MongoDB",description:"A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Terraform) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.",preview:a(5979),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-nodejs-mongo-terraform",tags:["featured","nodejs","typescript","javascript","cosmosdb","mongodb","monitor","keyvault","mongodb","reactjs","terraform","appservice"]},{title:"React Web App with Python API and MongoDB",description:"A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.",preview:a(6148),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-python-mongo",tags:["featured","bicep","python","typescript","javascript","appservice","cosmosdb","monitor","keyvault","mongodb","reactjs","fastapi"]},{title:"Containerized React Web App with Node.js API and MongoDB",description:"A blueprint for getting a React web app with a Node.js API and a MongoDB database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running containerized apps or microservices on a serverless platform This architecture is for running containerized microservices without managing the servers.",preview:a(1893),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-nodejs-mongo-aca",tags:["featured","bicep","nodejs","typescript","javascript","appservice","cosmosdb","monitor","keyvault","mongodb","reactjs","aca"]},{title:"Containerized React Web App with Python API and MongoDB",description:"A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The frontend, currently a ToDo application, is designed as a placeholder that can easily be removed and replaced with your own frontend code. This architecture is for running containerized apps or microservices on a serverless platform.",preview:a(2395),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-python-mongo-aca",tags:["featured","bicep","python","typescript","javascript","aca","cosmosdb","monitor","keyvault","mongodb","reactjs","fastapi"]},{title:"React Web App with C# API and SQL Database ",description:"A blueprint for getting a React web app with a C# API and a SQL database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly.",preview:a(5373),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-csharp-sql",tags:["featured","bicep","dotnetCsharp","typescript","javascript","appservice","azuresql","monitor","keyvault","mongodb","reactjs"]},{title:"React Web App with Java API and MongoDB ",description:"A blueprint for getting a React.js web app with a Java API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.",preview:a(238),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-java-mongo",tags:["featured","bicep","java","typescript","appservice","cosmosdb","keyvault","monitor","mongodb","reactjs"]},{title:"Containerized React Web App with Java API and MongoDB",description:"A blueprint for getting a React web app with a Java API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running containerized apps or microservices on a serverless platform.",preview:a(2254),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-java-mongo-aca",tags:["featured","bicep","java","typescript","appservice","cosmosdb","keyvault","monitor","mongodb","reactjs"]},{title:"Static React Web App + Functions with C# API and SQL Database",description:"A blueprint for getting a React web app with a C# API and a SQL database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting static web apps with serverless logic and functionality.",preview:a(5340),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-csharp-sql-swa-func",tags:["featured","bicep","swa","functions","dotnetCsharp","typescript","javascript","monitor","keyvault","reactjs","appservice","azuresql"]},{title:"Kubernetes React Web App with Node.js API and MongoDB",description:"A blueprint for getting a React.js web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running Kubernetes clusters without setting up the control plane.",preview:a(8129),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-nodejs-mongo-aks",tags:["featured","bicep","nodejs","typescript","javascript","mongodb","monitor","keyvault","reactjs","appservice","cosmosdb","aks"]},{title:"ChatGPT Plugin using Python (FastAPI)",description:"This is a quickstart for creating a ChatGPT Plugin using Python and Azure.",preview:a(3635),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/openai-plugin-fastapi",tags:["featured","bicep","python","aca","cosmosdb","monitor","fastapi","ai"]},{title:"ChatGPT + Enterprise Data with Azure OpenAI and Cognitive Search",description:"A sample app for the Retrieval-Augmented Generation pattern running in Azure, using Azure Cognitive Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences.",preview:a(2863),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/azure-search-openai-demo-csharp/",tags:["featured","bicep","dotnetCsharp","aks","kubernetes","aca","cosmosdb","cognitivesearch","openai","chatgpt","rediscache","ai"]},{title:"Simple Chat Application using Azure OpenAI",description:"A sample chat app that uses Python and the Flask framework to stream ChatGPT completions as server-sent events to a simple frontend.",preview:a(6638),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/chatgpt-quickstart",tags:["featured","bicep","python","openai","chatgpt","ai","flask","aca"]},{title:"Azure Health Data Services Toolkit Azure Function Quickstart",description:"This quickstart will walk you through creating a simple custom operation on top of the FHIR Service using Azure Functions. We will cover everything from deploying infrastructure, debugging locally, and deploying to Azure.",preview:a(9134),website:"https://github.com/Azure/azure-dev",author:"Azure Content Team",source:"https://github.com/Azure-Samples/azure-health-data-services-toolkit-fhir-function-quickstart",tags:["bicep","dotnetCsharp","ahds","fhir","appinsights","loganalytics","functions"]},{title:"Enterprise-Grade Reference Architecture for JavaScript",description:"A reference architecture and components for building enterprise-grade modern composable frontends (or micro-frontends) and cloud-native applications. It is a collection of best practices, architecture patterns, and functional components that can be used to build and deploy modern JavaScript applications to Azure.",preview:a(7589),website:"https://github.com/Azure-Samples|https://github.com/anfibiacreativa",author:"JavaScript Advocacy Team|Natalia Venditto",source:"https://github.com/Azure-Samples/contoso-real-estate",tags:["bicep","javascript","swa","aca","keyvault","blobstorage","azuredb-postgreSQL","cosmosdb","apim","enterprisepatterns"]},{title:"Python (Django) Web App with PostgreSQL in VNet",description:"A restaurants review web app that uses whitenoise for static assets and PostgreSQL for the database. Ready for deployment on App Service with a PostgreSQL Flexible Server inside a VNet.",preview:a(8580),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/msdocs-django-postgresql-sample-app",tags:["python","django","webapps","azuredb-postgreSQL","appservice","vnets"]},{title:"Python (Django) Web App with PostgreSQL via Azure Container Apps",description:"A space tourism web app that uses PostgreSQL for the database. The web app is containerize and deploy with Azure Container Apps with secrets managed by Azure Key Vault",preview:a(6657),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/azure-django-postgres-aca",tags:["python","django","aca","azuredb-postgreSQL","bicep"]},{title:"Python (Flask) Web App with PostgreSQL in VNet",description:"A restaurants review web app with a PostgreSQL database, written in the Python Flask framework plus SQL-Alchemy plus Alembic for database interactions. Ready for deployment on App Service with a PostgreSQL Flexible Server inside a VNet.",preview:a(7845),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/msdocs-flask-postgresql-sample-app",tags:["python","webapps","azuredb-postgreSQL","appservice","vnets","flask"]},{title:"Microservices App - Dapr PubSub C# ACA ServiceBus",description:"A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.",preview:a(9134),website:"https://github.com/Azure/azure-dev",author:"Azure Content Team",source:"https://github.com/Azure-Samples/pubsub-dapr-csharp-servicebus",tags:["bicep","dotnetCsharp","aca","dapr","servicebus","aca"]},{title:"Microservices App - Dapr PubSub Python ACA ServiceBus",description:"A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.",preview:a(9134),website:"https://github.com/Azure/azure-dev",author:"Azure Content Team",source:"https://github.com/Azure-Samples/pubsub-dapr-python-servicebus",tags:["bicep","python","aca","dapr","servicebus","aca"]},{title:"Microservices App - Dapr PubSub Node.js ACA ServiceBus",description:"A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.",preview:a(9134),website:"https://github.com/Azure/azure-dev",author:"Azure Content Team",source:"https://github.com/Azure-Samples/pubsub-dapr-nodejs-servicebus",tags:["bicep","javascript","nodejs","aca","dapr","servicebus","aca"]},{title:"Microservices App - Dapr Bindings Cron C# ACA PostgreSQL",description:"Create microservice to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a PostgreSQL output binding.",preview:a(1260),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/bindings-dapr-csharp-cron-postgres",tags:["dapr","dotnetCsharp","azuredb-postgreSQL","aca"]},{title:"Microservices App - Dapr Bindings Cron Python ACA PostgreSQL",description:"Create a microservice app to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a postgreSQL output binding.",preview:a(1260),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/bindings-dapr-python-cron-postgres",tags:["dapr","python","azuredb-postgreSQL","aca"]},{title:"Microservices App - Dapr Bindings Cron Node.js ACA PostgreSQL",description:"Create a microservice app to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a postgreSQL output binding.",preview:a(1260),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/bindings-dapr-nodejs-cron-postgres",tags:["dapr","nodejs","azuredb-postgreSQL","javascript","aca"]},{title:"Microservices App - Dapr Service Invoke Node.js ACA",description:"Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.",preview:a(8053),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/svc-invoke-dapr-nodejs",tags:["dapr","nodejs","aca"]},{title:"Microservices App - Dapr Service Invoke Python ACA",description:"Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.",preview:a(8053),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/svc-invoke-dapr-python",tags:["dapr","python","aca"]},{title:"Microservices App - Dapr Service Invoke C# ACA",description:"Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.",preview:a(8053),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/svc-invoke-dapr-csharp",tags:["dapr","dotnetCsharp","aca"]},{title:"ChatGPT and Enterprise data with Azure OpenAI and Cognitive Search",description:"Demonstration of how to leverage Azure OpenAI and Cognitive Search to enable Information Search and Discovery over organizational content.",preview:a(5359),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/azure-search-openai-demo",tags:["openai","chatgpt","cognitivesearch","python","typescript","bicep","nodejs","ai"]},{title:"FastAPI on Azure Functions",description:"A simple FastAPI app deployed to Azure Functions. Can also be run and debugged locally with the Azure Functions Core Tool emulator.",preview:a(552),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/fastapi-on-azure-functions",tags:["python","fastapi","functions"]},{title:"Spring PetClinic - Java Spring MySQL",description:"Spring PetClinic application using a set of Azure solutions. Azure App Service for app hosting, Azure Database for MySQL for storage, Azure Key Vault for securing secret and Azure Application Insights for monitoring and logging.",preview:a(705),website:"https://github.com/wangmingliang-ms",author:"Miller Wang",source:"https://github.com/Azure-Samples/spring-petclinic-java-mysql",tags:["java","appservice","azuresql","monitor","keyvault","appinsights","bicep","spring","thymeleaf"]},{title:"Event Driven Java Application with Azure Service Bus on Azure Spring Apps",description:"A complete event-driven application that includes everything you need to build, deploy, and monitor an Azure solution. ",preview:a(7810),website:"https://github.com/Azure-Samples/",author:"Azure Content Team",source:"https://github.com/Azure-Samples/ASA-Samples-Event-Driven-Application",tags:["java","servicebus","monitor","keyvault","azurespringapps","bicep","spring"]},{title:"SAP Cloud SDK on Azure App Service Quickstart (TypeScript)",description:"This repos serves as quick-start project showcasing SAP Cloud SDK for JavaScript OData consumption running on Azure App Services. Its primary purpose is to set you up for success for your SAP extension project on Azure and reduce the lead time to your first successful deployment as much as possible with developer friendly commands.",preview:a(2634),website:"https://github.com/MartinPankraz|https://github.com/lechnerc77",author:"Martin Pankraz|Christian Lechner",source:"https://github.com/Azure-Samples/app-service-javascript-sap-cloud-sdk-quickstart",tags:["typescript","nodejs","bicep","webapps","keyvault","appinsights","featured","nestjs","sap","sapcloudsdk"]},{title:"Service Bus messages processing to Dataverse",description:"Starter solution to process Service Bus messages to Dataverse, C# for the Azure Functions app processing the messages, Azure Service Bus for the reception of the messages, and Azure Monitor for monitoring and logging.",preview:a(5515),website:"https://github.com/rpothin",author:"Raphael Pothin",source:"https://github.com/rpothin/servicebus-csharp-function-dataverse",tags:["dotnetCsharp","functions","servicebus","monitor","keyvault","dataverse"]},{title:"Simple Flask AZD",description:"A tiny, no-frills, template to deploy Python's Flask web framework to Azure App Service in the free tier.",preview:a(5062),website:"https://github.com/tonybaloney",author:"Anthony Shaw",source:"https://github.com/tonybaloney/simple-flask-azd",tags:["python","appservice","flask"]},{title:"Function App - C# AI Text Summarize",description:"This sample shows how to take text documents as a input via BlobTrigger, does Text Summarization processing using the AI Congnitive Language service, and then outputs to another text document using BlobOutput binding.",preview:a(9134),website:"https://github.com/paulyuk",author:"Paul Yuknewicz",source:"https://github.com/Azure-Samples/function-csharp-ai-textsummarize",tags:["functions","dotnetCsharp","azureai","bicep","ai"]},{title:"Function App - Python AI Text Summarize",description:"This sample shows how to take text documents as a input via BlobTrigger, does Text Summarization processing using the AI Congnitive Language service, and then outputs to another text document using BlobOutput binding. Uses Azure Functions Python v2 programming model.",preview:a(9134),website:"https://github.com/paulyuk",author:"Paul Yuknewicz",source:"https://github.com/Azure-Samples/function-python-ai-textsummarize",tags:["functions","python","azureai","bicep","ai"]},{title:"Flask Container with CDN",description:"A simple photos website written with Python Flask and Bootstrap. Can be run locally with Docker and then deployed to Azure Container Apps with an Azure CDN in front.",preview:a(7970),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/flask-gallery-container-app",tags:["python","flask","webapps","aca","azurecdn"]},{title:"Flask Surveys Container App",description:"A survey app written with the Python Flask framework which uses Flask-SQLAlchemy with a PostgreSQL database. Can be developed locally with Docker Compose and then deployed to Azure Container Apps (using KeyVault SDK for Flask secrets).",preview:a(2748),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/flask-surveys-container-app",tags:["python","flask","keyvault","aca","webapps","azuredb-postgreSQL"]},{title:"Flask API on Azure Container Apps",description:"A simple JSON API using the Python Flask framework, designed for deployment on Azure Container Apps.",preview:a(6742),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/simple-flask-api-container",tags:["python","bicep","aca","flask"]},{title:"FastAPI with API Management",description:"A FastAPI app deployed as a secured Azure Function with an API Management Policy in front, set up such that API calls require a subscription key but auto-generated documentation is publicly viewable. Project also includes 100% test coverage with Pytest plus a development workflow with ruff, isort, and black.",preview:a(1784),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/fastapi-azure-function-apim",tags:["python","fastapi","functions","apim"]},{title:"Flask Chart API on ACA and CDN",description:"A Charts API that renders PNGs of bar and pie charts, built with Python Flask, APIFlask, and matplotlib. Can be run locally with Docker and then deployed to Azure Container Apps with an Azure CDN in front.",preview:a(7970),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/flask-charts-api-container-app",tags:["python","flask","webapps","aca","azurecdn"]},{title:"Static Maps API Function and CDN",description:"A FastAPI app that renders map images for the given location. Deployed as a secured Azure function with an Azure CDN in front for caching.",preview:a(2797),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/staticmaps-function",tags:["python","functions","fastapi","monitor","azurecdn"]},{title:"Jupyter Notebooks Web App on Azure Container Apps",description:"A web application used for hosting, sharing, and interacting with Jupyter Notebooks via Mercury, hosted on Azure Container Apps.",preview:a(5283),website:"https://github.com/savannahostrowski",author:"Savannah Ostrowski",source:"https://github.com/savannahostrowski/jupyter-mercury-aca",tags:["python","bicep","webapps","aca","jupyter","datascience"]},{title:"Python (Django) Web App with PostgreSQL and Key Vault",description:"A Python Django app on App Service with a PostgreSQL flexible server database. Database access is restricted to Azure IPs, and all administrative secrets are stored in Key Vault.",preview:a(4792),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/django-quiz-app",tags:["python","django","webapps","appservice","bicep","azuredb-postgreSQL","keyvault"]},{title:"Reliable Web App Pattern for .NET",description:"A multi-region enterprise web app with a 99.9% SLO and a focus on 12-factor apps and the well-architected framework. The sample app creates a concert booking application.",preview:a(4706),website:"https://github.com/Azure",author:"Azure Content Team",source:"https://github.com/Azure/reliable-web-app-pattern-dotnet",tags:["dotnetCsharp","bicep","appservice","keyvault","frontdoor","azuresql","appinsights","blobstorage","webapps","enterprisepatterns"]},{title:"FastAPI on Azure Container Apps",description:"A simple JSON API using the Python FastAPI app framework, designed for deployment on Azure Container Apps. Includes auto-configuration of gunicorn with uvicorn worker count based on CPUs available.",preview:a(9224),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/simple-fastapi-container",tags:["python","fastapi","bicep","aca"]},{title:"Containerized Apps on Azure Kubernetes Service",description:"A base Azure Kubernetes Service template with placeholders to include the application source code (no application source code included) and Kubernetes manifest files.",preview:a(9579),website:"https://github.com/sabbour/",author:"Ahmed Sabbour",source:"https://github.com/sabbour/aks-app-template",tags:["bicep","aks","kubernetes","keda","grafana","prometheus"]},{title:"React Component Toolkit with ChatGPT and OpenAI ",description:"A sample demo for building and testing react components and includes a set of unique features including AI component generation and automatic conversion to Azure APIM Widgets",preview:a(8535),website:"https://github.com/Azure-Samples",author:"Jenny Chen",source:"https://github.com/Azure-Samples/react-component-toolkit-openai-demo",tags:["bicep","openai","chatgpt","ai","apim","reactjs","typescript","javascript"]},{title:"Python (Flask) Web App with PostgreSQL",description:"A Python Flask app on App Service with a PostgreSQL flexible server database. Database access is restricted to Azure IPs, and admin password is generated randomly",preview:a(3500),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/flask-db-quiz-example",tags:["python","flask","bicep","appservice","webapps","azuredb-postgreSQL"]}],Q=Object.keys(j);const P=function(){let e=B;return e=l(e,(e=>e.title.toLowerCase())),e=l(e,(e=>!e.tags.includes("featured"))),e}(),x=s.forwardRef(((e,t)=>{let{label:a,color:i,description:r}=e;return s.createElement("li",{ref:t,className:E.tag,title:r},s.createElement("span",{className:E.textLabel},a.toLowerCase()),s.createElement("span",{className:E.colorLabel,style:{backgroundColor:i}}))}));function U(e){let{tags:t}=e;const a=l(t.map((e=>({tag:e,...j[e]}))),(e=>Q.indexOf(e.tag)));return s.createElement(s.Fragment,null,a.map(((e,t)=>{const a=`showcase_card_tag_${e.tag}`;return s.createElement(T,{key:t,text:e.description,anchorEl:"#__docusaurus",id:a},s.createElement(x,(0,o.Z)({key:t},e)))})))}function R(e){let{user:t}=e;const a=t.author,i=t.website;if(a.includes("|")){var o=i.split("|"),n=a.split("|");return s.createElement("div",{className:"dropdown dropdown--right dropdown--hoverable"},s.createElement("button",{className:(0,r.Z)("button button--secondary button--sm",E.showcaseCardSrcBtn)},"Author"),s.createElement("ul",{className:"dropdown__menu"},o.map(((e,t)=>{return a=n[t],i=o[t],s.createElement("li",null,s.createElement("a",{className:"dropdown__link",href:i},a));var a,i}))))}return s.createElement("div",null,s.createElement("a",{className:(0,r.Z)("button button--secondary button--sm",E.showcaseCardSrcBtn),href:i},a))}function F(e){let{user:t}=e;return s.createElement("li",{key:t.title,className:"card shadow--md"},s.createElement(C.Z,{href:t.source},s.createElement("div",{className:(0,r.Z)("card__image",E.showcaseCardImage)},s.createElement(S.Z,{img:t.preview,alt:t.title}))),s.createElement("div",{className:"card__body"},s.createElement("div",{className:(0,r.Z)(E.showcaseCardHeader)},s.createElement("h4",{className:E.showcaseCardTitle},s.createElement(C.Z,{href:t.source,className:E.showcaseCardLink},t.title)),t.tags.includes("featured")&&s.createElement(c,{svgClass:E.svgIconFavorite,size:"small"}),t.source&&s.createElement(R,{user:t})),s.createElement("p",{className:E.showcaseCardBody},t.description)),s.createElement("ul",{className:(0,r.Z)("card__footer",E.cardFooter)},s.createElement(U,{tags:t.tags})))}const L=s.memo(F);var D=a(6136),N=a(7325),M=a(3777);const Y={filterCheckbox:"filterCheckbox_Uhtk",checkboxList:"checkboxList_autc",showcaseList:"showcaseList_Cwj2",checkboxListItem:"checkboxListItem_CI1c",searchContainer:"searchContainer_FQjg",showcaseFavorite:"showcaseFavorite_HPRp",showcaseHelpWanted:"showcaseHelpWanted_r4aa",helpText:"helpText_Pz8G",showcaseFavoriteHeader:"showcaseFavoriteHeader_hNPk",svgIconFavoriteXs:"svgIconFavoriteXs_Yxtr",svgIconFavorite:"svgIconFavorite_skrm"},V="Awesome AZD Templates",K="A community-contributed templates gallery";function W(){var e;if(D.Z.canUseDOM)return{scrollTopPosition:window.scrollY,focusedElementId:null==(e=document.activeElement)?void 0:e.id}}const O="name";function X(e){return new URLSearchParams(e).get(O)}function G(){const e=(0,A.TH)(),[t,a]=(0,s.useState)("OR"),[i,r]=(0,s.useState)([]),[o,n]=(0,s.useState)(null);return(0,s.useEffect)((()=>{r(h(e.search)),a(f(e.search)),n(X(e.search)),function(e){var t;const{scrollTopPosition:a,focusedElementId:s}=e??{scrollTopPosition:0,focusedElementId:void 0};null==(t=document.getElementById(s))||t.focus(),window.scrollTo({top:a})}(e.state)}),[e]),(0,s.useMemo)((()=>function(e,t,a,s){return s&&(e=e.filter((e=>e.title.toLowerCase().includes(s.toLowerCase())))),0===t.length?e:e.filter((e=>0!==e.tags.length&&("AND"===a?t.every((t=>e.tags.includes(t))):t.some((t=>e.tags.includes(t))))))}(P,i,t,o)),[i,t,o])}function q(){return s.createElement("section",{className:"margin-top--lg margin-bottom--lg text--center"},s.createElement("h1",null,V),s.createElement("p",null,K),s.createElement("a",{className:"button button--primary",href:"https://aka.ms/awesome-azd-contribute",target:"_blank",rel:"noreferrer"},s.createElement(N.Z,{id:"showcase.header.button"},"Contribute Your Template! \ud83d\ude4f")))}function J(){const e=G(),t=function(){const{selectMessage:e}=(0,M.c)();return t=>e(t,(0,N.I)({id:"showcase.filters.resultCount",description:'Pluralized label for the number of sites found on the showcase. Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"1 site|{sitesCount} sites"},{sitesCount:t}))}();return s.createElement("section",{className:"container margin-top--l margin-bottom--lg"},s.createElement("div",{className:(0,r.Z)("margin-bottom--sm",Y.filterCheckbox)},s.createElement("div",null,s.createElement("h2",null,s.createElement(N.Z,{id:"showcase.filters.title"},"Filters")),s.createElement("span",null,t(e.length))),s.createElement(v,null)),s.createElement("ul",{className:Y.checkboxList},Q.map(((e,t)=>{const{label:a,description:i,color:r}=j[e],o=`showcase_checkbox_id_${e}`;return s.createElement("li",{key:t,className:Y.checkboxListItem},s.createElement(T,{id:o,text:i,anchorEl:"#__docusaurus"},s.createElement(m,{tag:e,id:o,label:a,icon:"featured"===e?s.createElement(c,{svgClass:Y.svgIconFavoriteXs}):s.createElement("span",{style:{backgroundColor:r,width:10,height:10,borderRadius:"50%",marginLeft:8}})})))}))))}const H=P.filter((e=>e.tags.includes("featured"))),Z=(P.filter((e=>e.tags.includes("helpwanted"))),P.filter((e=>!e.tags.includes("featured")&&!e.tags.includes("helpwanted"))));function _(){const e=(0,A.k6)(),t=(0,A.TH)(),[a,i]=(0,s.useState)(null);return(0,s.useEffect)((()=>{i(X(t.search))}),[t]),s.createElement("div",{className:Y.searchContainer},s.createElement("input",{id:"searchbar",placeholder:(0,N.I)({message:"Search for site name...",id:"showcase.searchBar.placeholder"}),value:a??void 0,onInput:a=>{i(a.currentTarget.value);const s=new URLSearchParams(t.search);s.delete(O),a.currentTarget.value&&s.set(O,a.currentTarget.value),e.push({...t,search:s.toString(),state:W()}),setTimeout((()=>{var e;null==(e=document.getElementById("searchbar"))||e.focus()}),0)}}))}function $(){const e=G();return 0===e.length?s.createElement("section",{className:"margin-top--lg margin-bottom--xl"},s.createElement("div",{className:"container padding-vert--md text--center"},s.createElement("h2",null,s.createElement(N.Z,{id:"showcase.usersList.noResult"},"Be the first to add an example project!")),s.createElement(_,null))):s.createElement("section",{className:"margin-top--lg margin-bottom--xl"},e.length===P.length?s.createElement(s.Fragment,null,s.createElement("div",{className:Y.showcaseFavorite},s.createElement("div",{className:"container"},s.createElement("div",{className:(0,r.Z)("margin-bottom--md",Y.showcaseFavoriteHeader)},s.createElement("h2",null,s.createElement(N.Z,{id:"showcase.favoritesList.title"},"Featured Templates")),s.createElement(c,{svgClass:Y.svgIconFavorite}),s.createElement(_,null)),s.createElement("ul",{className:(0,r.Z)("container",Y.showcaseList)},H.map((e=>s.createElement(L,{key:e.title,user:e})))))),s.createElement("div",{className:"container margin-top--lg"},s.createElement("h2",{className:Y.showcaseHeader},s.createElement(N.Z,{id:"showcase.usersList.allUsers"},"Other Templates")),s.createElement("ul",{className:Y.showcaseList},Z.map((e=>s.createElement(L,{key:e.title,user:e})))))):s.createElement("div",{className:"container"},s.createElement("div",{className:(0,r.Z)("margin-bottom--md",Y.showcaseFavoriteHeader)},s.createElement(_,null)),s.createElement("ul",{className:Y.showcaseList},e.map((e=>s.createElement(L,{key:e.title,user:e}))))))}function ee(){return s.createElement(i.Z,{title:V,description:K},s.createElement("main",{className:"margin-vert--lg"},s.createElement(q,null),s.createElement(J,null),s.createElement($,null)))}}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.b53d7bbf.js b/assets/js/1df93b7f.b53d7bbf.js new file mode 100644 index 00000000..e717584d --- /dev/null +++ b/assets/js/1df93b7f.b53d7bbf.js @@ -0,0 +1 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[237],{2634:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.0517160.640.png 640w,"+a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.95e25b2.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.0517160.640.png",width:640,height:301},{path:a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.95e25b2.1030.png",width:1030,height:484}],src:a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.0517160.640.png",toString:function(){return a.p+"assets/ideal-img/app-service-javascript-sap-cloud-sdk-quickstart.0517160.640.png"},placeholder:void 0,width:640,height:301},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAADLAAAAywAEoZFrbAAAAg0lEQVQImSWNwQ6DIBBE+f8P6hf01GNvPTVpAhGlosLiuuBOU5zT5GXyxnzD5HFF3VIwp/KvF1AFHwdOVZi3HTyVHdqqigjGuGGcF3AccUaHx/0G714wE6lf846zHtpaw7pFTCGAmbv1YzPmLDC5sJfa+lOtgpR3DD6AiPrwORBsEvwASluZr8cn1d4AAAAASUVORK5CYII="}},4059:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.11ae1d8.640.png 640w,"+a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.e28b434.741.png 741w",images:[{path:a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.11ae1d8.640.png",width:640,height:498},{path:a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.e28b434.741.png",width:741,height:577}],src:a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.11ae1d8.640.png",toString:function(){return a.p+"assets/ideal-img/apptemplate-wordpress-on-ACA.11ae1d8.640.png"},placeholder:void 0,width:640,height:498},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAABD0lEQVQYlSXNW0vCYACA4f3/+y66KAksL0wQdM1KCSTBw9Q5N3f6dtB52PKAhiHB5ttFzx94pDzPCKIY21+hB2uG9pKJtWHouujCYTz1UTUTCcCbf2EEFyrTE8WPlJ72y5vTRdFfUN0LmpcibZMQES9pGSaN0YhwHtEJHdrhHpGcUAYLJm6C9HM+4McpbWPB58Rie/pGi1bUhhZ6sEETRwx/+19HcYo8OlDppjSHMa/9iEbPp95xUcUZIzwgXfMMEW3oWzt69h7NWqPaCWMzRrcTBm7MeBYicc2JkyNuAuEOanpKS6xpOgJ5dsQUKp4XIOVZhqy8UyzLlCoK96U6hacqtw9lbgpl7opVHp/r/AFWkhh10iQjdwAAAABJRU5ErkJggg=="}},6657:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/azure-django-postgres-aca.7595fb6.478.png 478w",images:[{path:a.p+"assets/ideal-img/azure-django-postgres-aca.7595fb6.478.png",width:478,height:227}],src:a.p+"assets/ideal-img/azure-django-postgres-aca.7595fb6.478.png",toString:function(){return a.p+"assets/ideal-img/azure-django-postgres-aca.7595fb6.478.png"},placeholder:void 0,width:478,height:227},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVQImUWKy4rCQBRE8/8f4H4WLnXnym0QXCgDioImceEDJ21HlI72w3uPGJApqOJQnCwFZfSzxrk7v9Mn49EdJ4n+ZImxFlPXVFVF1tgri1lJYy2bylBsL/gQWK7W1H9nrG0oipIsxgAoKSS8b7vGFBEVRIRvss+8VKjNgNYfu7OX75idHh2L6L+oKpSHnFtreDjHMF8x3+x5Rd9JqsoboZi8UFoW7eYAAAAASUVORK5CYII="}},5359:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/azure-search-openai-demo.e642b65.640.png 640w,"+a.p+"assets/ideal-img/azure-search-openai-demo.46a922e.999.png 999w",images:[{path:a.p+"assets/ideal-img/azure-search-openai-demo.e642b65.640.png",width:640,height:304},{path:a.p+"assets/ideal-img/azure-search-openai-demo.46a922e.999.png",width:999,height:475}],src:a.p+"assets/ideal-img/azure-search-openai-demo.e642b65.640.png",toString:function(){return a.p+"assets/ideal-img/azure-search-openai-demo.e642b65.640.png"},placeholder:void 0,width:640,height:304},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAiklEQVQImTWObQrCMBBEc//jeAF/eAUREaQoBbVpY2ND04/sPkm0A8MuDPt2DEX6G3+FcebeDKBC63ps+8YkUVRhXoVplXJ0awL7y1B2G1bqfsGcnxEfhZeP7I6OOM141wKp0G2YqVzE5CCJoJKwXV8op9pzuGYiLKLFZuulmivk1+A+I9Wj25LiL563wfZ9tUbIAAAAAElFTkSuQmCC"}},9579:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/basic-aks-template.8f54e1a.640.png 640w,"+a.p+"assets/ideal-img/basic-aks-template.b5a253b.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/basic-aks-template.8f54e1a.640.png",width:640,height:565},{path:a.p+"assets/ideal-img/basic-aks-template.b5a253b.1030.png",width:1030,height:910}],src:a.p+"assets/ideal-img/basic-aks-template.8f54e1a.640.png",toString:function(){return a.p+"assets/ideal-img/basic-aks-template.8f54e1a.640.png"},placeholder:void 0,width:640,height:565},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAABcRAAAXEQHKJvM/AAAA+0lEQVQYlT2PyU7DQBQE5///CiR8BYklCIgICDmL44yXGc/25hVykOhL36qrTWfnn3GwuJB2LnPrszZRaYLSLMJdEJrLUm9MENaoqoJWklTOZ89wHhmHC4v3hAJmyVpBSSnVKiIuJtm+Rdm9O+mnSQafZE4qxiXVEAJTyBS90tcBYg7EVKi1EotiurnQu8ywbzl1F6wrbL8cXW+xdmCcPVNUTO8F6yLj5Jh9IktlKVwp60IGlqwYn/9+FF2vQBaw08y+n7BT1Og8LqOm1KvYv10Wpe0HXg+e3WdL/P7QRcFsTjK8dsLmJLr281F4aAtPh8LjUfR+X3k5lvEXiQNZ9RqhTT8AAAAASUVORK5CYII="}},1260:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/bindings-dapr-cron-postgres.637a9d4.640.png 640w,"+a.p+"assets/ideal-img/bindings-dapr-cron-postgres.a9897b6.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/bindings-dapr-cron-postgres.637a9d4.640.png",width:640,height:259},{path:a.p+"assets/ideal-img/bindings-dapr-cron-postgres.a9897b6.1030.png",width:1030,height:417}],src:a.p+"assets/ideal-img/bindings-dapr-cron-postgres.637a9d4.640.png",toString:function(){return a.p+"assets/ideal-img/bindings-dapr-cron-postgres.637a9d4.640.png"},placeholder:void 0,width:640,height:259},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhklEQVQImU2NsQqCQABA78cb2/uEwM2tL2jKwSjQiChyklITDfW8Os+7FwhFb3rTe2IYRoyxfEnuDZXSk1vnkGbEOYfwvBjfPyJ7zSN74y0qgnVL1yripGa2OpM9FWITpIThbSr0r5FdJNlvc6y1XNOG+fJAWSvE7/mHNmbaFXnH5VRS5JIPwB+VO3rb8mEAAAAASUVORK5CYII="}},2863:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.4160e61.640.png 640w,"+a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.0910641.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.4160e61.640.png",width:640,height:678},{path:a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.0910641.1030.png",width:1030,height:1092}],src:a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.4160e61.640.png",toString:function(){return a.p+"assets/ideal-img/chatgpt-enterprise-dotnet.4160e61.640.png"},placeholder:void 0,width:640,height:678},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA9klEQVQYlVWQzUpDQQxG7/s/kjuhIrjpxpWUFqyIbW2vvTOT+Uvm6Ex1YWASSD7yncnUWqOH3Qqrc+LuGP/1oDHdGoY2w/mA855QKrFCUR2zvmzqKddMo7HdzLxuThz2C9vnK4VG6bMurLUiEobBZYnMi+c89xfJ1QjBISJMHSOkiKmigFrDrBFTJJdC7PZmTB3Yx8L9i+Pt2tkqIVfO8xer1QO+GMXowobUxu7oOLpEUkVyHoKP04VQjGp/vzYjRQFTRCIh3JjHYX7PNxiXEHGSeDwkXNaBsn73SLHhNjYOcO2cmfX+wDUIPhWedp9IUaI2yo/wG6hshJYcuMxMAAAAAElFTkSuQmCC"}},3635:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/chatgpt-plugin-python.8d2fcf5.640.png 640w,"+a.p+"assets/ideal-img/chatgpt-plugin-python.e23f255.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/chatgpt-plugin-python.8d2fcf5.640.png",width:640,height:305},{path:a.p+"assets/ideal-img/chatgpt-plugin-python.e23f255.1030.png",width:1030,height:491}],src:a.p+"assets/ideal-img/chatgpt-plugin-python.8d2fcf5.640.png",toString:function(){return a.p+"assets/ideal-img/chatgpt-plugin-python.8d2fcf5.640.png"},placeholder:void 0,width:640,height:305},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAlElEQVQImU2NSQqDQBREPYZEiItcQUVy/wOkjZF2HYfEXgjthOML3QvJh+IX1OT4/o0giBFC8EgzhEh4ioT0lSGlJM+l/Y7nXYnjO1pr9DRRvEtUVTMMI/M8sywL67riuO6FMIxQSjEOA0VRUtUfvk1D27a2oO97Y/SIopiu6zC37/uJ4zhObhuN0SSNYGa2bbP45z/tzqatFL8rVQAAAABJRU5ErkJggg=="}},4792:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/django-quiz-app.88b41a6.314.png 314w",images:[{path:a.p+"assets/ideal-img/django-quiz-app.88b41a6.314.png",width:314,height:193}],src:a.p+"assets/ideal-img/django-quiz-app.88b41a6.314.png",toString:function(){return a.p+"assets/ideal-img/django-quiz-app.88b41a6.314.png"},placeholder:void 0,width:314,height:193},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAzUlEQVQImS2OwU7CQABE+4Ve+Q0/wQSOHIWbieHIxaAXYwwYDyIQDyoKUZACG6SllG2bdrdgecQtc5t5k8lYNw8dipct/rXVimWkuP6ROGHCX6o5ux1Q7TpY7Zd3Ts4/efzaQKax3Q311ym/a58kjjit9SjfCyzP8wh8jzSUZlWphNVygVY740e2YDITWMYBFRHz5Kv8wh4i+UzqX5EduSk2vjWFO5u3QJtwt4exc8FYlJDayYs6jmj1BZ3hgnDtIoPAgLn7QX/SJMvyzQNMetwSMWHCXAAAAABJRU5ErkJggg=="}},7589:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.ad52bfd.640.png 640w,"+a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.3f84f1e.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.ad52bfd.640.png",width:640,height:455},{path:a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.3f84f1e.1030.png",width:1030,height:732}],src:a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.ad52bfd.640.png",toString:function(){return a.p+"assets/ideal-img/enterprise-grade-reference-architecture-for-javascript.ad52bfd.640.png"},placeholder:void 0,width:640,height:455},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAzElEQVQYlR3NwW7CMBAAUf//v1WV2kMlEC0IQpzYie14N7EdylTlNqc3RpeMilDbjpZGq/XVWZRSG63teGmYOMw8SmOtO6MWTtcL3bXnUSvP5849b3yeR8y8CEmUdWuc+8TXbcD2jjlHOneg84HD8YhJOeNjeO2Cj3R3RwpCDIkQAp2LvL1/YPwi9H5EVNjrxvfFUnRH0oK1Fuc9WVbM+i/6ia0UolbclEhrw/qZn9uNOUZ03TBpHJmGgdE5xjmSomKlMGXFJkU2hecvf6ElCm/fvYGNAAAAAElFTkSuQmCC"}},7810:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/event-driven-spring-apps.7075e75.640.png 640w,"+a.p+"assets/ideal-img/event-driven-spring-apps.8245b36.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/event-driven-spring-apps.7075e75.640.png",width:640,height:645},{path:a.p+"assets/ideal-img/event-driven-spring-apps.8245b36.1030.png",width:1030,height:1038}],src:a.p+"assets/ideal-img/event-driven-spring-apps.7075e75.640.png",toString:function(){return a.p+"assets/ideal-img/event-driven-spring-apps.7075e75.640.png"},placeholder:void 0,width:640,height:645},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAABYlAAAWJQFJUiTwAAABHElEQVQYlSWQy0rEQBBF8/8/Irh04cqNqxFBBFF0QBkimWQmj+5OJ+nu9OtoZhZFFcUt6t5TDItnmAKnc0ffK7QF7eK17LUPs6eoNRwOj9TtkVa+UZ53xATkSM7bANoGikZn6vOe2Rjk9MZ3s8PYSIwB6+x2weQiRTM6mmGm7hRHlTlpsCGh5IgYFpY10k4rxUl75klTC83Dj+S9VnRyRk5nnn5vWeNCpfz2eiUFz0k77j4Fr5Vi1A7je56rG1KeaHSgOI4rrVCU3cj9XvBSSlq1XAI0QjBZRync5nGlHSQfVX9ZDEsgJNjyujUSU0KZsHlcLwi+OoMyHucjxjpSjHjvr3i21JtwNIFeLcjZIRZPiImcMynni3D85/gHysh92xBNYzgAAAAASUVORK5CYII="}},1784:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/fastapi-azure-function-apim.1a5f5fa.640.png 640w,"+a.p+"assets/ideal-img/fastapi-azure-function-apim.2966d2c.652.png 652w",images:[{path:a.p+"assets/ideal-img/fastapi-azure-function-apim.1a5f5fa.640.png",width:640,height:571},{path:a.p+"assets/ideal-img/fastapi-azure-function-apim.2966d2c.652.png",width:652,height:582}],src:a.p+"assets/ideal-img/fastapi-azure-function-apim.1a5f5fa.640.png",toString:function(){return a.p+"assets/ideal-img/fastapi-azure-function-apim.1a5f5fa.640.png"},placeholder:void 0,width:640,height:571},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA/0lEQVQYlS2O0UrDQBBF95sFn/VjxH8QCoI+aKui0lRsC7WmITFN0iZpk+wm2TmSbedh5l44d7jKDxPefwIWfsSh0ujOkuUV34slq3VAluaYVlChgWllmdVC1VqKFqLggTh8pAeux/eM/BUq0ZaPsOIlaahby6GHJPFIiwAD3Mw93rYxquvB9ELXC9bibqOhqS3HusONgHL77Kyc9N0y4nL0ySTInO/FnsABEBHsOTTaWy7WDa/l0HIgBGXO33sLuhN2RUGSl5RGqI1FhiqdoKJCc/v8hZ+VLjCb+sxnAdiWTbpnstlitEatc83V0y9efALTWLOLW6e9bcP47+j0P27sVVLfHaILAAAAAElFTkSuQmCC"}},552:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/fastapi-on-azure-functions.3f2bb5c.527.png 527w",images:[{path:a.p+"assets/ideal-img/fastapi-on-azure-functions.3f2bb5c.527.png",width:527,height:392}],src:a.p+"assets/ideal-img/fastapi-on-azure-functions.3f2bb5c.527.png",toString:function(){return a.p+"assets/ideal-img/fastapi-on-azure-functions.3f2bb5c.527.png"},placeholder:void 0,width:527,height:392},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQYlU2PS07DQAyGc8CeiEO0d8iWTXf0EO0CiUiIkEaTFvJAtFHzmmRm/KFpIsCyvfD/kgMR6CdHln3wGiekaUKrHf4uIr8TWCdMFs6XjiJaoz5jtAXnmf/qTjQWVDdwiUNU2zEYaLQjr76p8oputATeVptZ5RaTfoK66UmU4unljaIsCTygJ0uaX4nUF6eyph1nxXM1Er7Xc7Rfxgibw5HVdk8Yne/AYIS6d+jRJ8pCtMLjVXgohd1NwPn+e8Z//QMTgQrqiY3V2wAAAABJRU5ErkJggg=="}},7970:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/flask-cdn-container-app.8b57d89.478.png 478w",images:[{path:a.p+"assets/ideal-img/flask-cdn-container-app.8b57d89.478.png",width:478,height:192}],src:a.p+"assets/ideal-img/flask-cdn-container-app.8b57d89.478.png",toString:function(){return a.p+"assets/ideal-img/flask-cdn-container-app.8b57d89.478.png"},placeholder:void 0,width:478,height:192},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAfklEQVQImU3KwQqCQBjE8X3/1+gRuofdQqFEozoE0SWVBd1d141y/f5hgfSDgRkYJQIxCrP06ljt+m+P04SILFHC7zQbXoE2+GX/U3EU9tsHIQzcLoE884T4JjnfMdZhjUFrjXLWk6xPmK6lOBryrOMZRzbpgbqqqJuGoiz5AGXzl8pV7B4zAAAAAElFTkSuQmCC"}},3500:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/flask-db-quiz-example.c7134d2.314.png 314w",images:[{path:a.p+"assets/ideal-img/flask-db-quiz-example.c7134d2.314.png",width:314,height:193}],src:a.p+"assets/ideal-img/flask-db-quiz-example.c7134d2.314.png",toString:function(){return a.p+"assets/ideal-img/flask-db-quiz-example.c7134d2.314.png"},placeholder:void 0,width:314,height:193},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQImTWPzWrCQACE9wn7Kgp9gYJXj+KxSO9e7EEPgh4KpcVCoaCIYKJJ/N260aCJm+x+baL5YC4zw8CI1+EHtdaAHJ3EbKKYzjxke7qQXROeehOan1vE+9cPD40xb7MQTMJip2h/u6zkgfh8pvoyot73EFJKjkqilCpWo/iCs//FaI01hpnr4S59RJGWWHh2Ih7HB7LSuCOstRibGxY/1FS6HkN3jzUZeVaqKBZHtMbzA6aOz269ZhUEpGl62/0v/gHplt7v5aP9lgAAAABJRU5ErkJggg=="}},2748:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/flask-surveys-container-app.7595fb6.478.png 478w",images:[{path:a.p+"assets/ideal-img/flask-surveys-container-app.7595fb6.478.png",width:478,height:227}],src:a.p+"assets/ideal-img/flask-surveys-container-app.7595fb6.478.png",toString:function(){return a.p+"assets/ideal-img/flask-surveys-container-app.7595fb6.478.png"},placeholder:void 0,width:478,height:227},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVQImUWKy4rCQBRE8/8f4H4WLnXnym0QXCgDioImceEDJ21HlI72w3uPGJApqOJQnCwFZfSzxrk7v9Mn49EdJ4n+ZImxFlPXVFVF1tgri1lJYy2bylBsL/gQWK7W1H9nrG0oipIsxgAoKSS8b7vGFBEVRIRvss+8VKjNgNYfu7OX75idHh2L6L+oKpSHnFtreDjHMF8x3+x5Rd9JqsoboZi8UFoW7eYAAAAASUVORK5CYII="}},5283:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/jupyter-mercury-aca.471ed07.640.png 640w,"+a.p+"assets/ideal-img/jupyter-mercury-aca.bb3a443.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/jupyter-mercury-aca.471ed07.640.png",width:640,height:237},{path:a.p+"assets/ideal-img/jupyter-mercury-aca.bb3a443.1030.png",width:1030,height:381}],src:a.p+"assets/ideal-img/jupyter-mercury-aca.471ed07.640.png",toString:function(){return a.p+"assets/ideal-img/jupyter-mercury-aca.471ed07.640.png"},placeholder:void 0,width:640,height:237},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAADCAYAAACqPZ51AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAXklEQVQImU3IMQrDMBAFUd3/SLlAujQqFCLJ69qVMVH0Vw5MwMHggddMuN2fPGLmlSsxRlJKlFwotTKZYTYz2UxY3qAvR+qd3hr7GP9xKexDdAm5s60rn9aQhJ/cDz+yQXG/UWJieAAAAABJRU5ErkJggg=="}},8580:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.8767921.640.png 640w,"+a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.da7f211.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.8767921.640.png",width:640,height:465},{path:a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.da7f211.1030.png",width:1030,height:749}],src:a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.8767921.640.png",toString:function(){return a.p+"assets/ideal-img/msdocs-django-postgresql-sample-app.8767921.640.png"},placeholder:void 0,width:640,height:465},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAqklEQVQYlX2PyUoEQRBE6/9/TXDBkzDiQcQextburq0rl3pD9XjxYkASEJm8IENV4fkyMfT0UZmTUppy/74e2Us2FjGCqhJzZPiyZVoTSiks64absuZIbfs4NKbvhJlRVFA3dnFev+QgbrOg4oRcdx5OE3T4SYmmQqrC3duodi6fkVoaofcO3XF33Ozw3h26MnbqgrkRBr4fJX/lv+HjOTFXuRH/my3eHrwCOh8RGk4a29AAAAAASUVORK5CYII="}},7845:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.a654e00.640.png 640w,"+a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.55230d2.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.a654e00.640.png",width:640,height:351},{path:a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.55230d2.1030.png",width:1030,height:565}],src:a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.a654e00.640.png",toString:function(){return a.p+"assets/ideal-img/msdocs-flask-postgresql-sample-app.a654e00.640.png"},placeholder:void 0,width:640,height:351},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA2ElEQVQImQHNADL/AGaYuyBkm8IuJXarAEGZ7QB8q9UdZKHaNP//vwN+vrI4rc7GCaHKwAAAm66yD4yfohLIf0cDXqPiFpKsxhCUe2IH5+fwBZ6IvhfAuM8GtqzKAACMwcgPc7C3Ev//DQFHkNI3a6XcEz6L2AC1wtAFnXzHI8Gs0wi6oNEAAJeLhwaMfHkGkqSxA44/AAWepaoQh561D////wJyt7wYn8rPB4/GzAAAmY+MAIl8eQD///8AT2+MAHqXsSBUir0p////BE+nzzCg0doJjMrXADARZLv8zAzQAAAAAElFTkSuQmCC"}},167:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/pycon-django.54cd480.640.png 640w,"+a.p+"assets/ideal-img/pycon-django.ecd35fa.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/pycon-django.54cd480.640.png",width:640,height:312},{path:a.p+"assets/ideal-img/pycon-django.ecd35fa.1030.png",width:1030,height:501}],src:a.p+"assets/ideal-img/pycon-django.54cd480.640.png",toString:function(){return a.p+"assets/ideal-img/pycon-django.54cd480.640.png"},placeholder:void 0,width:640,height:312},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAtklEQVQImQXBPU/CQACA4fvxzCzuTM4mOsBWC2IMJARCsGo80l6vCqVfV1ruYiN9eR4RZS21KWltx0dcow4n6sZRXa4UpsHZC33fI1SS8i0lVZFjvBHp05Di7Z6vvGK3j1BhiHMOcfot0InGlBlX/w73OCBdPxC2BqkUP1rjrEVklSFUMW1zJikt57+e7h+m7wf8jUTHEXlpENtjh7/0WASfjF8WjCbPzHYxq1cfb75kHkimgeIGdTO0tcca0vcAAAAASUVORK5CYII="}},8535:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/react-component-toolkit-openai.601cb28.640.png 640w,"+a.p+"assets/ideal-img/react-component-toolkit-openai.dc750d3.997.png 997w",images:[{path:a.p+"assets/ideal-img/react-component-toolkit-openai.601cb28.640.png",width:640,height:480},{path:a.p+"assets/ideal-img/react-component-toolkit-openai.dc750d3.997.png",width:997,height:747}],src:a.p+"assets/ideal-img/react-component-toolkit-openai.601cb28.640.png",toString:function(){return a.p+"assets/ideal-img/react-component-toolkit-openai.601cb28.640.png"},placeholder:void 0,width:640,height:480},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAu0lEQVQYlTWPwU7DMBBE/f+fwh/AiQ/gWFBVQOICaps2JW7ieL27ftRpGGk0l1ntm1BrpWkNng8jp5Q59BNxzLgb7k64lype65Jv3UCaMy/HyLa/ghbMjNDazXXNf713F/bXiepGUSe0Aqx/AZGCqrHdbBj6M6LO134gJDXGecbNsCJosxo5C1LakSIihMefyOfxwqjCw+6Xp9eOMkWGGEkpUUpZ2EPMDVb5jsLHeSamsnC1AcvIxn8r/gGMMQ+Z6UU1WgAAAABJRU5ErkJggg=="}},4706:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/reliable-web-app-for-dotnet.a505a09.640.png 640w,"+a.p+"assets/ideal-img/reliable-web-app-for-dotnet.7dd5819.946.png 946w",images:[{path:a.p+"assets/ideal-img/reliable-web-app-for-dotnet.a505a09.640.png",width:640,height:470},{path:a.p+"assets/ideal-img/reliable-web-app-for-dotnet.7dd5819.946.png",width:946,height:694}],src:a.p+"assets/ideal-img/reliable-web-app-for-dotnet.a505a09.640.png",toString:function(){return a.p+"assets/ideal-img/reliable-web-app-for-dotnet.a505a09.640.png"},placeholder:void 0,width:640,height:470},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAIAAAC+zks0AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAsElEQVQImSXOS07DMBAAUN//WGy6ahFqWRQJCZomkhN/M/F4/JtBqO8ETzHLE3LtPAYDccjywizCokIukDAXEpEvfTk/3qgLEbXeRES1wYvHsBes4+P3crqfWGQyB2LzmFRt47nBusYQ9Oz1t9W9y0OD2bxxsyp9UGkRdx1s6Z2Za+dE5FPUwamIZTU2QLousOcqIu7IxhgH+X2KKlFx1kwbfC47lv8OJHTW/KzHbY5/wwnGzLB/lRoAAAAASUVORK5CYII="}},746:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/rock-paper-orleans.0b84b6a.640.png 640w,"+a.p+"assets/ideal-img/rock-paper-orleans.d2e133d.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/rock-paper-orleans.0b84b6a.640.png",width:640,height:600},{path:a.p+"assets/ideal-img/rock-paper-orleans.d2e133d.1030.png",width:1030,height:965}],src:a.p+"assets/ideal-img/rock-paper-orleans.0b84b6a.640.png",toString:function(){return a.p+"assets/ideal-img/rock-paper-orleans.0b84b6a.640.png"},placeholder:void 0,width:640,height:600},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAIAAACExCpEAAAACXBIWXMAAAsTAAALEwEAmpwYAAABGklEQVQYlQXBX0vCQAAA8PscQa89pNn+3Ka73W3e7jZ0mzV1m7KK3Sz8Q1pKRAQqBtFD0Fv1EERIfZA+Qh+p3w840XmQzv3+nPkFQT2E+shMmD9otMYsLICH46f84334tVq8ddfb7HbbFC+FeD5JVpTngBl8cyZ+4kJ0E20zTe7GdHgd9Se2xTA9Avs67ezB5U5JlgkPbS9FLBwcn06RYdWsEFR1Z4Tc+6rL6p6WtU3Rwskozm44jZAdgU7N/W3nf+l4kfV2P5cH23V5cpUnj2n6QN0C6BqNDB4jzzZZpekrQSARRzcaEBLDCkAF2mXFLCmmJGP1EEtlrY4zIV4vLr95OAMSrEOVQNVSVaJolgyJgZiJmdNb8HT2D4S1U+HRVx7WAAAAAElFTkSuQmCC"}},5515:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.35a1a05.640.jpg 640w,"+a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.611c032.1030.jpg 1030w",images:[{path:a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.35a1a05.640.jpg",width:640,height:360},{path:a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.611c032.1030.jpg",width:1030,height:579}],src:a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.35a1a05.640.jpg",toString:function(){return a.p+"assets/ideal-img/servicebus-csharp-function-dataverse.35a1a05.640.jpg"},placeholder:void 0,width:640,height:360},preSrc:"data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAGAAoDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQI/8QAGhABAAMAAwAAAAAAAAAAAAAAAQARIQISI//EABQBAQAAAAAAAAAAAAAAAAAAAAH/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDTnR9K5U7qWDeNSnXRyIiH/9k="}},8717:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/servicebus-dotnet-functionapp.a17a902.640.png 640w,"+a.p+"assets/ideal-img/servicebus-dotnet-functionapp.6d41bed.690.png 690w",images:[{path:a.p+"assets/ideal-img/servicebus-dotnet-functionapp.a17a902.640.png",width:640,height:544},{path:a.p+"assets/ideal-img/servicebus-dotnet-functionapp.6d41bed.690.png",width:690,height:586}],src:a.p+"assets/ideal-img/servicebus-dotnet-functionapp.a17a902.640.png",toString:function(){return a.p+"assets/ideal-img/servicebus-dotnet-functionapp.a17a902.640.png"},placeholder:void 0,width:640,height:544},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAwUlEQVQYlU3PcW/CIBCHYb7/p9OtW5uZZZKqMRWqta4FBvcuSLuM3IU/ePK7Q4kIPMvy+P5Af+2533ckdiSZWI/KsFjLY9pgTIWxL9jrlhAMzo0kCQXmxCQ9s98SqUnUuPBOf604Hl6Jqf8PLbPfYGzNxbzhfIUPliQeIS6QDAdcaOhtS3fWRPlEZH6+ZaKEdceBcTxi7QH/c0LEUfYvrTIpUHO71bS6Iabm78frRLXcOH/i0mm6c8sw7BGmErAk/gK48jVr4mh51wAAAABJRU5ErkJggg=="}},9224:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/simple-fastapi-container.bfa4069.371.png 371w",images:[{path:a.p+"assets/ideal-img/simple-fastapi-container.bfa4069.371.png",width:371,height:219}],src:a.p+"assets/ideal-img/simple-fastapi-container.bfa4069.371.png",toString:function(){return a.p+"assets/ideal-img/simple-fastapi-container.bfa4069.371.png"},placeholder:void 0,width:371,height:219},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAtklEQVQImV2M22oCMQBE8/+f0LcW+gsVC7YFXetDYa0FX1YXL0/uJpvEeE1MjrgWCh0YmGEOIyAxfFmRdWaA53u04/lR4+yJab3l4T1HaY0I8cRnd8Go9wvmho/XhnD0rM2Ot/6Q9XKBqGuJthVmq9CNRjvNxlT4cGbvHEpKrLUI/ite8AfbRh8CxhhijIiUEnfHdjTui6p+IqRAOS/JsgFFUfw93uCbNk3Jz6zXdikl+XiCUoorD0fhE/xCxuMAAAAASUVORK5CYII="}},6742:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/simple-flask-api-container.bfa4069.371.png 371w",images:[{path:a.p+"assets/ideal-img/simple-flask-api-container.bfa4069.371.png",width:371,height:219}],src:a.p+"assets/ideal-img/simple-flask-api-container.bfa4069.371.png",toString:function(){return a.p+"assets/ideal-img/simple-flask-api-container.bfa4069.371.png"},placeholder:void 0,width:371,height:219},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAtklEQVQImV2M22oCMQBE8/+f0LcW+gsVC7YFXetDYa0FX1YXL0/uJpvEeE1MjrgWCh0YmGEOIyAxfFmRdWaA53u04/lR4+yJab3l4T1HaY0I8cRnd8Go9wvmho/XhnD0rM2Ot/6Q9XKBqGuJthVmq9CNRjvNxlT4cGbvHEpKrLUI/ite8AfbRh8CxhhijIiUEnfHdjTui6p+IqRAOS/JsgFFUfw93uCbNk3Jz6zXdikl+XiCUoorD0fhE/xCxuMAAAAASUVORK5CYII="}},5062:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/simple-flask-azd.5f4fe8b.640.png 640w,"+a.p+"assets/ideal-img/simple-flask-azd.4921792.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/simple-flask-azd.5f4fe8b.640.png",width:640,height:384},{path:a.p+"assets/ideal-img/simple-flask-azd.4921792.1030.png",width:1030,height:618}],src:a.p+"assets/ideal-img/simple-flask-azd.5f4fe8b.640.png",toString:function(){return a.p+"assets/ideal-img/simple-flask-azd.5f4fe8b.640.png"},placeholder:void 0,width:640,height:384},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAkElEQVQImXXK3QqCMABAYa9LcdPNzRsrcPMnV2QF0fu/14lpBBFdnJvDlwghKIoSH84477HGoG3NNN9wbYtSimiSBZYl/fXOMI5UWqNsTXg8V6j1CqWUSClItxtEnrM/7GiaBily0ixbUDRvGCuotOIUerzvsNZ+0BeMU+mKIVyYpiPGmH8wR2lDF2a8cz/wBfbDTL6QxVQaAAAAAElFTkSuQmCC"}},6638:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/simplechat-azureopenai.bde6248.541.png 541w",images:[{path:a.p+"assets/ideal-img/simplechat-azureopenai.bde6248.541.png",width:541,height:251}],src:a.p+"assets/ideal-img/simplechat-azureopenai.bde6248.541.png",toString:function(){return a.p+"assets/ideal-img/simplechat-azureopenai.bde6248.541.png"},placeholder:void 0,width:541,height:251},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAi0lEQVQImSXK3QqCMABAYd//IbrrNSq6CCII7M+ySMWSfrRma7Op2wnrg3N3PHA4a+nUKkSpO7Z19KYlfb8mWC8ZjsZ4zrnf1MmfV166pGlawrNgcxLkj39eY2G/KpCy4ngwRLGhwRFcBEpr5FsjVYWnP4bZICK/FfhzwS6QGByTxZYsy0jTlDhJ+AJWcJYduXgAVgAAAABJRU5ErkJggg=="}},705:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/spring-petclinic-java-mysql.1652075.640.png 640w,"+a.p+"assets/ideal-img/spring-petclinic-java-mysql.0148652.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/spring-petclinic-java-mysql.1652075.640.png",width:640,height:410},{path:a.p+"assets/ideal-img/spring-petclinic-java-mysql.0148652.1030.png",width:1030,height:659}],src:a.p+"assets/ideal-img/spring-petclinic-java-mysql.1652075.640.png",toString:function(){return a.p+"assets/ideal-img/spring-petclinic-java-mysql.1652075.640.png"},placeholder:void 0,width:640,height:410},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApUlEQVQImR2MSw6CMBQAe30FkU+MegKWJvwKW7YmGlkb/rSvtH2tNzAwq0kmGXK9RPdbFETHk3PwPTeuw7iOQt8LfNc/O+T1fibJo6K0KouKFmVGizQvaZFnadN8CJfzAlPfdZxzxtiq1rb9LsuMqBH1lmc+DsPAGQPgUsqubQHAGGOtJaDYLMZpHAFASYWIQ98LIX47xFhE1FpvK66WVQncHO3OH9zSlKuLOI2+AAAAAElFTkSuQmCC"}},2797:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/staticmaps-function.550f51d.640.png 640w,"+a.p+"assets/ideal-img/staticmaps-function.f97f1fe.652.png 652w",images:[{path:a.p+"assets/ideal-img/staticmaps-function.550f51d.640.png",width:640,height:571},{path:a.p+"assets/ideal-img/staticmaps-function.f97f1fe.652.png",width:652,height:582}],src:a.p+"assets/ideal-img/staticmaps-function.550f51d.640.png",toString:function(){return a.p+"assets/ideal-img/staticmaps-function.550f51d.640.png"},placeholder:void 0,width:640,height:571},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA/klEQVQYlS2O3UrDQBCF95kFr/VhxHcQCoJeaKuC0lSshdKf2Jqftklskt3s7nySbedi5hz4zsyo2giTn5R1XmI9NMaxL2q+vmfMFzG7vMB0gopbz7j2RI3naBxlB9v4gWTziAOuh/cMVnNUZoT3Tc1L1tJYz5+DLIvIyxgD3Ewj3tIEZR0YJ1gneE+YrYa2v9BYQgmo0M/Oy0nfzbZcDj4YxbvgnfgT2AMigj+HBgfPxaLlteq/7AlBmfN250FbYV+WZEVFZYTGeKR/xQpqW2punz9Z7aoQmIxXTCcx+I51fmC0TjFaoxaF5uppSZScwDzR7JMu6ChtGf4eg/4HEsRVxUxwbGcAAAAASUVORK5CYII="}},8053:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/svc-invoke-dapr.b1e0c89.640.png 640w,"+a.p+"assets/ideal-img/svc-invoke-dapr.b382267.945.png 945w",images:[{path:a.p+"assets/ideal-img/svc-invoke-dapr.b1e0c89.640.png",width:640,height:187},{path:a.p+"assets/ideal-img/svc-invoke-dapr.b382267.945.png",width:945,height:276}],src:a.p+"assets/ideal-img/svc-invoke-dapr.b1e0c89.640.png",toString:function(){return a.p+"assets/ideal-img/svc-invoke-dapr.b1e0c89.640.png"},placeholder:void 0,width:640,height:187},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAADCAYAAACqPZ51AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAaUlEQVQImT3GQQ7CIBBAUe5/Cbe69RrG9ARGjdpUhTrA0JYA/a70rZ4J0jjfMrlUBjfhxgmRmSUXklZOl0xtK6Y7JPZbx6P33F+Rax8YrfK2ge4o7DaWpAXjdcFK4qet//LxM0+nxJj5AjPiccGJK40wAAAAAElFTkSuQmCC"}},9134:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/test.61177e3.624.png 624w",images:[{path:a.p+"assets/ideal-img/test.61177e3.624.png",width:624,height:280}],src:a.p+"assets/ideal-img/test.61177e3.624.png",toString:function(){return a.p+"assets/ideal-img/test.61177e3.624.png"},placeholder:void 0,width:624,height:280},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiklEQVQImWNQjp38Xydl+n/dlBn/9VIhWDd1xn/9tJn/dVIgtErclP8MIIWOxYv++9Wu/O9StuS/Q/Hi/44li/+7lC0F893Kl/5Xi5/6nwGkWjFm0n/VuCn/I5pW/k9oXw3G8W2rwabLR02EmAgiQKaC6ILJW/83zd/9v2H+7v81s3eCrVWKgcgBAG5ZWwjFPc+3AAAAAElFTkSuQmCC"}},5340:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-csharp-sql-swa-func.6e08403.640.png 640w,"+a.p+"assets/ideal-img/todo-csharp-sql-swa-func.f3f4965.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-csharp-sql-swa-func.6e08403.640.png",width:640,height:581},{path:a.p+"assets/ideal-img/todo-csharp-sql-swa-func.f3f4965.1030.png",width:1030,height:936}],src:a.p+"assets/ideal-img/todo-csharp-sql-swa-func.6e08403.640.png",toString:function(){return a.p+"assets/ideal-img/todo-csharp-sql-swa-func.6e08403.640.png"},placeholder:void 0,width:640,height:581},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAIAAACExCpEAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxklEQVQYlRXPS05DMQwF0Ox/OWyAJTBiiiqhImhpPu/ZsRPb11XHZ3TKOe1R22RhDdlQTzGIpXpOQ6mMOs6v1onncmTmQcfv7TL4u8sqp8KBqm7I7UCEbm90jvkYauUQ3B+ttkoLL0ZsM93mmbRR6szW5f3t72AfrGZ7mX/+jEsVsixdwAvXq5warBbhnll5dVZyFNIgnuyxIi0Q4duMmAxJhnIoeNnHXdShjgzX7dc+/2kdhjIUXfx2Spcge73PnVW8qbcVT4pmA/9Oo8jrAAAAAElFTkSuQmCC"}},5373:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-csharp-sql.31eed52.640.png 640w,"+a.p+"assets/ideal-img/todo-csharp-sql.a0922ed.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-csharp-sql.31eed52.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-csharp-sql.a0922ed.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-csharp-sql.31eed52.640.png",toString:function(){return a.p+"assets/ideal-img/todo-csharp-sql.31eed52.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAyklEQVQYlUWQy27FMAhE8/8/1m133XR1F30kzcOOjR1sOJVzVRVpBIjRMDAlUfZ9I8mFKBR1avM7y+g75OZMh8C8HvwsM2fp1MYdWYR1+yKVhaPoIDpZnUftJH0quXWiVLYYOPLM/ke8hrzqvXLAzbi081gzi8CpzhQKt799yVR1UlFUL65mvH0E3ufIOTzG6pzSeH1ZOXMn5oq1hlT1PURPagQ1n3YZ1znqT6+j7mZIMz5D5TtWP4biGKTrH9IcNR8v8VNtgNTMfwEKjjbsfUPBnAAAAABJRU5ErkJggg=="}},8897:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-csharp.0c9f111.640.png 640w,"+a.p+"assets/ideal-img/todo-csharp.c356bf8.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-csharp.0c9f111.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-csharp.c356bf8.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-csharp.0c9f111.640.png",toString:function(){return a.p+"assets/ideal-img/todo-csharp.0c9f111.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAx0lEQVQYlUWQa27EMAiEc/+L9W/PULVqm8c68QPb2OZbOauqSCNAjIaBJYri3IMoFVHIapRmd5bZd0jNWE6B9TjZt5WQO6VxRxLhcD/EvHFmnUQjqfFROlFfSjY6Xgr7eeHiivsj1imveq+cMBvk2jhCxlfwaixX5vbntkRRI2al6fTb+XwEvlzkmkRfjCCN97eDkBo+FXprSFHbnbdQO5cOW5zM6wy1l9dZ9zGQNvi+Cr+h2DkV5yDWf0gzdNh8iQUdE8Q27AkkbzcWZ1ml+AAAAABJRU5ErkJggg=="}},2254:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-java-mongo-aca.32dc947.640.png 640w,"+a.p+"assets/ideal-img/todo-java-mongo-aca.2b7e08a.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-java-mongo-aca.32dc947.640.png",width:640,height:568},{path:a.p+"assets/ideal-img/todo-java-mongo-aca.2b7e08a.1030.png",width:1030,height:913}],src:a.p+"assets/ideal-img/todo-java-mongo-aca.32dc947.640.png",toString:function(){return a.p+"assets/ideal-img/todo-java-mongo-aca.32dc947.640.png"},placeholder:void 0,width:640,height:568},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA3klEQVQYlS2QC2rEMAxEc//L9QoLLTS7m8SJ17Il+fNKkgoGDULME5pSqaxbQKSQrZFtoHVQ/BSUBlIHU9SBZOPrZ+HxCrQ2OEuysKy/pPJmL870KQ31zjMWtmRXWq0NUSN8Int6cqgzJe28V2Gen7yWhUOc3jvqlZid0uHjg+nIDbXB7IP9/zZzJ6vxWBPfQdi13egolSVEYjbEBu6O1U5So9TGYZ0pWadUCGGjqHKIYWYXet4OQq7EE30mRIVdKlE7R2mYV8Q7W65s2djPRW/336yBtrMPrN/+Ur9nf4fCXdc8wtGyAAAAAElFTkSuQmCC"}},238:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-java-mongo.97e5a3c.640.png 640w,"+a.p+"assets/ideal-img/todo-java-mongo.3311e57.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-java-mongo.97e5a3c.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-java-mongo.3311e57.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-java-mongo.97e5a3c.640.png",toString:function(){return a.p+"assets/ideal-img/todo-java-mongo.97e5a3c.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAwUlEQVQYlUWQgWrGIAyE+/6PuQ02+re1Vo0aNd/Qn7HAkYQcuVy2KIpzF1EqopDVKM1Wltl3SM3YboH9vDleOyF3SmNFEuF0P8T84s46iUZS46N0or432eg8UjhuzxV33B+xdoi1LckJs0GunTNkHoVHjc1nSLkiKS5SzEpTJZXG1xn4vAKu9Ek0pDTO60LqwMfM6A0plcN5ntLxdbA5me7e8vPWWfcxyG3w7Qt7qPjpeg5i/Yc0Q4etlwQdC7ENfgFLzTdwL6fpBgAAAABJRU5ErkJggg=="}},1893:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-node-aca.e5b7722.640.png 640w,"+a.p+"assets/ideal-img/todo-node-aca.d6fff0c.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-node-aca.e5b7722.640.png",width:640,height:568},{path:a.p+"assets/ideal-img/todo-node-aca.d6fff0c.1030.png",width:1030,height:913}],src:a.p+"assets/ideal-img/todo-node-aca.e5b7722.640.png",toString:function(){return a.p+"assets/ideal-img/todo-node-aca.e5b7722.640.png"},placeholder:void 0,width:640,height:568},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA5ElEQVQYlSWOCWrDQBRDff/L9QqBFhon3sae5S8z/xWnAiGQQNKUm7NuO6U0qnaqBuJBs5vQOhQPplOCUpWvn4XHvNN7cKPUwrL+ktuboxnT1Tpig/lsbFk/be6dIsp+nRx5JokxZRm818LzOfNaVlIxxhiIOakabcBlwZRqRzR42mD38fmmZlRRHmvmey8c0v+nU3G2lCniFA3MDPVBFqV5J+lgyjqiGbFsc7yXV1zNQ0RDzOO5pdirx2kR091wCqxXY72EUwZqTrHBVp2tKsf90XqEeIR2QgehPT4qt39z3FnEH25fXY14p6vpAAAAAElFTkSuQmCC"}},8129:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-nodejs-mongo-aks.f02a5df.640.png 640w,"+a.p+"assets/ideal-img/todo-nodejs-mongo-aks.633aded.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-nodejs-mongo-aks.f02a5df.640.png",width:640,height:989},{path:a.p+"assets/ideal-img/todo-nodejs-mongo-aks.633aded.1030.png",width:1030,height:1592}],src:a.p+"assets/ideal-img/todo-nodejs-mongo-aks.f02a5df.640.png",toString:function(){return a.p+"assets/ideal-img/todo-nodejs-mongo-aks.f02a5df.640.png"},placeholder:void 0,width:640,height:989},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAPCAYAAADd/14OAAAACXBIWXMAAAsTAAALEwEAmpwYAAABYElEQVQokT2Sy4ocMQxF6/8/LstAIIssZjoVuqvKb1ny40xcTSIQyCC4uud6S7VzXI7LJ2KuiA3agGqDoh3tkG2yBRmoNr59Xvx6BvqAOSHmxJ/nBy59cImyJenE3LhCwcVC1kbvHbFOLJUkgaCdLdbBcQr76+CKiZCNPgZSlVcQYoOwpH1pVJvsNnEdxEDVEG18uMLnlXC1sUXp+Nw4z4u0pHRgZlTrpCJonwQbbFkn0sBFR8oZXwxVpVrj9xk4kuKXdLGJr5NrGVp9n9LIbeJ14MTei1Ealwscp7t5+lzx0nHFcKUTDOKSruv43vl+eP7VBKo2Hu4iSMXXwSY2YQ5yrTdol58c6XGns5aSKF7aMgO+KPu+c7yed5QuK7VxmywGoXY2V+adbxbhx8NRRGit8fP5TmlhOrKxOZlYhzFhPwLaOmMM9jMg1dA2uKS/OYb6RrR+SVhvXTP/5/gXzxfsSkZmq5CHYgAAAABJRU5ErkJggg=="}},82:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.eea626a.640.png 640w,"+a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.b70b081.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.eea626a.640.png",width:640,height:655},{path:a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.b70b081.1030.png",width:1030,height:1054}],src:a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.eea626a.640.png",toString:function(){return a.p+"assets/ideal-img/todo-nodejs-mongo-swa-func.eea626a.640.png"},placeholder:void 0,width:640,height:655},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA9UlEQVQYlU2QXW7cQAyDff+z9QZtgwJBgGbheL3zp5mRhl9gP0UAIT0QpMgtteBzPyg5U9pguIgFfS7acEZAnWI7qjiy8fYq5GY38ZpUC4/9g7O887TBlkz4gi8LenATVzg2g2yTbJk0gq102I8nx75ThpghtBYRi+l+q1cX29lE65O//35zFiO1ifuk2uD/WdjrJF0/vkw0hzKc3IPcxm09QjyS8TgLZ7+tRW2dPgKbwkOstfAIejeuaMXXHUatd/3aq9qUhksrXDamPvakzzyUXNpOEy9b/Dkqz+a0S3WJ4rqbOMw5xmLzJV1A3PsnrgIuXPc3YjGFho6d2K8AAAAASUVORK5CYII="}},5979:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.229ffc8.640.png 640w,"+a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.ca7b5de.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.229ffc8.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.ca7b5de.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.229ffc8.640.png",toString:function(){return a.p+"assets/ideal-img/todo-nodejs-mongo-terraform.229ffc8.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQYlTWQjW7EMAiD+/5PuV9t6rWXpk1DAgnfKZmGZBlkCwuWlJUQnqRcyQqiTjGfnMfc4DZnOTKs+8H2WLmkUYxZd87s4ZckDw7RYXRudT5KI+nfJu+NMxe2I/JMK+HfWMf6ajNywL0jtbFfwqlwqrNEgVsqMYYpJlFMlbsYX/vF5/MilDaMI67z/v1GTDIjuym5VN9C5CyNWLsvIY/rHHPIxuxb74h1fmLx9aoex9VDSHWgTxZztPt4iV/aGUjW/QUu4zczUOLsjQAAAABJRU5ErkJggg=="}},5949:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-nodejs-mongo.229ffc8.640.png 640w,"+a.p+"assets/ideal-img/todo-nodejs-mongo.ca7b5de.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-nodejs-mongo.229ffc8.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-nodejs-mongo.ca7b5de.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-nodejs-mongo.229ffc8.640.png",toString:function(){return a.p+"assets/ideal-img/todo-nodejs-mongo.229ffc8.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQYlTWQjW7EMAiD+/5PuV9t6rWXpk1DAgnfKZmGZBlkCwuWlJUQnqRcyQqiTjGfnMfc4DZnOTKs+8H2WLmkUYxZd87s4ZckDw7RYXRudT5KI+nfJu+NMxe2I/JMK+HfWMf6ajNywL0jtbFfwqlwqrNEgVsqMYYpJlFMlbsYX/vF5/MilDaMI67z/v1GTDIjuym5VN9C5CyNWLsvIY/rHHPIxuxb74h1fmLx9aoex9VDSHWgTxZztPt4iV/aGUjW/QUu4zczUOLsjQAAAABJRU5ErkJggg=="}},2395:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-python-aca.3e37a03.640.png 640w,"+a.p+"assets/ideal-img/todo-python-aca.55ea324.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-python-aca.3e37a03.640.png",width:640,height:568},{path:a.p+"assets/ideal-img/todo-python-aca.55ea324.1030.png",width:1030,height:913}],src:a.p+"assets/ideal-img/todo-python-aca.3e37a03.640.png",toString:function(){return a.p+"assets/ideal-img/todo-python-aca.3e37a03.640.png"},placeholder:void 0,width:640,height:568},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA5ElEQVQYlSWOW2rEQAwE5/6XyxUWEoi9a3v8mKekUQU7DUV/NBQdUlXWLZJzpXSjdKepU+UGqkFWJ5zNyaXz9bPwmiNmzp1cMsv6S6of9iqEqxpNBvNZ2VJ/bKpGbp14nexp5mhCSG3wWTPTNPNeVo4sjDFoohxFqAMuccJRjNadSQa7judbF6G0zmtNfMfM3oxwVuUqRtxPrqpkARGh6yC1TlXj6INQBX+n5ktJfl6bL/vlIuJN1Kft8FjUT3EPRZytGEsWYm7ELIje5sFWlK109vujmHs3XIynHwbezP8Z9+7+B21KXYugmxCqAAAAAElFTkSuQmCC"}},8285:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-python-mongo-swa-func.97ed1b8.640.png 640w,"+a.p+"assets/ideal-img/todo-python-mongo-swa-func.39b961b.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-python-mongo-swa-func.97ed1b8.640.png",width:640,height:655},{path:a.p+"assets/ideal-img/todo-python-mongo-swa-func.39b961b.1030.png",width:1030,height:1054}],src:a.p+"assets/ideal-img/todo-python-mongo-swa-func.97ed1b8.640.png",toString:function(){return a.p+"assets/ideal-img/todo-python-mongo-swa-func.97ed1b8.640.png"},placeholder:void 0,width:640,height:655},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA8klEQVQYlU2QSU7FQAxEc/+zcQTEBiH4n5ChJ7fbbT+UiAWWSvai5BqW1CaPdaPkTGmKWjAd+nCaGjqhjmDZarBl4e0s5CY38ZpUC8/1g6O8s4uyJAmGw49MunETfRoyJlkGWTJJJ0vpwb4fbOtKVRgzCHfmdIbZ/b1asOwt+DwzW0587wepKmaDKsrXUVjrIF0eTwnWZqQ+SLWSm97SOoNnEp5H4eh/0iKK6kQMbAbujs1J78IVrZjfYaJJj5e1RhseahE+LURHfKwpHlkjWcRySHCK87pV9ma0EZgHxeJuYhNjU2cxj7hAcO//uAq4cN2/WJSFdyhTO0oAAAAASUVORK5CYII="}},1144:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-python-terraform.b6422fb.640.png 640w,"+a.p+"assets/ideal-img/todo-python-terraform.edce7e4.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-python-terraform.b6422fb.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-python-terraform.edce7e4.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-python-terraform.b6422fb.640.png",toString:function(){return a.p+"assets/ideal-img/todo-python-terraform.b6422fb.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQYlTWQgYrEIAxE+/+feXewR7fWWjVq1LzDHhsYQsgjw2RLonh/kqQhCkWN2u3psuYBuRvbJbC7i+O9E8ugdp7KIjj/SypvrqILNLIaX3WQ9P+SzcEtleMKnGnHf0AdkKrSBo+t2aS0gYuFW+FWYwsFrlzIkpGmpNLoquTa+XGR7zPi61ig8boTLife3hGSMEcn12aHD9x1ENq0zctKyWMvHUSNMSelT16h2h6bhZV6LVL7aAGGTlsvsaiTpdSn/QEsljctxJf1cAAAAABJRU5ErkJggg=="}},6148:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/todo-python.b6422fb.640.png 640w,"+a.p+"assets/ideal-img/todo-python.edce7e4.1030.png 1030w",images:[{path:a.p+"assets/ideal-img/todo-python.b6422fb.640.png",width:640,height:496},{path:a.p+"assets/ideal-img/todo-python.edce7e4.1030.png",width:1030,height:797}],src:a.p+"assets/ideal-img/todo-python.b6422fb.640.png",toString:function(){return a.p+"assets/ideal-img/todo-python.b6422fb.640.png"},placeholder:void 0,width:640,height:496},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxElEQVQYlTWQgYrEIAxE+/+feXewR7fWWjVq1LzDHhsYQsgjw2RLonh/kqQhCkWN2u3psuYBuRvbJbC7i+O9E8ugdp7KIjj/SypvrqILNLIaX3WQ9P+SzcEtleMKnGnHf0AdkKrSBo+t2aS0gYuFW+FWYwsFrlzIkpGmpNLoquTa+XGR7zPi61ig8boTLife3hGSMEcn12aHD9x1ENq0zctKyWMvHUSNMSelT16h2h6bhZV6LVL7aAGGTlsvsaiTpdSn/QEsljctxJf1cAAAAABJRU5ErkJggg=="}},2075:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>ee,prepareUserState:()=>W});var s=a(7294),i=a(3386),r=a(6010),o=a(7462);const n={svgIcon:"svgIcon_R3jO",small:"small_SUAn",medium:"medium_GxVq",large:"large_TyPU",primary:"primary_V8Cc",secondary:"secondary_WyIo",success:"success_lY5U",error:"error_eHdq",warning:"warning_IB04",inherit:"inherit_2ln5"};function p(e){const{svgClass:t,colorAttr:a,children:i,color:p="inherit",size:c="medium",viewBox:A="0 0 24 24",...l}=e;return s.createElement("svg",(0,o.Z)({viewBox:A,color:a,"aria-hidden":!0,className:(0,r.Z)(n.svgIcon,n[p],n[c],t)},l),i)}function c(e){return s.createElement(p,e,s.createElement("path",{d:"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"}))}var A=a(6775);function l(e,t){const a=[...e];return a.sort(((e,a)=>t(e)>t(a)?1:t(a)>t(e)?-1:0)),a}const d="checkboxLabel_pwqD",g="tags";function h(e){return new URLSearchParams(e).getAll(g)}function u(e,t){let{id:a,icon:i,label:r,tag:n,...p}=e;const c=(0,A.TH)(),l=(0,A.k6)(),[u,m]=(0,s.useState)(!1);(0,s.useEffect)((()=>{const e=h(c.search);m(e.includes(n))}),[n,c]);const b=(0,s.useCallback)((()=>{const e=function(e,t){const a=e.indexOf(t);if(-1===a)return e.concat(t);const s=[...e];return s.splice(a,1),s}(h(c.search),n),t=function(e,t){const a=new URLSearchParams(e);return a.delete(g),t.forEach((e=>a.append(g,e))),a.toString()}(c.search,e);l.push({...c,search:t,state:W()})}),[n,c,l]);return s.createElement(s.Fragment,null,s.createElement("input",(0,o.Z)({type:"checkbox",id:a,className:"screen-reader-only",onKeyDown:e=>{"Enter"===e.key&&b()},onFocus:e=>{var t;e.relatedTarget&&(null==(t=e.target.nextElementSibling)||t.dispatchEvent(new KeyboardEvent("focus")))},onBlur:e=>{var t;null==(t=e.target.nextElementSibling)||t.dispatchEvent(new KeyboardEvent("blur"))},onChange:b,checked:u},p)),s.createElement("label",{ref:t,htmlFor:a,className:d},r,i))}const m=s.forwardRef(u),b={checkboxLabel:"checkboxLabel_FmrE"},w="operator";function f(e){return new URLSearchParams(e).get(w)??"OR"}function v(){const e="showcase_filter_toggle",t=(0,A.TH)(),a=(0,A.k6)(),[i,o]=(0,s.useState)(!1);(0,s.useEffect)((()=>{o("AND"===f(t.search))}),[t]);const n=(0,s.useCallback)((()=>{o((e=>!e));const e=new URLSearchParams(t.search);e.delete(w),i||e.append(w,i?"OR":"AND"),a.push({...t,search:e.toString(),state:W()})}),[i,t,a]);return s.createElement("div",null,s.createElement("input",{type:"checkbox",id:e,className:"screen-reader-only","aria-label":"Toggle between or and and for the tags you selected",onChange:n,onKeyDown:e=>{"Enter"===e.key&&n()},checked:i}),s.createElement("label",{htmlFor:e,className:(0,r.Z)(b.checkboxLabel,"shadow--md")},s.createElement("span",{className:b.checkboxLabelOr},"OR"),s.createElement("span",{className:b.checkboxLabelAnd},"AND")))}var S=a(5944),C=a(3699);const E={showcaseCardImage:"showcaseCardImage_qZMA",showcaseCardHeader:"showcaseCardHeader_tfIV",showcaseCardTitle:"showcaseCardTitle_PRHG",svgIconFavorite:"svgIconFavorite_RKtI",showcaseCardSrcBtn:"showcaseCardSrcBtn_AI8i",showcaseCardBody:"showcaseCardBody_I0O5",cardFooter:"cardFooter_EuCG",tag:"tag_Aixk",textLabel:"textLabel_SLNc",colorLabel:"colorLabel_q5Sy"};var y=a(3935),z=a(5237);const k="tooltip_hKx1",I="tooltipArrow_yATY";function T(e){let{children:t,id:a,anchorEl:i,text:r,delay:n}=e;const[p,c]=(0,s.useState)(!1),[A,l]=(0,s.useState)(null),[d,g]=(0,s.useState)(null),[h,u]=(0,s.useState)(null),[m,b]=(0,s.useState)(null),{styles:w,attributes:f}=(0,z.D)(A,d,{modifiers:[{name:"arrow",options:{element:h}},{name:"offset",options:{offset:[0,8]}}]}),v=(0,s.useRef)(null),S=`${a}_tooltip`;return(0,s.useEffect)((()=>{b(i?"string"==typeof i?document.querySelector(i):i:document.body)}),[m,i]),(0,s.useEffect)((()=>{const e=["mouseenter","focus"],t=["mouseleave","blur"],a=()=>{""!==r&&(null==A||A.removeAttribute("title"),v.current=window.setTimeout((()=>{c(!0)}),n||400))},s=()=>{clearInterval(v.current),c(!1)};return A&&(e.forEach((e=>{A.addEventListener(e,a)})),t.forEach((e=>{A.addEventListener(e,s)}))),()=>{A&&(e.forEach((e=>{A.removeEventListener(e,a)})),t.forEach((e=>{A.removeEventListener(e,s)})))}}),[A,r,n]),s.createElement(s.Fragment,null,s.cloneElement(t,{ref:l,"aria-describedby":p?S:void 0}),m?y.createPortal(p&&s.createElement("div",(0,o.Z)({id:S,role:"tooltip",ref:g,className:k,style:w.popper},f.popper),r,s.createElement("span",{ref:u,className:I,style:w.arrow})),m):m)}const j={featured:{label:"\xa0\u2665\ufe0f Featured",description:"This tag is used for admin-curated templates that represent high-quality (community) or official (Microsoft) azd templates.",color:"red"},helpwanted:{label:"\ud83d\ude4f\ud83c\udffd Help Wanted",description:"This tag is used when there is a request for azd templates for a specific architecture. The title will link to arch, the button to a custom-issue for PR",color:"red"},javascript:{label:"JavaScript",description:"Template contains JavaScript app code",color:"#1e90ff"},typescript:{label:"TypeScript",description:"Template contains TypeScript app code",color:"#1e90ff"},dotnetCsharp:{label:".NET/C#",description:"Template contains .NET and/or C# app code",color:"#1e90ff"},java:{label:"Java",description:"Template contains Java app code",color:"#1e90ff"},python:{label:"Python",description:"Template contains Python app code",color:"#1e90ff"},django:{label:"Django",description:"Template contains Django web app code",color:"#1e90ff"},reactjs:{label:"React.js",description:"Template architecture uses React.js",color:"#1e90ff"},nodejs:{label:"Node.js",description:"Template architecture uses Node.js",color:"#1e90ff"},php:{label:"PHP",description:"Template architecture uses PHP",color:"#1e90ff"},bicep:{label:"Bicep",description:"Template uses Bicep for Infra as Code",color:"#66ff00"},terraform:{label:"Terraform",description:"Template uses Terraform for Infra as Code",color:"#66ff00"},mongodb:{label:"MongoDB",description:"Template architecture uses MongoDB",color:"hotpink"},fastapi:{label:"FastAPI",description:"Template architecture uses FastAPI web framework",color:"hotpink"},fhir:{label:"FHIR Service",description:"Template architecture uses Fast Healthcare Interoperability Resources (FHIR)",color:"hotpink"},flask:{label:"Flask",description:"Template architecture uses Flask web framework",color:"hotpink"},nestjs:{label:"NestJS",description:"Template architecture uses NestJS framework",color:"hotpink"},sap:{label:"SAP",description:"Template architecture uses Systems Applications and Products in data processing (SAP)",color:"hotpink"},sapcloudsdk:{label:"SAP Cloud SDK",description:"Template architecture uses SAP Cloud SDK",color:"hotpink"},spring:{label:"Spring",description:"Template architecture uses Spring framework",color:"hotpink"},thymeleaf:{label:"Thymeleaf",description:"Template architecture uses Thymeleaf template engine",color:"hotpink"},dataverse:{label:"Dataverse",description:"Template architecture uses Microsoft Dataverse",color:"hotpink"},chatgpt:{label:"ChatGPT",description:"Template architecture uses ChatGPT model",color:"hotpink"},jupyter:{label:"Jupyter Notebooks",description:"Template architecture uses Jupyter Notebooks",color:"hotpink"},keda:{label:"KEDA",description:"Template architecture uses Kubernetes Event Driven Autoscaling (KEDA)",color:"hotpink"},kubernetes:{label:"Kubernetes",description:"Template architecture uses Kubernetes",color:"hotpink"},ahds:{label:"Azure Health Data Service",description:"Template architecture uses Azure Health Data Services workspace",color:"hotpink"},appinsights:{label:"Azure App Insights",description:"Template architecture uses Azure App Insights",color:"hotpink"},loganalytics:{label:"Azure Log Analytics",description:"Template architecture uses Azure Log Analytics",color:"hotpink"},appservice:{label:"Azure App Service",description:"Template architecture uses Azure App Service",color:"hotpink"},monitor:{label:"Azure Monitor",description:"Template architecture uses Azure App Service",color:"hotpink"},keyvault:{label:"Azure Key Vault",description:"Template architecture uses Azure Key Vault",color:"hotpink"},aca:{label:"Azure Container Apps",description:"Template architecture uses Azure Container Apps",color:"hotpink"},cosmosdb:{label:"CosmosDB",description:"Template architecture uses Azure CosmosDB",color:"hotpink"},signalR:{label:"Azure SignalR",description:"Template architecture uses Azure SignalR",color:"hotpink"},functions:{label:"Azure Functions",description:"Template architecture uses Azure Functions",color:"hotpink"},blobstorage:{label:"Azure Blob Storage",description:"Template architecture uses Azure Blob Storage",color:"hotpink"},webapps:{label:"Web Apps",description:"Template architecture uses Web Apps",color:"hotpink"},azuresql:{label:"Azure SQL",description:"Template architecture uses Azure SQL",color:"hotpink"},"azuredb-postgreSQL":{label:"Azure DB For PostgreSQL",description:"Template architecture uses Azure DB for PostgreSQL",color:"hotpink"},swa:{label:"Azure Static Web Apps",description:"Template architecture uses Azure Static Web Apps",color:"hotpink"},dapr:{label:"Dapr",description:"Template architecture uses Distributed Application Runtime (dapr)",color:"hotpink"},servicebus:{label:"Azure Service Bus",description:"Template architecture uses Azure Service Bus",color:"hotpink"},vnets:{label:"Virtual Networks (VNET)",description:"Template architecture uses Virtual Networks",color:"hotpink"},cognitivesearch:{label:"Azure Cognitive Search",description:"Template architecture uses Azure Cognitive Search",color:"hotpink"},openai:{label:"Azure OpenAI Service",description:"Template architecture uses Azure OpenAI Service",color:"hotpink"},azureai:{label:"Azure AI Service",description:"Template architecture uses Azure AI Service",color:"hotpink"},apim:{label:"Azure API Management",description:"Template architecture uses Azure API Management",color:"hotpink"},aks:{label:"Azure Kubernetes Service",description:"Template architecture uses Azure Kubernetes Service",color:"hotpink"},azurecdn:{label:"Azure Content Delivery Network",description:"Template architecture uses Azure Content Delivery Network",color:"hotpink"},frontdoor:{label:"Azure Front Door",description:"Template architecture uses Azure Front Door",color:"hotpink"},grafana:{label:"Grafana",description:"Template architecture uses Azure Managed Grafana",color:"hotpink"},prometheus:{label:"Prometheus",description:"Template architecture uses Azure Monitor managed service for Prometheus",color:"hotpink"},azurespringapps:{label:"Azure Spring Apps",description:"Template architecture uses Azure Spring Apps",color:"hotpink"},rediscache:{label:"Azure Redis Cache",description:"Template architecture uses Azure Redis Cache",color:"hotpink"},agw:{label:"Azure Application Gateway",description:"Template architecture uses Azure Application Gateway",color:"hotpink"},datascience:{label:"Data Science",description:"Template architecture involves Data Science",color:"hotpink"},enterprisepatterns:{label:"Enterprise App Patterns",description:"Template architecture involves Enterprise Application Patterns",color:"hotpink"},ai:{label:"Artificial Intelligence",description:"Template architecture involves Artificial Intelligence",color:"hotpink"}},B=[{title:"WordPress with Azure Container Apps",description:"A blueprint to easily and quickly create and deploy your first scalable and secure WordPress site to Azure, leveraging Azure Container Apps with Azure Database for MariaDb.",preview:a(4059),website:"https://github.com/kpantos",author:"Konstantinos Pantos",source:"https://github.com/Azure-Samples/apptemplate-wordpress-on-ACA",tags:["featured","php","javascript","aca","agw","rediscache","monitor","keyvault","bicep"]},{title:"React Web App with C# API and MongoDB",description:"A blueprint for getting a React web app with a C# API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly.",preview:a(8897),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-csharp-cosmos-sql",tags:["featured","dotnetCsharp","typescript","javascript","appservice","cosmosdb","mongodb","monitor","keyvault","reactjs","bicep"]},{title:"Rock, Paper, Orleans (RPO) - Distributed .NET",description:'Rock, Paper, Orleans (RPO) is a game built using dotnet, Orleans, and runs in Azure.The idea behind RPO is that you write a "player bot" in which you implement your player logic.',preview:a(746),website:"https://rockpaperorleans.net/",author:"Brady Gaster",source:"https://github.com/bradygaster/RockPaperOrleans",tags:["featured","dotnetCsharp","cosmosdb","aca","bicep"]},{title:"Scalable Django on Azure App Service",description:"Deploy your Django web application with Microsoft Azure, for scale, using a cloud architecture with integrated monitoring and load testing.",preview:a(167),website:"https://github.com/tonybaloney",author:"Anthony Shaw",source:"https://github.com/tonybaloney/django-on-azure",tags:["featured","django","python","azuredb-postgreSQL","webapps","vnets","bicep"]},{title:"React Web App with Node.js API and MongoDB",description:"A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.",preview:a(5949),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-nodejs-mongo",tags:["featured","bicep","nodejs","typescript","javascript","appservice","cosmosdb","monitor","keyvault","mongodb","reactjs"]},{title:"Static React Web App + Functions with Node.js API and MongoDB",description:"A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting static web apps with serverless logic and functionality.",preview:a(82),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-nodejs-mongo-swa-func",tags:["featured","bicep","swa","functions","nodejs","typescript","javascript","cosmosdb","monitor","keyvault","mongodb","reactjs","appservice"]},{title:"Static React Web App + Functions with Python API and MongoDB",description:"A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The frontend, currently a ToDo application, is designed as a placeholder that can easily be removed and replaced with your own frontend code. This architecture is for hosting static web apps with serverless logic and functionality.",preview:a(8285),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-python-mongo-swa-func",tags:["featured","bicep","swa","functions","python","typescript","javascript","cosmosdb","monitor","keyvault","mongodb","reactjs","appservice","fastapi"]},{title:"React Web App with Python API and MongoDB",description:"A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Terraform) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.",preview:a(1144),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-python-mongo-terraform",tags:["featured","python","typescript","javascript","cosmosdb","mongodb","monitor","keyvault","mongodb","reactjs","terraform","appservice","fastapi"]},{title:"React Web App with Node.js API and MongoDB",description:"A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Terraform) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.",preview:a(5979),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-nodejs-mongo-terraform",tags:["featured","nodejs","typescript","javascript","cosmosdb","mongodb","monitor","keyvault","mongodb","reactjs","terraform","appservice"]},{title:"React Web App with Python API and MongoDB",description:"A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.",preview:a(6148),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-python-mongo",tags:["featured","bicep","python","typescript","javascript","appservice","cosmosdb","monitor","keyvault","mongodb","reactjs","fastapi"]},{title:"Containerized React Web App with Node.js API and MongoDB",description:"A blueprint for getting a React web app with a Node.js API and a MongoDB database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running containerized apps or microservices on a serverless platform This architecture is for running containerized microservices without managing the servers.",preview:a(1893),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-nodejs-mongo-aca",tags:["featured","bicep","nodejs","typescript","javascript","appservice","cosmosdb","monitor","keyvault","mongodb","reactjs","aca"]},{title:"Containerized React Web App with Python API and MongoDB",description:"A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The frontend, currently a ToDo application, is designed as a placeholder that can easily be removed and replaced with your own frontend code. This architecture is for running containerized apps or microservices on a serverless platform.",preview:a(2395),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-python-mongo-aca",tags:["featured","bicep","python","typescript","javascript","aca","cosmosdb","monitor","keyvault","mongodb","reactjs","fastapi"]},{title:"React Web App with C# API and SQL Database ",description:"A blueprint for getting a React web app with a C# API and a SQL database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly.",preview:a(5373),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-csharp-sql",tags:["featured","bicep","dotnetCsharp","typescript","javascript","appservice","azuresql","monitor","keyvault","mongodb","reactjs"]},{title:"React Web App with Java API and MongoDB ",description:"A blueprint for getting a React.js web app with a Java API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.",preview:a(238),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-java-mongo",tags:["featured","bicep","java","typescript","appservice","cosmosdb","keyvault","monitor","mongodb","reactjs"]},{title:"Containerized React Web App with Java API and MongoDB",description:"A blueprint for getting a React web app with a Java API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running containerized apps or microservices on a serverless platform.",preview:a(2254),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-java-mongo-aca",tags:["featured","bicep","java","typescript","appservice","cosmosdb","keyvault","monitor","mongodb","reactjs"]},{title:"Static React Web App + Functions with C# API and SQL Database",description:"A blueprint for getting a React web app with a C# API and a SQL database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting static web apps with serverless logic and functionality.",preview:a(5340),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-csharp-sql-swa-func",tags:["featured","bicep","swa","functions","dotnetCsharp","typescript","javascript","monitor","keyvault","reactjs","appservice","azuresql"]},{title:"Kubernetes React Web App with Node.js API and MongoDB",description:"A blueprint for getting a React.js web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running Kubernetes clusters without setting up the control plane.",preview:a(8129),website:"https://github.com/Azure/azure-dev",author:"Azure Dev",source:"https://github.com/Azure-Samples/todo-nodejs-mongo-aks",tags:["featured","bicep","nodejs","typescript","javascript","mongodb","monitor","keyvault","reactjs","appservice","cosmosdb","aks"]},{title:"ChatGPT Plugin using Python (FastAPI)",description:"This is a quickstart for creating a ChatGPT Plugin using Python and Azure.",preview:a(3635),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/openai-plugin-fastapi",tags:["featured","bicep","python","aca","cosmosdb","monitor","fastapi","ai"]},{title:"ChatGPT + Enterprise Data with Azure OpenAI and Cognitive Search",description:"A sample app for the Retrieval-Augmented Generation pattern running in Azure, using Azure Cognitive Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences.",preview:a(2863),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/azure-search-openai-demo-csharp/",tags:["featured","bicep","dotnetCsharp","aks","kubernetes","aca","cosmosdb","cognitivesearch","openai","chatgpt","rediscache","ai"]},{title:"Simple Chat Application using Azure OpenAI",description:"A sample chat app that uses Python and the Flask framework to stream ChatGPT completions as server-sent events to a simple frontend.",preview:a(6638),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/chatgpt-quickstart",tags:["featured","bicep","python","openai","chatgpt","ai","flask","aca"]},{title:"Azure Health Data Services Toolkit Azure Function Quickstart",description:"This quickstart will walk you through creating a simple custom operation on top of the FHIR Service using Azure Functions. We will cover everything from deploying infrastructure, debugging locally, and deploying to Azure.",preview:a(9134),website:"https://github.com/Azure/azure-dev",author:"Azure Content Team",source:"https://github.com/Azure-Samples/azure-health-data-services-toolkit-fhir-function-quickstart",tags:["bicep","dotnetCsharp","ahds","fhir","appinsights","loganalytics","functions"]},{title:"Enterprise-Grade Reference Architecture for JavaScript",description:"A reference architecture and components for building enterprise-grade modern composable frontends (or micro-frontends) and cloud-native applications. It is a collection of best practices, architecture patterns, and functional components that can be used to build and deploy modern JavaScript applications to Azure.",preview:a(7589),website:"https://github.com/Azure-Samples|https://github.com/anfibiacreativa",author:"JavaScript Advocacy Team|Natalia Venditto",source:"https://github.com/Azure-Samples/contoso-real-estate",tags:["bicep","javascript","swa","aca","keyvault","blobstorage","azuredb-postgreSQL","cosmosdb","apim","enterprisepatterns"]},{title:"Python (Django) Web App with PostgreSQL in VNet",description:"A restaurants review web app that uses whitenoise for static assets and PostgreSQL for the database. Ready for deployment on App Service with a PostgreSQL Flexible Server inside a VNet.",preview:a(8580),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/msdocs-django-postgresql-sample-app",tags:["python","django","webapps","azuredb-postgreSQL","appservice","vnets"]},{title:"Python (Django) Web App with PostgreSQL via Azure Container Apps",description:"A space tourism web app that uses PostgreSQL for the database. The web app is containerize and deploy with Azure Container Apps with secrets managed by Azure Key Vault",preview:a(6657),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/azure-django-postgres-aca",tags:["python","django","aca","azuredb-postgreSQL","bicep"]},{title:"Python (Flask) Web App with PostgreSQL in VNet",description:"A restaurants review web app with a PostgreSQL database, written in the Python Flask framework plus SQL-Alchemy plus Alembic for database interactions. Ready for deployment on App Service with a PostgreSQL Flexible Server inside a VNet.",preview:a(7845),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/msdocs-flask-postgresql-sample-app",tags:["python","webapps","azuredb-postgreSQL","appservice","vnets","flask"]},{title:"Microservices App - Dapr PubSub C# ACA ServiceBus",description:"A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.",preview:a(9134),website:"https://github.com/Azure/azure-dev",author:"Azure Content Team",source:"https://github.com/Azure-Samples/pubsub-dapr-csharp-servicebus",tags:["bicep","dotnetCsharp","aca","dapr","servicebus","aca"]},{title:"Microservices App - Dapr PubSub Python ACA ServiceBus",description:"A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.",preview:a(9134),website:"https://github.com/Azure/azure-dev",author:"Azure Content Team",source:"https://github.com/Azure-Samples/pubsub-dapr-python-servicebus",tags:["bicep","python","aca","dapr","servicebus","aca"]},{title:"Microservices App - Dapr PubSub Node.js ACA ServiceBus",description:"A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.",preview:a(9134),website:"https://github.com/Azure/azure-dev",author:"Azure Content Team",source:"https://github.com/Azure-Samples/pubsub-dapr-nodejs-servicebus",tags:["bicep","javascript","nodejs","aca","dapr","servicebus","aca"]},{title:"Microservices App - Dapr Bindings Cron C# ACA PostgreSQL",description:"Create microservice to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a PostgreSQL output binding.",preview:a(1260),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/bindings-dapr-csharp-cron-postgres",tags:["dapr","dotnetCsharp","azuredb-postgreSQL","aca"]},{title:"Microservices App - Dapr Bindings Cron Python ACA PostgreSQL",description:"Create a microservice app to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a postgreSQL output binding.",preview:a(1260),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/bindings-dapr-python-cron-postgres",tags:["dapr","python","azuredb-postgreSQL","aca"]},{title:"Microservices App - Dapr Bindings Cron Node.js ACA PostgreSQL",description:"Create a microservice app to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a postgreSQL output binding.",preview:a(1260),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/bindings-dapr-nodejs-cron-postgres",tags:["dapr","nodejs","azuredb-postgreSQL","javascript","aca"]},{title:"Microservices App - Dapr Service Invoke Node.js ACA",description:"Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.",preview:a(8053),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/svc-invoke-dapr-nodejs",tags:["dapr","nodejs","aca"]},{title:"Microservices App - Dapr Service Invoke Python ACA",description:"Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.",preview:a(8053),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/svc-invoke-dapr-python",tags:["dapr","python","aca"]},{title:"Microservices App - Dapr Service Invoke C# ACA",description:"Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.",preview:a(8053),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/svc-invoke-dapr-csharp",tags:["dapr","dotnetCsharp","aca"]},{title:"ChatGPT and Enterprise data with Azure OpenAI and Cognitive Search",description:"Demonstration of how to leverage Azure OpenAI and Cognitive Search to enable Information Search and Discovery over organizational content.",preview:a(5359),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/azure-search-openai-demo",tags:["openai","chatgpt","cognitivesearch","python","typescript","bicep","nodejs","ai"]},{title:"FastAPI on Azure Functions",description:"A simple FastAPI app deployed to Azure Functions. Can also be run and debugged locally with the Azure Functions Core Tool emulator.",preview:a(552),website:"https://github.com/Azure-Samples",author:"Azure Content Team",source:"https://github.com/Azure-Samples/fastapi-on-azure-functions",tags:["python","fastapi","functions"]},{title:"Spring PetClinic - Java Spring MySQL",description:"Spring PetClinic application using a set of Azure solutions. Azure App Service for app hosting, Azure Database for MySQL for storage, Azure Key Vault for securing secret and Azure Application Insights for monitoring and logging.",preview:a(705),website:"https://github.com/wangmingliang-ms",author:"Miller Wang",source:"https://github.com/Azure-Samples/spring-petclinic-java-mysql",tags:["java","appservice","azuresql","monitor","keyvault","appinsights","bicep","spring","thymeleaf"]},{title:"Event Driven Java Application with Azure Service Bus on Azure Spring Apps",description:"A complete event-driven application that includes everything you need to build, deploy, and monitor an Azure solution. ",preview:a(7810),website:"https://github.com/Azure-Samples/",author:"Azure Content Team",source:"https://github.com/Azure-Samples/ASA-Samples-Event-Driven-Application",tags:["java","servicebus","monitor","keyvault","azurespringapps","bicep","spring"]},{title:"SAP Cloud SDK on Azure App Service Quickstart (TypeScript)",description:"This repos serves as quick-start project showcasing SAP Cloud SDK for JavaScript OData consumption running on Azure App Services. Its primary purpose is to set you up for success for your SAP extension project on Azure and reduce the lead time to your first successful deployment as much as possible with developer friendly commands.",preview:a(2634),website:"https://github.com/MartinPankraz|https://github.com/lechnerc77",author:"Martin Pankraz|Christian Lechner",source:"https://github.com/Azure-Samples/app-service-javascript-sap-cloud-sdk-quickstart",tags:["typescript","nodejs","bicep","webapps","keyvault","appinsights","featured","nestjs","sap","sapcloudsdk"]},{title:"Service Bus messages processing to Dataverse",description:"Starter solution to process Service Bus messages to Dataverse, C# for the Azure Functions app processing the messages, Azure Service Bus for the reception of the messages, and Azure Monitor for monitoring and logging.",preview:a(5515),website:"https://github.com/rpothin",author:"Raphael Pothin",source:"https://github.com/rpothin/servicebus-csharp-function-dataverse",tags:["dotnetCsharp","functions","servicebus","monitor","keyvault","dataverse"]},{title:"Simple Flask AZD",description:"A tiny, no-frills, template to deploy Python's Flask web framework to Azure App Service in the free tier.",preview:a(5062),website:"https://github.com/tonybaloney",author:"Anthony Shaw",source:"https://github.com/tonybaloney/simple-flask-azd",tags:["python","appservice","flask"]},{title:"Function App - C# AI Text Summarize",description:"This sample shows how to take text documents as a input via BlobTrigger, does Text Summarization processing using the AI Congnitive Language service, and then outputs to another text document using BlobOutput binding.",preview:a(9134),website:"https://github.com/paulyuk",author:"Paul Yuknewicz",source:"https://github.com/Azure-Samples/function-csharp-ai-textsummarize",tags:["functions","dotnetCsharp","azureai","bicep","ai"]},{title:"Function App - Python AI Text Summarize",description:"This sample shows how to take text documents as a input via BlobTrigger, does Text Summarization processing using the AI Congnitive Language service, and then outputs to another text document using BlobOutput binding. Uses Azure Functions Python v2 programming model.",preview:a(9134),website:"https://github.com/paulyuk",author:"Paul Yuknewicz",source:"https://github.com/Azure-Samples/function-python-ai-textsummarize",tags:["functions","python","azureai","bicep","ai"]},{title:"Flask Container with CDN",description:"A simple photos website written with Python Flask and Bootstrap. Can be run locally with Docker and then deployed to Azure Container Apps with an Azure CDN in front.",preview:a(7970),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/flask-gallery-container-app",tags:["python","flask","webapps","aca","azurecdn"]},{title:"Flask Surveys Container App",description:"A survey app written with the Python Flask framework which uses Flask-SQLAlchemy with a PostgreSQL database. Can be developed locally with Docker Compose and then deployed to Azure Container Apps (using KeyVault SDK for Flask secrets).",preview:a(2748),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/flask-surveys-container-app",tags:["python","flask","keyvault","aca","webapps","azuredb-postgreSQL"]},{title:"Flask API on Azure Container Apps",description:"A simple JSON API using the Python Flask framework, designed for deployment on Azure Container Apps.",preview:a(6742),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/simple-flask-api-container",tags:["python","bicep","aca","flask"]},{title:"FastAPI with API Management",description:"A FastAPI app deployed as a secured Azure Function with an API Management Policy in front, set up such that API calls require a subscription key but auto-generated documentation is publicly viewable. Project also includes 100% test coverage with Pytest plus a development workflow with ruff, isort, and black.",preview:a(1784),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/fastapi-azure-function-apim",tags:["python","fastapi","functions","apim"]},{title:"Flask Chart API on ACA and CDN",description:"A Charts API that renders PNGs of bar and pie charts, built with Python Flask, APIFlask, and matplotlib. Can be run locally with Docker and then deployed to Azure Container Apps with an Azure CDN in front.",preview:a(7970),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/flask-charts-api-container-app",tags:["python","flask","webapps","aca","azurecdn"]},{title:"Static Maps API Function and CDN",description:"A FastAPI app that renders map images for the given location. Deployed as a secured Azure function with an Azure CDN in front for caching.",preview:a(2797),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/staticmaps-function",tags:["python","functions","fastapi","monitor","azurecdn"]},{title:"Jupyter Notebooks Web App on Azure Container Apps",description:"A web application used for hosting, sharing, and interacting with Jupyter Notebooks via Mercury, hosted on Azure Container Apps.",preview:a(5283),website:"https://github.com/savannahostrowski",author:"Savannah Ostrowski",source:"https://github.com/savannahostrowski/jupyter-mercury-aca",tags:["python","bicep","webapps","aca","jupyter","datascience"]},{title:"Python (Django) Web App with PostgreSQL and Key Vault",description:"A Python Django app on App Service with a PostgreSQL flexible server database. Database access is restricted to Azure IPs, and all administrative secrets are stored in Key Vault.",preview:a(4792),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/django-quiz-app",tags:["python","django","webapps","appservice","bicep","azuredb-postgreSQL","keyvault"]},{title:"Reliable Web App Pattern for .NET",description:"A multi-region enterprise web app with a 99.9% SLO and a focus on 12-factor apps and the well-architected framework. The sample app creates a concert booking application.",preview:a(4706),website:"https://github.com/Azure",author:"Azure Content Team",source:"https://github.com/Azure/reliable-web-app-pattern-dotnet",tags:["dotnetCsharp","bicep","appservice","keyvault","frontdoor","azuresql","appinsights","blobstorage","webapps","enterprisepatterns"]},{title:"FastAPI on Azure Container Apps",description:"A simple JSON API using the Python FastAPI app framework, designed for deployment on Azure Container Apps. Includes auto-configuration of gunicorn with uvicorn worker count based on CPUs available.",preview:a(9224),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/simple-fastapi-container",tags:["python","fastapi","bicep","aca"]},{title:"Containerized Apps on Azure Kubernetes Service",description:"A base Azure Kubernetes Service template with placeholders to include the application source code (no application source code included) and Kubernetes manifest files.",preview:a(9579),website:"https://github.com/sabbour/",author:"Ahmed Sabbour",source:"https://github.com/sabbour/aks-app-template",tags:["bicep","aks","kubernetes","keda","grafana","prometheus"]},{title:"React Component Toolkit with ChatGPT and OpenAI ",description:"A sample demo for building and testing react components and includes a set of unique features including AI component generation and automatic conversion to Azure APIM Widgets",preview:a(8535),website:"https://github.com/Azure-Samples",author:"Jenny Chen",source:"https://github.com/Azure-Samples/react-component-toolkit-openai-demo",tags:["bicep","openai","chatgpt","ai","apim","reactjs","typescript","javascript"]},{title:"Python (Flask) Web App with PostgreSQL",description:"A Python Flask app on App Service with a PostgreSQL flexible server database. Database access is restricted to Azure IPs, and admin password is generated randomly",preview:a(3500),website:"https://github.com/pamelafox",author:"Pamela Fox",source:"https://github.com/pamelafox/flask-db-quiz-example",tags:["python","flask","bicep","appservice","webapps","azuredb-postgreSQL"]},{title:"DotNet Function App with Service Bus",description:"A sample that uses a C# Function App with native Service Bus bindings to both add and react to Queued Messages",preview:a(8717),website:"https://github.com/gordonby",author:"Gordon Byers",source:"https://github.com/Gordonby/servicebus-dotnet-functionapp",tags:["dotnetCsharp","functions","bicep","servicebus"]}],Q=Object.keys(j);const P=function(){let e=B;return e=l(e,(e=>e.title.toLowerCase())),e=l(e,(e=>!e.tags.includes("featured"))),e}(),U=s.forwardRef(((e,t)=>{let{label:a,color:i,description:r}=e;return s.createElement("li",{ref:t,className:E.tag,title:r},s.createElement("span",{className:E.textLabel},a.toLowerCase()),s.createElement("span",{className:E.colorLabel,style:{backgroundColor:i}}))}));function x(e){let{tags:t}=e;const a=l(t.map((e=>({tag:e,...j[e]}))),(e=>Q.indexOf(e.tag)));return s.createElement(s.Fragment,null,a.map(((e,t)=>{const a=`showcase_card_tag_${e.tag}`;return s.createElement(T,{key:t,text:e.description,anchorEl:"#__docusaurus",id:a},s.createElement(U,(0,o.Z)({key:t},e)))})))}function R(e){let{user:t}=e;const a=t.author,i=t.website;if(a.includes("|")){var o=i.split("|"),n=a.split("|");return s.createElement("div",{className:"dropdown dropdown--right dropdown--hoverable"},s.createElement("button",{className:(0,r.Z)("button button--secondary button--sm",E.showcaseCardSrcBtn)},"Author"),s.createElement("ul",{className:"dropdown__menu"},o.map(((e,t)=>{return a=n[t],i=o[t],s.createElement("li",null,s.createElement("a",{className:"dropdown__link",href:i},a));var a,i}))))}return s.createElement("div",null,s.createElement("a",{className:(0,r.Z)("button button--secondary button--sm",E.showcaseCardSrcBtn),href:i},a))}function F(e){let{user:t}=e;return s.createElement("li",{key:t.title,className:"card shadow--md"},s.createElement(C.Z,{href:t.source},s.createElement("div",{className:(0,r.Z)("card__image",E.showcaseCardImage)},s.createElement(S.Z,{img:t.preview,alt:t.title}))),s.createElement("div",{className:"card__body"},s.createElement("div",{className:(0,r.Z)(E.showcaseCardHeader)},s.createElement("h4",{className:E.showcaseCardTitle},s.createElement(C.Z,{href:t.source,className:E.showcaseCardLink},t.title)),t.tags.includes("featured")&&s.createElement(c,{svgClass:E.svgIconFavorite,size:"small"}),t.source&&s.createElement(R,{user:t})),s.createElement("p",{className:E.showcaseCardBody},t.description)),s.createElement("ul",{className:(0,r.Z)("card__footer",E.cardFooter)},s.createElement(x,{tags:t.tags})))}const L=s.memo(F);var D=a(6136),N=a(7325),M=a(3777);const Y={filterCheckbox:"filterCheckbox_Uhtk",checkboxList:"checkboxList_autc",showcaseList:"showcaseList_Cwj2",checkboxListItem:"checkboxListItem_CI1c",searchContainer:"searchContainer_FQjg",showcaseFavorite:"showcaseFavorite_HPRp",showcaseHelpWanted:"showcaseHelpWanted_r4aa",helpText:"helpText_Pz8G",showcaseFavoriteHeader:"showcaseFavoriteHeader_hNPk",svgIconFavoriteXs:"svgIconFavoriteXs_Yxtr",svgIconFavorite:"svgIconFavorite_skrm"},V="Awesome AZD Templates",K="A community-contributed templates gallery";function W(){var e;if(D.Z.canUseDOM)return{scrollTopPosition:window.scrollY,focusedElementId:null==(e=document.activeElement)?void 0:e.id}}const O="name";function X(e){return new URLSearchParams(e).get(O)}function G(){const e=(0,A.TH)(),[t,a]=(0,s.useState)("OR"),[i,r]=(0,s.useState)([]),[o,n]=(0,s.useState)(null);return(0,s.useEffect)((()=>{r(h(e.search)),a(f(e.search)),n(X(e.search)),function(e){var t;const{scrollTopPosition:a,focusedElementId:s}=e??{scrollTopPosition:0,focusedElementId:void 0};null==(t=document.getElementById(s))||t.focus(),window.scrollTo({top:a})}(e.state)}),[e]),(0,s.useMemo)((()=>function(e,t,a,s){return s&&(e=e.filter((e=>e.title.toLowerCase().includes(s.toLowerCase())))),0===t.length?e:e.filter((e=>0!==e.tags.length&&("AND"===a?t.every((t=>e.tags.includes(t))):t.some((t=>e.tags.includes(t))))))}(P,i,t,o)),[i,t,o])}function q(){return s.createElement("section",{className:"margin-top--lg margin-bottom--lg text--center"},s.createElement("h1",null,V),s.createElement("p",null,K),s.createElement("a",{className:"button button--primary",href:"https://aka.ms/awesome-azd-contribute",target:"_blank",rel:"noreferrer"},s.createElement(N.Z,{id:"showcase.header.button"},"Contribute Your Template! \ud83d\ude4f")))}function J(){const e=G(),t=function(){const{selectMessage:e}=(0,M.c)();return t=>e(t,(0,N.I)({id:"showcase.filters.resultCount",description:'Pluralized label for the number of sites found on the showcase. Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"1 site|{sitesCount} sites"},{sitesCount:t}))}();return s.createElement("section",{className:"container margin-top--l margin-bottom--lg"},s.createElement("div",{className:(0,r.Z)("margin-bottom--sm",Y.filterCheckbox)},s.createElement("div",null,s.createElement("h2",null,s.createElement(N.Z,{id:"showcase.filters.title"},"Filters")),s.createElement("span",null,t(e.length))),s.createElement(v,null)),s.createElement("ul",{className:Y.checkboxList},Q.map(((e,t)=>{const{label:a,description:i,color:r}=j[e],o=`showcase_checkbox_id_${e}`;return s.createElement("li",{key:t,className:Y.checkboxListItem},s.createElement(T,{id:o,text:i,anchorEl:"#__docusaurus"},s.createElement(m,{tag:e,id:o,label:a,icon:"featured"===e?s.createElement(c,{svgClass:Y.svgIconFavoriteXs}):s.createElement("span",{style:{backgroundColor:r,width:10,height:10,borderRadius:"50%",marginLeft:8}})})))}))))}const H=P.filter((e=>e.tags.includes("featured"))),Z=(P.filter((e=>e.tags.includes("helpwanted"))),P.filter((e=>!e.tags.includes("featured")&&!e.tags.includes("helpwanted"))));function _(){const e=(0,A.k6)(),t=(0,A.TH)(),[a,i]=(0,s.useState)(null);return(0,s.useEffect)((()=>{i(X(t.search))}),[t]),s.createElement("div",{className:Y.searchContainer},s.createElement("input",{id:"searchbar",placeholder:(0,N.I)({message:"Search for site name...",id:"showcase.searchBar.placeholder"}),value:a??void 0,onInput:a=>{i(a.currentTarget.value);const s=new URLSearchParams(t.search);s.delete(O),a.currentTarget.value&&s.set(O,a.currentTarget.value),e.push({...t,search:s.toString(),state:W()}),setTimeout((()=>{var e;null==(e=document.getElementById("searchbar"))||e.focus()}),0)}}))}function $(){const e=G();return 0===e.length?s.createElement("section",{className:"margin-top--lg margin-bottom--xl"},s.createElement("div",{className:"container padding-vert--md text--center"},s.createElement("h2",null,s.createElement(N.Z,{id:"showcase.usersList.noResult"},"Be the first to add an example project!")),s.createElement(_,null))):s.createElement("section",{className:"margin-top--lg margin-bottom--xl"},e.length===P.length?s.createElement(s.Fragment,null,s.createElement("div",{className:Y.showcaseFavorite},s.createElement("div",{className:"container"},s.createElement("div",{className:(0,r.Z)("margin-bottom--md",Y.showcaseFavoriteHeader)},s.createElement("h2",null,s.createElement(N.Z,{id:"showcase.favoritesList.title"},"Featured Templates")),s.createElement(c,{svgClass:Y.svgIconFavorite}),s.createElement(_,null)),s.createElement("ul",{className:(0,r.Z)("container",Y.showcaseList)},H.map((e=>s.createElement(L,{key:e.title,user:e})))))),s.createElement("div",{className:"container margin-top--lg"},s.createElement("h2",{className:Y.showcaseHeader},s.createElement(N.Z,{id:"showcase.usersList.allUsers"},"Other Templates")),s.createElement("ul",{className:Y.showcaseList},Z.map((e=>s.createElement(L,{key:e.title,user:e})))))):s.createElement("div",{className:"container"},s.createElement("div",{className:(0,r.Z)("margin-bottom--md",Y.showcaseFavoriteHeader)},s.createElement(_,null)),s.createElement("ul",{className:Y.showcaseList},e.map((e=>s.createElement(L,{key:e.title,user:e}))))))}function ee(){return s.createElement(i.Z,{title:V,description:K},s.createElement("main",{className:"margin-vert--lg"},s.createElement(q,null),s.createElement(J,null),s.createElement($,null)))}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.9aec9acd.js b/assets/js/runtime~main.9aec9acd.js deleted file mode 100644 index fea9e9b7..00000000 --- a/assets/js/runtime~main.9aec9acd.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,t,r,a,o,n={},f={};function i(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,i),r.loaded=!0,r.exports}i.m=n,i.c=f,e=[],i.O=(t,r,a,o)=>{if(!r){var n=1/0;for(b=0;b=o)&&Object.keys(i.O).every((e=>i.O[e](r[d])))?r.splice(d--,1):(f=!1,o0&&e[b-1][2]>o;b--)e[b]=e[b-1];e[b]=[r,a,o]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);i.r(o);var n={};t=t||[null,r({}),r([]),r(r)];for(var f=2&a&&e;"object"==typeof f&&!~t.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach((t=>n[t]=()=>e[t]));return n.default=()=>e,i.d(o,n),o},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"assets/js/"+({53:"935f2afb",178:"decd21d9",220:"d0446198",237:"1df93b7f",261:"09cbfa9b",272:"faf37352",356:"daaaa5b9",360:"b4a6f51a",485:"162435b3",514:"1be78505",637:"54deeb72",671:"0e384e19",851:"958aeffe",888:"17d42e24",918:"17896441",936:"3c491179"}[e]||e)+"."+{53:"c0d689ff",178:"794cc703",220:"04257644",237:"46ac3de5",248:"0eecdff4",256:"17b171d8",261:"a1421128",272:"8ae673e5",356:"4e9fc9ab",360:"2e421b45",485:"91ae6be1",514:"40d6364a",637:"d6a76011",671:"a987982a",851:"6d6e654c",888:"53043891",918:"2db0c837",936:"53046883"}[e]+".js",i.miniCssF=e=>{},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},o="website:",i.l=(e,t,r,n)=>{if(a[e])a[e].push(t);else{var f,d;if(void 0!==r)for(var c=document.getElementsByTagName("script"),b=0;b{f.onerror=f.onload=null,clearTimeout(s);var o=a[e];if(delete a[e],f.parentNode&&f.parentNode.removeChild(f),o&&o.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=l.bind(null,f.onerror),f.onload=l.bind(null,f.onload),d&&document.head.appendChild(f)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="/awesome-azd/",i.gca=function(e){return e={17896441:"918","935f2afb":"53",decd21d9:"178",d0446198:"220","1df93b7f":"237","09cbfa9b":"261",faf37352:"272",daaaa5b9:"356",b4a6f51a:"360","162435b3":"485","1be78505":"514","54deeb72":"637","0e384e19":"671","958aeffe":"851","17d42e24":"888","3c491179":"936"}[e]||e,i.p+i.u(e)},(()=>{var e={303:0,532:0};i.f.j=(t,r)=>{var a=i.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>a=e[t]=[r,o]));r.push(a[2]=o);var n=i.p+i.u(t),f=new Error;i.l(n,(r=>{if(i.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;f.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",f.name="ChunkLoadError",f.type=o,f.request=n,a[1](f)}}),"chunk-"+t,t)}},i.O.j=t=>0===e[t];var t=(t,r)=>{var a,o,n=r[0],f=r[1],d=r[2],c=0;if(n.some((t=>0!==e[t]))){for(a in f)i.o(f,a)&&(i.m[a]=f[a]);if(d)var b=d(i)}for(t&&t(r);c{"use strict";var e,t,r,a,o,n={},f={};function d(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,d),r.loaded=!0,r.exports}d.m=n,d.c=f,e=[],d.O=(t,r,a,o)=>{if(!r){var n=1/0;for(b=0;b=o)&&Object.keys(d.O).every((e=>d.O[e](r[i])))?r.splice(i--,1):(f=!1,o0&&e[b-1][2]>o;b--)e[b]=e[b-1];e[b]=[r,a,o]},d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);d.r(o);var n={};t=t||[null,r({}),r([]),r(r)];for(var f=2&a&&e;"object"==typeof f&&!~t.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach((t=>n[t]=()=>e[t]));return n.default=()=>e,d.d(o,n),o},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((t,r)=>(d.f[r](e,t),t)),[])),d.u=e=>"assets/js/"+({53:"935f2afb",178:"decd21d9",220:"d0446198",237:"1df93b7f",261:"09cbfa9b",272:"faf37352",356:"daaaa5b9",360:"b4a6f51a",485:"162435b3",514:"1be78505",637:"54deeb72",671:"0e384e19",851:"958aeffe",888:"17d42e24",918:"17896441",936:"3c491179"}[e]||e)+"."+{53:"c0d689ff",178:"794cc703",220:"04257644",237:"b53d7bbf",248:"0eecdff4",256:"17b171d8",261:"a1421128",272:"8ae673e5",356:"4e9fc9ab",360:"2e421b45",485:"91ae6be1",514:"40d6364a",637:"d6a76011",671:"a987982a",851:"6d6e654c",888:"53043891",918:"2db0c837",936:"53046883"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},o="website:",d.l=(e,t,r,n)=>{if(a[e])a[e].push(t);else{var f,i;if(void 0!==r)for(var c=document.getElementsByTagName("script"),b=0;b{f.onerror=f.onload=null,clearTimeout(s);var o=a[e];if(delete a[e],f.parentNode&&f.parentNode.removeChild(f),o&&o.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=l.bind(null,f.onerror),f.onload=l.bind(null,f.onload),i&&document.head.appendChild(f)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/awesome-azd/",d.gca=function(e){return e={17896441:"918","935f2afb":"53",decd21d9:"178",d0446198:"220","1df93b7f":"237","09cbfa9b":"261",faf37352:"272",daaaa5b9:"356",b4a6f51a:"360","162435b3":"485","1be78505":"514","54deeb72":"637","0e384e19":"671","958aeffe":"851","17d42e24":"888","3c491179":"936"}[e]||e,d.p+d.u(e)},(()=>{var e={303:0,532:0};d.f.j=(t,r)=>{var a=d.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>a=e[t]=[r,o]));r.push(a[2]=o);var n=d.p+d.u(t),f=new Error;d.l(n,(r=>{if(d.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;f.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",f.name="ChunkLoadError",f.type=o,f.request=n,a[1](f)}}),"chunk-"+t,t)}},d.O.j=t=>0===e[t];var t=(t,r)=>{var a,o,n=r[0],f=r[1],i=r[2],c=0;if(n.some((t=>0!==e[t]))){for(a in f)d.o(f,a)&&(d.m[a]=f[a]);if(i)var b=i(d)}for(t&&t(r);c What is "azd-template"? | Awesome Azure Dev CLI - + - + \ No newline at end of file diff --git a/docs/faq/azd/index.html b/docs/faq/azd/index.html index 7e4c6bc3..16aceb79 100644 --- a/docs/faq/azd/index.html +++ b/docs/faq/azd/index.html @@ -4,13 +4,13 @@ What is "azd"? | Awesome Azure Dev CLI - +

What is "azd"?

The Azure Developer CLI (or azd) is an open-source tool that provides higher-level, application developer-friendly commands that map to key stages in your developer workflow so that you can focus on writing application code instead of focusing on atomic operations on Azure resources.

- + \ No newline at end of file diff --git a/docs/faq/contribute-template/index.html b/docs/faq/contribute-template/index.html index 7fb5eae3..9f58c2ca 100644 --- a/docs/faq/contribute-template/index.html +++ b/docs/faq/contribute-template/index.html @@ -4,13 +4,13 @@ How do I contribute templates? | Awesome Azure Dev CLI - +

How do I contribute templates?

TWO WAYS TO CONTRIBUTE

You can contribute azd-templates in two contexts:

  • For an existing idea - matches a helpwanted tag
  • For your own ideas - provide the architecture diagram and tags.

Submit a PR + fill out the checklist

An internal team will review submissions

  • Validate that templates function as desired
  • Accept contribution - issue is closed.
  • Suggest modifications - issue stays open.
- + \ No newline at end of file diff --git a/docs/faq/create-template/index.html b/docs/faq/create-template/index.html index 695a212a..8f826189 100644 --- a/docs/faq/create-template/index.html +++ b/docs/faq/create-template/index.html @@ -4,13 +4,13 @@ How do I create templates? | Awesome Azure Dev CLI - +

How do I create templates?

The azd template has this file structure defined by azd conventions

├── .devcontainer              [ For DevContainer ]
├── .github/.azdo [ Configure GitHub workflow or Azure Pipelines ]
├── .vscode [ VS Code workspace configurations ]
├── infra [ Creates and configures Azure resources ]
│ ├── main.bicep/main.tf [ Main infrastructure file ]
│ ├── main.parameters.json/ [ Parameters file ]
main.tfvars.json
├── src [ Contains directories for the app code ]
└── azure.yaml [ Describes the app and type of Azure resources]

The Azure Developer CLI (azd) tool helps you with the process of creating the template with azd init as the first step, followed by creation of the infra/ folder, updating of the azure.yaml file, and validation of template using azd up to provision and deploy resources.

READ THE DOCS
- + \ No newline at end of file diff --git a/docs/faq/discover-azd/index.html b/docs/faq/discover-azd/index.html index 236705f9..31a2f2f4 100644 --- a/docs/faq/discover-azd/index.html +++ b/docs/faq/discover-azd/index.html @@ -4,13 +4,13 @@ How do I discover one? | Awesome Azure Dev CLI - +

How do I discover one?

There are a couple of ways to discover existing azd-template tagged repositories.

1. Using GitHub Topics

Today, you can look at the azd-templates topic on GitHub to see tagged template repositories. However, this approach does not easily let you search for templates based on the services configured, or give you a visual sense of the architecture enabled .

This is the challenge we are hoping to solve with the gallery site shown in this project. Each template is associated with the following:

  • architecture diagram
  • template repository
  • publication date
  • contributor identity
  • description
  • service tags (for architecture components)
  • language tags (for application code)

The Gallery provides both a search capability (to discover template by name) and a filter capability (to discover templates that match a specific and/or combination of criteria).

- + \ No newline at end of file diff --git a/docs/faq/rate-template/index.html b/docs/faq/rate-template/index.html index 375f863e..07c88305 100644 --- a/docs/faq/rate-template/index.html +++ b/docs/faq/rate-template/index.html @@ -4,13 +4,13 @@ How are templates rated? | Awesome Azure Dev CLI - +

How are templates rated?

This gallery will contain both Microsoft-authored azd-templates, and Community-contributed versions. Creating and maintaining templates is not a simple exercise.

In the short term, we'll use a featured tag (that we maintain) to curate and highlight a few high-quality templates for convenience.

In the long term, we may add other tag options to help rate templates on other criteria (e.g., recently updated, most stars, most forks etc.)

- + \ No newline at end of file diff --git a/docs/faq/request-template/index.html b/docs/faq/request-template/index.html index d0614911..09d2942f 100644 --- a/docs/faq/request-template/index.html +++ b/docs/faq/request-template/index.html @@ -4,13 +4,13 @@ How do I request templates? | Awesome Azure Dev CLI - +

How do I request templates?

What if you have an architecture defined, but can't find an existing azd template to jumpstart your development? You can try to create and contribute that template as one option.

We are also considering a special **help wanted** tag that allows someone to contribute a template to the gallery with an architecture diagram but no associated repository. These would now be associated with issues that would allow other community members to:

  • up vote the issue (as a priority)
  • create and contribute a template for it
- + \ No newline at end of file diff --git a/docs/faq/use-azd-template/index.html b/docs/faq/use-azd-template/index.html index c2fc3a7f..bb2b3979 100644 --- a/docs/faq/use-azd-template/index.html +++ b/docs/faq/use-azd-template/index.html @@ -4,13 +4,13 @@ How do I use azd-template? | Awesome Azure Dev CLI - + - + \ No newline at end of file diff --git a/docs/intro/index.html b/docs/intro/index.html index b40e90f5..e0dceea9 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -4,13 +4,13 @@ Contributor Guide | Awesome Azure Dev CLI - +

Contributor Guide

We ♥️ Contributions!

awesome-azd is a community-friendly resource to help developer discover, create, and share, open-source azd templates and supporting resources for streamlining your application development and CI/CD pipelines.

Submit a PR

Contribute a New Template

Our template gallery will be at its best when our community is involved in creating and contributing new templates.

We welcome contributions of requested templates as well as any others, subject to review.

To submit a template:

  1. Add an entry to website/src/data/users.tsx that includes:
    • Template title - A short title that reflects the local application stack that someone could use to get their application on Azure (e.g. "Containerized React Web App with Java API and MongoDB")
    • Description - 1-2 sentence description of the architecture (e.g. Azure services) or solution that is defined by the template.
    • Architecture Diagram or Application Screenshot - Used as display image for gallery card. The architecture should include all services and their connections (example). You should add the image to website/src/data/images/
    • Link to Author's GitHub or other relevant website - Used for attribution.
    • Author's Name - Name to credit on the gallery card
    • Link to template source - Link to the template GitHub repo
    • Tags - One or more tags representing the template. Provide at least 1 tag for programming language used and at least 1 tag for Azure services integrated. Also tag the IaC provider (Bicep or Terraform). If you don't see a relevant tag for your template? Feel free to add one!
  2. Open a PR!
  3. If possible, add a link to the PR in your repo where you made your app azd compatible to the PR description. This will help us provide feedback on your template and speed up the review process.

If you would like to contribute a template but are not sure where to start, making an existing project azd compatible is a great first step. Doing so consists of three main steps:

  1. Set up a new environment (with azd init)
  2. Add Bicep files
  3. Update azure.yaml

Submit a Resource

Did you write or find an article that helped you get started with azd? Or maybe you created or found a video that showed you how to create an azd template? Whatever the resource might be, we would love for you to share it with our community! Submit content you think should be included in awesome-azd/README.md

Other Ways To Help

Other than these, we always welcome feedback through a:

  • request a template: if you cannot find a template with architecture that works for you-- you can submit a request for that template
    • Keep in mind, templates are made to be flexible and extensible. You can use a template's architecture and swap out the source code. For example, if you want to create a grocery list making application using Azure SQL and Azure App service, you can use the React Web App with C# API and SQL Database on Azure template and swap out the source code.
  • bug report: let us know if something is broken
  • feature request: for improvements to our awesome-azd site

Next Steps

- + \ No newline at end of file diff --git a/index.html b/index.html index 34c1ac5f..143024f3 100644 --- a/index.html +++ b/index.html @@ -4,13 +4,13 @@ Awesome AZD Templates | Awesome Azure Dev CLI - +
-

Awesome AZD Templates

A community-contributed templates gallery

Contribute Your Template! 🙏

Filters

56 sites

Featured Templates

  • A sample app for the Retrieval-Augmented Generation pattern running in Azure, using Azure Cognitive Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences.

  • This is a quickstart for creating a ChatGPT Plugin using Python and Azure.

  • A blueprint for getting a React web app with a Java API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running containerized apps or microservices on a serverless platform.

  • A blueprint for getting a React web app with a Node.js API and a MongoDB database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running containerized apps or microservices on a serverless platform This architecture is for running containerized microservices without managing the servers.

  • A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The frontend, currently a ToDo application, is designed as a placeholder that can easily be removed and replaced with your own frontend code. This architecture is for running containerized apps or microservices on a serverless platform.

  • A blueprint for getting a React.js web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running Kubernetes clusters without setting up the control plane.

  • A blueprint for getting a React web app with a C# API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly.

  • A blueprint for getting a React web app with a C# API and a SQL database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly.

  • A blueprint for getting a React.js web app with a Java API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.

  • A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.

  • A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Terraform) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.

  • A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Terraform) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.

  • A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.

  • Rock, Paper, Orleans (RPO) is a game built using dotnet, Orleans, and runs in Azure.The idea behind RPO is that you write a "player bot" in which you implement your player logic.

  • This repos serves as quick-start project showcasing SAP Cloud SDK for JavaScript OData consumption running on Azure App Services. Its primary purpose is to set you up for success for your SAP extension project on Azure and reduce the lead time to your first successful deployment as much as possible with developer friendly commands.

  • Deploy your Django web application with Microsoft Azure, for scale, using a cloud architecture with integrated monitoring and load testing.

  • A sample chat app that uses Python and the Flask framework to stream ChatGPT completions as server-sent events to a simple frontend.

  • A blueprint for getting a React web app with a C# API and a SQL database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting static web apps with serverless logic and functionality.

  • A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting static web apps with serverless logic and functionality.

  • A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The frontend, currently a ToDo application, is designed as a placeholder that can easily be removed and replaced with your own frontend code. This architecture is for hosting static web apps with serverless logic and functionality.

  • A blueprint to easily and quickly create and deploy your first scalable and secure WordPress site to Azure, leveraging Azure Container Apps with Azure Database for MariaDb.

Other Templates

  • This quickstart will walk you through creating a simple custom operation on top of the FHIR Service using Azure Functions. We will cover everything from deploying infrastructure, debugging locally, and deploying to Azure.

  • Demonstration of how to leverage Azure OpenAI and Cognitive Search to enable Information Search and Discovery over organizational content.

  • A base Azure Kubernetes Service template with placeholders to include the application source code (no application source code included) and Kubernetes manifest files.

  • A reference architecture and components for building enterprise-grade modern composable frontends (or micro-frontends) and cloud-native applications. It is a collection of best practices, architecture patterns, and functional components that can be used to build and deploy modern JavaScript applications to Azure.

  • A complete event-driven application that includes everything you need to build, deploy, and monitor an Azure solution.

  • A simple JSON API using the Python FastAPI app framework, designed for deployment on Azure Container Apps. Includes auto-configuration of gunicorn with uvicorn worker count based on CPUs available.

  • A simple FastAPI app deployed to Azure Functions. Can also be run and debugged locally with the Azure Functions Core Tool emulator.

  • A FastAPI app deployed as a secured Azure Function with an API Management Policy in front, set up such that API calls require a subscription key but auto-generated documentation is publicly viewable. Project also includes 100% test coverage with Pytest plus a development workflow with ruff, isort, and black.

  • A simple JSON API using the Python Flask framework, designed for deployment on Azure Container Apps.

  • A Charts API that renders PNGs of bar and pie charts, built with Python Flask, APIFlask, and matplotlib. Can be run locally with Docker and then deployed to Azure Container Apps with an Azure CDN in front.

  • A simple photos website written with Python Flask and Bootstrap. Can be run locally with Docker and then deployed to Azure Container Apps with an Azure CDN in front.

  • A survey app written with the Python Flask framework which uses Flask-SQLAlchemy with a PostgreSQL database. Can be developed locally with Docker Compose and then deployed to Azure Container Apps (using KeyVault SDK for Flask secrets).

  • This sample shows how to take text documents as a input via BlobTrigger, does Text Summarization processing using the AI Congnitive Language service, and then outputs to another text document using BlobOutput binding.

  • This sample shows how to take text documents as a input via BlobTrigger, does Text Summarization processing using the AI Congnitive Language service, and then outputs to another text document using BlobOutput binding. Uses Azure Functions Python v2 programming model.

  • A web application used for hosting, sharing, and interacting with Jupyter Notebooks via Mercury, hosted on Azure Container Apps.

  • Create microservice to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a PostgreSQL output binding.

  • Create a microservice app to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a postgreSQL output binding.

  • Create a microservice app to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a postgreSQL output binding.

  • A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.

  • A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.

  • A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.

  • Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.

  • Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.

  • Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.

  • A Python Django app on App Service with a PostgreSQL flexible server database. Database access is restricted to Azure IPs, and all administrative secrets are stored in Key Vault.

  • A restaurants review web app that uses whitenoise for static assets and PostgreSQL for the database. Ready for deployment on App Service with a PostgreSQL Flexible Server inside a VNet.

  • A space tourism web app that uses PostgreSQL for the database. The web app is containerize and deploy with Azure Container Apps with secrets managed by Azure Key Vault

  • A Python Flask app on App Service with a PostgreSQL flexible server database. Database access is restricted to Azure IPs, and admin password is generated randomly

  • A restaurants review web app with a PostgreSQL database, written in the Python Flask framework plus SQL-Alchemy plus Alembic for database interactions. Ready for deployment on App Service with a PostgreSQL Flexible Server inside a VNet.

  • A sample demo for building and testing react components and includes a set of unique features including AI component generation and automatic conversion to Azure APIM Widgets

  • A multi-region enterprise web app with a 99.9% SLO and a focus on 12-factor apps and the well-architected framework. The sample app creates a concert booking application.

  • Starter solution to process Service Bus messages to Dataverse, C# for the Azure Functions app processing the messages, Azure Service Bus for the reception of the messages, and Azure Monitor for monitoring and logging.

  • A tiny, no-frills, template to deploy Python's Flask web framework to Azure App Service in the free tier.

  • Spring PetClinic application using a set of Azure solutions. Azure App Service for app hosting, Azure Database for MySQL for storage, Azure Key Vault for securing secret and Azure Application Insights for monitoring and logging.

  • A FastAPI app that renders map images for the given location. Deployed as a secured Azure function with an Azure CDN in front for caching.

- +

Awesome AZD Templates

A community-contributed templates gallery

Contribute Your Template! 🙏

Filters

57 sites

Featured Templates

  • A sample app for the Retrieval-Augmented Generation pattern running in Azure, using Azure Cognitive Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences.

  • This is a quickstart for creating a ChatGPT Plugin using Python and Azure.

  • A blueprint for getting a React web app with a Java API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running containerized apps or microservices on a serverless platform.

  • A blueprint for getting a React web app with a Node.js API and a MongoDB database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running containerized apps or microservices on a serverless platform This architecture is for running containerized microservices without managing the servers.

  • A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The frontend, currently a ToDo application, is designed as a placeholder that can easily be removed and replaced with your own frontend code. This architecture is for running containerized apps or microservices on a serverless platform.

  • A blueprint for getting a React.js web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for running Kubernetes clusters without setting up the control plane.

  • A blueprint for getting a React web app with a C# API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly.

  • A blueprint for getting a React web app with a C# API and a SQL database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly.

  • A blueprint for getting a React.js web app with a Java API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.

  • A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.

  • A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Terraform) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.

  • A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Terraform) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.

  • A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting web apps and APIs without worrying about the infrastructure.

  • Rock, Paper, Orleans (RPO) is a game built using dotnet, Orleans, and runs in Azure.The idea behind RPO is that you write a "player bot" in which you implement your player logic.

  • This repos serves as quick-start project showcasing SAP Cloud SDK for JavaScript OData consumption running on Azure App Services. Its primary purpose is to set you up for success for your SAP extension project on Azure and reduce the lead time to your first successful deployment as much as possible with developer friendly commands.

  • Deploy your Django web application with Microsoft Azure, for scale, using a cloud architecture with integrated monitoring and load testing.

  • A sample chat app that uses Python and the Flask framework to stream ChatGPT completions as server-sent events to a simple frontend.

  • A blueprint for getting a React web app with a C# API and a SQL database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting static web apps with serverless logic and functionality.

  • A blueprint for getting a React web app with a Node.js API and a MongoDB database on Azure. The blueprint includes sample application code (a ToDo web app) which can be removed and replaced with your own application code. Add your own source code and leverage the Infrastructure as Code assets (written in Bicep) to get up and running quickly. This architecture is for hosting static web apps with serverless logic and functionality.

  • A blueprint for getting a React.js web app with Python (FastAPI) API and a MongoDB API in Cosmos database onto Azure. The frontend, currently a ToDo application, is designed as a placeholder that can easily be removed and replaced with your own frontend code. This architecture is for hosting static web apps with serverless logic and functionality.

  • A blueprint to easily and quickly create and deploy your first scalable and secure WordPress site to Azure, leveraging Azure Container Apps with Azure Database for MariaDb.

Other Templates

  • This quickstart will walk you through creating a simple custom operation on top of the FHIR Service using Azure Functions. We will cover everything from deploying infrastructure, debugging locally, and deploying to Azure.

  • Demonstration of how to leverage Azure OpenAI and Cognitive Search to enable Information Search and Discovery over organizational content.

  • A base Azure Kubernetes Service template with placeholders to include the application source code (no application source code included) and Kubernetes manifest files.

  • A sample that uses a C# Function App with native Service Bus bindings to both add and react to Queued Messages

  • A reference architecture and components for building enterprise-grade modern composable frontends (or micro-frontends) and cloud-native applications. It is a collection of best practices, architecture patterns, and functional components that can be used to build and deploy modern JavaScript applications to Azure.

  • A complete event-driven application that includes everything you need to build, deploy, and monitor an Azure solution.

  • A simple JSON API using the Python FastAPI app framework, designed for deployment on Azure Container Apps. Includes auto-configuration of gunicorn with uvicorn worker count based on CPUs available.

  • A simple FastAPI app deployed to Azure Functions. Can also be run and debugged locally with the Azure Functions Core Tool emulator.

  • A FastAPI app deployed as a secured Azure Function with an API Management Policy in front, set up such that API calls require a subscription key but auto-generated documentation is publicly viewable. Project also includes 100% test coverage with Pytest plus a development workflow with ruff, isort, and black.

  • A simple JSON API using the Python Flask framework, designed for deployment on Azure Container Apps.

  • A Charts API that renders PNGs of bar and pie charts, built with Python Flask, APIFlask, and matplotlib. Can be run locally with Docker and then deployed to Azure Container Apps with an Azure CDN in front.

  • A simple photos website written with Python Flask and Bootstrap. Can be run locally with Docker and then deployed to Azure Container Apps with an Azure CDN in front.

  • A survey app written with the Python Flask framework which uses Flask-SQLAlchemy with a PostgreSQL database. Can be developed locally with Docker Compose and then deployed to Azure Container Apps (using KeyVault SDK for Flask secrets).

  • This sample shows how to take text documents as a input via BlobTrigger, does Text Summarization processing using the AI Congnitive Language service, and then outputs to another text document using BlobOutput binding.

  • This sample shows how to take text documents as a input via BlobTrigger, does Text Summarization processing using the AI Congnitive Language service, and then outputs to another text document using BlobOutput binding. Uses Azure Functions Python v2 programming model.

  • A web application used for hosting, sharing, and interacting with Jupyter Notebooks via Mercury, hosted on Azure Container Apps.

  • Create microservice to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a PostgreSQL output binding.

  • Create a microservice app to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a postgreSQL output binding.

  • Create a microservice app to demonstrate Dapr's bindings API to work with external systems as inputs and outputs. The service listens to input binding events from a system CRON and then outputs the contents of local data to a postgreSQL output binding.

  • A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.

  • A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.

  • A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.

  • Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.

  • Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.

  • Create two microservices that communicate using Dapr's Service Invocation API. The Service Invocation API enables your applications to communicate reliably and securely by leveraging auto-mTLS and built-in retries.

  • A Python Django app on App Service with a PostgreSQL flexible server database. Database access is restricted to Azure IPs, and all administrative secrets are stored in Key Vault.

  • A restaurants review web app that uses whitenoise for static assets and PostgreSQL for the database. Ready for deployment on App Service with a PostgreSQL Flexible Server inside a VNet.

  • A space tourism web app that uses PostgreSQL for the database. The web app is containerize and deploy with Azure Container Apps with secrets managed by Azure Key Vault

  • A Python Flask app on App Service with a PostgreSQL flexible server database. Database access is restricted to Azure IPs, and admin password is generated randomly

  • A restaurants review web app with a PostgreSQL database, written in the Python Flask framework plus SQL-Alchemy plus Alembic for database interactions. Ready for deployment on App Service with a PostgreSQL Flexible Server inside a VNet.

  • A sample demo for building and testing react components and includes a set of unique features including AI component generation and automatic conversion to Azure APIM Widgets

  • A multi-region enterprise web app with a 99.9% SLO and a focus on 12-factor apps and the well-architected framework. The sample app creates a concert booking application.

  • Starter solution to process Service Bus messages to Dataverse, C# for the Azure Functions app processing the messages, Azure Service Bus for the reception of the messages, and Azure Monitor for monitoring and logging.

  • A tiny, no-frills, template to deploy Python's Flask web framework to Azure App Service in the free tier.

  • Spring PetClinic application using a set of Azure solutions. Azure App Service for app hosting, Azure Database for MySQL for storage, Azure Key Vault for securing secret and Azure Application Insights for monitoring and logging.

  • A FastAPI app that renders map images for the given location. Deployed as a secured Azure function with an Azure CDN in front for caching.

+ \ No newline at end of file

What is "azd-template"?

Azure Developer CLI templates (azd-templates) are sample repositories created - using Azure Developer CLI defined conventions - to include the application code, tools and infrastructure code required to streamline your CI/CD pipelines. This now provides a repeatable foundation on which other teams can build, to customize, or extend, the default solution.