From 4c6a34f3dac2d6c3be6b3823fd3430e97c241f5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Pichon?= Date: Fri, 15 Jan 2021 11:51:27 +0100 Subject: [PATCH] add circuit architecture diagram, also add a circuit breaker diagram --- docs/content/api/circuit.md | 2 ++ .../content/api/module/breaker/sliding/count.md | 2 ++ docs/content/api/module/breaker/sliding/time.md | 2 +- docs/static/img/circuit-architecture.png | Bin 0 -> 10152 bytes docs/static/img/circuit-breaker-diagram.png | Bin 0 -> 19165 bytes docs/style/markdown.scss | 6 ++++++ 6 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 docs/static/img/circuit-architecture.png create mode 100644 docs/static/img/circuit-breaker-diagram.png diff --git a/docs/content/api/circuit.md b/docs/content/api/circuit.md index b5344da..c828463 100644 --- a/docs/content/api/circuit.md +++ b/docs/content/api/circuit.md @@ -5,6 +5,8 @@ title: Mollitia - API - Circuit The `Circuit` is the container of your **Resilience** logic. +

Circuit - Architecture

+ ## Usage ``` typescript diff --git a/docs/content/api/module/breaker/sliding/count.md b/docs/content/api/module/breaker/sliding/count.md index 0eb3657..b26860c 100644 --- a/docs/content/api/module/breaker/sliding/count.md +++ b/docs/content/api/module/breaker/sliding/count.md @@ -20,6 +20,8 @@ When the circuit is closed, a sliding window is used to store the outcome of cal The count-based sliding window calculates the outcome of the last N calls, and decides if the circuit should be opened (if the failure or slow call rate thresholds are exceeded) For example, if the count window size is 10, the circular array has always 10 measurements. +

Circuit Breaker - Diagram

+ ## Options | Name | Description | Default | diff --git a/docs/content/api/module/breaker/sliding/time.md b/docs/content/api/module/breaker/sliding/time.md index 4a22f36..e86577d 100644 --- a/docs/content/api/module/breaker/sliding/time.md +++ b/docs/content/api/module/breaker/sliding/time.md @@ -20,7 +20,7 @@ When the circuit is closed, a sliding window is used to store the outcome of cal The time-based sliding window calculates the outcome of the last calls receiving during the last N milliseconds, and decides if the circuit should be opened (if the failure or slow call rate thresholds are exceeded) For example, if the count window size is 10000, the circular array stores the requests that occurred during the last 10s (with a maximum of 1000 elements in the array) -## Options +

Circuit Breaker - Diagram

## Options diff --git a/docs/static/img/circuit-architecture.png b/docs/static/img/circuit-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..5b3f4e1b09912213caeffca593dc4825f8dbf857 GIT binary patch literal 10152 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 QCV<_3hrf#d^uF>x0NXESL;wH) literal 0 HcmV?d00001 diff --git a/docs/static/img/circuit-breaker-diagram.png b/docs/static/img/circuit-breaker-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..53ca8a6dce05580aed4d8984b340e4f0d70cb237 GIT binary patch literal 19165 zcmdSBcT`hN_dgmG1q4JvKt(`B1gX+XC^kSqKtOskN|6#e5d?xtlde=LAtE5sLosxM z6cOp55C{-@4ZVbx@H^4xd7t-P?{}^Hz4xyB$Hlcco;fpn_MVwDXV3n8HenC7)fi7* zJOu)Q7}f9J(*uEygF&EU)U+po5+%=@Qy`E=mioQhkGzMMM_t}HE%@{89DE#0ko2%I z7rW+i>ggM;pBvn_KW3=*o-f1N8@_KYuzI8*v=htAoSmG%8*{JVk*%Vv>>0Cj=&);S z^kG?(_s^RoN*kNqFH4MLuw;opMlaMEQsOz6XCt}69VLY08A^EJ(B(ne^61W$|79`i z-<8`5%m@ zT`^`>1Z(>?R2KvqzY4L_69TKNnz6MI_l?fM`j~4h#Zp*~cd3h4dl*V)Dgf$Lp(IAd zIn0WUcO*lir-?dGLDe5o9*K(h&%0#x7QCB7{xJ~9%kC-1^>(K4%glVD?`K)gT&j)~ zHgisl6p7NbY{eR$0D%^}zOnH!zPBc}b;OCI^G|{I+}k<7I{j|_Wp(JrN|MjG$MaZm zbbAP*KLx@UO<-_R1XMf&;R}heQQ5`H5IO|8?2ND%5=K+?A3VAY0>;HR6ag16l@O>; zx7F8;fdwNbeeK$u9O?-585R(}`e>WOG$etj<75B=J;vwe*zpp-r)437^(6??aaSKi zv<_W>g(IV4eS-~suz(eBczBztxxbrqe3OpO6lft%+O06eeGvZ+m*)2w>z{u9Vqxh! zrfA*N?*spTF9p^~CzIg>Nr_i(Z~Q$UTgf~1=Yu}fuxn?AcdJaSeS2|<25UD5%NCT_ zlzRZ`iK74HwvoG2c6IB#f8`j|RnIAue4+wh8MtKa-RtG9a`1irR?II^E*E3ss_0Hz ziT}or3Xj8rPg_w)2^Ve9EngkNdeF+9#aVRI2kgm+aHyo{uzJg?OZoI_+MvC9gRxXb z`Dbs=&Ep}Jh)mxFJo2z>gv+B4SBG>8^*MZK4*I}(+s>rcQLbFo+0#rYJR(SS_dU)8xz)~_$$9D_}yQuoOo8^p81 z7M=RsK!crRd6HXU;@WN_*5Mqn*R3>T=Q@k_j);|n-X^Sl9 zYdO*1FkHC~J&SG{ijJ7HcVoJJGxroji+He-{K=t zLIMMB)s~4Z^X4vQSanM~zjTNSHlILa-cFW(a}f1~3e>4!LYxZD_~JH&yL$4CeM@)F z0y^)M>JWoo`}C8;5fwK!_it^33m!u4s&8Z8Wyc9U7AkEuU6ELPC_xYkZ{_6c1`E=G z#TYuv9-lcH^Sm0}FXZ~|U_d(#W0P3dCF!IUi|4r3E?jmwIdO5jy-}N4{Ao{Ev4@Ft zDXUe4;`}$FS*9bXr-5br(FN6~=$1+W??j8A*V!jB!%-3R8(DbV<=c2C{pWH)11CzdNNk7KQUWky{U zG|LLf+4?A3(~xdJ9j#(=|A)vV-`?O5jd=7<-8+meR<5uT%WZ2Fqj9JA<8&a;st)Zt z0!w~*R`H})x(y!89-p^@(Lm$MuM#?*2c?+e=S+#C{U7nPX`r4DEL%O`#;9SgP2n<> zaNL2{H(ncKlEtelHxxOXQ)#dGaF%p9yz^Jow6ZfK8_xDX?2IJ{44V7<((6Q>*zIZ! zjoA$^1^iivi-$_ykYk6S3AM2g%Q zULr*WYCMe-omCqO-f_UGykHJdHNhrd&y?WfWw|7@!Srs_-Ks;VYN+1n=Y$Y~@WFeu zO!k-i-A3)9sH2i|uBKlYOFtNc3BWRoi^W)4MjJB2RC#eOk9e8|)ar&v&rM-Wmq3>Z zuH=u;fmc|0Xv3Fp=uM+Q^2)AI)%h;bt$ts9wzi`ru*QO|+3Wj5Pq%lBX^bwwLfYoP zi|++oJm))P$D$RxEz@afhd{*@C7D#$Yr=6_0;&ipua12jH8vI~vX z$y5*)sXhS1T@r&3-tUy&=ts|WFG_M z1En+xrYCV*2kT3m6Rw7bopG^iKXsIv<_e6Zk1qH4aNUa7w%8$Au6w(2G6}$49&Hds z!jXtX5=rUN&-HU4S9j-r>7j!%d)eXoK26otc$8fFF_3mwAyy|A=03Tk#zl;5Hui4C==Lhd7yoGwip~MdVtDzx zTyN*VBoQYI^RTsHj}Q1(~#f6D%|I;HdfZOy+s`y-grnXAfvTn!(S zqR;cgHH7b`(J*}k&IMC(s_|%w*dz`yab&oKrF!}8#Wq4Ta^RIM+nvr6I3a})DZ0x9 zP(!D$-w-}>yp}XJ#CxZ!ij7N9!PeVJ@I0l7qt`*#W>aW-t&HNMhFpi#Ib-D{sne8J z38!pq*U70C(A`Zd)4G|a0Q7!viDOF#-zW1XZRfYW`|eltJ!K%ADqM-(XAUQAlEz0YPX$ zJMJvm4u91W*Wx$OpFBxX9U@u&Nb8SC_P$SgQoPQX|Ze<8L`cEh=x#tdh#aBWHGMHs3267n2=Z)5HHo6b0 z9Ink_%5SXhH*ex)Q{Ki^tW|`1of&B9>M66#0ki=WE5fB`J75kMFa+z|VH=H+M)|*l zpE*d(^B2#eX!WmSjb+4omGh4p{Hm{p8sJQRXOyxEa)ovuG{cfZdb zOyIYOch6TRM3Oxn*kpL2z;re6>d*#yag04W*g;kiAHm-puyFg8Y;%LE9i`E-w{II@ z_u7zfBb(3aX6I+Ber*hmG@?)A6jo_6Tt=+%3rp}F%T(!!(Iwzz0gDJi ze7m{*3Rxg?A8nj`yy=KDBLWwO!U{X}jY6RohCkT$zcH?glAdrUvmHFZKK~Yd4Oo~x z1%dGMoyn~1PE)FNcS*ouQ`)C0kBf#6%+r@ubMx!kw3SlFL-4)7iuow$#!5&u~`Nk z41dNBJ}{)L%|Xw%+-x&ah+2^T6#4!ulvTfeIpE@_Z_E4m+-9v@)4Mwr zHyO8cd6Zp7GUb{T0n<1K0m&c|G7t59h3d8Z^of95}!AO2OaRf3{+qrL{Y|IM+Rs+ zez_Ym>Izs782A`N?fQ1^hlSn0-9CSdf%_&_2ER*Y@|(>@Q1J<|BpT$|1|0vb4!%H9 zW28^7LIy(=oHH$CmikAk7B;7O`6@8{Pj`T~Q>%dP&!FxSbSbm7eqb0d8Zv<=IA%JG zE6~0SJUr`5NVYs5HYBs#{Icvqi*6ozwf?5SPUsKVD}P7U0MWe{&!B;umj~++G%Xz3 z!|PvODK^|5yIntFxs9GXS+T01%s|8e%WHI<5gmK4rZ#JPKrMz$}x5C~D(9`&&U`EqvJ5yx+uvL@(TEA<-d_!bX z5_#Dx#?B~=DT(pZVKnES0yXPK)9E`?Dw9$AwT|A^&ShR^1vtrooX@-R3bUVu2-j#v zZ|`8^JdqEQ+5-#^53{^EAs6BvzT6xyac;GAi!^6#y|+42R#@B-UN7EjbZOdt7JTmA z^E~J4gl3k-kFt-`S*>)+{PQ=`5!0jDkfEjf*QMX{tv(zR%@On=_SG1SD|mOX7q?Fu zE0n5!9&%AtL7JRWIK3h1n5q?vdU|on@ie%lz#;XauG`0DPJY64JAz(JUHLpOo@2I{ z(UnW#HB?qG`kgJe4Zgl#bib=(*!69W9FE|jj@?U>a>t_LB4ZVL9MYVOcv+Y)2@oR7 zW*Wcxl+3K&T%_p=Y(&dpW~ez1m}W&aY&2nO3d6-3{y)vVN8Y4U9&CJteI2(Sv2YtK-U! zo#u{Mbw0lPc2;2UL#)Y4$w;y=O=H(tmzr#uL)pgx@?PD7BLwZrLeI9E-9dKX2qjUB zxQ3f72hKm8t1aq_Axl9B`<6G|LKqCq8JK+K=nD;)oGUVX?lDiWQF&8(;!m=uzw^l< z@M*jNojiV{Yv4-=BCa4(IOLuE2FWc7#nQB7vR>0~eX2tq!spM~@03`dD}1W4OU(Se zDa)lwE4m(|@+Ud!mC5JWzw}RkYz?N*Kpv74-y!f7Aw_(IbM4x(B#(F0DfZ&NxB*lg zHCAQ+tF2f2Xl#R|y2d=4^Uo8Ixi@HBW6F2~$st32a!v4yk@;tZo5%0z#<~y0U#JKl zeEMwFcEBGoR1se~+5ofvF@=@6jV&1+?;|-l#J58zg9uL35o7kP*E>voh zxc6CK{P+)Xdc!h;6ykb}MA7cKUH!P51Oj)RfxkvF$b1Cr{J~0U<25Wk5>^nan;1tQ zg!qN7YK(g+Rb0|ha6U{OC$41Wj_)PeJg2T!XIZ)Jpo^znI;a>}&IAv;B;Tg~OBW8q zoy&-9C=wOd!J>qBqpJH7By__ACl~uRp(49~VW+gUJt_HoRHZAo*v$2p5ga(it$f4c zEfrY60|TsyHIHyUR9}4H($IzLEOZQlrp4E?qAIjf5hMK`hK9o-sN>_4Cvl9VJPtvx z#H2hMWuz_ghmzo4LG%IdlQ!ZHTRZR#>B*`CH-W?pY*t99V5p|mUG?|!nmPB1-kbVL zG-mPvpDht*)M!s}b%mbJkCo0FaOoe)cX{{5BKhEPd~YkcsVkEp`9I!+^KcsW#$q=KJp#wtm{Nwli$M?g~Npu%*x8 zET8`>@J~{BW?{nJK6V*<-Ev&!>InCXI>K;~JyPojR3}fv;%f^dnq%L9Xy}YNuNcPt zO)f0+25g^6k_TxF8SaVY*2(tk<~BBtnUiyy<>!i~T^=Nf z37V-jX^U6O=KAW6G@>Mg(s|H6?ntwJ(mRxg65*UxckRTh2o5KiEx`{45I*6j9k$ar zLBhEhi3h6(!)&o}GRH!OrlQc)32>E4?(6M{l?zwDnThPo*%Slc$&eQOa13{&*~Yi8 z-fHUOB=Kq>MoEssY5WKubTcif&%3TIN37(9D4)K~d z+TGcx-HQLxP;tXRMovOAbc~(U}B{nEpmsx;qh+oTOZ(NpS z2`lccq?HnTiAXrKG%sGbcRfNFVwVmr^FTHkxRtuCo*wk_dr|T&xHDoP9@V6~m03I> z%jNegAMr0lL+@~TK%mx|2cC2`$ot0>*P2a-w<{)y6 z{%5zwh_>eSb8_q}8uiK#nuZcF9*>w|A*{FaDrVNva9Z(8ySttrtyQp8t;f&6L^xox z29TV^Z}_Y%M{_m@Abx#uV!^4E3Tg`L4H!pB6kmYlsaoU-m2FE1R#oIwEU)I%g4<&U z!Fi@f22@^Z-lkGj%KdFqb4CdTwBT`X*GnAU-k+J+?qS7rv1WuMPi4YR`7z;~wA)v*gkwdDGDoEJSKUzoOq zqmHXs?QaXW23l2wToO716S%9{Mx-$l+3n}pJn#kL^x?j+#3A?0@Qp%9i=wdBDKIHK zwq91zOLWgnTVUY8y&EMlboQ#R4_1A^7v9~~7LA&cZT8~I)Q&HxgufyTe~6@_q5*c` zzClB|*Rj-Z%XVL-?h)(^GHf-m7i?qXI=IT5q|t60kg7cfXcRqos5+IcSP|ju8-Lal&c6o8RRf6f79K;PpBwWvYsAc!vFi@EveHF1Rtp2jRmYS zsYo~Di)zg!c?JI&DysPoxAK2$0P@^6-Z#rIVJWhDJeot+dNvRgc%t$2Eu-k{9Gm{> zsr?hJ$1e#vf77pcfhXZ&(hk+QeXadA*41WPho$w6IT!F;X#e@+8KUJ*0UX)fDW_z{ z_*_O83%Puzt+(ehr@T_RpB@}=@4aIRh7|-H+2TT#T=TtJ`>U9EX2t)Gd2LW)3O&wv zAIRP+W=b=^=U-v32iPjMiDSes+yPBPZI~C<+4dQtPIqERj616_KzWplf>}kvC+L17 zPoaEzx(`jdf8Bl;yJ`gLCGviu;oscv&yE zVuNyf`si%ZB4e# z`WMINX)VU*1+Ou`?pXCB7aL-TjaGvWkfAlO*J~YJN>priG9QkmlW?tiJGeMnBT<3* zny7T%7Vmzg_?P`seP7SieB&S!61~rAm(~3qA``*oGT|AGec(w>Wu1r*nSRU0%O-g{?MQO_ublebsKC&)+Tc0b z?(F8ymLycBh33IZOfBSDz;TEg_?B-|C%4XEYsXl1XZVMyyU8&<_1O;GyB(TFT&{Vh z-p;(vBK1L>z<~~;#sXUmO4Aj)@U_ow@lrBW~x7ZX^Q;BRJC5rfOiq8vB8d6jo)(t^aF}2*K$g9=>npS)YK?I{R>A-`f z7~w{xx$i*tbYRaAiUdX`FdyWJFQvO8n*e(4v~}1R*B-zXraNxJFT_$B@)E8W*}ck}7E6XcT6KwT0j~9mnairSu_l z4#P|Vi^^6cb|hKU=xBYF{CJ@|U_FMM^9xf=4Et8Ma^$&=gjxsBMQxUj^?FLrky|Mjy!0e zGsNsv5fNt6B7@Cu*=naG0F^fmjEk|Ys$K7C!C+HbnWGhap@#o%Q*qD-bSUD?*z16G z(ICzgXt&-M;^Ei9i~4yxca`_2CZwYZg@xGfXzvElDp>Hl(c^A~neDY;-A8SW)+$Nu zA)lpBB8m??BT_ewcV!|+g5Dw4Txh|!FM05+p;3J8>uQc^55Slp=r1vp&_`ON6UOlyOWE+KJa2n9YJ~4-I$LX; zjz_^l0Od;~3U}QP|AspG zk=^z3bsI;~dUwAO>a2FhR zk6Rl1^1#o+?E+xP@B_}#ca*rb$bsw?hTz12)y#HLSZQ-%zrGPWU-$UdDebPW?Jbz2 z>k4Y4&wFs58Jw^02pQp|H&|ZZ`}JL$_Bv#mkG-B9E+fKz=YFzePteR!(%cb|Mq^tjNqha0;Ebc>jQ4Q3E<*XRX_;7kPwZ_o=-jb; zyQBQ^joDP!s8et1ZB0hZsfCS^RyKK5#2(DdctVCGse_L~ORFClD^VjQ?*(H7{kzt% z>n^OYXW_0oU2)I(pn?Wqz$0tNHex20tPZ~O8R7R7i$@QY$GTZm1JeEWjSTV9yU_=k zs*tLpgi5GVR(U>g>l(Y==G~E|I7FHeyPR&t!X0pY-iZl(H6|_;vFo)f6OCllj5_Vtl_qU5Q%UevDh(|- zNikh|zfnFU(Sqvo$xzu8mH<&dh$yQN%t$|SpfB-=!|z?tEQEi z-Y_5d@%Irr(2b`i}s;>P@*i|9TRm6A$3i&OJCHR zw3S*s&DybC0Xv0w{VjxDnUcYvKKuM!{}XN#)`JdveLI=j*{S=OUB8Up69c)h6RrK) zp@_ruoV52OquctWf{w!FMWH+4&Dnt0~M(@b^9+%nPDhDQ#1 z1nRLUD`}xSmDi|EE4DDzqML^D8@^+LD@^R3WkY+l-0vnBix{6AIx(uWOv;Zq$XpZg z`PI2+A@no?!WWtMND+2P>Qn|FVnR6aV@r>omyV7A=hrs1%qPYUX4t(W@&^5pfA4dV zMbaPTFVM=)saAX}qc6~3J{6slEi)}s7%3bd2{jWLQ;SO~nL)P1oeY<~(jX1Yvgbgh zzyhr{dH9JjGwj(NIy31)&&r(4<=Z)3PEJ>{oan(m-c?_oUR*-!Sa70!;L1Al96N8D z;w`eW*}G@iqoCD2r-`*clRsRJPn_YAv=19XzeAL+v2#oKubfYVohUvZKB=exk0@o~h!uFrC=xwOoJ2We3YY!IcTD;Dw)k zHu|ce#ZCUwxKHUtDdF-8&by=MoqupCW9;}zh%Kog-PH5wyif0=V}1qGor?8+zDUgt z-f2+{NNS<&3X|#^nX+HXNss2?U8obUSs4n8VF{247+Ev7Uoc0YSok!)H|cv5WOKiw zZ+u$P{sy4p@af~z<=Pi)wX1GH8qXAzD-K`XS>M~5y9741&f5FV$*k=^8sBKrp7TR>+ymGna zW@7a2J)mUM%WZMtVjLSS_<#mccDHl<`!6mXGh)U^$n>?KP|xtW!@DZ&wofC7+gU8k zK|?)H9@A0rQNJ^0P6|n^hVU_3PLwoGwW9t=gH&xD*9+#ns8AhOQQ^1SZ7Ris1F$Z0 z5e4T>4Gn=7w$cMmaMK=2!l0hwsL!UnYN8)z&)x;p?IC~Gzhp@-W1|8;PIY?$+7{* z0pIzs8UO%vThhbTJc8CSc9vcToaEEErmjyxohfH1?&#D{2EV;w2o0s>ygaY7 z#xIK8znt!Bz%kd8qWIcpVZXc6rXYrlf4ks?nh-v}ao6`%y_RYe9PnQ?%MC*iSH~X= zEPJ%rxkW8|#mjF{a5GwUK9xL;@^h=(>PqKGP#MJRyH>$ ze5$2hm|BqCzty>$`S)vgQFoHf@-A>_`Nz&`PS_ZCG^;OKW#hm@qWUaBe{yG*2)EgO z)m`hke1%WJ&fA%y{BQ!=OlNdsZ8mR zR^%-!OZzZ0Z^GK8ZOvaR+VOeokFk5Z9BjbR&lEapL=bB{ZH6Arj1e(!cKkA2T}+_8 zIw*eoHm#frR*t^gQPg&-#O_6L{bq2lRzl^nSst5ZzMd312%+{#Wctes$lSYJMO7?h z>3i4D;9A2nEk`b8gLpM_fiaXh! z9mFeJESuxPJW%>~j^#8Hj?2KI=CB>Bzb)gn0kq zRV&g`%t5kLrmS6w*O}c(k3G>j3;9g8OKqCwkpQCY*=h8jRav zbUDvub}&n$ygNTzx<`AoBON*EBzHPFIZD%)vO@-mm%Cy*@9Ks-+bp>;q!iW zIHh47R9(T7evKPzOUuo7yax%D=_&po0iNtv$LjtFiKCkDMsv&?^(1qy=l^F(7~-Zd zME~EbAl7nYQJe8nf&Xf?gIKEqiqihAXqM9zl{b65*i{@v8iE}soieRCu2jNHP=GK_ z0E(3X02FJv7mc5@=70461L0yum#Qb7#&9cu0(re2Sn-SV^7YZ|p;JyZ)|b8TlI&FT z3Vs5L+fy=nYCY#Ma8CQ=2W1=pL)}h=)ynfaX$<|-WyKU@1VR)#(WHX6+8|{}{mahB zcGM&$lF9Ebj)8gR1LnIa*vd=9SrXHh9R-nS=z2q@*_Qwy5Z1?b_l}MOMw9{QPeT{& zKKGxo`Xl2404r%=02%v8aws`+IRt(Jd!hH}R=_vdUCc2;^S^>a_7`!@1YAa<5hUJS+Kt4Oq)=e4cuo*aV7-_rYopzOyQ zhN`zOUWCmW?Op<0&Izd_Qoi&UQE!Wv*XdvN-arQhMIPob`dat~BeDokF17rPmwJ9K z@C0Dv9kCY^C^N1wIeYzpx7f?H-1w9XKR^J7KQ}n!+(gF*u?FZ&y_S%b3j{`c)6E3~ z>30^u17Pec=!K+ijqVVG34pYkgJm*Q?~xM(i0QZO3=W+Vg=L;OV#DGr-mg)mrQJTd z8}KO?hZ1{b*9`!1N&baL0eZ}mMM8vgS7wE{hwi`DEOt=jqq2)7El(wGA#}~!R~p(b zY$^93W9-1%Pi|E%=w(g6J`%c6*oJ%7`m_KYoT}K=^>NYbr+H43(0QS}0XMToZLyEi z!j?yp;0jzR=Ci6 zLomneI^Jr!-$+IgP-w1v7u;B_R5Az98!5}K+{Sk&F12&&`;W@X22RVn90ZeZ(&~*( zS>A`p4{O@8 zr`qu_8`;;}VNDVvw-}1$2x*B4IlMdyO~M$k*3m#LO2TrqR@S6(>$=(@h|i8P3=4OV z!+eAhWM{#(TLrQ9h+=U!l`elfT^LpgwbW(JHuP@;b$+&?EWR? zI6(iTNIU*At}IT1@*YwcqyJp@C4l=#%4_>y*FOtP0-%;s7TTX{D47Ac&pdkdKU^tu zOey~}*GqqO^gjsxyTkuUFy#%VP+Na%`1f^un(&v7|5KCyD_#E4>0g8K_n`cJ{k^b$ z57O@i_P;Q8R8fv;5NfS8K6yrD6sfi(U2+`+a&@Bxx!z;|)wkvT z6U=Tk63(b@b-}1S4!xZ;iA_J^Y&x#6f|50g+&&LVfs3b|<14f|>nfeCsJ^z|C8Je! zzuhb#rWO3$&G4{3Lh8r<50MF3xyp$_+0Xi~lR4WxCbR(3AI(b<QM(rPd@FZx ziv$uO#4`W+cuc-am!rAoY2t$NLd|gFX>eoL$I1^nIR1sCehzq4D!HZ=?wLa3?4QOe zS2t|Z17yU>ETspkUN3l+xwF{g*PBhe?g;OV`s_GAE1uqCZxip2wb71ct|=>hz7-Ki z6tB9UJQtH7EFqern?DU}VxNz5G|D_#DCmO5bJltNL<(`wISBsm@;^ID#tWjHd zB>L<*_J&BQc3i!*Alj|?nqLf%spJlk`CK{9an0X7-5lE`*tj?HAaIl(+|oU@E>!mx z$=mwgXX8k>w8P%LASK78-ujjOyGz8rBc?bd@5EX+iK=;c{H0L7p(O=POS{7(lFVBm zGo|`;pG=ABkcXD0rJ7%KIu~t2h7O^rKyv=o^J$SYuvz;(GdHp7?;;}IrE78N(>f8W z!kfA|*D5>8=-;UCq-a-+B6Vv&l|0`8pM`xJYQAWj_EBz!7P*eXhPnxeMU*>XG@J; z;uo}{dAyh+4XttYR=v-)%jzY@Hbx>87|!953ENF~32G+KxD%tilWN-@NtgDEn$WZp zMs5n51oZo5F@TCT?%~@tzQXEL-@`Ek&idGy&>GtpnyO9$Htp#)SDfr_)t+F_FOxD-VT-VB#{mdGo! zgfswnK=4(=UL!vHGjG`U+uYWj+MhC>2B2J%H^~D&aT(SD7j5Et(`s5vuU^`TovQWa zqpFOJd*R1kw0KXpkiY4?E!9=buKA;mE@|!8{o(;K#j@+!{l|+%HlnS>+aJy_7Tb8O zNs1E~9G#X9;br}YMA5Ub>j3>|=86)_o7rFl!CN+Wm;AVUZegxpncaWBV1?}V5+%{S z6BsA&ax8(MQxt`T#Rf2@9 z_91t~Y4AdMe^Y4$(P^*WSitO(%k@15|2?N?ZR^mtimS35S5gM|7|Ml7Uyzr;-Lby7 z7d9^93AJYvR(0C_IIUZ^ZnwQKfBzoza!IzNJC;RH{?~lo5w zu^=V9*fG!8Wg3a>*il+AugjSksw;`E2;0^|OC=tgjfwQVNGM;Mm~+Z#jI1Et-X?1l?m4V9_H>0rnWW-fd$1~?bkJKEcEviIuRz) z?n8p9pvUcw!l}<7rf#*%Hr(bH@%Jw#Y!Thq2u3Ck7ZXOgli@qbTr?nBFfIvUy_yvh z_n5iqU;w4>CtBB#dVS_DFw-u3_x2B8Kff`5X)aYw3jcW6;PpVw!ovHAhkdxGd#1&5 zqG2aNAHD?-yyD8i2erN|3i*0?Hyg-z9KPg!a)|Wd#~Uip%dQ}Vy6&PJO7*W)#Frs& zkWvsW;Ld^`JOxGCQT<6;2?V_S0*VLn`{VjwU-y5$^8eraCI9z*f#2#<&ME)x_-J?i z%eMk7`^SCw-&y##C-%Q~kp3SIA?4KbUyjfJ@4P|Dtkv`aoJ%22EpDfHaJheo*eK37 za2`~Ny>}Fd-Wnz6)z?d%1c^xZ9(~Xv5s8k}07dl^sG;ThK6iQHQF;-s0!@urE7Ny8 z1u}Q~cyt@L?_x#A0ko$k#T4yK*i}#?>|z<9{cS`4(Y%Hg7eC}UAne0Y?=SLU+V8IE_PH$x-8#XxTA-H^ zTG5?T?d1GbKgd>3-1F89MZdYRL!|$Bi%uP}UzCKII9flT#EDo3ECWbgxTdF0_`?A5 zAouBI<0H5tHwY4%xsg|)C}T|XzOCuGrSS;-pzfEF@S*nZ=-T-K>rK)!*ir(%hp1o| z#cWCmF2BbutIX5y&;sc(@`90FLA@#d$F;rIs$}qyyFId^b;}0Fuc!&qD`vQ0?}E<2 z=0kwAhhXt?93YxYU|OMPAcm8YB*hBftUr{f*bg{}9!#r34gN5l=g5e`>H|%l6&h*$ zTG3iMnMjFg8@a$&jSOA(){up8$U1u}8<`sbQ4NW1jUEDSH6{TEU4tDKKON1EcUS+_ z9N`aO>p-Q8T) z&6B1OJXE2J)M?PKdgsgPSckG$mxhG12V=cS7#{%n6G!W#~M9?=JY0EWk7iGpxlnD z#-^DS82po!vlM0nK+_=2-c_SI1FO{iohm`Oii19L!$R_n-b3?pcWo8j#2(@2)#?sZzZ{7C`UQ$lCJ#PP-%T z?HXi&F2GOmP+Z0wFd2#-^(_IvD)5%%vL5Q#%vh zfFW}`B*0WA_GBjbl~(qT)}^3an3)+@O3oXTLjNQg@#>4)HrI>E6???HG;~Lvp$x&# zbFZbd6tnYA$GQIWQAlyqv+fwuPqV*C03zIQ^1fPt>ozoS)tCf8&iPV2cf2%5qRo$ZZXQ=&JC3P1Etijt79l8*EK+-zRqdr;O;_1*@e6B;PRdZ()OFb2vn7FjUiy6S zbS7bIUhDGPwI|WVaA?dt*)uy&8ak{MI@5xI)IC^OGC4XV69;41HP;$96HmrHkLkjE zDzzCXo*KcU$)><`E%Q_<(BuZ6_Zq5_VciK-CH~^>^yjy!$#*g!u)~-wt;>?>n zRc5rZ6TVldgJ&p6|CKGz!e%It8m2t1!120sACJ)t>=Fw>oOf?L;Y&-kzO<#3=E1(c z#3s5SLv>ZCVrG&|_E$7Jrn@^taz{@S8y&-hLt+j~p16ix5w1tCfr+bHrkMK52Mk&Z zQ`uidPF8s<>zdn591yKMC^^6*R@^PCr+}m_#jVJQ&GDc7-K^ezL#vZCFD<1BL2Spg z|T+t)b51RDEE7(qI|g=q#c{!u2KC1gU>otB#{Ni|1a z`@^yBioj}mN~^%v!moqkKh~qZUZtSuI6wJA)oW~PMcKk1$j@`xt`iUodeqs>X6uM! zgEh`;?R#IDo~Gh2x7u$|GgVGC!wx`FjiOejsq9AUtAxirg$abx?I(WzUjvlSSx6JE z@d(sd`f@er-RY}3`#~6(u1&+*XaMkD4cH_pTh_y$d_QI5wLohkoj-aUqKBm#r@hmS zIzM4jAp5@7x{zLG)=HW%J;9rZGWa6$zygtkCixy69-ZQmiKzZM`^k*u2e$7llID)? zD3HaImd5d}YWlmj>A+3{{_O})nG`l5C_$mQ8N-7R%6O1AP~)Iz<#~*j5&}7SdHMA+ zE?{;{--2tX>e&S|F3U-h+{A&6FrxW`CJz{YM8Yc@SMUvF%vJfTc||X$BP4}_bfdg= zwA0wCVb~kjLHEss_QGSlGJIhG+I!ROwiq+ZDyM*>ncB{Q9*l)aw~E`St$8 zvXWnj&*Psde*%Mqdi$U~&2r1?I^icN4bjQ3&FrMX$L~#?f91+z=UAi6>y?%#?>BCL zzHpd_FmiPG;Y`P*Bc1+(V$9gcDvMfk_`~?bmX_Wd6#XBJ%k^~+<#NCpo2g6Ug-0+f z*KbxDj1*@u1YGkkcZf)^0Fpi@7Ch#w( z#Zr;2XC96aOZN_w*G!}#%~`ucwvw6W!@_uO5(7j@Z@a3Ci_c4G-2FxBUbvB5dl_-& za_u*i-!C8?;k6dO>5*{i*`)I3g2ip;J#rP(4PoE0=_c(}yhMC4A7wPm=c~X)5`F#O zm@A4Zs!9zdc&u09lyj1FArxG*;iV920{ zffPiRf|-Iq2!Lyu`x}G?-Kx0Zrl0rcBj4lorw!#B>Iv{H|E@lYRtv-ZPW{FMso$fb zZu9|9cg>pc1&_2SkTdARj3wZu$P}AR?qqbs>pXybY%K~5+L-_-KoM5{J%4Ox1o-mf zQpZR+2!Ik8aCg^ik&>91l|uoEfhxZ!`PV)J%K*{0#&{A9xHrZ$K&I)oe6QGVN-9V` zOOt|D|GDwLl}Z7K|A;GAzuMWgVZ?i!SMz>(bhO{gv;B58Qw4b-j_dGk} zx+iRT>%OFZMuu7MXMs!s&MxoyY+5Y-DQfM8&F{3oNiZx3{ia#?yOV$44#}A-g=?T~ zyQ{$E^7lT@+6Y=qd;++L80hLtz$wd(XWpKD|M%3heX|X+grk1c|A@P51l-WtMu~aEjk}oPpsjC>&dX4snZ&KQV8|g6m~1bA_w97%pi322IRo*FFe5w@fph znW68zwrXCvIzMpX_s04Im5G9N;VYv)w`R7+*FAsR%3bqzYFTySs!WClJ8Xchu!}PT z+QgzH)_O+&`Ip9$z8BaUw~PNbGx~49Hj#T5`Hc%Qk6-@x?0K9q=WV+$jMczHf5-yU azx`)EC6!*b>*ZoikO7{qelF{r5}E+rrLkuK literal 0 HcmV?d00001 diff --git a/docs/style/markdown.scss b/docs/style/markdown.scss index 7391502..27dd08b 100644 --- a/docs/style/markdown.scss +++ b/docs/style/markdown.scss @@ -87,3 +87,9 @@ table { } } } +// Flex Row Image +p.flex-center-row { + > img { + max-width: 100%; + } +}