From 76be247001f096688f489cd9a9cc3494f3ae0092 Mon Sep 17 00:00:00 2001 From: Sebastian Wittlich Date: Thu, 13 Mar 2025 14:35:12 +0100 Subject: [PATCH 1/5] Set Version to 0.5-SNAPSHOT --- src/OneWare.CologneChip/OneWare.CologneChip.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OneWare.CologneChip/OneWare.CologneChip.csproj b/src/OneWare.CologneChip/OneWare.CologneChip.csproj index 44f815e..ae9203e 100644 --- a/src/OneWare.CologneChip/OneWare.CologneChip.csproj +++ b/src/OneWare.CologneChip/OneWare.CologneChip.csproj @@ -1,7 +1,7 @@  - 0.4 + 0.5-SNAPSHOT net9.0 enable enable From 363131cd4e05e15c1f4bbd0a60ad09a5c2223215 Mon Sep 17 00:00:00 2001 From: Sebastian Wittlich Date: Thu, 13 Mar 2025 14:51:35 +0100 Subject: [PATCH 2/5] Add Release docs & Update gitignore --- .gitignore | 4 +++- Release.md | 3 +++ docs/HowToRelease.md | 12 ++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 docs/HowToRelease.md diff --git a/.gitignore b/.gitignore index c4795db..bb11be8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,6 @@ obj/ /packages/ riderModule.iml /_ReSharper.Caches/ -.idea \ No newline at end of file +.idea + +*.DotSettings.user \ No newline at end of file diff --git a/Release.md b/Release.md index 18d6c8b..c349768 100644 --- a/Release.md +++ b/Release.md @@ -1,5 +1,8 @@ # OneWare.CologneChip +## Release 0.4 +- Update Dependencies + ## Release 0.3 - ccf file can be selected from several ccf files in the project - Bugfix for Programmer / EVB selection diff --git a/docs/HowToRelease.md b/docs/HowToRelease.md new file mode 100644 index 0000000..9edeece --- /dev/null +++ b/docs/HowToRelease.md @@ -0,0 +1,12 @@ +# A Release in 10 Steps +1. **Create a release branch from `develop`** +2. **Update `Release.md`** and add release notes +3. **Update `oneware-extension.json`** and add a new target version +4. **Set the version in `OneWare.CologneChip.csproj`** to the release version +5. **Commit and push** +6. **Create a merge request (Pull Request) on GitHub** against the `main` branch +7. **Review and merge** the merge request +8. **Publish the release** through GitHub Actions +9. **Merge `main` into `develop`** to synchronize the branches +10. **Set the version in `OneWare.CologneChip.csproj`** in `develop` to `-SNAPSHOT` + From 7ed39836d88262b4bd617d38c5c58d6a400e270b Mon Sep 17 00:00:00 2001 From: Sebastian Wittlich Date: Thu, 13 Mar 2025 15:08:39 +0100 Subject: [PATCH 3/5] Update Docs --- docs/{HowToRelease.md => Processes.md} | 11 +++++++++-- docs/images/Gitflow-Workflow-3.png | Bin 0 -> 30668 bytes 2 files changed, 9 insertions(+), 2 deletions(-) rename docs/{HowToRelease.md => Processes.md} (67%) create mode 100644 docs/images/Gitflow-Workflow-3.png diff --git a/docs/HowToRelease.md b/docs/Processes.md similarity index 67% rename from docs/HowToRelease.md rename to docs/Processes.md index 9edeece..8d8a5ae 100644 --- a/docs/HowToRelease.md +++ b/docs/Processes.md @@ -1,5 +1,12 @@ -# A Release in 10 Steps -1. **Create a release branch from `develop`** +# GitFLow +We are using a GitFlow. + +![plot](./images/Gitflow-Workflow-3.png) + +_Picture snatched from [here](https://seibert.group/blog/2014/03/31/git-workflows-der-gitflow-workflow-teil-1/)_ + +# Release +1. **Create a release branch (`release/v`) from `develop`** 2. **Update `Release.md`** and add release notes 3. **Update `oneware-extension.json`** and add a new target version 4. **Set the version in `OneWare.CologneChip.csproj`** to the release version diff --git a/docs/images/Gitflow-Workflow-3.png b/docs/images/Gitflow-Workflow-3.png new file mode 100644 index 0000000000000000000000000000000000000000..1fe2368e015b69c6194128cfb03f212e2d349738 GIT binary patch literal 30668 zcmbTeWmH^Evj&=k1a}P(2=4AqaCdhGm_Y`27$gbq?(QxF!7X@j0>Le~2Mca@c;D|k z_x?ER{J5-HYwz8=yQ{jos=Djx+Jvbp%b+0>A-{U{3QbN{QvKDdH=tLqUVlP_hn3*7 z*9yTdgsxJ$t{M&?R}X+Q@RgW_gBg%a&JJJ+R0jeqyqt!Buu5=N)|$Gmx=M-y<_>l& zfR{Qfo_3C~)~{X(iF!H$%)vlcGBcp1wY@OKNm~~MnYD#5g$}n8o06jh(8^lY+Zm|g zt*mM84L0Yupb!-y6Y>;*bzlc{1(12#+1k4ZcnVYe)2{&R{-v0eg6y9vu3%w`f0@!% zQYDjca0Zfbvv4w-v$3<2@$j&)b8++VurrZyu(5NnvcY~l%aB~%=fN}co5bPY4l>VnaC7oW@o|c= z|F@6-tu3!K50?}h2bUzDxFkEf6bGLeA15EXI4>_3Hyb+-AJ>1|%GtZP0_@F!|D|gU zqx+w>od0KA0SRXyz}3N7)4{>^zZ#%w<>2bzV&&jSCZWMYMyCWYx3+&NpnsX5f5$5c zbhdT}T1Y!P*pdAsVFBy^g#$Jir~miJ|7~mW|3_-9FlJa^)Z_o7F8?ip>EO%l|0qA~ z;eX5rXb-a)XP9xIy;Fmkmdl--q?o4X;!zetDslhqfXue{S=I!Jh9Y~%`~!}@I32q% zriNljUm+$U^=paGs@MVq`laMwH02d(--;uVV=AJ}yj84cA9yqzpDRjuT5A(zjJk65 zn38YR@bbU*nUHsxvMD(lZCm3q;Udxs#1uy)x41duL_#Eo-Jb{KUi9o!NpI3aVDJtFXFs&I_CAj4ivV5xZ2awM#xd8Xh@9(a!&Jq(lfaT`3HW^pA3j%jesd zC-i!m$wb&CmZY@EA0a^_3hmQP6!%a5n%uS-G4khkJf_S-WDmnjSPKEBT(SgQWS;uST&s?OV?XWJ8Lly>W1pE$B!^Nwox z`<2-o$9253%%`pUxa8^ zG-l(|B9boEgmw%VQWer27JKu5IBc&$o|QA;TF*Anc$OkEquC%vs_nyrr^Q{)`K#Q! zfSlG!5SddvJegTZcv7?D%lZAe25BNfxt5Mq7P3@pX6|u>QYw^@^SLY(n9SPc=9+tQ zIm3RBT^hMtBUZ>DjCT;IgknxN$MzVc{^AgB#ei)x>%J zFm&%dH4YI+Jd5-o6j4pw6KpSouTLLE=$qWYiy;?&xUYu{q`{SqbU^etVjt< zu^i2r1BY>hLQ(9iwcC_Y^iSq06+3nRN_eBUZz|JVs13p%aEG?mOB3Yyvp zji&}l3x#7i4lB|_B}FLrJJjc-URLgCnp&K`NaPDO8B^ARsxd{=ENZE7U*XVLi4Liy zH--F-CGGgRF(G%Q97Mar2R9lhL!zpBAV+ZNU)o%aFr5?yE!NT?NoPx)3rF#DC_?3B5CFw#GH%=J% zyG1~2CO|ZA)lDfS5vAx#G(3SHkz7K9*UO1ZH8n2(`~Ippob4Ku`*pF#55Xuu2-kRS zURV#4Lr~+^$8)SV#9jxXwnAC0gQl)-()VKu;GJoumE?8K5@U61t;#^m__5ZZh#Rvu zNr3h*zLm6Qz$q6T2GRFOq1s=2O(yjmX1<+q=0DEyT?uoidOgv1>1Vvnk{-AQO>>y#lo(|NR7lM3>PLvkyL=(e!=mfw{F*-WOt`W(D?mb+do_WYb_DGr6c zcF9IE*o>K%-DOn{3i090kuC9Iwue{#2J>i$@aXi{?>niqd8 zoBaup{2aJxBhW>#67jdAlLch*CQp25gz9!-?8VmQbcaRP4r%8uFJbeX2NJ9Nd+A;p zJ*kg7(%!BH^Kx>C*!PJGDc>#6`oiSBnd_sybdSrfvb7jK$W5A!Du{=t-0l!p*bgf> z;V1DpM$O>kyR7uFgS^I#TxgJnQLosFwmL(sIIs%S&IsZHdKoec@ei}ZN&qSC069Z(GN?e*0wF`n3kr2*0}t6%)b zmnG((718TWkRHE2S3_W}*Sku<84P^uC5M^~1X;{)+m{AsDsZ*0RVUv45Ep|IdXE<`-Zr z{^x=iMEH-Is9{=Qa>8V`sGYW8qP^O`mtUlYV~$T98AZ2nE#tRqFTqZZV27u6h-`TiW-OG@SokKT((! zUX54z=mQNUIn_vJ<;RCfkWj%=tfu6Giy35}=fH=CGDxrNly&oxCm@W|S3;N>WIz4a zfyUg}bf=dtD`lyeY?z1rtBENGjIBt$n%rYgZ!#xPXr0}ib%i`>PJKqp#ICswE}=7= zDfA~oUnlVG#Ec64b%d`($fNkt5LNzByIwuWs6TNu<3Z9m6a2R7mzP(3ov_U-qa;yf zis4B#@2^{ytQzr{@!PHYmd?#nh&FgjGPeHEh^UYe%J|T_t}qf7Hw~4tl7fOk*x=1v z#Y7DWd_wI0MggjO+DWDK#I|S|x+WoS4Ov|@3hde-G%F4)m zCT>{MsFE~`?0R?L2>`xTYok#S7kHbMV?Uu+f^YH1r-+U+5EZzxb(NWB7tv;)Pv?R) zZH^0~W*(0hQ`1h}U?P0!cpcwzD3^}-6Ko4mFS%D@kdR;Lcrm?FC8s8hI26)4^m3O> zgA2m7M7LB+#Ear9fOWf70J{{hQPPLkYfwE16f3KR*0;e-klc%IoV0*W0WF%HQ7t_q z1J0RG)i!OJt_G&aBBIxtS7b{iRH6lnSTO(dOG$UyHgbNg$UdA+>MkVU8Rv7$`wCCgkNIWEryOqvpV6`>LhlYcN!>wJxljG>}(ozGNZ~oPsEJ@O^kNY3D_3Z09ps$k3lFG+;^WK)PCR?)4e| zHCo}*KfT*vhOp_bbaCjZ-=TJdJT&KCOhZnkaH*bT@1TrByuOZWU2|3R9%Io7wlywZ3kk-K!*G|Rp{N}SApW!-&-P`_ePqM|Be zu;15=c6hAk-Rlrq6=>J~$G&Ku-nbZUU{ralZ6E{2tSk%dYTJ*&>QjLkEPcw^gKE^c zA<;ykjs$u|#4}yqEV__2`Z+$gwhrsWt77egGSi%^V%p_Afu5<=zquVqZ7TP%evU`Q zY%WNga;G&v)@6oCH4Tk>fEdh+7iL|_U+Xv~9O5;$93$@Gtt&HgzdnWIqDV?MxU)7f zrO(HjhkV|Thc}e-v%0`#AliKD#7kKa(K2Bl;K*TZK$=;XZPH(9(Czc6xHl=0&t4r) zqzUwNeDlDP*MT%!5nPT`&XjdkY#C&8tiNOLkS(31Q$GH=utyQwC%L^nSc>%vo*9C? zn3u4MLwrEuipq%x(Mg;Zj+WA`tjg};{;?*bAih`($lxC%AJk)co%uy*gobd^BGIS2gcQS^_~@ILGI@ zFC1@TN{iJ}@(R-I0&#_RLyhuHPFUTh#ngG-3eO(FAJjk%yfefWOvAPvSh!zGmNH~* zH>TXw37$GMQ*PP8_gPs4Xh}GlRfE;FX0QA0yxN3A_3ObRNSyTFblI-xc7+Xx-lJwS zvt_{Zl4e_=I^CH=8FjnRLit%PEFKHfqxl52O57^X>n(YJ2#HvUNiWgc9v!`cj{LhD zmip+}__B;ET!@gC6OCJ+_OLO5MiVb(5sUQ?V+iF2Dn`^^+0Rd}vH^%g@jW?A(`?y6 zxhV7iGIOnLqt&z>92tr2o66@`*}>)5{i}q|0m)Dc)H}_)B8AKq2E5<7)7fr|1Lt@+ ze067%2k^jtZu0}$Q6BN|?23M41&Z-A@vryTQ7 zd6{HPU(w`^OEj%K;erU?s9kj%gjFyw>AiXL^#_$l*KIbn{}~Td(5RzJ}iauBs&}sj)0KRKN=3 z0CJs6aH#ciGuB?g7GOrpKdnCu;Sk#35(`HbC^0SPl{Um_KVdjm9n+4vxLnXCXZ>VR z3;x;R(AJAYE``>&AZ)hA)04h&ss3k)Sf@ji+-(!l+F@2b)vHjQ^qkg?w6>L#d^FQu zF)-~@rLdQYitSMv<=!h1lmJ@PwH0Ui?{}i(yYR-mpC{1!n$b8;plCJ3ybUe4k#^g1 z8^YG#SQ2u>?o8&HUxP80^QP+!Aac@WH!R2|KdxC4PmXgp>i-xg)hyY*jI}Qv1hPKs_ler zQmf3()tqP@4Co-pUo3Bd+mHUbbJ@{uLoDgRHG6eDQTdUv@o&MID@8|n%2n#T{df3} z5{9gL$7956k4i2sk231KMpSbR9pMuc{z^S;ToxvHCJ|>?ND#@MPR5$9yk7gc%SA7S zRZhpaK;}d?rY}KGl$bardpr*`z==;r^f~+nBK2wQouB+2sskV8dpcQaRHgtb3iHC) z?uGU!tjX6omWl8K!_QEAyh@Jjaq*(}BS9?EuBpa7!@CsR?6}*97NMLTXCCx}>_(Pdp z4Iz=+Z|6GGz{|v=!%9BsTwA(b6;yMXgn`dE5LwYA{!Gho4l-+^cx229LtcSf{X84z z%o-%1Wf`Li^tk^jzUC5lIS`kcI08^(criq}l3LOxLICkbk#Q0IGCs5VEh(IibEuWg zrS&6u@$Y_TNI7Qk#HY{QaE*QEwf&rCQ#*bzKuqoM{-&$`EyDQzvxOuv{ zWMn44nlxHzRhapBc)%ns5-Dory7Mr2`qunZtZqV9A{u31lPWkgJ!|XK6kE+*OVmVc z@z22)SSh-uMzFzW8{aSx*JLG7PB?}d3rPDzc5q)gn|$BX@*h6T^reN@_SW2|-h3VMmc%-T8mbPBQtI_bNgY(3KN zr@o}5f&&vH=^)0o9k`Nu;*fxj1S5=t1qTQ5Dryr}ATUx78b4@0nyXI02>B|eeE-&RXj|(n=@MY4&L!MZ)Q0^`FGL6&%JTPj=&T?$Kq+!2D4y*6!)^ps7{v z$_LRp8#Co<)*;UwYjsv(1BTnpJ@#l4Lbjyyi#j$^xiv-n`Pjwn#~(!CHk@EmKpVOD zD17xzu{RcQAYuQ(Z%PE5TlqdC)c}uEijZ8>scEnr`|S?djTb*B3IuaLre1*uaa@ zpUv3c&Jm<%n-yDq+8WQ=r*?aIV8)qe9{%h)oUT7*LlY4cn8COT9>@qKcF# z;IK%UY3T98n3(Cas&|39VxG(!w0??|TZWPN$nIMi5u-fZ`5=$6G|&2WA-EGk3Ghto zAH4Ev3PA-Gz;e36(HKr!gxgZC&yG|g;d0T1D~gOH^+L@rPC80DMtI%=CiW#n`m)x2 zcOdIR!c;)xFD!+^juvI(?1*c})lamhEya}$ykTZ18op7~Vf3Rc*n+D2GlNyH{W_S2 zh+Nr)GehQrgzl5;N`xzBj3ScO2!41b=q*!?EQxCTv^oO3W9>XKrU{_hE-_<`U`~{0 zJ%)P9nwP!u&pl#65Iuk8#a;~BjO-_Dcc7!J4!<)45t37P*Cee7hu%FvHKo$Ji_Ajk zJCulL#s1zulsEclf{v964VX`47gt@AY^3|)pYMG{P|xqv+uK#BTLl$JA_)Yfk>wOb zj5D_gXNSJN3bkVcu?h$((_^%~F_l(S*cHbMqbWVVpnlS+d)b&jDWXHULVnwqFMfjU zDIk0XnhZaScFgLuwIhyMZtvhVGBD%KIs%if*)=#C(=oiQYk#z)7+JC1w-*(tKwR>E zDWoKs-3|Orr5|;=IgB-o<}>io4Fb+*VA zorx!WppEj|z$2@xTh;)BweC5dAj88vY6T0pR?=fKXHma%&-ru8XhR|L-Cl`8=Tlah zBBETqagX|mE*$et59@`F{sz+w!r<%0jHM#uJGHW6yRM!{+@rB`CH`gBS<~Rn;4*p# zRlII}FC$<}cGVj)|7QNyUXt0dpA&&GCc{cS)z#}`b0&0cBLc4x?L)tXn>J8SWtPmy za^;K1DG$x@%&^?1TSN)|3Y1Bl!gUpwojs&xI=(2K5=`n_%0SjKS}kROYe;r^mF?#N znWn!~w>-as-*lQ_-9`f8g8IGc71gi4?X2A0N2&x85;>(D&ZF%xJ%6%~?PAxupfFkQ z?v$`K^v@A{7dkxgz9cS^-)vB>bKJ5VTb!dZg(tT6WB=7&Q%85sH~xTcyzkA=B+61q z=`Xpq1wc}v_Ks&%F8Otq4OBxnKR)rwW%$`FWacx~oa1>xTjpoXj)z17gh)Om`j(IM z&C$Uy3BB?Zwm4H(sJWJ?LF+oe>GM^w(VTSx{jlNJWYYS4-}EmSULT_M~-e%QY3aFHTu~yfT(^LI!RiKdm?AZuOY;jqZ1L`h&OI2Qg?ilY5gAGNatZB2J=QsrkegBKj#zMB{{v z25>0?Q8iWqxw&W#y~_+2%ncS+VQ8JJmA(C{3c8YKcp5iYI}`@`kq4r7u%U3!hlbYm zCJ7hdn8N*;PGf*!BR?j4yPw~tZoXE=&ue_0@Pd{QdhfAQzJlw6-tyq1_TAK9kWZ#E z!CtgeVB8YZLpByZU>JN#V)~nkMa?^k&Hpffm@ZcX!}?-TB^SD#Q%jCIil3QI;1uzY zIpaxnRR;8ER?pJ0U_9)Hb5z=0<N=_d>#l!NmggYjk|m-r}mNy6ZU`cL7< ze+wCg@22r_Epb6qBzxR294DSy4TOGmlE(*wjaKvKB4H3TO+IQw;`8dw4_XGNXHYmN zj3NUJ`h_7rs)>M~=hu-jnJa!f`^yvPz0hN+$-dXDkU!iI^M$41$U)&Y8% zoFKv>)_+VGU&*D_{7Cr}X(*D(v*n!Kz z?(t>NO_=|PzOi5)WJcLH+_%^#qT}AQ)77_{+$^mpfbI16{a`8<>puihnbh62uX3*g z`We)3hKX*+eVyC2B}ZuA;i~*?Ct+|epXcpUKRaiNJz1e1%%HBW(9_4x8;tb)YRoB) zD95156W<%9AM5q{a^InU9Oq{p&BW#%H~(_}(L##xXWC;ksELAMZ;`S42jKyBP#@z5 zFbrM~6W^BQZ%dmHiqz zlGq`lmrr*grIp)mkfc+if#(M9KWc_&6il30v&>r1hl2aF=T>qhFE`mG@<#ye49C^u zJZh(mdXje`FMNhIWb6*DhX=yXu2nGD%<6qbt+}VfMla8f*2g<2g)MyICt5M{>{Ix{ zsWN9wDZRpGAuU0cEqycCrkzhAF_%}GvWAD6rS*%CtdUJiIve_RBjCQ5C4{Q`Cx#zX z`!K3~rt(WTft;9Es9c<8YE*ph8(<7KoIft$iUg+Ig?*BQ1Mx=S;BEy?<2LtCaZ@FL z=(n0W-~xkh-;3Nsze%WUi3zQL>*j0jHQ$&ffC_yE&e&OJRq$$7x6Vd?i-uR|cTZ^c z(;n^_JyGvgiO7;s!#4**5iXTv3>}SNBa~W*d{k0{&r=t6ZkY*6iKeUXJUr3TLSxk0 z4%Gs&c~?I%bk*yTN?wa=B;E!9v^c%37xPiS_i9gn8+}}HGK-NntdMU}Ofw(#%Ri#; zC}f?J6;Y`}hor)A9Clk@ zT8xiAntcpCK4GsG1OxC1fJzDpQE>_qVbWSjp{lN5h-@j{wdhkSbai&huVWr$7Y?I! zoa0kTTS&E%+*N< z$i|hU!-7qJ9N3I`Lx}g>JgiAsC|qsJQ0f!CHqvqzcTdX;-FqE|)kP*I{PX~X^vEwx zCJ|dkkae={4ImEX>$VYtDn3U5$kXR@=TZb8juV$U`aR!?(FT2m?ryYT@MQD{X+ScK ze|wRF@Z%@T(dyRHC2Tu?-@x%A^@5Kzgl+z?*gqr`ZU%7ZEoIA|^J+GPcfN|oYJ0le6*&!0&g zMx3{#<1PpMc+ls~Ow2Fno>3=!&s|50&NH*5Ct3ZFU4K4|ahba4CGeF34H9`FVwzbe zQliK9-@!LwX25TVy$%%*0p9~AzlIWv@|3%;70um|8uxM{{CQAFyIV2&dhppApzwLU z-tvhJ7vleib$Dhi2T8Xp;)F$Sr(Vd14?!fN)}VU7aW&!SRZZIRGNvWLVJ_kMQwsKz zXfZl@Vdy;H&I)4Sv~dlS9fmyH7W$&BZQOsX{=Q5V%5D2VH z`dh%6WDZR#FqzwqQ&3Yrh_Rvv)eLz9TPH#_%C{Whz0l_Dvd{uMUz*lcj zav%WZ?|0)8{znItcVyqmnoV;XXFK_A!1>90Z*JC5SP_0rOdN!T)t-cj`F!Sp!s6)RFt=ANL$ttD%sJzz%vq^Ek<6OS1fY2zKy|ZCS5KLTwOsu%|<5 z?~cuvu)l;=y~YW(=tvR*vwO|YGS3)JAs)37A{XgC@V8J{@{>GL1|#4{lbzeVIMTgh zPi$AlUM&W-ZCPO6hsZgALtQ1B;p`S?%@0ckH*d;66;wwnLd@U`>Z1$X;l)GjSrJ*i z!^Da9baB0V@g5PSyvh!002qNDOz!opjtsO53mj8`mC*v2=@T1L{yLy(&T7lf-@_g- zsBHC+fyY2#P2-w_p20MaM@6vyl3Z*B6i9>Vml}y5wJ0o{!(x9IY^X9x4|aaY8uk&w zKfe{p0vYfDmBKB2j|3hhFy|y=GEdG@nk4Vfq@oWSYOBqC^h)Q9ldiLRX+|fr_TV=V z@`tfia_*R42mR^&;`laso7*KyrJ^FLFOXQsLiw6XG8?Y%1FA7wXx)m(u~q_aV+~vv z#%Y)09@0BCGB(6Itp$|d-22E!Btx-ot+l^5de2FD-5b~aVIPXC`Fh~` zb@CxCb&2{tu3pg*8aQkCUdfk4!%ghZPrUcDBWXolO)>3*x{)nq>7`MU5snN-zO{p1sEytz^3l~#U_d?5b#cb{vE z(bdlmusnZ3*8bPh#?8AcFGj<4`RsYF?;z^J{G_SnZZWI&b7%5p6kB3hkv^ZT&6b=9 zY=YG3z;^V>+$Q0`<9gg-qTy*q0nyB6O0+dRVqj($M}OTF5E;lEZ>E>ArlNPhtTn5B zr7^o0Rfm6EQrU690FJn)2j{d7FSb$v(dHUv>A(#Ab+hq>l{0&MslX~)IX#2&E>T@Q zh|-{WZe1|s<`G8Z+(u6nXlLN7TzGBJNVcyrYm?dR;hqxZ7P#P8TU}sgZls)9mt3_F zk))q10Ibp|>B0|fiOE>HpT|MBExFjSTY=929vAoxFH#w0XVuM`bTkHZ=BUjYpOjQa zIVLqc9Wzhw?mpe0CX!9TWahyde7E)a07B){1W^lVxF42UdD_q&GWlyxZ>k%{pUY ztr)@I@tc9~7nVtF_b^kzaC!+udU*YvaXyJ_bX_BdhJutW{p!+L>cfoJ5CzEJOtoEc zE0fBp!{NT(zG@bPu@-e5lg)5O9#v7?8mMA0xUIA@Kxur*0NWLm)YnjfJDgN7Shtvj zRD;(SGu?n#gWnFK!PLN1Qr0Qh1O}9h+-AeU?+fm}-J6Q^T3Fo3kxHQ&C|S=ecI>5k zTQY*1U4Lc{F@J-;D{`@=+QTpBK4~P*OZT#)!KFpXB8XdEt`WyXy1tE?Fmn4d=*-6w z6=LbSE_^)oYPUry4J4+>6*S^Zsx#-n#Eho~iccsDi?(uZ#m@R8XGxFd%H7KE>^*;% z!)btR%;H0kvtotk<>nr+%Qg+W^5S^ceC2`-{)7ZQV-uP<(y}wS|KN8EaC1* zr&15N+0)}!SE6uwcK+`Eium>P3j)e2lVurdNk)APTLRnrR^BtcP&OZe9^~K?{t@fc z1cXzs2O9Xlf?WYX&fh>6zd^#Am_Moy6G*++vi6_n6eBo82)$q84qPs!rO|=;j`_+T zsyc4=L3$gvIVo$`zh*YY62A~AVi6rw4;x8tKde^=UWn?1Z;wpBuUG$KKFSeb4htyz zK%HJ=h=-l`X(VG@?F9ZqWHQZ5U>Bac)}J08YI6B4>PJ+7sZqc! zey;@SUsyWG8N=|hla!8ma~lUjejly1m2tLrUZP|g4D#9;)U2RVF6336^7w#kQp(xw z`#^X|uJRJ?6z*aE{7fxC>a^<7G`C=0TZgzvrZcyScHUM+s?5y{rw0F&dqfSig*Lkv zQcKs%d4LNb6#d&p`i-O2inci}yq6z^WTB0V)&JIvCfrQ8)Zi*2g%$*F`I-3Xz)O7 zhub^9q=v4SVvRP%xh33d)JNnaF1umY90Md^+IiJ|HoQAU_R9lW0tM&G_7azI%Kb?U zopyjo+rLjgw4t(&(l>9)xTaMH9@QWjTH@KzQXkw9=Hnr#zRNn93+ z%-Q_o51!yM>fizVc0-kR)7p3DXqBMWa!rpVL@<7FghCNXD_zWnfHL|-=}oc>K2Ynp zTzo@dUV0bPA}^XK4BQbejXh9jK66WmJvS)d@Bs~$7Bv*d*CzS%C5%vZf=_ZP3O~X5 z0B1h_1}`gFXDBA>`=c88)aM&-uD8S$(;!vAKDnkcPTu*FP$W12KmWevIfTzl4(&sg z(uD6-rPh(L>Db;;nPQ{tF*ft?lg2PG6qfoG!d3u7MqpJ~Ry!xL1nP2d_22{L5od+rt|l%{kd zp$y3h_cgJ#2se>f&cC+O;n0)_zisJozOqOdhy5nM0P$p)OgJ8s%{re6mX_GX!Onl)16*1xvB#uP_ZO6)ejKq&qP@uHt4j(%Z^JdA^h zOfaQP!U>l47moL0TJI=_C8>l4ei3RrHCE#G!7wwzKN(RkAc7R3oK_|?z57euVB(j$ zxIijAr{G4j5i^1p)a+yS*Jb1S<1~&y%y16%@Quix$SpWbP{k$KbIh+B=IFP|=s26? z!#OVL#$nhI`>Mrhx{>)?5(?fqTo_0|H6cluTCf35>-dga_=36h509BK58OwjQ3b{d z;Q%q;I{W|_Kp&Gjym<5YMi`dk!?rZ2Z#jV{TDxpo_U%oEIo&+U&$vtaN3OTe4r$JT zv3Zz4Du)Z~;~oUF&8XjBmpa1?IO2S$@M;$1U=ye%p2|M-GKwN4sMiZeA}fY=&NoR| ziMEvssGFBEirg=wrl)xs@p+VA2gupQjw~cA@_A)qiy}}pF;1~R?V(Hm$Of7KGd8() zDExUk2_VoTOn4lZ^5s2KXuVGVIM#iZkG*cl5DX~wDHN?qqaV$lq=<&)Ee^{TZ`f*V zUS{Kh3KJPe1NzXX>uoYK7}DlYHKxbxNAFX;Uql%%<+Q_AIid+`zh24aPZ!b^CQR07 zxcaPgFyC}*nHOutHezwFsheYTnP2pLY+iQE zQWW`TNId^cBF<6VEk;uFbte53=K>PLUZVf;J;t2fXXTj&cVg&yi|VSpFN` zaOfaUvFL=JSEnJRFsM+KVMU++uk)nn%kV7nMyW0``B5tdnSLCRzdKKaMRawC)fw8f z2+N)wX5d4=J4G32aa3P}@gR5M=AvGolax?g(~2jf)A7cN+Nl@OuWf?c#qtqH2O_j1 z#S}V;TT#t}NPjjr1!JFXlwjc`Ud4+FZtLWA8~$HlB^dOHT=U%(V#=4Z>sm#3N1n)lR*s8guMjtk|s&PJd$)Y=i2{XEP^|{Ht9>j}4Rv}n2 zT2Ltdm4T6Z{v71&(;Es#ISFo`m`3LJQLq(-8ujzIG)R%(q7qG~BntoBl^dGNey!|P zppZxcOWfoy=E91;ARGR^6Og!mx#d_mZ){c?L)-k+C5?VU4-sFIQ1@F?+8ta-l0)u@ z7ga?UC0OE*s>z#tHab#o0T?sJdTziA8y*Q6VHF~ST14pFVY`j2H(`teoupNpt!_jn zL4&8HP)6$N3r~+Nqs|S$KCM|v7Op+OI*b3S0VtOAVhfWGkIL8JH@q2}W{C#6dn5>rC7i)oC74Uz?Xda)SGOag1TW%E|F5Bdvxgy{YjV!qL<9t z+J~zi@W`y|C})*77f2~nGTep}rrQI&w{`UYv>=SB`~3l=bKC!Z7u?@j!?9G2l>PWo zmM~id=F6($b7(@k7<4>}&hL}D+SPA|hm%+_6R%qpWhfYk&?~G;4WztV)$UeG9u$vE zTl7{ZdYkjRyT#KQ9tXJToG!bEaA%y*(YW+W^CuIkUDY)azTgVI4KB z37ubBq1uHyQjlJ4p@LAbiSeA1QBNCa{v0=I-Oh}2<@w^>NMg;0TLzh~gc^0fxSG7! zq!PLjx$mBJ)6;|@(z5Wt_bchAuGH=h@?Mt)+f6;y0gv8s5wgF^Q;r0hN6Hh7ax*S; z>AO@4nMVJ9Qj9cOP;MEhPQ;WQ0-8u96-y`eve zt45z$`nl5yfSn1Zs2F8n>u`a(viY$Y$<8x?$(R-BB;8cX`zUY}$Guz*&RR|=lRv2_tX4Mg?b;kAhM zp^0m<9y$D^F`;9zK4|Pka_A$c=+2(fwuxtjrEg}qhfTE1MHNxCx!pX};TS)r0Od{k3aUkl}TDjl}gG#9zOPTm$}E|5%!BW%P*z zE@++KZ3=}l4zLMXgmZ9#v<;{IMng+aTe68CInvl1rM&*Jng1RFAGMbs20h`;!-yITdtU?n}9DjL#8juKnP0D~C&+*{e)l+$V=gS5{;B1lRP`En{ zq+0!=7!2r;V>^6T&tPt@`Nlb*aEqGw^Xiq`pNwsil~9Ora9&Hx?JNG#9B%L|0_kRJ z*oRe3C}F5bg_y#S3zw?llD=Jx`iD{PC5a89ak6U6*b@aq(X;nDk^7%h>eNNa%T0X? zv|fA5Fm%s0%qEm~Zw~*djy|_1;!=qtFbI8AId2#=@63+U=qLJSs`^fbt7t7Zt%V5d zX9p;0>Ee`fXnH9P+@}@H{-;)X_+*fDgf*Mg7(au^pDh?CSES%jJnPp|>i}vG(>X~Y zDl11&npcXUSvZF)hMu{A{I4T+L3Z@X`sW{~XNR^Cbv4Tyz^eAD+n->e#9{GlFPuyte+i6Sc8BWd` zm^Y0gaNLf;$CNCI6bB~WB_TMuf1Qs;x{Za>ac(aD?hL6(Zq`1FCW?i6ex0jv@)-}{ z3n&>Km;ET|Y(9|BB$hctJ9^ulFi*eq>vrrZa6$GWf;wh`HA+(4TsS(6!!|QPm3{7)3;0+`#d3&+@gF z)e^>WKae-k8`1$iv;!siNXFI7gENck*3}ZG@xSj2FU)j+Xn$*loHg(J@UBn8+Oyy- zp!2;0_jXfQmfrA7)O?Doe4{ zmY=d_lBp}MS9+L$fBc)Yj{WBde2*UdD^)+%d`JfdoI;wTKU8qyp8=$6YTNxQziZDG zicX3qWe(U5_StvhY&DHc2~WVjyda}+xS$x{x@Ox4m3SJ0U2t@`Y{QJ3Pi*oM?G3w1 z7{ypOP#HT_co@qwm%HDm$L<9QhI!0<_6iqckqLVoE8xo@tl%S$tba1i8&TNkz{>qi zBTYC!1b}#9S*l~?Gx^eLBj{+ibo|kSSh*_MFB+)uoU)95$j)r>8};)&)t#BeQQH-5 z5N9?b0PT}4Y+%;sdxVu#eq~XI;}UQ4s(i0}MmLTgwbtwx1_q*UrvG-Dm*nj<-thh= znXSQQiI_JIA7rI>R!R4sVz zf^NJsKk_)q@X{jrut?;3kX#Q7M3WK4ptF0jP`KDiX>-+f_9(cfzg*M_d5%xjIi6#! zYLr@O=Q-@y2lQHEU2XV4x~!);J^EHmt`5lqFaw*$Z;$q4m=*YHHphDTPl@IN)+pX} zlNMh~Y&()$fV)TfzVx?QsP{dX{ z*9$sS97S*nv$)iIw(jzn7;S^vPzU6(!|OXQvGE(xlecSMEus9Psd}!z72G`ddT^Lf zJ`;gr3wY=BR?PML4mW!Z(c7O!4wYIaYo+=#+BY*x!JoXrPEB~hE}sI&{2a1c&ANWh zdRRWKAs#}atvFjYOqi3K{ydq_)r+)QYj}N}SQ%s%J_z?cc2P=Gwe}6k?)Yjtq6@gJ zeTt*)#=5F<^WZiA#>Lp0Xf_nYhUt0yEf-DHcLg2=TU{~+y5 zFRJ!&m$%+WFxm@M5;r*oI|cE9Q<~GkN`QPdtp|Z%y6QYte%tVKlBEX*LguwH8)cu$&cUgQ_O78^Hyaq^nGxW6LWkn0_=j zAB5c462{Vpw=>VGehtj^Gx{U)Wm+1k9DtRoLuVZ#vJRkDr5`5x>D?#;%ND`?)wBCy ziyz^>LxXy6Th$Gy)+FG9kdGmEi4Jn}AE{9lDEWLxROIJ1u;EVvI1wLIu&;^(v#N>Z z9HRo6li9eAW?H`kyjiK9SY0=#C~{gfMFP$wO7>5DL*dnXU`Ow-OitSaVgL9*w-|sy z;@%b5K?PXjZRg{an=iq3&#Rj=7PGriV6W8mPGUL5Bu>p166?2A_hSLf9Y$GnRlFQ| zK&ViOV+G;vp-xBj*zTF_PogC5CF&|Mp*mL*lOUofxs38<#p+#nFRuW@r8oQ{#TyEe z7Q<4`_LfrnA=KF?f301E*{Z>sW9ZJp8c}ubkoAXdynvOaiJ9#(Szw%w};(%mWDEnU(`NcRv!inIs}T|;-5q?E+K zFw)%(3ewW;fOLzT?fbpwI_F&1`D;(Ez1H4))?Uy3+|O_ROab|Z!9LkCQQL1Ej;1%A z{<1heHlLL`BMiu|DMr_cF$Fb$I?g!~1yr4AHQXmN?xt%@6y$fQsNZt-)MSGh zV(WhU^&flrD4sB2n%A=vaaftf&b2LAyNWE1Jd(Bg0jW68nQYm?>tKElSpz z__*aixBWCgW907|9gN$Fw&wmoaLvw`)@0611czaYgUd*hB@-c#x_ygC*_#=EbmUzl zaQH;XaOHOHpt5ML1hMFH8)#T2C^AwI%*7gGiAS~yaZHm`MgGogo^%@^K`7vD6B0b^Cw%!ealh?1Bu8ed zKs(nJSw`o#dW#i5c^}A4;Qjuw0WTh1w%IA4b78Lzb8-13xXs#DBwkHhe;XHwi)?r} zSu#255^j>u(|RnX^@4r5V%1EXtQ^8#NfMbbcE%{BSYC1@JnHg^7rLR7!+nOH&)+UQ zFgMRS&?cxcMLGGD-~~Lw-45UFtzkLF-@Pb7b>b%woMb!S<&))o@o;6HMPQmdOJ*D| z-uS6G=XTULZ~v(LQHaxz@lrN90-VrIy+XhVQ)84>~{CS4(Siay% zyYH~KYS7y9WcX8basWw+w2g<99~AQ6SN%!-j3%~Ae#5Qt-xvw>oq{%``bnRYVmEi_ z-Cz&;fz`9b-eMQ@kn^ES1V3(o-imxd3B>Bc(B20nGIw6l(6r%ls!!r2ng%_x`iun? zt<}g;|C&5CV~BrKG4!x(&WWO&CRD~Y`e_XTH7+S%?sx*upqpj*9kUmYz4DdW9iw_-a50}M**--W|6Ez6CAAVtNPxc*E;+dpMfdHvT z>{D(ro9=F3w!TcUGJj;MQL)s@o1o=XzOZ+yp2CdnI$=I#e4hm<@ZHP2C;AVS!oLZ$ zsilH_cCV-=QcNI)V9^;LxyE)*F%wgk>6sl`!;`N=qfbzs&2x&eC95tlckww}E<_bt zB_^66PWPEZ%`R+_*E7Vn>lDgaimh$>uc1~j7D)x7tr&kuc$5B|B86m;8KAFR6;E$n ze$z-DD|(?M((ZXYe0(jir-D|DZCTwQg#ax*`;pqh(RY&3LYq+FY5vVt;VjQS9ge0^ z@>$B8Bw({;Perloo4hUGTbY(}&e3khQF1?$1E(=FkOa}@9bPo@J)ZkO+}cMeTik0- zKbACoyeqF=HjB>zlMgSSKL-{qF#=(JR&Np`W3^mb!>T=4h2LNE@2Nx-W8;x6a9-UO zIk*!3^2UDUCy>n->*=M$=zmhD%R^6Nl#Pe-;d9|thfoId+4HSmF5}ZP-jQv^T_amx z@;!v!eTfn1C-MGuytVm-k#*~r)?#z(mCF@`1F~2t870u~nN4cXU$oy^R{bq@lsAP> z{+@JIA4T{b{-P#?*w(T!W{T3Vp=X!)m_Wv`If&klun(L@?*9 z5bau71B6c0=?#~)Zs#o=cP*_Ur@d^v#pCOgwyw|3oQFIcFookrmqcIap?A14NPaUW1*kR3)L z=3xRu85;wM+aeu2&`3oe_#Bm8&0%I4n>?s1sadWL#l$N`ip{&C{!5d+15&xlCeIqoANHMEZK*D3kVC0d@0o5DS{UF# zl{PlFN=CNrJRD1YLR+T$^*5$6t`;xfIddUU-xy1qh!DlrOX4BPAC|W9 zSZd6x2sn~~l?LIZshsLk)RT@vPt0PU9)CY$5ni{}DFXQuH#D6~h?QFL5Tdqz0?5-D_!1_Bd?sSopbp8x8 z+A++Yw`hl*NPCyE?1U&9iPJ}IsE!y6?X__4tqU|Qg!LfyBf1d^##Usz-psI|b+cDC zw=sFNeD^}afAJmVZUwUfuw?C`+eP3=HleoFw}wFU5Ps`R3~_SDBCd=fYgnt(;Cu zEMjdt{Tm1Acx&}k{Sns5Ug*%xK6bn9VjL&PCTpXy!I=N1rnwA$!evKl>^^X=CoMfKmU(Te;(?FdIqq5|$kFlUR>}Xi41C`!6L|W##j07hG^wip!%R%o(pD6I6q2BV`w20Z(Q4;4i#eLpH{ZF5*RqR{n{SfPcr7xttKkQ58LtT z%)ld_uM-t>j5*cblh7=&89pabE4Cc8=}jfdczFWIYt40aLQ42%nbBb-d6B#F z%$fyun5op67Lu}sju#RbmxQz_rRHZv*w^zN6!Au(v$i$!8%#Va-GKO z0&-*^okTp)#N2BQaB6HY;mvw+&z=G!oY-2^6%2Z;ZS4xxkhmKg?ETRT|_6cYxitWh7wCF~Z) zP7+41lw5y`=mv;epjtg|Om5}}^xOq2t8{h_r7_Fv1!~LWGkcY)PRB;oJJ!@h zpCLVdt*?f7;dW;Y&+uuNC1wDL7)7@}^_geRoQdV#c1tJJ9lB54r4(?<*}9^Kbi2>J z%KAO?)zX|R51FO;w5~oThIJrl45PFltt`Hh1B~LZf^(h`Y<9Y=pCK^nA@1M^tHRlV z?`x2{w9n;cJ~5qiaVwJYi}yoiSd{$gT5STxVM@dJKhze|Q8}L<9-I;vypz33{44z$ zP<40gLQJuVo^`TbX$ajEj~Jos@WV}a&~Cj$21qm=7ufEY;I0)tFT}bXFX|S!3Fi&( z93b}We$lv*x+U5j+<2QNFx00RxQoo;wU(5(58^P_)5+l&wmxzBF)9B`eRg??>(ttX zT~zC=M51NBa1XHMV}WNU%m$VuS&{3NiDJj2skuSVSWM^7ulpF%Gsp|1*R0yXbwOk< zl>?F>maBHb%fP6DX2+bn7Il_m`Mn4PnLJHxTV-cV}Iz`XEjm#LO<&2^D zbh0pqlnf{TqqSCbo<+o@iCkBG_$I2jXl;#5TbYd(hlDJ&jheH5(68Jp0cZrGID8p9 z5Xpi83W~=15T4;L9INRLp=cOeEA!~u?+W(Y+A=y8aRe&-$+;_icsaVTqVW&T@ue>B)K{71#Q;SS0A%O|jOOl2|Ee8` z0i$`0pd3JN06qlWjMGX3vOoaZgV^52NMVs-%M(jC32=!2>mdcLHX08}87sw?2 zGrXfy2)na9%9uMvFRb-*WTyadiGTYUK8Z$*^$#8#9}Vc006o>p0#e1ApW^wbn4%@ZEpG(Rm!k|&ohb1vOEPC3v!kgVu#aHUB_e+5uUjJyCFaN6B4mMeSL-^ zDm(ImwC1m5aZRH&h#m2fq^8_g@P&Isx#l59#@DoFm*OpPlWOy74X4tDNGrNGAjYum z0f^Wip!oCOC{+%ow@>|OP|(x3cTUXU2UfYbZV4{8hp`{pl@Fx}c=Ax$2CtI(Fsxog z#nY^RuG&H1cL$OBRnjG+fekeN=VX<9^ie&`w6ZV^OEe27L(i|h?uV%{=m@9EBNph{ z|9XWlh%^X|UDu{<)hd34V!lo)8aw5H*OuI*E5ScE1iW06vDmzgx_wFjb`=&80j#oq zA|v;HMv@rp)c)V!{RrFu=xZw9U*gO#D)j|^e)ZN~K>y6Vq>xbD@Q|#sKtv-%T)Twel9Rr z=Y?igadqWr?O+@xP|-!RE?Zs6WyonNS6L&)qM#ft#oZ;SzuB5H5R=r~@2W>xLGB8G z;`&4-Cy@L=^~YgM`tk6FXj8MQVOn$*u}AT zo~C;m&hZxUbfy`NY_a;QI=YF;klw0yb)5@zM)kniQ%_vHoy2OMK_Z_Sh{%4Ko~6+~ zI%U=VC}YWSU&AE;wb4ieN5?NztN#$$62RwR5n}LFQVe}>tF}PQl_ivO#e`2_ttCCh z;b#W-*nZdmZl}In6U~7dxU6EwRU8i)6{BbxjA50Al^k(WGt_Kd-u;IMM922*j3ss9 zi!PI~+8;j8&!Vb|gOw_RO$af*Oio5+O9L~5O``Fr`QM&iwanGm>l=hb&*ENG>nhZN zSVL{WIpuP^p$H?+A3sn4U_kn0Z15UuF<09;Oi2V)zo}n{n9jp1yZ^GMhx9Wubeqnu z$=1o&w=Pc2-UuTl3s(q$(A0-Tp>YNK#+=g%@^W$_WMZDJGFiWtQkZpcs2Vax)X^?o z4>0h!d%4B9KU7k8?zX!+VcX~jKkIkj9)1oNF+Mcqa)1&y@~P!E@ycj)+|5wDaXwPc z=B2yXILb5uj6&jd{qkn&)p5h|k+jHsFyP;FXGoidT`PQADL>r6Ht%1Io{W9Hh8&^H z!Vk{QMH@n75$Hf{4mIfzVPwMgfXuuUSBD=gwFHg)Ulldk8=NmC*AZ ztCyC;1>Y1Ln3+BnTF*i|aN&}+Z$%~DB+NvX#l;_Aj9CQE-TlQS`&rUzl3}_=!S7>= z^qV~93jD2oIk4ruoLp0>y>+l|$1hzKZL(PaAW+ow#9@7oad-kf$hrrIfKO3F# z(641gYk(wnrm=s`ij;#CzM~@pO#X{sdGE#v)e^FL?-L&(9n5L?jVGsmdiP`n#=Vur z4%H@?lVfv_^sq+J+g^awU|x>-JjX*is-F4LzyD5p@&LVMw2c4#_Ej6-H3kLRMQDAh z`bL`Lw}JUZ3L?AQwnyIHN&~D4Jsz}WsUn@$SE%ldilHi8Q#E{Hdjzy%*7s#2z*Uu& z#TT{^k}cYcxgkU(lHdd6J{|7!YTVEf6L0^#q0_d-5GQcFsU}-z4`cIy;T*e5O+Mn! zon3JP-^HfW7$sjb5q>@ftSSFe91+^$+tfzKk1G&4xHm>dA;gq!*!EE8XwLC^IFeN~ zt;fpXTrU6iNcAp`;yG!%&3>r*UC`~?pG9vYW#wku7>@)u`?gtq%vuUA`svvN&AMtN z2u?(rou+ziCT4ZS{0ATHne{z~6YU=|Tg@-W_!0(&f4jbGt``hnPi7ozB+ru}b)|X1 zA}R~AXLo+$hb|ax7QJsX=I;;cs+bRLG5Tg&5TZK=gpFFgfwhM_Xnc;?u^)ShPG9iH z@t89d+$Q^@X^zkDA9wJ8Gu0OI&+f2kuA-n1vb}s-H+(c+2&fb%SSEE|0$F#?bclk{ zX1s`O1%Jbxvwc70iCl9@pZfH&py$zb+WoNrn#T*y%HFL`zm9{hFn}XD{9X&)bU>vz zz*#~~O}K69y{k!eRSlUaH52TFjS9U}K3uAtBrda&{+^0Vgx4I%I>kGZxB*2j}k=Z(hhm}fOqqBZxI8$4gG zH3ti+P${aWsoj#)GWL`2}YPRm2@VHi5 z_9piA^zopEK(uo+VDmE2`|k*+4VX+jxgUNQVc(qa9^DH6=9W*s}N{jrd-F> z3k*M|aNi?63{y#!jz%qMk5+%Q`)+gCl#qR}?@`-mzK!*q<8V1U@O3ZS#Ew_U1{sHd z^&gJS$}S&g9ob~;TYfcAw0_F6#qnI52iYE(*!opW)JI&vKBhM;U&{Y1KkGnj`&Fd! zen@XXNtbe@{K*JLFk?HwYpbfkG<`=O7bpm?TA)QBq5XQV(1i2jOZPASyEeDjXZ!CT zIv!OQN+C~lPlX8R((BgL$UB27JbuTyfbB)j8R>2XuA+njLD>yYHZ3g;SlYE8Fc5lw z6WuLL|Ln^lqu}8E&i+06o1bRcU*h;ZTDj>*-2(SO=G`xs8fxIOeTkF#(x=Nm&cZ`} zG9{9yPse}w{AomQ1n;7`s&w)`8kuhYbvlTn`W;4<=PAaM>(LJXIBf%#;SEJ@Re`5C zqde~*am~fWf!|KEoWIH{PR?A%^7`qq{pOd@*z^@tqoKb|{5+3ra1ztx^>z% z`x6;xhrzlqOydPtpx8fhQbYckgofG_N)YXN2BCEwsiVDwVq;ZZ%(N(q@-TdeK#FAK zx~_jo>ML7PORdaHS4g7)yb;%~iVTfAlCTYEGY=S;N9%?U)`NzS;V=bA%lbyIBcy|R zh4CCjm=*{=1)4_2sXFBpzj+1?t1^$ znHSO1C|hlQ43(|oO<}bsRA_X~kG!Fn@9i`=_NG^u=2-}Ar#MaddV`b#UXP z&(nFC^r|22(Fb)g1K~-BFE`Q0p8ni!cRh~UE>ZIU79-Riv&>$xFSHH7=8k|!>plPt zF8_30r3h_B+qcJVeIH+w^@KD%Acr|Vske{%&tu5~cH8DYi8i5r2;o&Z7~h!Yu6lmPS8LqLv;6-Awx=rpD4+kXz#`E%NY_|w7qDJzCJ#M zAN3?)Auz~zuJu)BEq1o)TjQ?10YMe?5nk{WmY%59?A&MO4m%bjl0ShgDD;c+PM1Hv?v-2Q{=N_Q8iAjH_ z+dgzSZp$h6{&0VMfMW1lOMCqF@bNJ4+WGa)WnUn8C^^Cw}Wqbnat zdW2eV(x*^v(>msH?S%DU%P+N96@wAMLaF>Db$ZVSja$&V<>NFm{U9#1QQv4EPGWs+ zsh~X`jqltO-%}IlU0#NywcFztAeVe+f6aDeWPZ0yUXVVMKpK^xvlD{LIPuU^WcVBa z04-Ns>sx{m1O*vM*fXu;)NWX{uuep=)`fT157krk>6*$Up%ee@{IcQ zI3OA07~AiO=M#uwY>fWJyh%M$Sp+-m_jyKN_{2Wr>^(>jD4g`Ka zTuj1vUD0FuDp;$>KyxVeC^@lsJj!0>klLr^v(a?OUDVb~_lKs1`5nnMAT}<60A^_X z6xU)@HQjDMFF5u0foQX5ot1ZV=P^?LZ9X zN}t{D8OoeRZu#{p(|;oP;W|vRL*kSCMyo_5rEP7V3Oc*2=)d1KzytUfxdWSjf&Ty5 z{6}&CD$@Tc5C2mj|9@}(3myIMMuo*qjYX#pC|9>$>qqI&&jXxZ*nu9zdBvyuk0A*t0omH@!m?d3GCy$= zca{P%1KjJ_^n=3q>@=VpAK2YUFu?L`7~23bzSD9qQ(P>F`#?t^5&Pv0z@M}@QT(iZ zA3ino<0WcjR87IihALx)z7rk%ydU>FSR|$+Um-2;<+EcKKsx~>jKS~LKoNeZ5_DGI z1S)2fF9=s+bi(>4NYID>>nfYdrWjV$O|>=ghw|Xaeq1u`D{|d<0E5u^I+22%BLy-! zUTXPI!GRJ#2Q1841KAk=WQu=B?CkZYe^SRkl7J2Qz@peF?e^L~J|}&NWw)iEeK!UD zfC50@g1}kIo&#Nx`)>Uy9T)*n|No*FyYByk(|o4GH4cG%FZ-~d=0pX@8Bp2}YKY>- z_tQPRU7TSJG=A>BA~)p8Ni#2Q%UcrL99Xt>#~Y2Tf0k$u6c-TO=PYDcZS}wJZyhj* z31GU4S%@W^Pk5H-m`zu@{=~9*5fKgSZN$U ziR&Q~{7CoD5|&j{^a?Ky$o1(!g8?pU?8FZSTRu0BN8LkG_z)8;`B@C|?t`cq;LO%S zLn%H4!;wt+uB7WI1DgE_gjCtRhI7$Ug`w@>g>66;r&U9#%-~`FCA5_wXU2{6dYD zM=Uh|%HrPgP+19Bl&NSOL`k15?UkBnSE) z5YXO#`DP9mN(|>qjj@iSu2d6^H&9iaA1qGs##vGjD}1^%h+SKGRz-06RG+!Hy2~D$ z`10z?yrHpS{{1#cl3Q4+V37R{NF=#W*D5z_LufWo--4`e^Cw+$RDXl~W^3a-VJQzS zp@jH9C#xr2fSFL)FsurvLOj}0(dQ8_0iPSW#8ByJRvUF9?Ji}w>7$XKzQOo)fk$vF zMp6+pHii~kWfs90O)~>|k+|<_q=v7f(5uc7_d(CbN`{bX%0}mrq)mmRjWvtd=X+s% zN?+_KExGek*Y6c&h0Md#MKw~zCMLa=A}QaJWEj1)q|r&EIVIWmy?%bfkPnl3ulMaN zrL<3+fQ!4T?{@?>!#gEu$Rrc2&GD(p0aQQshFVDAoll}p?T<7Q=2Pf9clV6`^Hxdr zz851K+P33SwKbDq)L-e_mK) zc7AKCgY6dz}svMp{C_mTpS)Oq!cOR;?}m40dc6U$5EM*B9~@CoLz_@+I|w- zYiYzP4L2T%wNhp&^JsO9>16PW6!@80X5P%n;9|gt_p#-^asCI*yfTpsT-g11jrO zsK%?ymyho*G`I+Mh@SuyKgq#MS+VZrOYv#-P0BZdFxiI{nooRDl{q=%nJI^dF%_j_ zgqy8e^M*9lV(9GDcOPwI`0l$;mAYetSzA69Y{o>xepi^l1&Zq1Kpd?Fh<)r>wy+o1 z)}=#qMgG0I88x>Y_*}81k>jUt&fR$-2h(Y2)X%!J#TJ=`nP~vtayR+^oKllhA++8NE1f9kOo(EG3a`?%iu0OTWD}I?(a(Ibo zuj_`y|88k20k1K{9~S@s)PDDieM^I_nCw7}cntTIw@$4?Guc>|3_;RK&9H)EE!hzwlG@Fjgj}QC61g57z^>$=l*QwN0m%o@{hT|3-dv;>;EWW zs+6yy7}en^oJw&jqStx^s<}Sz`oDKHeNlEto6=WQhwci%qW4yHH^t}VLEoJv7C(zh zh?ixI`e%4^l66!4I`gMH+L0tQJS?oMRd)AEJAbw+z)K{mL;psccH~!B5+RYDgmqZQo3uXZgOSRHVCzNes7zUF|G|4VcJxmVp-)3%hVE&(F_ukN644z4*A}k6}B!GLGRJl9PL%&c(XIrX=?M9;2>l+(@&d zmkp+A=)1&LH8{R57TJ1i&mRNqxIoXv5;&i~Q}mhJ%*hZXf(Q3pP~|YZ%GA3u`v@7r z-pqlC_CW>+Xd;tYJE9&zDXuW1827N8`m%9z+p4> z^ihu4KxwsKcXK{-B+3jVxX)=IFV1&>!2b7QPAbuioUrEr(fqw5cbyKZ zp#695b&qJlYp02capbUPXEBo0Zk%t`XfalRNKRETOZKo^of;f|k`qm3T0CA^y5l)> zC1JXOZJd>5y!D~@vf3A4jgIxGU~(Yu|^k=dyeDnuS% zdY)?}+)IJ=^>y!DbKto=29k1Hr0pd-sH;V(m$c+Gw~Va&Rs(w*M!qdl6|b~-JE7F) zSFhKbk<)eSE9oL%?;m?h)%nh*ebVD3gp{Vqz7I}+#VaNvDY9^>p_~? z{enzGHR&A{C(_0@6j6xColgtU2VJqp)*M*I#4=~@N6CQqY>iB~&krBKM*`H&)0-Yt zW^0ipkM@qp>njPhb!9~*RfN#BrrExWY_lJ!Vbb`(yg@EJ%lI|-5$h)Egt z_TqoJdpdZlk#=08d!zA_hzRXw;?e$i$$Fck>LxEB{mAj&s6SlC$!a{N^aojw0lgN1 zmgzE!Gj>qaX~<0!r4=^*gS>yLik`Yk&Y6}Yx<=iXFGfuKRo_YV*x;rlst3Qlj=Tz1 zt`8?2rMmp4MErJ(#!D-Z|YUZ?&qAkLiWnb`d(pq=YG*Ecr4`_JT zJy7UB56ZGR<2Ago&9uO1aD>ae*Bv>QSeHjJi^_uSvvJE<~0>&>h1iW~UkIO&6 z9KzqJ3QmlidY^TO_g|a)QE1fI!!$Q(Ed(U$SJ4sSuLD@%S@PAUw>|8##~X{lzd}h2 zK6bJC^a{@(*wU)Gxv2l%^6;O;zv|3LEW)LUVP6|hC1ja#splUQrq_9Sp=l)S7vMxo zB&=b+if}rAnDjUDqDxFQz1dh;ptjG&w?-V!I>DXtt%@9$`=#7d>wMDa`r{xELXStJ zf$yLbJg^;mr@;WHtCKY|dZ*5PYohx{+;fN}beq?Q=Y~(FyN5-g=WF5wNw1xVwDOTE z_`JYB@B4Lp#so6_gilze*8>U{>wDzHk*v*I_nBCbJhDDNb~=9#KEIY0rrSIA$C@Ib z=C#CyPf8)<3lqBw&h-WW3N{D_f}`EiM--)G#%9s4xf)#-`@jXFa92)K?z75JL=e{ zpM1QcM@+C6sG8VWLHx(_W({l~LL!P=t-K=vAr=qS5Tc2DuAs;DE34|yZdUtJv}4nH zYdl>sC}Eva$k&(Xx7}V`o2Ru$c(JhMg;9x^-HCaRBTL910dzhnKYjkHoE%m$w#pEz z+Aq4G0z7p4VvBphJiHYorU<&EqDJ8mx?nORF$EXZ%GI&MbVp6vU!&m_j>qeY728;W zo>?3u%f8<$5#=$VQ#6p6=C26C7TO(FF#D+28|}gU`mUkkvUlmm0z#Sd(sCLJ!>F90 ztj~W|Nf#fk=%g*~ky!IQ*Oiz52#SyQ2a#YZUNTNAe}Gitm%S=dfHa?+SH{x~W0ogp zCbo9> z7}9EAwMZ6MZ-VSSoS{28nrRPndt2yRagzn-?^;+0Jw9MnYJtMpOb-}G|1_@34NDud z!=$e@%5mv2!!Z$D>f}V6j2akN6fyqydDqRf+<$PZ_%$}Ar6ae-*5LH4$~Zxe(vNG( zou*orJ-9jSMNdN_j&&12!iodm=vjr}OI(CSDWgY^ngmhxLopkaiT2ylHMT>qE?uM3 z`2bS4?c`q?$L_3MGNvY16-!NBM8;z{J9kfXghdIs4Qz%w z9d>zohP9#U6N`!@eJtBk>rlcVhTfkLenZwz~S>*0mcZ9-y!&6s|zAC6cgbeBPW;#<&slh~wTBe6b}S z%0}Gqf_=RHP331YTsv3s@yW?W`XrtXGg9oeRP(10fidpx7m=xF_y$FPBrUy7fx{4T zxLbEa$JJzc+Pr%a{cSZrcx8oHD@_*qcEls@TP1T`U+mHLr?ydpb>sT`#3#>)SL?_8 z6&AlRv}{t_8!Cme-emZ-6RrlVv)A8O;?iI$9?8N+6?Qw2S4x3u*V)kgJka5cZXI7C z#_qyzln#860(aKNFL5(J(s)c&JffhOEW#njCpMJNPZ$C?3fWNRaW^sD5k$vBtkW)0 zwIKS5ke-r`vkU2ZF^W0~$hGuuNJEep8Ruxp?uKKGxB|@5$*I~yCvR9cDeZ-x>9GX{FZH#jsKbK`?}<#wJw?rX49M6-ms?xm+s*-e z$@GhB92UV3)V1Y~0gaf=#Ssg1G_@vev9@Z+yxA&B)m_XG0lu`a9iiwR&J3_V{ca)q zdsbqr0fxkkol-vx0tVg3GqO z=U1SIc*asJ;o0PpFTXAAl$@|UZzL9b8wOH!&8#G}U#Q$EB(}fw1G_%`K*BVbUUC7 zvt_k=^RPzPP<=C&bhgDu)pMLA*N~NvqDjjoKk21hgG4m)HOYsLT=T$P$UUdHPMj~u z`mJ?X6TuBNmL~Ms2J;w#v!C%t=UWhw{_th)#Tg2#_kE?vHYQM#Zvs{edqLw`#ZF=i z%%6hcRBeX1H9D78@yPD}C9&2gI0) f>FbZru%ASF93QSx8;bt>f895VZxvv2mZAR(fvzYk literal 0 HcmV?d00001 From f6c92d1ba0c51c62d07175746978f06b051112c7 Mon Sep 17 00:00:00 2001 From: Sebastian Wittlich Date: Wed, 23 Apr 2025 11:11:58 +0200 Subject: [PATCH 4/5] Update to OneWare.Essetntials 0.11.4 and OneWare.UniversalFpgaProjectSystem 0.41.5 --- src/OneWare.CologneChip/OneWare.CologneChip.csproj | 4 ++-- src/OneWare.CologneChip/OneWareCologneChipModule.cs | 12 +++++------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/OneWare.CologneChip/OneWare.CologneChip.csproj b/src/OneWare.CologneChip/OneWare.CologneChip.csproj index ae9203e..931330b 100644 --- a/src/OneWare.CologneChip/OneWare.CologneChip.csproj +++ b/src/OneWare.CologneChip/OneWare.CologneChip.csproj @@ -15,8 +15,8 @@ - - + + diff --git a/src/OneWare.CologneChip/OneWareCologneChipModule.cs b/src/OneWare.CologneChip/OneWareCologneChipModule.cs index 617eafa..9d9e641 100644 --- a/src/OneWare.CologneChip/OneWareCologneChipModule.cs +++ b/src/OneWare.CologneChip/OneWareCologneChipModule.cs @@ -81,13 +81,6 @@ public void OnInitialized(IContainerProvider containerProvider) containerProvider.Resolve().Projects.CollectionChanged += CologneChipSettingsHelper.OnCollectionChanged; containerProvider.Resolve().RegisterPackage(CologneChipConstantService.CologneChipPackage); - containerProvider.Resolve().RegisterSetting("Tools", "CologneChip", - CologneChipConstantService.CologneChipSettingsIgnoreGuiKey, new CheckBoxSetting("Ignore UI for HardwarePin Mapping", false)); - - containerProvider.Resolve().RegisterSetting("Tools", "CologneChip", - CologneChipConstantService.CologneChipSettingsIgnoreGuiKey, new CheckBoxSetting("Ignore an exit code not equal to 0 after the synthesis", false)); - - settingsService.RegisterSetting("Tools", "CologneChip", CologneChipConstantService.CcPathSetting, new FolderPathSetting("CologneChip Toolchain Path", defaultCologneChipPath, null, null, IsCologneChipPathValid)); @@ -110,7 +103,12 @@ public void OnInitialized(IContainerProvider containerProvider) ContainerLocator.Container.Resolve().SetPath("CC_openFPGALoader", openFpgaLoader); }); + containerProvider.Resolve().RegisterSetting("Tools", "CologneChip", + CologneChipConstantService.CologneChipSettingsIgnoreGuiKey, new CheckBoxSetting("Ignore UI for HardwarePin Mapping", false)); + containerProvider.Resolve().RegisterSetting("Tools", "CologneChip", + CologneChipConstantService.CologneChipSettingsIgnoreSynthExitCode, new CheckBoxSetting("Ignore an exit code not equal to 0 after the synthesis", false)); + containerProvider.Resolve().RegisterUiExtension("UniversalFpgaToolBar_CompileMenuExtension", From 28c0265e2553b47bc5c97be9f402c586325d120f Mon Sep 17 00:00:00 2001 From: Sebastian Wittlich Date: Wed, 23 Apr 2025 11:15:08 +0200 Subject: [PATCH 5/5] Release 0.5 --- Release.md | 4 ++++ oneware-extension.json | 8 ++++++++ src/OneWare.CologneChip/OneWare.CologneChip.csproj | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Release.md b/Release.md index c349768..16b2113 100644 --- a/Release.md +++ b/Release.md @@ -1,5 +1,9 @@ # OneWare.CologneChip +## Release 0.5 +- Update Dependencies +- Fix key duplication bug + ## Release 0.4 - Update Dependencies diff --git a/oneware-extension.json b/oneware-extension.json index cab3735..13f2bcb 100644 --- a/oneware-extension.json +++ b/oneware-extension.json @@ -59,6 +59,14 @@ "target": "all" } ] + }, + { + "version": "0.5", + "targets": [ + { + "target": "all" + } + ] } ] } diff --git a/src/OneWare.CologneChip/OneWare.CologneChip.csproj b/src/OneWare.CologneChip/OneWare.CologneChip.csproj index 931330b..2c5d22c 100644 --- a/src/OneWare.CologneChip/OneWare.CologneChip.csproj +++ b/src/OneWare.CologneChip/OneWare.CologneChip.csproj @@ -1,7 +1,7 @@  - 0.5-SNAPSHOT + 0.5 net9.0 enable enable