From b39a9c3d63ab9ddec5bb0f6bf8e5450597a964ee Mon Sep 17 00:00:00 2001 From: At Date: Sun, 19 Dec 2021 19:16:59 +0530 Subject: [PATCH] Merge branch 'grouped_nodes' - Pipewire Nodes with the same name are grouped together and rendered as a single node ( #1 ), in the debug view(on pressing Ctrl), the description and node id of the underlying pipewire node is shown - Support cycles ( #5 ), graphs in cycles in them are a supported now - Add support for customizing node background colors (with transparency) - Add an Arrange button ( related to #7 ), which relayouts the nodes automatically when clicked, the layout algorithm (topological sort) is temporary, will be replaced in the future - Updated README.md to include better build instructions --- .gitignore | 1 + Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 19 +- assets/demo.png | Bin 107911 -> 154829 bytes src/id.rs | 0 src/main.rs | 14 +- src/pipewire_impl/mod.rs | 98 ++++++++-- src/pipewire_impl/state.rs | 10 +- src/ui/graph.rs | 392 +++++++++++++++++-------------------- src/ui/id.rs | 19 ++ src/ui/link.rs | 13 +- src/ui/mod.rs | 97 +++++---- src/ui/node.rs | 211 ++++++++++++++++++-- src/ui/port.rs | 18 ++ 15 files changed, 587 insertions(+), 309 deletions(-) delete mode 100644 src/id.rs create mode 100644 src/ui/id.rs diff --git a/.gitignore b/.gitignore index ea8c4bf..947afee 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /target +.vscode/* diff --git a/Cargo.lock b/Cargo.lock index 5deae13..608f792 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -679,7 +679,7 @@ dependencies = [ [[package]] name = "egui_nodes" version = "0.1.3" -source = "git+https://github.com/Ax9D/egui_nodes?rev=74eccc4#74eccc4087b474ef4f98b772d8946c3fc17aad0d" +source = "git+https://github.com/Ax9D/egui_nodes?rev=3544d61#3544d610a3a4d361c91f270982e1292f33476bd9" dependencies = [ "derivative", "egui", diff --git a/Cargo.toml b/Cargo.toml index 929aa28..f3c9f83 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,7 @@ simple_logger = "1.13.0" # egui stuff eframe = { version = "0.15.0", features = ["persistence"] } egui = "0.15.0" -egui_nodes = {git = "https://github.com/Ax9D/egui_nodes", rev="74eccc4"} +egui_nodes = {git = "https://github.com/Ax9D/egui_nodes", rev="3544d61"} serde = { version = "1", features = ["derive"] } [profile.release] diff --git a/README.md b/README.md index 77be1a7..75a6d0a 100644 --- a/README.md +++ b/README.md @@ -10,19 +10,22 @@ This is still a WIP, node layouting is kinda jank at the moment. # Installation - A compiled binary is available on the [releases page](https://github.com/Ax9D/pw-viz/releases). ## Building from source -Clone the repo: +To build pw-viz, you will need to have Rust installed. The recommended way to install Rust is from the [official download page](https://www.rust-lang.org/tools/install), using rustup. + +### Stable Release +Download and extract the source code to the latest release over on the [releases page](https://github.com/Ax9D/pw-viz/releases). + +### Main branch +Alternatively, you can clone the main branch, although its NOT guaranteed to be stable or bug free. ``` git clone https://github.com/Ax9D/pw-viz -cd pw-viz ``` -To build pw-viz, you will need to have Rust installed. The recommended way to install Rust is from the [official download page](https://www.rust-lang.org/tools/install), using rustup. - -Once Rust is installed, you can build pw-viz: +### Build +Next, `cd` into your source folder and then start the build using: ``` cargo build --release ``` @@ -47,8 +50,8 @@ Zooming is not supported currently * A modified fork of [egui-nodes](https://github.com/haighcam/egui_nodes): A egui port of [imnodes](https://github.com/Nelarius/imnodes) # Thanks / Alternatives -Pipewire connection code is inspired by helvum's implementation, -[helvum](https://gitlab.freedesktop.org/ryuukyu/helvum): A GTK patchbay for pipewire. +Pipewire connection code is inspired by helvum's implementation +* [helvum](https://gitlab.freedesktop.org/ryuukyu/helvum): A GTK patchbay for pipewire. # License pw-viz is licensed under the terms of the GNU General Public License v3.0. See LICENSE for more information. diff --git a/assets/demo.png b/assets/demo.png index 4d3ca98654ab37c0df8664cf6897eb92fd5afdbf..e5da3cf5454de0abba0b89a2272c37e1fb26172e 100644 GIT binary patch literal 154829 zcmdqJWmFt(v^CgCh~XC8-QAtgKyY_=clU$@x8M%J-Q6L$2M^l8Ex23r6?yaC@80jO zyJpR-`7=|i6S}Lb>hbfOv-dt7A}=eB0E+_)0)Y@DK7bWLpqIrU&r&*EtjaX}y=kOWv***)#|vYWp4W-=pmdn9dFMQPfET`NY#X84^N zJo7L8Hxyq}tv}eJ#(e!sZaw7q>C5l;L#9m|m_Lm*z6aiO1pI#g!SD@-eyD@BwROqQ z;)GJ3J)7L!&A7XMhcA3M5j-({ka0byF%QU*hZsB&ztfmklK*$dr?t|9j_zvX!6o`LEANdl$DSqh=W%TUGr8 zcaw?j=)1TRZVOM73h1`&E6 z3ulgVjvE@bJVNjMZl^LM?R32k>NrvldNK9VEWJ%lx3Xtn{4JD~&F7Akl5!g;2^aEv zZ|`;@$`>eZ+wZWtx;mZL4Z4QeVQyhDI5s9LBa?1v?BQ|KbJ^cB`svdrvrHe?DlbBC zTy!+E!<1zm1qB7erNpy;9;^?|xAQ|*Ff-fk8I8c@Mqb%S#ii`uVy8BrBP zM7l%JC`mY^Bqc4atU`8vb$ynQkdVxq+;xWT%K16AEKi2mHf<)1j7Te>r^{|*io&j3tHHLlG7OV3gV#+qXJW|>;x#<*>G|_jo(X3E?{tBlz3L>ef>Yf-u6@eVpwmMnbx}8M+mZiGDYj7D`3R`FVNV zc#+9z(C-0om<-wjb(SF=!4Q}gnA)uT}g$j#X{IN_=3=-5=L&z5SSF)LEUV#5a(aTpbrm#Y>j zyDd2cb?N_X^*HNs;ndXBjKt%PiHTuZtftH)u^dG!i67p4S|_2Qp*T1=TOMM6i%N?3 z(0Q0xT)aE5^Se9gC-gh%#q2nVumeUp&;V#khR@}Evh?GQxS*!0DhCV8cP8og@4r8- zKo*wM+x-f^L#NC$&o=mOXE(P;z+jPN-`?K7CiMQXesX?w^>~`t5&kpWAyl8~`ghIv zisLXna(HS4<--?gGDrsu+@bTeQH53+_2cFSm3=a$hpY!nZ^W!02U0p>H zA_R5I$jC6~Q<9OD>bCJX;EwZNC{~YtG zxQiPpdE2L`DC1`l5fN}+JpYbP)=TwU=VV@=+w)?T60kyPadET#>h~bMkLS}`f3H!e znXvQKX!ER-%uDfW?qA>C*-7&IkIe<|17`==?=)<9Q}e4+cw{8QhyVC0O|;|2#NPgE zaJbldTE(-Iy9Xm9Be=#&s=p8JTmswq1!r?HF)_6}QvQ2#=-tB>=HCw=8@o`WXDoI0 z{@ofu7;wBdRg8bX203)=OZJWa`w@Bj2lU??xq>eLT}?gQwSs?76OCm({Iy;n2gC!U zzo&zp%>Dkp6-qNoY<_yLei$y6qg$a?q%5WLAy=Pi=fqu`VNMbAX*h=Q%byDRXhAo= z@*1T`nWjy*V_F3`(+T_WPqES>Mam2=ZVV=pPe1*imCZ%Yrw8hb z{i*p!4J9h{fPesUa&o#blWE{q{g<5;bif5nR$BGeyL)?zH1U8*=66{8QtPzd7XhqZ z$-HX7EhsOyJvCKT#pri%ad8ME95g^|tJI52N-jJffcNb%c34kEa{VnbHZ>I&{#9OnAkmwqrY3rN z`pJD@#h)0Uq)xsAc6(rVNloSD;-Y%wOz5mlm79=l8FDz2z}StGOcZUE?|uY53Jh9#m7q=MEw*v zjgHDKC}{n>EXzzs&?`ZH6`-!+Kfx_*#XI zUI9%ghy62+I_aq5hvMSU<0a!$QfLmUG|ONENbnH*lT=hy6JlacfsH6-`zF=4+2RzW zfQ}uAjf)GoFDOCpvw%+haW*d4A#e9INz31>-#z(BrUu=C2!PcYmjf1xysj>RSAuGZ zOUp9fct64H%1XInQN10cT$#qn(J@!`gOycDuVHio+|v`1aR2t{*UU`6z3HM5FTga< zR_OWNp6_DSjAaUTxE?ID95&Pbv5>$}7IwR5Ja!X8E4{7`$PvdprGJ{+Djy}Jq_p;Mfa3HuhKGg>u}q=d9H}xz%7_RE5rXR+ zuac!*$N8`L9?qxMr9P?CVPtIg_w`XAqKQ_uwfR7w7KjiYYf_BE#nXcI{*W8g+v7S+ z-*D|MKq4t61+c|0=OLl*+&BTmQPo9u067SZp(d zf4)r|-gInAXnu-0J~nm#ISIT4{TBnnxjD-C8gU8LD_^#NlBB||%C=GTY3_J$kP_Yu zi2v`mnI2HuidMdvEb2uN4p@=zovpzt;l8mTAyFXk1!ep0u|UcMw%yKUU8n9=`PZ zH#|uwzp232|2_|Zd(Dy<5mI4i|6kap{=YvyEz>VSbXawoCN;^Mj@T%>7n&qPBhnhV zPQ7mJiwF4F4)l{nPeu#`67V+n6XMg?xM@b%#HphrqX-R82@WPEnIxlIpkC(@)WIWS z{yDL-Ff-F({_f8mAaC~{(2wur_I#KY>OP11=arND7Q&dxMhbyq7DSs(8A){?N;GbvEfocWyd!;JL0_JP;$^rKpyGD_?Sa~Rq0p`yI z`t5(p$WwJ-=~h%j$>d_ef?xP&KL>0{d%pJFXOqpUjtdhFZWQ_z&h7zmXgD(*%JYfA z&8hnWqT+WKH^TpQW)UL&=NTA&5z#zhPV#rcW)iDLh9zOZbu*Qy<`opc)ucE23kd#a zI|IzGbyA2ii>jKMw2Sl5rMQ-snN}*Pn60bpE0kUWRzjcx@HX@HE>L3Rc&bnv8+;Lw zod4l5Pxi;#=3h_l$^LxQxSrJsI7@~mr?Lz?R!Y+T>4VN7o1s)aP`N3jy@ZK;kSI2K z5v{m*|8c#Ae-c_}_4_PDC)Q^7_XQpJQ*BeH@icYlta|4CQ5YQRQz)W_n>w2IRiA~N zY}CG0n}L#~gx@53Ph;YyeBxPC8Ul=e7z!c?4lwB-sY2%{d=9GCiDk80B(K~WFw{r( z9{Hx5r$u!PY$BWV>&loIcQ0afA`p)vW4@$d%q2zX?LGN%`X&QovT`!xutPQ69x)%K zzHbK+Pvqh%+o$WQ9VyN|2PwV3dqKq0kV%=nhtU9ykZM@24BQF53<@_8sAD9h?VeuV zhK@!fMq-BSM7CL!C`MSmTNK;?_AOUE`LALt9y*?fG&N2m6{bK2G)oTeSF5nBF3#hs)Ko1%j5(r!+U9r;$Vxy9cs*XXo;)@>2RG`h9n#893_Y<0-4 zsTs$uOX9uEf0#q6pdV)T-aVSVK)mIWCCUb;9>(6O=~)vFk4mc_H#|AW4uff5H`GeS zkBkgX!iNg91XT{jfQcg=9jYhLfdW?1B_5|8w4?^!?RRLj1uK-pqY4F@4NTspijGCc?N5fEWmR+_nTZy0!^xtz7C@bZ(k6DN8L->AG~9`k=kudk z;YmZ+o<=ho@S}s@lQkdp7v#;&l{fhAAIj)?oa^kGVvuO2+Dz{&%XvH1)E3DPOj%3z z|9VHOJ%9s?Bcgy=DpuKedFX^0+ech5j`Ai z2E+rRc&NeeLey0W5S^rS;6Pwt3hCniUkUGx?M!_Un`4-Yxq+Q zn2Z!s<|@#VAdVV)Dy!7_>{9npX7GDGZgXzs?+aG5CI<7h%WGDzo(FV|n*23UAaGEf zASl0z8XQefPUB=fT1V zE^Kl8oi&d6c-*wGjWol5yy=)oJ1|gK*L`y?m6*MC?f<<(x6%HnV6JJYi>be$AnCqq zmYGnndsm5DVP9HqmQx33p^@R?fYqm~(*C!$-xX5^>pvkDGCts*D0rV_MyA#}HicuK zXgff*NafVD&goF_`8nOsm-L%u-fi_jC%!tL!$r073Yw<=8%hf3f3FHcqefeJI)MXaLUX zyH~uAOL_)V5M@26hraZ0%s6$YH&;Nol#Ww%cBtj#8m}2VkZtC7RWVnB9_^=BI#^GJ z6|aQY$S6%U4kGf_%>fA9~~^nr)cV?+%Dgh-`synyLUb~ zWEu8md8R-A{jZzJ)ON3JWt)GolkD5@cq&?bv%7$MS-N@?*3TFo?%pV#=_%Jd?p9qC ziBTbQyI|BWlGf-Ne|Tg|Uzs%X=uzkr=(H`D6F0|kiHS+3F|q)Go_NQ|xIxTjcQ1H#3$TYvwRT$%@NsvmFk*^|-Uhb*K~luK63LDeRV)$|grz@gh~R zAv^Ut)HmE13h1u`eLDPdSdmeU;m?YEur;vr4+XC5BAxBM<61O}wU#Nmg-n}w<-~Df z4|oEz&Xt{v&V-lqAd)BF%z3twmP6C{CFMv22*lV5+eNUcCc~_g!7+vqHu)L;{k)w=*J^b?p`sUyqg`)WC^wh}|&7i!|MO(VU zLVWjiu$ft=+rmbWpk8%5)vmJ(WOuI}Kb19hM3UroY?+)oT&;$B4_XYlzp|1AlGkZ?3v}ZoVOHZIbLj78$a$q!MKgL|G?Y%1U0K*2Buwj9{x>ckdiydO?LJ(Pc7&m z_vZ^s)^I2f_nb5AHU!Z-?Sz>Lh&nARw`DDyKARJ6K3zKS|+~_+{9}+W=(M~ zcxC{rLuW&Se#(|Q$&BTJ-ye~R7ItPMQ$`AyPe>EzL4}zY0*;2#{s1B5VDJO;{YhEm zi9) zUk%SuOzSv~)%$|fw~iyYdtN{~C17hbr83?d>F#N+JsW>1k^${%HaqAIc-oynAUZhJ z&;IKSkl4vz$G&GFtdmv^dh%4|jkn#H=)M=<1H1&=#x@ZHxdr%pH;}{xhF!I(dIV2K zM_Y-C<4>6=@B5F6jre|XSUM)5`5m9nkK+y8CEiW-EeU5}x(nl-os1I}d;J>TWKjDW ztzZ@8bZ^0q<^m6M=yBddSuWRcnNmvDVsI7+PomjEF>!#vceNI$Rs=w00hh0PLaHtk z`xioHa#pA9sJ!3Oac$J z|F$*cF#9@ZGeV~vVpSOunMnz3*Py{&Rk8S=y9oKzM8KtK9$Q{5o`E7@=kujs6HcFZ zIaHF+?!-lu+8Bk={rsj+?s6je_e(i{kI<;cCZ(Bwpy-Z*I$Zs#?B7I8m`0qfUG-G| z=nlYpJ@3XKq;2|fk|eM}`S*Iue8f+YH&K1$Cv18Wj;;0W-9;Fi5sOnpvlL~La+O*at|h+xfg36HRBDl+&d|?)VZu^-E`iD%l=xlGS%UU9J@$607pz6$Y`v-BYEX=p|t1R_iYZz5{jjZsS`RtST#yD0tQxB8$21Do)w;2F&a-`1e zU(C+VzWPi|LPJAST4DF~6d=|1_V+z9)Tqz_w38w`BV(n!ygWPmeeB>!_36aK#O>{? z$o1gD+S-lp0mJE$MHFIXkb}t992bEjhRbpBHr{S$BVv>juwyzg@!&TJIV`A0@5q_j z^!Dq&0snmolb(7m&PT99k@A2sT*pAC9r8rcki3g*@25e#50?-}BRF()Mnu3+pV!6&jY3c8j6dVQg2j7l3#?b8XZKQzr zeB+$#>`~+R5NjKo#Wt_G>z)(Ef)uPes8vOqs^kS-Lb#of*SB-1>Y1CVbX3$F z^Zjy(EK{hy^w@vc`23#h!|KP*m#8oqtKJVr%dKV~-ReWSR=E>#W?*l^7#_;26HMr^ zUq)Uguz3vbY`Vot4mWl*GzPlui;s_c3?7vC#cS~}*aLB>e z)_eJuc3m6*ACL*}ySITC0BdHImq#3VgVgJv0v`YuC}{N-dH>#jYS&nUgPy*uxHu)) zJ)=RL&d0|GWnCiy-_D6CJlp_F0o{Z}!_!ktM~5Eet-pT5;;Yv|hSJ)a*->X{2S4nF z(i&O$)(-CGJ7kzYNAFHyMX2O+u+V&#E;5V5DVry&_Kaj>iT|Wvk!;?8!3taUJ(pZ5 zg{CepIQVd@wfkP(&OMiZ$xGM1f$IiWy5_owT&H zgaGuS?_zzKZbg(qu!)8+GJwVJEOb2P3lZ%&^NeTk4_BW)++Dr?ESxU82pkg=5?}!J zUu-x!zA=-%HN0Mmf7ECm2q>U2xOH2EttAhj7uvN{BTsTxL-@YS6zRyW3 zVFVDptGUze3%HBfKZfzw-j~bQoooQE%*(?wYFabA8Pog@JUu_ZYtO}oBg2Gse)ljr z=CnO#!G;sy@6xmcMn?=nA{3yL*|-@V{WLpUUtjMUJBV(yX3W@j-XF~Gcik-o2bHBf zZC~2(X)3bUvbejc&&rzc$UhkiYdtgU(GfZAxhN%1WhWcHaBboc&YzUyqnS#I$Ejf{ z`Urb@;%nyK$Um({c<61G5&x%-oilHN*@umdA7T9rAlN(#Ac8AXjeKIB*$42H)pS~l ziqhc8nzcOJ;XJ9tCEM}mtwHm#O*gx*N8bs`_aZ63>>tmQQpvT|r`Ld0D%Q^Aa>&(= zC6beqFQ~vAMhr}gJl02ZxFEZxGy@z)A?+Ajs>q)js;Ucfb8`?uEg-5Z$Qq086faBx~bPs!Z9{73l}Iln0EyxUzwpVe-nRxyyo_M;%o`B8{^rX1oS zJpU}YMJcZkkpo}zdkTO6>IJFw+Qh_zpuX}?EyFjx!%-N@wT+Olj}=jzJSM_6T6rG9#P3O+G3 zGczMXc0U_!$ltT=5r73TJ<*8jvpto(?kDocBq-5_GXy4%(ce=W!n5aka)TyUy zj$jhLxzK}WYh!S4PN>!fo}R>?r^wC5rmd{3uH)lTcTrtE+1~COFG+4=YMhINgoK9D z%_J%spjtAseFkv%4nWHSspN8CKX@w>abisIddRpx9dhlk}Sm*TFj_2-7;8Oy3AfC^;v zz;)Ldh>$=a=3je2V?40r(Dp4H>$&5a?o^8MV66~IV^f;KX*|kkJm@(+MLHEwtf9lG zm{0TwYiD)o@aEppkzPyvx9sfd+}y^dCT`?6ROmw?-Evbl2wtfN#+yg%B*;$ zb5V9HM-h;oneiJ4#3pL zzXs7h!47aa0Kb`U$`Iw5?79YEF3QD7?YCU6zn4!>5h!9q43dP1e$31)PfxQ2o%NwH zvtblI_xd7x@Gg_Q31G0NoZSFKqTA8R^2&-VpvI7ANR-3d zx)Rq#dJbZGqMqr(XG)y5XQ4^1*)x{hp68<{qw-X7F)@xC1JUwS)(wjQPie-24cJ1? zAf^6qRQ0=V#@q*{>HQ;|NL+g6+CT3_Q7yelr!QZnHp-^gXvMcC7}KE)vYF~Y#ivU+ zUM-Bj!qHXV!!aN((}=Z@8geLhI~$Q^eE9ei3pL!i&oHN+qyGs#Q-e#ErU*^c<78vA z{aFb}2R;S+cOehcP(=PdI9P71TC#0GLPYevc6r_@2{22YY@wmBHXNyQ`(;H%2(Lba zl>rm*!@db$UQ<(1O>O+F^?laQY7jkI1RFm!K$Vf6il(UkNVJq)$wP&X3b}G@)*nV4J zl|N8PX7A0EH;ZFtAx9Zxf7@JlH=Vo*oxSpx2})=dQwPC!1H%qaJ8`G}fn=~xS&M#c zA0y1d*x0&g_}Rx2f3X~lFT+t~EfX=n^OXj@wDMR2azZwy#X_MBYyE2Ei7W$9y^8m#>0>Knu@mB>B63Mc+M!naJ|JiNx<{lnin2l$UXP1`JHEHKh?Xs|_vU4zOq*I3)rfOqu9!c29 z5~EQC^N6CqH{>Ea6(+{ZwHNyJJk8&XD^qf1)a#YISt=HuZYQjnC_KE!xWGY$)C4-A zazR3jv@94_D&Jx;@iYHot4asP=Nu^&+>uzZoYl>GfQJ!qa12v5(|lrV^S`{5f2NNJ zxIRfS%eGD}%j>D#-Q5^rCWzdhKZ|grx{R3wXJ03FwDLG0bu(F56lGIUkdw1>a75~b zRuf^#oIlbrRUgMG8B2=gkxfQb$o37IfOF+gb7i98V2PuCxxooz9uaQp_$=AS{<75T ztTsaPZd+j$yuz)iC2uH+nU&-P?4#tJQG4Xo3ryd;ER}y4Td60?g8Jp>tdRW(+V~-R z_aO`+csg3WpSVh*3Va@?{3O+jHoUICcXoEpZ@l5&5tQR*FXkK&qHw7ZlEy|$%Z7&s z8yM4d(_r14HxMxWbq78FyE_=>byxn&@+!@nq|q|UbW}HhIzAXHK&-(tYN&oe>52uS z*HmcsCo20${^Yg9d3t&d4Rex_k#VKVCYS(|86f>bJ|M#Y?lKDtDszU({0YbF?g6Yo z6j23=*t`O>>6sZxv;)`0U%%wTLuy#KxTaTD+D(SH+*Y_bf_4=`1jd}|MLMXR*2a#5 z8;;B#IeOv6^5u-!RFfA53gKDuG88OpO=Ac4xF-jcUy0?Je84bCd0)b0F&LLGNl#9a z-NJpuBshypV1aa%fw^=5cM(bQg*PgIH>wEkXxdnhRB1OPn7tsi!LJwMI;3{7M3RmU zxbp(mE3G#@A!uQqp$Cf<(d}Ewp}G~rDomUtjCSG6xNQbO94h;y5qLxIr@KYF zrbIIse7`er@O}>NgI@lU{_n0P9ep?Rv+h0X(lMYLvesVs`^7n31f-|0LN$FGeX~{; z8igLI>WCpNYS;Adb@!+CV^`TECFkUah4c_$mXS`X{ zj?uVDeo=D3p`$c>?AN}8Q`Pj-ERi{!C=`I&0Y>uiiW3eZ1oN@c4SMg9EIr2L{BSWx z$bU=NX5Li~(S9R1S+eoQ6f8)%Ow3SGK~!?Y)KyRB`F)_>*V9|NCC<3B7+w zT~J$_TVAev>s$DZ2x8j+bl8O_E-vFKA7ktwscaXMw1k9%kI##K2M-S`O)bG4I!sJV zjWUjm?Y(_mF)=Y%*wffpCHD+K7Iw6^7xOAfnj*nOTwFXgB_%HwkUrCEaiA&4$whTf zysN7Z<|Lo_`c>bdsc$T^g9%!O1u7+aa*smcFt<+Q-xJy2995kFk%S)oqtm-q{;n;8 z-3M0KHWHuI?K80-1(FK*);zUDW>*<^QSwKwHmkm~ zU%}v3ViBtQG)ZYB-TO2DjqaG?(RzW?DI{B~J*PlJ_zauK8b!=+Cjj!B|0%V$+Ad|*U!$z_MrlZM^HqybsR5{|L??4V`sUm zhp|S>lrCEB6lJeShS+bjQ{TNU;VZ~YF=L@a14xlze!|6MMMZt2pqq8GW=IJkdG?Dr zvcz`_FNM9Y9uB9;4t7(BcS)jK*$z@v0@dU$#77lqes(;92~cL(BU*LX(W|J9k^ppm zV2H`(s>#nO_wzaavQgfxcy=M#X*?oL9ie-d|_k; z-PR9aMDe+<&#&_~7hejS+Z}ytn7N6B1WI@^>6N7+25!e|S-(U{NP3I; zhc-w8*u%~fGqZ*(aa=5`c`pTN-RlRdMEki!UYtnQ; z?=ptAZ%|4zkb`c69{Brt!##VKA4^J)AmgQyv$_qWXPkbPKMFTjK#2*tkP_3!ef!ra z2MbAbZ;~GCW>SAtflb+kQUiD%d}IVS%&~hpa+l({obz`8dBh`n0tR||5E z`~}kpQy7>CHNUmei35gkI>>z#{| zsJ6Kih@EZ~A40#Ltoy&Ri)80#0~s!}4|7|5mxS@Qk0j+=FFzBk z(-Kn0OYYXk4FVc^&9aOKYH)euGK_^q)EhclLcOoP zs^1N4ot=LJ*%fKs+8}iSz#;z_A9TW2l|f;aDw5oy7q3}dxy6*|$7!fMXr(e})ii4yZ&ep)Nexwsb$g&5e>D^w`) zpNtN71kgS)jx3B*KLwGkB-RB9kCN2~dtSFpySP7&$G&T#PGR)R=A!IA@79|UlR0)5 zp~g^=s>n1k(YxPh?)P=|oE{d%e+#Ot{Ga@10C(oP7OrWmsL;!j2eiLH1if(JTBphG zLK885;n~KKI=X6qet8+6XjiLFM@mXM2`JwH^qK^N+ypDxIVV(_0?<|Cc1)-@+lYJe zH`TvsYiq;hux3gfjm4~t(kFAMnOh_eJ*et`)~N_YYpQ&a>nb#xPqH)h1cZQuUZul) zR7-9=OYRXWnc~)m;#!v7n>uh$3hVh6{K4Mxr*ay<(K9EwD;56!rn_@1J419Fl1XEm z*!|y!9nfKa6(p&>zR?gXM>+^}Fqw%`GR*c1_sQ#y(m`qEM}P(B zpt6k{=y|*C9#Hc~^@MjY!pL9TRy@oeZZ9~O z>_v!vVZs;`;~JcMF1P#KtpJGcuV4CpetwRQ)!nOa0^X~r!~hNta70s}c3>VG7&>QNNe7x?yD+n6T3e0=+&Gfie5s;}YkTaa2qRTdm} zWkz`#Ehs_|HK)%c#`ZgJyOufZvLmg87-G)$#vd6zaQirFSLE^jx_2w_`6y!*w%0ps zTnzwfQY)AFv3W3KZ2g9t=DQ5zC^_ULA2O50aF@H3Bn>X^nF;j~JXd=Vvmf=eSWLQL ztSlk(JAF4-W5_}!o(5&YyeV<*7y5POX91mE-UOcqaq{||N7#6lomQB&Y`Z3ehK;o# zVwh1{EZjbzxkmb4x{Bzg)E6ysw#O3Vbm*8klB3osV!Y8I(C4J)vK2$}=JvGxLAcR= z6L1>j=jr*Af67V-D^MfXuV;AUiDJ^bxCu92aPYfd&+H3ghCkaY3F_yJ!t;<>xY-sY zOu?F&-`)A`oHR<2I86V>-?^}?44Bp3#w@Qs3-4;sz;`z;XRP->N`hIEeuN4{Vhj?b;EOsuRJu;FyC4v(90dtX;hm>X-%ZaPZH zjUWUyk%~ut=pEQ}+|^N2R-T?K(NJA=ZONM*+*lx4QP$G(0z#NB{a+rs#bj%*FP1um zEUsR|eJ#WN?Gdw6zcGz{Uz1d{dH#n>vH-ZGp&TXrfq@UKI0($9I1vo!%7Gq z(9iqs6Uv^-o>Ny`#p*OjctgnO)oG?J0*?D?xZqP!^@u+^SNrCIF}#E<(`1v?Z>c2Q z!1wYO`+6$n7>_RR%-v33cz;I~HS(_*Gz9UehNUJ>o3q<#p^tLa`%&qZl-VdqbM6+E zxkS4skZHMiv?`GJ7iPl8`>f{I?b?TqFR`)fT)8rRcViaE9}matAk8h_Bl!AQJka*_ zO*9{~aks|}!U}Asmpsk=fnwe$@gEL{G4G)2a;FzgeZVP(n zZ}19Mq^tt@jl2zh4+VA7PdZenO2#--?nI$k3vyqnui)E&_pwK2!2j^w=5;t0HLb0D zSn#3Q<~8%TcX!G(Gt)O~*QG$%3V^Wh-X$`Yt~Va{NJqjsX{#40Q^kj#xZ%LRQlT*c zKk$u5jHhU8Df5k^Ol&X{BD|u!6d-H*%nw=6hNetlk=m;!j6dni{9S-g$2V0$;9+@VQ^Ld$ZKFpI&q|O3kuF1U3u~8?sCXBX^VmR1kVH`O)1;Y zEi}WE)HlU1>wNoyteRbzH;qbdbXfk2tt@9z@ayy11VZne)c^*#y12GWC`Xxw~!ZV?HIkVz*4 zfYu8P3^dIUj5XmR`;$(SSTV1CeB19cx6bWeXP`aue$6W)zUH zr3V2{b*<~ikHUT>s|J7<&Z+%!z4mY`Ezu`?z+EkdIW!@|2z;ajh$v5-2H zFNlv0Cnsr|EoKz>CP{yx;~lZj&ucRPhMql=U#H!!J@iz9!+j5A93!y9vdW!-P#`4r zbNTVN{ZmiQ%qHroZ)#g6T7)?JKLR zX_%QEP*yhInL38jH2s!0olPHATcY;hqQ4ubgDyN*7u%|{769ZsB#jIFl$rMFcQ)>& z;tSnWY|S%X(q4}e8MOu&+_pjcW#aEe5*hPV$hWX7e7+bMmBj%>JThUu?ef~y9l(dK zoiqZ$rv!LrW?M-~iNq5PY}~LI78;s+XG4w=M$X7MZdr${@Rw`T^l~|!INKi2@1pwmTD1+wY3*4E)XZbkPW3huTq_Qy9iF5~0VrAF@^T)PB!Fsu+h069?Sq|bis zp&s&K5ZqAI{Hp~xnKLplWuc60wx=}V&2CtgK@h=*0p&>$vj7M^Tyg*=lkzp|Ka&|PZ*vO*9G|aq`~mr=(5;hBYnVr80&7Tb#2lET75K;6*PWC3K%1_Nnp7B%yLnTPoVX}QvD(v}5tb91kw z03h$=7(i6y<>&L@AqM5p($Y$m%*eXHg49Evf|8Pi9iKVUin^I-wTaV+vOV+nh5s$o0-ZdpzP|0}GS=O4{ws05~?LP-4 zu}6rpo-72}bJ4NC0dTIqRGfA71eYdlAD;(+=mIM%DlRQ8;k|)Dhu!QkzzFL#XKTMZ zbO`Ep*i{_<`SWL~Br42PQa6An>`oo+JA3Y~p$H={Eb;;oM!IalytV9y5AIjX>pD8i z?Cf;Q~t=S{$OX4z*TS`+{auvdX|YvsSZeSGWeTdAM= zgfKqZD#WvO!#oD)dEx5D>JBS=uIIO)W4BO_NNJPhdkW46yUvSf^!snG( zW|NUcrL>sb%01xTwP{|?<&;R>sBhyRbc#u1lUtw4mGDBPtvAuCzU*C)h$f+Sc=z@z zsOx3V``x{7iANLnqLksB8tsFP`=2L=|@V>o#Ac_f)Ege&8I zKhWT3h~gi0?!-IZh#GD}YO_VPIj zat!z})Ij=d$&9I)*$a>`^2?VuvIRhzP2-+1M4o*H*aejUZ*&yK8<+0p25Wonl z@|^GB_!A{(De^-Tgpl1QQ${o!uMLOgnmP>*Zb?b962Q?zWy<(BVzn18%-7~yeV^6T zne)p%-jc?FzUsJ;Na|}tng)4gXCBqV2Rprl5`ywyiv)Pw`rTSQWVScg)yjK0+fjqQ z9PX3h2GViHvpt19g3}e&Q~T-n&cqMHtz*S9li* zMtCc)kZLYPDOYjrqYPIjaCehO0G!KoK!o6{_E^yMwE^hccbKmT7Cx_0iR@7;k!-8$ zo~t+HnRBT;k_%v9iUsP(ZvRO0ilRe%bXd6|+)f7_$Lev+!@6*NdL{%BI=+x9k0PYE z^yX>>re8wXM$OKUfFFa4w=;&0J3-X;bWsD~r_Jr7iK2i2`GscL-tKO4qZSz|zsugi z;3&BS@GBY(r>D4ft<;QM=?n!^d2{;~DUo23Ds}6%*`gH6m(M;<6^u*kz6Al640vg1 zXaJe-hpeFUO90UTegQ%sOH6-;q^>(rFv zw6t3}z(<#>8YJ?poI?2lFT`n|_ZH)VKDM`1;LH(T!#UOIM2R&BD7o(*B6o+V;RL>J z-N9jh{&6fjIdCi+8ysUSBXeqfh$yZ{hKeFOv5qZMx>Rdn3mX*>IkHYi~CIIJLe96c`N+`P&!5U%9I_WlD{~kOkJr-Wv5m^SYE* zulc2xG09k8J^cQb**2G+oQxl>@*-Un^9@g!Da`oU!NGw9t4F6NG7kI zZWBT_&iaX0X0786n2cBOT&+FI;?G4|F` zS+?uG=z}OAEe)a|yfo4!Al=5Cn`h0v&YEZM zu^Ig1Kpij7bH{c4>S_un@3rzhxDx{Z&);uT_{Qd@UW4N)C?cLc%iv10xjwV8t8B&8M8*NFW8=+?oFeig>59@<8QjSG<~xz zSEt20O6~6tZEVy7hhg1pD1vWJ(KEhpAOWVO=vPQzlw~RxNyO^M0@bL#*?E!MI|L5b7yf;&##>bLh)w- zEH>b=Q3Gj^SV?M3s@|+UPL+Zgv!xK+mV@QF@Xzv8EEc?;2%>ryY5EbCBiTe41d}m7 z`j`YBB5~gIo;f}n=I}oK zL38+gy2mIxL)wQDgAri7wHQ5%GsEipwI7>8F=1J-bt}pII;oKmyd9&N3O&9@!k>E9 zL2ZO7x!mYt23UlufayI>l8ABS;?j9Dt~7*|tsx!8fqu8JUi)-It@sXcY#8z1r&rw^ zKPP8!PgaM+9H4CUm@k0Q=>dBu!w*=w-fm-MJ-YxNR5Y826lcL7ahm@n})Ncf%mwF!J7AzcDfte?~qpN_Ysf!CabV zBbRJG%#IUN{~c);>u=ni(9ke+MA2-6^quubk0I*Ho8G&d>x{dlY$Aws{;k6YV=Pi5 zi04l@9nlsE*(2!(_qkDtX6D5~l9X-lN1m8<#yb>fhcF_?ViWIQ*d*?M60z=LIU#(B znEZ)`Yb>wl+A>vtx0O5vE~0l(fI*-fU$I175C3@&rxX|W;7z5_75#qi^qttekpC2+ zy(bDU5#PL~?9Z0CFWho^~RcTyp6JTQ{41f&gJbE&`Zz_2~Ox+;8sSrF^YdQEo&Eavq7- zZEataSGr{Dbm<>GF?$HDJgT~l!Ge%l9Fmuz+1GRQHkb71Ki6Rwj`=BGkjA zHan5oeQNoO+b79Z>1`lHXMEFz^VdV<(-k?qUxJopzF7Bh!n;42+&_{Hr9d5Y?oT+)Ffq9KC?ULxT$jxEJR%YQDTbA?YKl>B+)dzP zNW_SGq^O8dfxCX3U0-RxG)vdOiv2-5mXAZ*vt_@#uyZx2bi3<$ zWlrJ3u;+L&RX&9IFs0AD;i&d%HAXITTsIe8KFVj`IjTEBhCbkX%p{BmT_LL(aMo3C zcI80_%AZ?Y_X5TL^WXY_L6(uJ9;xT<2>G14LRT}{m^H@&Swhe$ya6mSm=?rlckeB_ch39CkhTSeA`$S;^A4BJxP))q}Aw-ae=am zhC~HQwEEy;0_zG8wDR&U)_a~keSV17xT;l#M6T=IL*Odbtkh3)GgobALGOS%{ye(+ zl+<^jg$XBIWxVRo_TNuCUUzuWlhfijfB(RYM=^kE>#^bgY?Y&cRhX<P91|N^N=|5rlj&jsu-v=-k!UO(3ACA`Md9^S8{{Hb#_1#yy zs;YJh2B!8fAZ+x=p`SwyB5-9-JfD=FLfTkO8??A@=q^^Ss6(icNkNFe!x;#f>Xl`$ ze)KsVnte>HLqpX@J;M&S#vIb@yh!o!jD_(;0@Y_tgkmfn^oO6j?jWDopmg%#0|bc2 z`{rV{#(bOjxM4f9$<>B`7Hk1V0zSu$KPl|yTf|&clRfl1q_2ga)Mu$Lo|#mkYhvqC zubaQ>G)S*05?9o!{&g4Q&cg(?w|P6=6Sg{(b12Rp8WA0YU~z92+m)*mN5YqWUNj8n zQBKNGDBsgQjx@3^?>CH>{oSVawK*ev(rKZrsR}$B{`Jzy{(}Qs;p9b9l`y9}-5vNq zzl=#${a5I5`zE`$68QCJySa%@?ApBOH>opTxb-&){yy_=@@hPc=hArs$+eAme!id; z2yGi&Pf8-(Q!P{^46x?tN;-@O&*$R7rhq9a?P39LcH*+5SCaX>>p#n=4zwA(E-;)7 z8_!EFRIbTEIzU18_OmJB0S*6eS4nWKX_p^e-jtU|F;J_i+W>YlMk=rN6rqC!S0_*; zJ26q?k}zpVgP&yu35tc4mX;#4@4ND4RK!1_XJ81IpcEgyz4dZ!GI8vINs|!6<$kxp zq@COk+1Y$-$WqD)5X7LL%B-b7Zfp47Ns}5CfUlyC z+v$zzShb(Ab=%n3c(>961t4R6t*b*6Vk7|CWrn{!zL~js+vyY?WZ!_~%)1zb@f0)xxaGPPen|%2A+Wv> zLN#2S!l)Jd6Zvsg^o~rQJJF-+o^?yB#w_?bCghyyeIz4ZG3>t9M2;HUF2&Dqgf6)C zHvRNwWijva$pO9fmIXH!-|LKw@v3gh>USxjPle$^4sVXAUv_KGQIUuj#5Zm?nI+5`{6lkU{ zThTpIa%iD1ZwCLCyHWp?yV4k1iJ&Y0Zn(RqwIe1a9h(Q3VNHF7385h#MzdO$bY$HJ zZ%NXCM8-#9!u{U;%s@}*^tNOIXt#@ZlvXMk=Zf?d- z%q}mJMfEW2*7K;lnq2+;ppR*9{Xo%iYMwP0Z9e(Hml?Zhnd|7Fd^Ns_xOM}p&EXHb zj|*#Y?=l-rSFnHGy?EXJ_{X`2P=C(L`XgqMLm#)|>r)P#E_h4_%R3612jCE;X)U0U zisg~7y?3Tyd@)S;;-o(>K?H{8j__xL89lFCZf=lX=NUH_cJoC<*Dj?$c`2^^ICz{T zB^c+2+ymBNMeuNNlqu0}B!O+H53J8D=%podhHNQ0qeRlN(mGEb3K#hOUCPxelVu~9 zO<5dwi;5(b3$8ZH@z?ivbvCe=wNV3u{xYPD@#UAdrWn3j?fc@kTO@*3JzIwfP|&lJp+xO+voe)E>sv23f`J)`|4 zS-0&y$IYK-Q`?ZcCm+5U?az1jM>(!|!qMu%IYpr0`|(5M@+0sU)}H4Od4GMYP`SPV}jf*?eur% z7!zWfCwbhf9GpKyG%ONdW{5tj(~;b~Byp<#)sptI(%^af|Li<09gnFz18@j2^)J7@ z-Oi#twuXEswn@%Bscu&Arrj(be>k03^JuNAayVRi4Hiea28edVLPsB*>EChA;DPJ% z4`1BgfdIN!Vp5jIoY)YL+riDvHXHVp$kP2g4$?~4OKoVS!{I*R;Ljr(NJ>t~@WBf5 zbKf0LTve@jGf6sYDzjc>$ZYlP@HOdt4LL5n!j*xUy-DP=&kTMLtj~~z2js_jdu_IS zh~VU$1g$LGJv}GWePP6cWB2rZgFg<0hsU^x=M1nxp?_8-Jv__&ed`&r4niZevT4p> za4j#(F?=1s2>qVdy0I&~Ms;#Q#@`qjIYDS|eVOQ4N&ww$9dlOk_#C{yUz)pVdtbYi zCTNoa3^U@kJ_ZXnTD3OZ&lyA7QSau><)lV~(w_h!dgYN~HruJW-`aWyz5%;n z$dc?%`_{M=07SjDuW%RuxuiyqFCO#VkTwH_E`$GaK994q&D&AI&H-s5VAOD0&)OEV zT$R5ltGXx{@3>Rj2Ose#*$r<(3lhYEFWGSS6ep?i*JC#POpKgEV>CbWQ6=4&=K}Be z>?Z>+f3Y2P@6U?r!sc>ttW^(<8tQ+({ z``4n(&t3+wdqH2S#;%4pm;SRW*rX_?OJgp7Gj44>QK@%drt2@P>gqf3=11L~2iUOj z07t5s69izrv86bbj9)ojYnljy==n)7G&HK|w~;Q?d_y-!NW!gU=s*l064H z=Q13LmwgW7>RxS=1S~}Hy!hFl?M)JQ6|QIAr|Fj}-;8V44csf^DI4my8k8gtbNATZ zmtqr-4A35xpi8!j6EP%x)0FD&T9+I1@&Dp!w@&D}PaZjPH1Od=;WBYbc-TpJ!vUiU zvql>0^fRWh8UQN2Md*Qd-n`r22k^;%Aih96*L4U3rw-J34UjDLwb@4g>6Mw2>#r`6 z&0n|$hf$ur&V{hU&?>%HwcUJg5#KRH`XhSkmyNWzBv|-z@9(Z62D@s^#c#*mq_`=_ z6zLyyOLj3#s~sbsC?5&J_Att`EN-fyh&XL|=B%fdRu|jP2(>$)Lt+luTf6#;@Jn}c z-Z}Eeqh+<$1VxCwB1*;aIXvD79f#*xuZ}aD2df!{`5mefw=V&w{f`@m5+&#R=WP$~ zswRL)ga-cY5zCN94!%5JQa#!yTgvdRQ%$n&wDH}AaH#3t}jOj@N{7;=dQsdoII+|Ji=6EEj(YkkBMDN-|C5wiceVF*51vFp)EY#92 zI-vud+{_!bmCeq>bR~^;q zUB=#9Ddy-%z?j|Pc@1JoQ(RG(MInu-q?xLUZ z7U}z>Pw60lN@~~5GtpsMBGsFT)i3b(@7*d8NLt2-D6Z@$)NbphrlwXjNuM<$2tU_X zpG2yeB@GeN)*)j-XRiX-uazb7a?L;S;SV5jWgt~Sh5#k)+^8Y}!q8brfJhqLx3l|^ z@m{hMmvQE;5a9ZdAmHArn%PH0#x#Z98r{tau<5)+kb+1=BX>)w&%yqFrWj5(bjHkZ z%-ugwb=O4O#f6-8vvF9ar3zzCijSXp_pS4U01d`UJ^<3itIEaLg$?*u9oxPGfu@LW$l2}I%XuT!x zT`-E5(Y*ffM7zg1OQz=Ww2w#GeYN+!ru*K74SDEI#Me!o(N;cqqL0Cs%!=oG)0!Zy z{)oTLcCm46Z0zhT5@hop9XSU2+gj8kLm+RWi>0ivu*bLxK;S1QJM5q}DCdb}U}WU? zy!g2}pb53VtyyeaMu+^#!^6WNAzHjldZ3G(Z255hCNZK*WxX>I+vwL7wxDxRLkghNxzRJLr!k{@y~?qmHB1ra`D+dJl!v0ypl)Z-TXKCat(R89C?Lx1%=as!Qwufmjq!j=~0WamX_C>FF=J` zTntj?^$J@xGDDoJU~j+j7fIR!VjBDQ@!pkJ!GVCuppw9xl}@je5R?Zfs^^zTRR-T;ZGh|f6KaX z70Z51S|@I?rphm8PH2cV*9mpUKFSzQ0DAYAIW|KImx%WeOgehdrh>gsyv2Que# zayXwodv@$|?W`XfUq_*7&JWkaek5(kA`{4PN`8bh!j}6w+j=?WURV=XE=HbcYJ~)? zf(?frQDVw(m;6Fy<3Ub;eP&dlw53kQ2b3F%J}eWsHnVAQY+yiqxkhZ|6qXr#TS9pW(cB1tbQLNyXZG5vw>_ECf-#q zf(GrnAUov0P`S@NnK$`+B1H|vxdtA&+|lHTXtP(f+8ORjfJS|y5)0eOaO;+R*Q;s3iq1gWn*^f+ zQP;r8(efH`2P<4oodkCqAqheeG3vD7gdkxA2~cFeKQ8^JAANN%S}9iFn*6nlrUn%y zB4L7vRXgyBKZWwR1u%A;D? z^!4?BC0KVr_AnFF^HP(<`zv`x%c6b?J_9@tY#96)r>@ z_HCuV4W;FNQL8IN@W!QipF6eOr-+e+IZ81_7JUoH)!C=)nnLhXMSlU6!<8|S>)HY_ zhrD7dL@P}Zsraf?oA=2WOnMBA??7lbW<8v(DXgp%B#9V)srFzy4Ew#=n9PgVN6o$r zU)LM3AZ(tP$8jX=mh7ePToz`8{;Y9tdHljhn4T|MAQ5PLqmo)viq4a9a3Uw|?~ovz za$_W)z^0=_7tA1yBOQfB-pfH0l#(tcD>wQF(*A&PJ`KI*MKv3V5{D=*om02^i@ zI+58>A1emt`@}|OsjZN3tO@qRpuxo63rOgn4m{EJJWHk982bFuEQoR$bFz&(@^p|Q z5hlLtgXi{cqRc0gEva|U!im_1$wUIPt7+u8!&06p0P>yRuP9%P&B)k4zm|?=q@|5! zCK{%N^9-g_%5|(0yYPVf;a!q-5P!`m z1OrV@Djd11h|FCA=S@hItS5TC#r5z}245`A?|5csW_Xt8U~B~73C1#|`)hh?{DRPk#d4t zG5w5ssgXBg*0c*%6VJ5NyLH{F4f(&na9CYQu(Ni(3t?+Rf~34Ej7BtnU@16wCB4O0 z{qyzV>z5O$h$XQt@ea+MzCRijjP!aU1w#1_>~D95nU6Wv|0hU5a}b#sG`_>@u-4$7 z4x~P(r>9PzSaPq=(+u2KFK=%6>pti!lAwCMIP~EniPVfGcnSSkt-qJy?)FwuRzi)1 z`E?=(`)jsRIy{jxQ%-!AUzXtLMg0E)1x|184$V^9;|Utwna!ATYtUG&LIsU-+Iwz9 zW;%j{9%YH5GfHfNEt~qwWoDdKy0$JGD zEVg`5?LUg>GcX6|0Hmj^!~u!ckkGUPNXrAk%K|GNfIHU2FDZD;P@*SFxBtATEc8(DjCv|Hq$VsiZlUi`uO4i zFIg$402!8;Xmjnk?;Bj!E|(zv3QM&-0Dh zyy)8~8qZBW;fv4?2Tj~@Z^uYG%UUV^Hv$fSaf{=ne+yW?8?wNM-2W4|I7;Xyrp)8; z(3l9ZhDq}Rh0JWrB%M8$M1Y=KdBdx(3ZqkfJFYhfmct3$Rk^S<6A((Ii{{g@cH@YfLMtab@NoPdheE}y#9*_Wccylgi?(h+;}T?qlQbLG zeQX*RytY>VXsD||eG&Eq)1Texct;5l=u(r3h`gfw@`DxJGj*^~Qf30};^n3AEPNd#m4WOtkc6}8=)oVF7sNQg#mRXvU&l=lW<>P1jxX^n z@+D9`A>|7KxeBxNCyAg+d0oo;8=d;S4~j-N|AnlAzS zQuC2?vaYH@4?L)f2PP|g6!fZ-h~GuHr4!^9>B603Gaa*(852FD&eWbr#mcGO$-0BG zz*v!uUM4x(Z05SD-q@3gsCyBo^){f7Pa@UFWab(_{If%TCKF$yBfCZNSYFvhG(}~q z5{)J;wnq>a&#Mv2Z}$a64o_{wp?0iS+a8^*tq6hs6e#bWIFju|!}<=-74=_vl=ZKB zlvIUoH5+W*jc?ELTwS2I^=)2BM&7^CU*eF5Nz3%NQ*V0GRDPsWX`yqn`fm7ZcM<@L z>ld=jUT>I8I3{0g0530=Lb|&`uCgS>D0tekNlXk0GC@X5Ugvr(`ijaMGjF1|JuVOJ zU^uQ#WFwfzTWNMX&f1|lH+Q}ZlYJNnptYLW$86Cbaah>cwgq?blfURWwyBvR?=oID z($_Qr2@5&sb8jg{q$k6|1;h7gfnbZWTT*L5N&J0Hg2TL*dm9O0>(DRd(=T;hz1KQN zEI>=BH+TSdKl(~8Qo@Fd7N&&L9TBo1`Stw$@4I`2hTIivP}{d5J}q zI37#zOq zlY7Lo_15v~ouh&cP#gsr0g;4ux$XH1hnW)YqfC!XU<987V}wrkxD7)$^!Nn?T249} zf2gZJ1ybr!3ou6t&Yl+w%WqDjGZS8;Dpm<6mn!&&IPMMojx~uKMB@D6URU8w^c8?b*jm^@%-XpcH{A6chsGk^#fciEjQZnj!-|>%$ zY3{r%U7*q(>?aA*qCQ-6pe6|80{$_Fb6O7u6HU0uH< zIA!zq(g*L!z|6iiGqSDP57-rsJc!;x^$`9 zJ?YvKHS2~=UUK({X+aF@jItM%z~)9%fTyUKKXRM|Qreo1?rD4KWgq&q{*}qRC4hg4 ztsk-Z1m{>hwV~_Sfj6{2u8mQ8njl`g#$IXPDiGtc*2+ih{wHdEe4k3R&Ghpl+Y!0BRD{`5Kh zTvDYaIQZP;HZ9M{mRbM=XUk2~Ji+{d{AhAxf4hA!odh`h@)knLd&f=sPmrZ?P`jKj zHDh6r;g#2xNzA%Q+*?M2Ou5-zvir4FHRkcJ);g;cg@X2^idVFnvlkw`>+3w2}iNw*8+9U)*inTgSd)?vx;-&AP<1tVV$HIiI?=_Mary*tDe{ZtvNwwaD{B4QI3o zbuk>X8{6cNuToJ+^C`dbqb|vs(CbHSs()P3I-IiZDe^h4qtQRs_FoaHTV9IedhP=`j`u5i-wQ$qyuv81T9@m&5B|6x#+GWxPt$?e4-D(-qK?foET|drEW5e@)(QG(s6>}N4g1GDKIeValxMhy6WfShxB~#*sYd4m}PCy?r!LgHl0oD z4_*(gJv-$TPs3E(`;Ym&ZQ?^clv?T`NqF1^M|HIRr-l$q-sJJl`Urw}%&I-DB|7uZ zOB#pK4}BwcVYpf3DCHWOdKukXC(;aShliePZI4*KICS{M#N0@^gBZ=6$<}POlJQ8v z;1R+O!*1Nu;S9dq(O;9LnqcrFP?;{)JLEPs?fuLK^Z#C3Mkb`Elje@{@bDx{8T~rF z3JpCvuzlz3j0aU1vGg5nnS?I$9;DgVD!b?YgS~zta@V|xl0nB zCT4pPBtz*K6mv#@Tn`5X-H=aaAvTy3(MK)tvgsTtMTA`9<34!As65 zMW3%Xwad;Ae5c9UyxoLysSP|FZtt(eog%f=>&pL3%u1p@dSd>tRI659INfU*14=6$ za-5?uBNfK}aNP~HuSY0)r&RZu`xN>UcJf7tqLM__taWNEL8_`ToK-X_mo&+pd#5gL z=kmHW{oNzu#LHHk1cZbV6r+7 zVz7Kttxe9#(GM3A!f8mp)hN5%P6-t>-`oU96P4Eqn!}wkeZpU5H=y%Wus?cqR~8pr z+GJFWZGiL(JXGVvi@9ZtuH;saSh<|k?q4>$3d>U(2Hxn zk&AQ4`@t9Uktv`K$=o*LG9P^vP6ou1!nQT|vauWXCsg}F@Q%XT+Lf~lXYCq1nJllcZq@iDG*B1YYpt-0z5oov3Z{HE_+iL==BJ|ya0G| z>Nq-*h*h3p2VEG>OXf^IE>hZ$La#~1(+J!8 zAZYc_x1#mW^u6=bAU~LJp_ivXd4KijX}%VOjmiFc_)~K%?8`Rh?8Zq?sz?Xl_J_hy z%1{;6>-A+ET!Vslu_h{8+O^A%WPs3KxCoI2tt`hfhchfGg z7^Ad|Qomn6j%pZ8k?TI*1}WOou@J~N91dx@{k* zcjxzB{n3@zgRoUlR_1(l65MCn=)B{YV~RLX?cw2JKAdi(HEhf(2xhV&1+)US{M~C| z4FX_3%gI?A%O8m2CXSe`dczpQ7A8jV&$~l|d;v>Ekz$(o z_x)<=Zzx03JH6x(*NyVZ+e1JvvjVfWGw5$x|OyfRWvURK1t-yH7Rj)g2$np@9$Q?Ch zb9EDZ;0wZ?EjAN%IWH*kEC^R zh}ZYWy3=*@tH2fqI8*lxG`v~NWySY#$)CL}?7!LV9C)*w0T?$XBOe@r%f4l; znzuJcYQT>?^p?-VF>+k9u=rnukPuiT8i{`7pOk1hyx~5f-`gz5ySKIo8ZNsdIKk(C z>@TD|5&3NXUm~(%)s$6xo}JysoBJOijgHavy4?>EAo*YEnDlkDv^;jkHskB`iY9kM zx_EdZfldfoIljaT#gOKUg8|wH_@IFvEj9IEdO{7XrJi+%(DxK};H`lvggSN^u?Aqk zq3Oj-P=B*!gC)dT#==7?LocbVW5cK)cN&mYi;@E)T*MaJSypgOtJxupniDvEvOl8e zTK6sL_k7Cq>^d1-tRR# zH4Vz)T8U`ElwdXG<~j{(*xx4gTruyR`vlfSE+ggiE=%dO;_o-%+FhPso_LV_=)Ilk z_3|L*)=(;N6v>jb82s2RRa8xV7`2L5(Emf#<^d#asI?+&dP=3dvKHGelLN()OF#IO z1ABb6XyWX85#lSOa)0xF8Os(700oR4$6tymD=X{%cTLYox`*A`-8wv|q(r@ZA7I=U13)nz-B4w?JP#$8E@{os$D2`Bu=1_a@)X96faKxc- zR=oUCgk?n`sOk&Kg?*OJ>ft1Z_(ydsF~4Nee(7>rt8}8 zzwLP3UFL=?1cOP#zd-ODA+x@2eE>C62uQM8X!8+#9t9BS=K`L;e$P6wbgeMc(MjhC zzT?u7lq>{<&cAuCEqm2$TF2FXCh`H?$o2U;yEbGRrYj$480*}q~;%%=ntLg-x22 zYmYP9LcUde=ZwFV zowS1`^@kP{eBloFwQ#f+@iPp$yYg1K%-auE>v8`FF3DLb<=396XB66zNqo>(0Z~)J zCv&7K84+|}KZ>ATIQzV3@h1T1jFQ^!%_oX;YN4Y;CVHC7inv$U;-j{1kni};T$|4_ z(EU*_Z2+M?IWxF@Hn+FWPfzU@-XQ)&2S-5Fzu}Vqu1a$uU_dz@@sZLeA|?j8-3O#glm&y|IXyy(Jz-1~LD#~cDWgbZDf`Yzplb$GLkgc-Ma57kg=i2u zSkpW0AK2&Q4L*v#sn>9T&x!wf0e$)xB{j84;(ocABo({i;eGWzYeIL)iKHirEDqPd zqk|IQt&ozgt{ir~L@ph@_Be1EdpVgVJQ1$~r3#43ovvs(JTELl;^ZPwD}FvLp$=H3 ztsn2WU!5Quob{kxoieu9|Lai}B|PBNHGrn$@~u+2LS0v!=Me|BL@@Uh6mu1jQu(T>qmPpK`yh zHlpURW&ewZGW~t!H9J`)W*`xIz}0m?U8+PH8RqS|;0!4$`@#2UW^BdX$A5J<1n;o8 zvQ#x%a_B2M@U zy%=DN0R&b_E#HRO@HAoL(f%tJlhsk`Z@<^$jhi!Ht=nQO-`$CjB2N>>C7zmUAY@m? zl2A&NjuE#*pOy12;^Vd?b^gt3;hk-K7t{eEvT4a(9V}&^$qi!j($mu;BO}jT{~|!UnSbkYF%aJ?D3uczP=b(-`**LkcNf^&rRnn4v;o^#bG_? zUug9L8=DWjQU=9_SQZ|hdhqLa83QmB?YtF$XbwtOl*c6VHxV}H;Yixpc~vaP(6kEG zoBz@RjMo2AymwqqmuH~;v2MOG&qPA@9)q`k-Gs>Xh6z1O@a&6;X(|u&r~GhQkzZqM zAYMLo?pA&uW9uF7@TXN;EXXe7u+6=r{If$ta_>ea5Vi1jlHKtxojo0z5>z9wiJ4Z~ z!U<^j_-v7EueBFzN^#lK@6(H5B1gHZCmpqqtf%H+GJ6;%JmpwZhMZHME4}IVGczs=^ zNkOyCb+o>?F_yL*u3%d^DWg$Oc(hI*z~)gALDisa5GzL76Q@CqaVJMA-srGS4ZUI9 z0{Mg|r>By+HJM)?Ywe^fn7g`80l5t!Q=WV8-cm~tK%zC&)OMZc#Hb9zx^|rf9MbY+ z^6|Rhsx8xdubsAD1KFXLzq>K)n12~WwOLOq1Q|UP<{&yrc{T~ydnMZ2DkV>oJ~!s5 ztE@M;p?|V_FG4P6GCd=Ls>}PXz%-gcB6G~(OwSYhcr2ekio(A7dh6j zhIK=*g`>@6Vku4qL;1L@rUU^Sx#9A)A)E`0jR{^`+`e4x&fi~&gR%bpkwb*kt^l{k z-Ww;pTeS`MTuZaPxY7;nqW;bT&UNWnds1db#`hP0;E%Qb@*&E~o)nTde~jhtOI zxB7)9Fo#wqvvSn%Ck-blDQQXhq7?@TjRt>UN=4-Gp4V%wO*P{H<6g`$#%l4@X9gMs zo-D;bllj~|Qnmzu2kF)+heAg`@=Q1F`1dzlW$_Qc(yjXI6Mt$$zBKkwdmtVmIt-hN zn%+VA#q-3OFYO;Y-IcDh-Z8-XFDCO;Wquw9p2G1>=f;!wuOrt%B4x!UY*{pzyjK-abBTdUAD^MI9_s$y zzQ|Aa5Rc8X=Xf>#0>y%j=%E(;p`z^1agp*@pXq01iF;(xY0LKTrd)pi%B^3=oNi;3 z5h)1R!^FJ%5U|tvK2RMQ65)B?ct(5YjYK_8^&b=$(bK2kzCQ$OD=f?g+!5;@`oLJ` z;({o||D22%zOl8{tNG0g`~X*6Id^ns-xZAbh1158R5Q*`Ow`*gFTG(5GD==Nkh(d@ zxZC|@8e&CW4Q4pdOk=!It9KpxNM9IB^eommpytYabpKj*j$hy$Mn;0Fcl}&y;6y`s zv9%3$x-NYq)zjcUU%5>RX2<_pYl&|NA7=72w%QI6^NYF+{1S|XfhG`)?HnR3$@`sI z&)J$Yba%I;GZjpPNaH5liTN6@f_Vo*krtcI!D2#3jD>A7X8t#d(NQl-tHG!3GLSHH zWMsst$($QAX3`JVmzugE;}rG$HEQ6Gf2>v^!Ph`8PCKoZN}~qh3rB|l7GJA=GTyfD z_E8sn?D~|F{SdsO{?1c_)vL;%UBT+#UT+|)zxeN5n&pS&0{2|=&!Z*`3}eKcQO`}^ zwbDnfD`W{|BqZRYBjGx=>NYxqWzU9we9&|Vw926rJ>C8xvdb}2GyC42PrK6WTJy&( zLF-1&Lahmxn*I52LL=QXSCUs#l14H7>S}M?OFwxm)cS}_^VOz_$_yR6Cb=AOI_Z~d zv&^pJX3}p9yI*t5h0C5Xmad+!VhXZ@4u)Ty3(rT=hJG8{s*cyW{P{)u&-&<-sN4*) z)a!K#d}&9%A%!c6QUXX`7T@K7^GEzIzTT*NwpVfVR46+d4jUB*YGu5WZM2 z68j$!GhNo@1K&QvZ5m8H=~xy07Rk)#aCgW3r!OX3)G#p4V@t+BZ7@hC>yMMJkLG>Z! z`;>c+C2J!N(;zBNC%flUf0%TftX=2&dYrRdb7;NgxJ00cC07~<8s(_+U?EDq*%a8^ z>?y90R&a9RXyHcijj4BiS-`@7@Me%f;%dx>spoSr7 z`bZpmhGIitEXMJVY%IqmjRlAg=qeyBLTBF#c8w`S{zuNc^E<@xukH6?{M{Q@0l1?_ zREN)&qoDjM2|j$lk1g%VXJjaHVpFfa0mnN9T!P_MXHI~dQvYh8)g1S& zEKYL`wY&td4(^0|duEGR$rT%YTAFp12hGWh&&`1rz{F%-Bz|1>c-KNE`A0Zd93xDO zN5<|##w|5_2-&dkr??GK7Kf)ZxA(7`P{KYjd1&Z0D(b(L{BSya&tAHvHY%{0y8qSe z8NXJn#{VL&`qVU&%C#`=K3<}$nNH5MG}*2p`ZAn=+zoyzutjEB%}RZ4!h%DR1mBm3 z_*7qYSJ(vpRi;Ww*bkScAJfOESLnKl#ne5g>?u^sj-dKlC8p{S4?p>Wh>?DLHFoCY z0GpgiTl#@tB6knYkou`0x*A+&s<(3J=YAYb4`IVt^!JlunJJWXtGwa|$w zDtIWEQCDMr)*dF?1X^-Ym8YrUkBlbLWH~)~G&TP0ux;Q~rP;T_f!Q*ows$3dywf2m zF`Kr4Su5876fD#`DgFAnqKQcyf7Q8v>K!()-GikaWCVBjG&KBNTB;K}R-&V+syaTG z$_tl_-2hiH2-qQwTxj-SZz#h73PyszYZ}=6PG*fE_YD*dw}&PDHF_P2atNQ5qK`0b z7F*9U$%DSHHa7p@UyP=4Jn*Wcm4TG%x~dC=3e}>|$-);7h1{?xP}rWm_=#V97z!0x zd1nn*Qgg1?d<28i{s%$z8s8&20VTJ_LH_%Cu?>}SIJyjcb+-Gv3)L9%W4xHh!8+be zgEdfUhL2oPH3W$XO#C^7EN_2*=e*oajiNi^R?wvr^BPOUYntkWcGQn$^9}!YUJ9# z@@0m`?%W7Nm=$ZfOqr1vX2Btsb=w#67O`mc7o?GpuSm8pjV$3RPnFF)SFJWaYM{3E zozK|;KX1i4KlZJr+m07P<5ND8r_xZThzj&LcFk%G&n&eXxDkGLx;De~4cLa=+1MQ% zW5a3scs$~ot45l6p3}Hyu8W71N90H=v8BAxU}a)z)%?(*>ktIXm~K zWP@}Sm-BL0Ca8K4%eLjwNc!@x1T*^055L*Ivvl zX$nE{f6yN~E;K{>ul{ zq&1)HtaTuv5`GyS6qLZI{LjDK4btUjDtP;Ri6Y+iJZ>0#73}{^P^UH|XU)>)R5iXI zyZFfhuHRipn>gD(#6qrn>ESX^F?V&&lA2SeFbfbmkFg8E}L zEM!2h>f5)o;SATz?G}Az&~Ec^az28TL-OSdehZOfYYDF(Uk<)yf9!+ZIVJRiEKNr% zMge$If|)-S9s<(2*L~iyiXYC_}IdYnrc({u9W6D&{gsK9z z8CSfpEP_SVn+2l7U)z#PGKa~ywt95uYr`Xi2BLYjD!b{uFSfj5r;*kgmvdDcRq|4^ z`2GD=KX*pMiAlf88zdkSzuEBIXD;);YppCU!-x^3TRFm7oMTLTjVsn23zHrWG_8pc zIA3r=?*KQi^w>`&_qt+WRQmn4Ucjf4CV2*$-&aY&FzKT~JV*$o&k~3|#w^MY zt=EUmpL{I%qaaruHch1Bdx8QPDinVyM$%M_MITmYGDt}IPFP$&g1$~y`%5u>PJ-OG zguZVj1DHY`G>?|Q{>pgLqUvugmb}}UolsC?*6Lz*8pii%MVsWgpto+Z8U%@;_%<%_ zjwzXN{!&L#V(E;Eh&Xqx6nx51p5vVVX)*{)T>og+;twM1b*)$I;F`EP-E+_l>-7ZX zdf~YEzE)bC322aGI#N=I<##at|E`7G^|UazIb)x~ZRuhj)$^_MhD zVGOG12x5N1+gWMxJ~S&3Le>s2&$7k#mt;+keKa;@sk_tqu7R;nnMu(c#{Z{w)QfrV zqvLn99qN#e%NMt$B8uBnT!W*#(ct3H*Iy>Bi1qoR%1>!}&(f**u3qoBH%RSvT!m_-W92fQ|&bWQ&X56fj;!CEWcW?VXc{#Mn^~I?B?bkN*;U?Fy$h9 zNwac$alqRnc)N@)r1KIJDmNgnhjo;_djpG#uGyci+1L1@N)_fY)ZeokNQp}A*;#nr z_UjrHoB9TPC3gwvcx@nZCz!OkK#P|AN*W{W#su{4G-t+tVj_G`F z7C4c+oZoeOJP4i0Gc(!-gr5M0KbxG1zduF) zPxLIg#H1wf;`+@E0~?-_s@ejCw-U&lp>gb_#}?Wz;%Z$8s)9$gH;9^yRF9*UV@$hv zQ>4_LB-!3a-4mRzO;B8who$eqv@r&*8`uv!bXoZZ`%EnSffy?~P=p#J9K%GrZ?!{H zzQgKQW4B<(tG{J;B{bAb0Ae(Lb&@ppl2#li5H!OyGFT{&5CF{rm^tzCK8Aqm0f@EE zZ|+cm(*QX3<4%VJ4)$l%{ecumh=_Msd9_3mQeo!v~~rT{+nm6d>P8NR?@TT=tH z17C}Zbbzj*s>DQ0*5!AA?2;~+zwGwxbrOkhHS%IaHy-m&V$oWo-yDQo5L>t zOl#;Q^;rFkRg+dYh2<-(QZ3%P}-IEXvfA@b~N=iGK06?#~LS{B7Roy5Y2 z8+LA&rW|~Ce@=!Lb1ghlO!ux{7&~FfYVBDX2L&ro1rBB2{m{!yPY=6}NqG+ju?o!0 zMb9ICna1IC>Om(6pD*OZu=zYNLwafMTsw%f1TJRUQ-PZRom$KL<$t5{5E!^WBPaje z*9R=Q;%I*-AR+<>1qtaKPJFcA0+WEHv6E2g_y+%MB-&4MA)9WUj@rQIC@*g%!m|s! zj8uh@lc9nFu&lGtmd@;{{nOdGTJKz*GMJz8%rci>3`Z9N^$1W4{tob@5OMotcsm}+ z%Kxo*UX0}US>$K6XAD7)A%r-1n&C+E9F0hziKO>aB`Uf|iGQO>|G0(rLi^tQaCgi} z|N1UZ&9m8{alQq(H~@RVlPjL*gY8$dTm{a&e0-MH68yD>x>M(4-79e{3p@ z;j5+!LJ$U#1C}voZ{Q2DLvT?8M^YTq^rWQ8u`y@(ecv*+lO7E8Q!O^ zS5)s2o5FcE-`u>g*XYg1Q18JYJ!rI61cbHI_Ku}fUD}_ZZts| zF&$1Ql0mjyT-7O&fEZ31*?&DKsV#-+?8krK4H2U=RCC4!;zB=Y!+v#DK$0Uo$f!Wq zlP!vipg_!F1jRrO{Tt
k(6x*d!m*Z#7<`Z5scfGR2}v64ml&l`p@3=2&N1&SyYC-oQ(?e zqZi@sRB|c%kr*Z$`SIh&-CY*BxYRUVQY>6wa0>sDz5E1V99dA8_Y&@zDz4eNJuMwF zxH1D3hq%GO72ObXkl<@%>~wD%7g^XW2T{hK@p)s0`)#UDmcH8q-&+3_Q|VA~RO1N7 zFebJdH&<6_128u8YZb9Ua{)0uTVpDW31Q#9{rX-8d^Z^xt!*1kd7fuKkBU~|;oX0k zqKM9&2}BKTl*8yUQKT(CSA(LI93oqYP@>s&D3{P4@$=_1t*u+7wPjtG4TP5bUFo{V z7>|_Asu;}Q(cP>)+StUiY)H!d>Uf=jyLf6ow>{o5=xIXU#TzcE&C zvIx2Yo;sU-vKufk0SiVoLFl4Uu$eVpK3t16?+>-cAn~!);B7pij%oJG7YWr=$(rcg z8*c^7OrC}StCLrWWeBw3DWT%tKg`2$gLx+y6fT%yZhso))`otis~ir?`xPvu;OpnK zj|&a3rwWNB00N&&=R#0;r=+gNu*6nRmkid&f;k$TR5aH$a z{{4Gkx9FwwY$9f*PQZNzv_QD1NI2r)jA?FOwqxW?V-*kpl(Y`bH2ZLR-vQYcfmxfJRvaSN`f&TGWP$=onYj^q0R#Fj|Gb`*SpfFbXv{7USjUQ$ z{MSY$kutZ}OcXBcEj2q;Ae;jHpv{bb`ld}eD#^PsKIfPQY*V~Ke|hy==8O2OZ(dV4 z{HR6E+yI6plm&g^yH~KYZC$1WCVaHJ>&aGLVhoo4fx&v3;Ravf@_AvA$bSi%1`|83 zHq|q0sb4BRI_&^YkLT4ZGY(>p%%sT-8QdG!(?K;iUfi2D6CCfoWOuQWQ$KXu#C00U zB0YKCS6OTCP>sql(VtZa$@siexBQrmAbKiL|7$b1VCK$HQ>*5;x!b?H9>H^}@RU0z zGc%CITR5>D^nYIWL94Mp^Dg$v{mx9zzAEE^ti z>mxw90~+xZnuPm_Z@1+ed>l3`-@U=#^`a_V0V|SH4HOdX9E1q6CL6giyc_to0hE8m z^)DEC9qDaZ^seKUoKeeE{VYDz&Ub!OKOXLq=)_SxJg|>&qCJzA1U3uk0Qgm__r74u zQ!}qfF4wDX_)$N*_vCTTSQ49EogSSDrmSut@k@!EnPWRZnfoC1qiRYHT9il|=ZAhqF#KCHp+H~$WA}Yy?agq1YBzhKLK+0oNb8=7@fPmM%D&s@ozffls~g>yg$sY$sw0Pw zWh=ZdOdR)~z2zVVW)=W2c=Frp2ZInwuo2kEC<-Uck0hN+KazuXXr}#YK8Q~2ILg?; zV&#(}yVSHCzc%7y#>=Jl>?EelzjgvlN&Gz@ew{m76EFV#S(X)q%70kPaa(bI!;5#R z3y)qR?Jb1=$mMzTf!dK?_ZY!%wbUh=SsNstk60zAO#3j#aHne&6ClNIaMMv?iQ%Aw zj;HC3k$mN~c4vc=SX^BiWewI}FU2W8t=^e@o!ej1@1vdHVoOLI$nI|neod3|hrd29 zkj8bh!!e1Bufa*aV!+)<+ioGTTtJZ5jCyzS*}}<6`4|gv0qvlj;A**$Vs2c5G&$2B zK{d4qyH9FFV9j$wAn|ARIJRTB_T+GYB2FN1AVmcD81z9YwIPng=dBp#v4AjQstNSx zU1suZ!!mYsPx0iJLz#ciFucm$@z}X(Lrd+a4^cY)$mf~VYp&rzMr+Qz)LnOP@zJh= z3+(xnf+BfJ6-T8g_~LNV$-ODW-9R(glAybLPj&a@o+9KvB@UaZFEbbO3Rg)LLPda< zVxqG)|H&*QtY1SPkUwA=x<{@gQE<_ClI~FPeaA{}l=Y#uq$?_ewb1on>x2W0Bl1CeYvT+)2 zobv*vB}EMJr4W`j9nHJvveKI2c?Uv&1HMUm{mWRYQ9*!gS^iA;hxy0!n$e{=`-3Y= zQ&SUQBwzq9#nn{8cH4Ow9%L~t?7P5SyAidnXep+Jv6eKaRf z{Q}ia-Bn6sNW85I$kqzfNW&)eON(A1T`Z~*hgY?EB8zp()yZ2dh*<9$zH!7(e*S6u za1lLG8v1ZMW^>`&HJ5tsrIqwDD$Cd^bHlF2RVChtm=Hqx813lsWQ$_#wODL8qk3-e zx`mY=SIfPWR7-Cvbx8bXo&+9h&(&py@zn0FUCv0aliU@3*vdV=I^EE}Xhf(zJ8vLJ zDCK{00pQ-ya+a4t>uiEM*Iem}P~MKT&t18~qZ>=@?wvD5Wwz@U%l5l^gbedf)C0s4et<_Z!8F_c@yp4I)p)(U3bhBGQXIBb6Y^Xa1hGqHy^8=J+bsA! zcZJqdTpRr6i{;^Mavf$0MHbH*yD?@8gv;`y)>rrY#A_x63R^=o>1@3RvK^!_+t-^x0L*PXFv)sV*Be4sxEI1K`gKq zx1TbMv9ie*$kMaG=?MCuk)|Q!{}xZm$;718dIrEiP|4lx+05=89#ZTw?=*=_z*Mf{ z3sangxG9`-JO^t`<4uGqctp7IH@(9t8WEtcx{M{6Tw`NH zqoe;^qD{yi?xqx)kmL*FMPkB#eK9h&-%HRs2mC+r;!11F7f)be(v{R=W@DIF39GO< z)6}j#dV8A7`+s3^ZrRbR5;B+hnNSz|;r zz2znWc;SSGm!=cJ{{s`G2_fwvz{l5X@`zoz1g!_ievgoraCTN8O)}7y=)lt`R*(BJ zZP(&j{IW$ku>L(#jM_6iKAQL+UJAi^ilXRCkslT}HSzJ}EO)k+QKT$Z4)Ba;@!&jooIohr z2%D{b!$hD{nrN&QLi6do-7I36U%1`w(lI@IH@E%WizGx}T{pwg$l}scz@!$=D$mJz zJ7f?^R9ry&@pCBb18$&wvDKbEuuQ%W-wBmd=SaCI zX=g4E(9EsaXv}9lHr3rk_gdB8My%{?ZNo{!vXc`MPOFJQBW+Qsjnf$y7ssr*Aa}lo z8W4(Y&M@}UC-`N8v`yXbn}wRJe{HGf)N(oA7hW)DC2j4;8OpWYFBlaDL*w~nH3K$f zW*d#@B*be0#-Z!|ZNo;nF(++MQ@k1qR8_B&EPKmB@UWn| zz=CoO3k$<|EWtrc`s`Wkg(e`eJ_G+Ttkx+7@g8xsBRtK%H*QdJN=ga{L}6kY-E!ek z@@`%j8Bvvs`#Z(4P7Gq{&{{@A@#vM42bY8PLCgppU6;uH5xW{cFnjqcUcd6p{*19R z7*9_2qxRybVm)}*X_U=get!Dfw>!zDF<}F%p(#T*o9&$yP0mx3S8I2*3M-&pq$ZnE0cVA-g1!q<|L zhdH(35L zXY2s>(M5dXpW6#`NC-wgK66$)ygWQrH8t{afX$5m*#sXSACP*0W#R8N*sq*7Qr6a6 zz!Otal_zZw2>l)=XLiYMpc9Ur3Mu*eb%}<8-*5husTAo7L!ttu|vItxdsno(le%m0o2xYpOvmX7x$JF&gxLcjx0fkdpGqVTIm zF<`CV9JFFXY)J|^Blv`bY_)HYO?N@(P7bJEf5*p5nvE5~ggXIUxxm@Th%&0&d=FSp zC2AzboBffH3h)>h$ndAh>Ecixws+f_F$odgpIP$(|+euxU* zY#27Q@XE{dnB-+OMWiAqTfdf0Oy2sweK9yB%e$@`g}uQ21S&a`H6tSSAI?wt8t?TD z2TX*X6yT#F5BF3G5qA86?MF-gB3`U>!h>Ki7T^d$PELMwgZD$-IdFE5_j!(`P2H#M zWco_&E&y3t%&LwYtXc-weI5$3EsS|V!6^?EEcliyS5IGn3x^96tOEcP7+y}!@44-q zUB9|^s@GG1e=i3Kn%f#>MejHXYx`$Q@vKj?gx{Wsz+c|`)RNdKn_)>^p}4wId}i@j zwzLOFj=b~T7TH98{@hVS{xR(t10D)ty(nDZju~WdJgq?zK*>n=;9l-qv5}Y$LGR%qd0e2mYR3Fx$85e)XNVqU@@aI5& zoNOF%V$-nfu<%lS{R~(KxQR|(PTwX5VNQba1DMTL`TLLQI_ih#T*17&y+JT`Hk0?h zyQh~fLjqxij{G;Nl2p!BDMEDwsFZW$`Io*KoPpw?loJ@;7qSIN0fWv?m+s++X$D6O zh|B!Szyu@qEdQ}E2jfxdmy_UPVw{Hwk`IqE4A1GgJoYd_o<$pP^>vdelM2U4gobjxVfjva|)aat0@Fv7ZoczL4Bufr-5r zlmtMFWrz>)&sf2D=BG&CN=x^EvF=Av(VP)rR22~!i6AN?(*vfBt1?^|9lcMw>}p21 zErszhfyQY+y1DZUOti0C5UZ(O^j%M>3<^Sa zyYa|wIsBh+3~(qN8Y*KZGA(Jy8>|k?mJZ4b@Qjy#485a^)Qd_Wt4B4;IbA;EdL`RV z@o>x_JuELkrY$N`E1vi$3eqY7DY>OZ7<{jC1!JDgBUhu0VR4IEy{jP{sNX=y6ENAR z=2I-czrP1_3`zBc#*4ZV&BeNIvfy$*ui^gkiBT zU?R&!o;b^@*9oOFUOz*&DCoEFkKU^W_CWGXm4g`Gmupd#;CaW7Qc{?3b^;C@eYw2z zQLe@WkB_Rp8wc!iO8Gj5DkxSh&~gm*i~V-PVw}4<;hnNW46TrU*WqFB;i0UCM&j&V zR1+UDF)=AgB^V234HKaTu57Wgvf5Oqnm>D(=m`!R*1Z>VU=VSMCBeeN0#;3L7^?I- z@*co>0vnF*jiKhmy7E`Mk$h}m)Ca~xCK&qqLLD8ZoGJi}{J&u~l7-~+-oNStvEv@_ zR&?BZS!B65u)cS;w}Co`DdEePFR-XlfY3HHyykz)*uim}9`*b8Z{Sh}Bi(RoM0xz! zDix%=t-eyuQyUx@=*82R9DN^Y8g7P&@B!!^B^NgB=72&B&^ zFWW18;j@Rn(XeQTIn3jCcURb}(CYcq!&|$iW6OVe^iR5>-nZlF9AtHZ7ZFF}5pW{M z2o{X5Z&2_4zWvKp>}1z|Qce_t>@*UeJuGB+Q>ocdRuxq4cdy}b@isWW<^1-1m*p(C zXGAIm^ zzaBYdo>JuuPQb*_>cwyY?sRNyC76ln0?7L}kwF~Y0MW8p*$}0~9Yf8kbV28jI2v78 z4aVpgpA5O+kArV2!~yFrqQ&4k63g0I?Zl^2O?tbgRDiE=)1cN*blRbAJWV0H{*+p4N~a8MUo=AUE0ifgGrf348J z>Dni|Yx>R6w*^aevvf9RfK*3!b!ci+&b^hg9Q zG6)^+j!lT%uL=3TNp^Mak38(4XZAlfkqO1idadSlYjkzRjQyJ8b(XNkxjE*|r=%NA za_m?fS@RK!>rcILXhZy~%}1>qS((`Mx*uRY+JjMe@iu;=A*}~{Mw6`wQ1WC(>buGd zh3&YjK;&%q8F#qrf}4=or}>ginc8Cf_so6DeZQY`$o@hh8hu^H%GTnU`pf9DS%&tO zDlCPI%r)}16fW}~YjxaTOYJ$}F>J_*u_q!K2h&PXqXtY-gHt_^P)HX6g1{Hs_x*I2 zb6EQum6WQ6?P=P<=g*(l+NtHbPHxA?<7fBiDxzHr87Brk3GI#S{&EL|4nCGDe0kHq z=!XJ1xDBprS5b(l`t0nVj`k(8$rQfaVP5ppY$t|<@4rdG?+LE9L2`vA{P;1{w8(vt z<4BQ%6Gx7`ZqtA2oH->YjU@K^Vjl^b+f2PX@)s#nRlAR&4IQmMPmvu~Ksl*Ypb233 zeH8!g2|UZk{2+XC7g}<0ZUr{yAMO)+BlC{_h>Osjw6a9N*{~ z`okLz%*1f^7hBnr2+)ur$w9Vhmbzbj1ml#gE8Mb%SfSbYHhvE26ux}(E8sa&;(h|m zuZ(m$v*yH>z25Y6%1#}{q2PD&ZpMR_S=0M2$fT9OJ{Mk{Rv^-p!HP%Luvkl7yz7qS zhG9sZm#oav7Wd#YiF%w0LL5q7VkRa8##wFq@;!8tKj)>b6(Hv=03_(_e&Y$O!k{*s# zcHH}3m$9)Oziv9Y(Myl^xbJw@BO>H)3X`cTVRja(sBJ4N31L?hy47J%kb;sEz6^a3 zE7vQ7i@qTx%eq-PsP6W0HKIPB$dT2`X2e&2=FHK5))r2TpyMjoDg7gl;?KeTE0cD< zPw?dl(VpQkf!sj__d}AtfQH`X;1|B}q?5ZosUtenFU{Z?c?^R&ON`xBuhD^|T*B9E z4Lw$`_Xa1N)Fc5CwN(n$Fy^d#u(L;{K2a^s633Bz-Q;V#c_E@-@OA{9S=URSpKv}( z{3Y}qf4pTr=wLA|Lff-oxKyJu>$Uj=L!qy_^e2PrA6b7Frf*4oJu|)Piw#>}p5A1Y zjWKkzQZwL_t!pU{{3@BTnK;5ZQjO0T7diSYyW25)W{Z0h8l8Rn?mXn)lJ@+g)X>F} z(#5Plnc=R)?5S(Vf{Kg@MS!=@{yDbXt|{a72n&h)7gnN6Z4zLu9xKbn*oY7=C`)bh zgh9Ibrglt-`r#vR_U>W_^u7@h7CH5%$hn`SpnwfrB0VKq-x@ab+{BiHU#o5KwN7oq zP<}>iuM3#gHt0h*mB-~Ri?`F3Osyx8+59T9_;jl65C^aDMJfCE-C6W&|9hKB|0`I| zESWey2F9=-yi2OTk7Ws9lDhB?NSxQYy>ErYBIF=VDT)KW8~+NlY?CE8)~8-y<^vc^#hS}%8Q}A4^Ab3 zkFcuQ>gBXDJ3Bc!>F!ce^>W~wgbGtapX~Rwnd%)BEYdnZUv7I-+HC~{NP+qTDil8x zv;XwLy7)8b$B<%2Xd@bBOa|(SlS3=G72d5;_~v)-VH#to&knf1?xC@Mld*7RMw%0q z@Y5TWdY?GL*>pUaMsK2Th3c;?*WOCM2omlih$T?a-C)W7AlLg%T6F%=1#nQN2??+r z_dbvUuw3TXu;T)ri2^Iv^BlBYin^y(@Fb)N*iJUNRK}m2F82USH5hiDz36ARLnBjb z>n9Lz+MvC?dz@FP5y$0vnkFy#4fJ7ewzib?9>jKNmbcKME{pJx_Gq)LM;h{(ciw(U zp7_9EJcLs92x3TZn$Q3rt}`EyKU4DR>O5Rrc%EU}+S+Qn`O(LM4imVxWGJIRq&-R? z@>sbn^XtbcJ+{Rk_LbY5ZH=wFVb3I}YG|dd-s*LQKvvL`69ko6bTj(cGn3=zFI_3j zBZFd7+mYkG`x6PogQ5V=Q7aBP2aW8CVFi1{wSC^FCc|4>9u`L8U=PEEiwbOT6`lA9@aP9Jtrs>;3rB^=JoR zhuVWRG|&k*mXH1h(v7#1OWu^5^jlBrCi5qdY_|WB^wNR~?#uB~)}M_WCR!|EP}?w8 zfve;b=kwh{K%ugz)=>dS)LLJ{s(w{dQ&aOD8wAXbt7~gfKK=Ul@81`C6}^U2(DA6N z10)kT^J-~bo{kl;8~EtscL7vN_A&?jRzZR0L%3x@em-zUnGRTnK>rcf2XOzm0R3`C zXLmJuGU(5`%}?b>N>mec%H?Q$MkXdMVvJu#@6F64GktZ`)BsDD{RxaDx z3p^HxgPWUMKtT81yWFuYD=@Zc1|?w}ZE1z^04LI?k=dFfL2SsO_6A6C8{H3-JuX*( zd7*`~N1v^eld7EDQ8Z9wbQ%OuhNAxUl5E{r5#@wFbbf8zBceU8U~_THbGvZ-nLjG4 z^gg$1@;LhFG$?sfAC}S4GL$4KGuhp9l^i4D_DDQb!(;>-YM1m*?TM#cTQgT+26;M3 z8ZSQ4%F)p9My*K8^kn*;oBkJ#cxed-nzGC3i6Sd~fVF}YRtE^u0SzJj#uNrCs;}q& zWhly3SmM1VZuL|5c$SWeVKKz)4jpWm2ex$K59bYKh?s(c?|CG^o`4Zt94&x)q_T;@ zB+adn3<6x5dc8x2cd9x%*ML_5h_e>X5)u-+y0gzo%7~Q4inFSe|36SwpkcV|*L<5C zvHrjN9R3$U3og+?S}6I4AND`1Q0pK-va3@cCj%>Vx5(eUu3&jvQ95o_^*z2q<%bSB zktQXCG@7;)gAJbDN#q9K_I^+Ns0{kza)8?DD-7OZr2< zfBhO~75Rp*1Bv2)sz8GNgK)idJIjsJ%q+{}ntl~Ex#e*-SfE86)dlA3%%QR zLJEtYVQaAOa8~GRg4flX^x4Uo|k0aO)+uFlbo z6=J%z3?_2G)_sPgyUN}1G6gtm#?yNx4_bs}zhhE2FjzQzA3#sAv9`uq8j-rMVD>eG zKzm}A^<{!*l0(G#luyV`rNH&P^F0#n08L!T?|DZ%9C`kYD9gsf
+tdE+%3>F9k#O*ZKy8_g?9Z0`z*2T_ZFDoW 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%0D-u!QF?! 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 literal 107911 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 diff --git a/src/id.rs b/src/id.rs deleted file mode 100644 index e69de29..0000000 diff --git a/src/main.rs b/src/main.rs index eb583e2..cfbe276 100644 --- a/src/main.rs +++ b/src/main.rs @@ -13,11 +13,15 @@ fn main() -> Result<(), Box> { let (sender, receiver) = std::sync::mpsc::channel(); let (pwsender, pwreciever) = pipewire::channel::channel(); - // Set up pipewire thread - let pw_thread_handle = thread::spawn(move || { - let sender = Rc::new(sender); - pipewire_impl::thread_main(sender, pwreciever).expect("Failed to init pipewire client"); - }); + //Set's up pipewire thread + let pw_thread_handle = thread::Builder::new() + .name("Pipewire".to_string()) + .spawn(move || { + let sender = Rc::new(sender); + + pipewire_impl::thread_main(sender, pwreciever).expect("Failed to init pipewire client"); + }) + .expect("Failed to create pipewire thread"); ui::run_graph_ui(receiver, pwsender); diff --git a/src/pipewire_impl/mod.rs b/src/pipewire_impl/mod.rs index 67b4052..e646e09 100644 --- a/src/pipewire_impl/mod.rs +++ b/src/pipewire_impl/mod.rs @@ -16,9 +16,11 @@ pub enum PipewireMessage { NodeAdded { id: u32, name: String, + description: Option, media_type: Option, }, PortAdded { + node_name: String, node_id: u32, id: u32, name: String, @@ -26,8 +28,8 @@ pub enum PipewireMessage { }, LinkAdded { id: u32, - from_node: u32, - to_node: u32, + from_node_name: String, + to_node_name: String, from_port: u32, to_port: u32, @@ -37,9 +39,11 @@ pub enum PipewireMessage { active: bool, }, NodeRemoved { + name: String, id: u32, }, PortRemoved { + node_name: String, node_id: u32, id: u32, }, @@ -113,11 +117,17 @@ pub fn thread_main( .global_remove(move |id| match state_rm.borrow_mut().remove(id) { Some(object) => { let message = match object { - state::GlobalObject::Node => PipewireMessage::NodeRemoved { id }, + state::GlobalObject::Node { name } => PipewireMessage::NodeRemoved { name, id }, state::GlobalObject::Link => PipewireMessage::LinkRemoved { id }, - state::GlobalObject::Port { node_id, id } => { - PipewireMessage::PortRemoved { node_id, id } - } + state::GlobalObject::Port { + node_name, + node_id, + id, + } => PipewireMessage::PortRemoved { + node_name, + node_id, + id, + }, }; sender_rm .send(message) @@ -141,12 +151,9 @@ pub fn thread_main( UiMessage::RemoveLink(link_id) => { remove_link(link_id, &state, ®istry); } - UiMessage::AddLink { - from_node, - to_node, - from_port, - to_port, - } => add_link(from_port, to_port, from_node, to_node, &core), + UiMessage::AddLink { from_port, to_port } => { + add_link(&state, from_port, to_port, &core) + } UiMessage::Exit => mainloop.quit(), } }); @@ -166,9 +173,11 @@ fn handle_node( .as_ref() .expect("Node object doesn't have properties"); + let description = props.get("node.description"); + let name = props .get("node.nick") - .or_else(|| props.get("node.description")) + .or(description) .or_else(|| props.get("node.name")) .unwrap_or_default() .to_string(); @@ -185,12 +194,16 @@ fn handle_node( } }); - state.borrow_mut().add(node.id, state::GlobalObject::Node); + state + .borrow_mut() + .add(node.id, state::GlobalObject::Node { name: name.clone() }); + let description = description.map(|desc| desc.to_string()); sender .send(PipewireMessage::NodeAdded { id: node.id, name, + description, media_type, }) .expect("Failed to send pipewire message"); @@ -219,6 +232,16 @@ fn handle_link( let to_port = info.input_port_id(); let mut state = state.borrow_mut(); + + let from_node_name = match state.get(from_node).expect("Id wasn't registered") { + state::GlobalObject::Node { name } => name.clone(), + _ => unreachable!(), + }; + let to_node_name = match state.get(to_node).expect("Id wasn't registered") { + state::GlobalObject::Node { name } => name.clone(), + _ => unreachable!(), + }; + if let Some(&state::GlobalObject::Link) = state.get(id) { if info.change_mask().contains(LinkChangeMask::STATE) { sender @@ -230,8 +253,8 @@ fn handle_link( log::debug!("New pipewire link was added : {}", id); sender .send(PipewireMessage::LinkAdded { - from_node, - to_node, + from_node_name, + to_node_name, from_port, to_port, id, @@ -245,8 +268,32 @@ fn handle_link( .borrow_mut() .insert(link.id, ProxyLink { proxy, listener }); } +fn add_link(state: &Rc>, from_port: u32, to_port: u32, core: &Rc) { + let state = state.borrow(); + let from_port_ob = state + .get(from_port) + .expect(&format!("Port with id {} was never registered", from_port)); + let from_node = *match from_port_ob { + state::GlobalObject::Port { + node_name: _, + node_id, + id: _, + } => node_id, + _ => unreachable!(), + }; + + let to_port_ob = state + .get(to_port) + .expect(&format!("Port with id {} was never registered", to_port)); + let to_node = *match to_port_ob { + state::GlobalObject::Port { + node_name: _, + node_id, + id: _, + } => node_id, + _ => unreachable!(), + }; -fn add_link(from_port: u32, to_port: u32, from_node: u32, to_node: u32, core: &Rc) { core.create_object::( "link-factory", &pipewire::properties! { @@ -288,15 +335,29 @@ fn handle_port( .parse::() .expect("Couldn't parse node.id as u32"); + let mut state = state.borrow_mut(); + + let node_name = match state + .get(node_id) + .expect(&format!("Node with id {} was never registered", node_id)) + { + state::GlobalObject::Node { name } => name, + _ => { + unreachable!() + } + } + .clone(); + let port_type = match props.get("port.direction") { Some("in") => PortType::Input, Some("out") => PortType::Output, _ => PortType::Unknown, }; - state.borrow_mut().add( + state.add( port.id, state::GlobalObject::Port { + node_name: node_name.clone(), node_id, id: port.id, }, @@ -304,6 +365,7 @@ fn handle_port( sender .send(PipewireMessage::PortAdded { + node_name, node_id, id: port.id, name, diff --git a/src/pipewire_impl/state.rs b/src/pipewire_impl/state.rs index 407d1a8..0a5e5e7 100644 --- a/src/pipewire_impl/state.rs +++ b/src/pipewire_impl/state.rs @@ -1,9 +1,15 @@ use std::collections::HashMap; pub enum GlobalObject { - Node, + Node { + name: String, + }, Link, - Port { node_id: u32, id: u32 }, + Port { + node_name: String, + node_id: u32, + id: u32, + }, } /// For internal state tracking, this has to be done because pipewire only provides ids of the objects it removes, diff --git a/src/ui/graph.rs b/src/ui/graph.rs index fe9b5d1..3a8d3a6 100644 --- a/src/ui/graph.rs +++ b/src/ui/graph.rs @@ -1,11 +1,14 @@ -use egui::Widget; -use egui_nodes::{LinkArgs, NodeArgs, NodeConstructor, PinArgs}; use std::collections::{HashMap, HashSet}; -use super::{link::Link, node::Node, Theme}; +use egui_nodes::{LinkArgs, NodeArgs, NodeConstructor}; + use crate::pipewire_impl::MediaType; -/// Represents changes to any links that might happend in the ui +use super::id::Id; + +use super::{link::Link, node::Node, port::Port, Theme}; + +/// Represents changes to any links that might have happend in the ui /// These changes are used to send updates to the pipewire thread pub enum LinkUpdate { Created { @@ -19,53 +22,112 @@ pub enum LinkUpdate { pub struct Graph { nodes_ctx: egui_nodes::Context, - nodes: HashMap, // Node id to Node - links: HashMap, // Link id to Link + nodes: HashMap, //Node id to Node + links: HashMap, //Link id to Link } impl Graph { pub fn new() -> Self { + //context.attribute_flag_push(egui_nodes::AttributeFlags::EnableLinkCreationOnSnap); + //context.attribute_flag_push(egui_nodes::AttributeFlags::EnableLinkDetachWithDragClick); + let mut nodes_ctx = egui_nodes::Context::default(); + + nodes_ctx.style.link_bezier_offset_coefficient = egui::vec2(0.50, 0.0); + nodes_ctx.style.link_line_segments_per_length = 0.15; + Self { - nodes_ctx: egui_nodes::Context::default(), + nodes_ctx, nodes: HashMap::new(), links: HashMap::new(), } } + fn get_or_create_node(&mut self, name: String) -> &mut Node { + let id = Id::new(&name); + self.nodes.entry(id).or_insert_with(|| { + log::debug!("Created new ui node: {}", name); - pub fn add_node(&mut self, node: Node) { - log::debug!("New node: {}", node.name); - self.nodes.insert(node.id, node); + Node::new(id, name) + }) } + pub fn add_node( + &mut self, + name: String, + id: u32, + description: Option, + media_type: Option, + ) { + self.get_or_create_node(name) + .add_pw_node(id, description, media_type) + } + pub fn remove_node(&mut self, name: &str, id: u32) { + let mut remove_ui_node = false; - pub fn remove_node(&mut self, id: u32) -> Option { - let removed = self.nodes.remove(&id); - match removed { - Some(ref node) => log::debug!("Removed node: {}", node.name), - None => log::warn!("Node with id {} doesn't exist", id), + if let Some(node) = self.nodes.get_mut(&Id::new(name)) { + remove_ui_node = node.remove_pw_node(id); + } else { + log::error!("Node with name: {} was not registered", name); } - removed - } - #[allow(dead_code)] - pub fn get_node(&self, id: u32) -> Option<&Node> { - self.nodes.get(&id) - } - pub fn get_node_mut(&mut self, id: u32) -> Option<&mut Node> { - self.nodes.get_mut(&id) - } + //If there are no more pw nodes remove the ui node + if remove_ui_node { + let removed_node = self + .nodes + .remove(&Id::new(name)) + .expect("Node was never added"); - #[allow(dead_code)] - pub fn get_link(&self, id: u32) -> Option<&Link> { - self.links.get(&id) + log::debug!("Removing node {}", removed_node.name()); + } } - #[allow(dead_code)] - pub fn get_link_mut(&mut self, id: u32) -> Option<&mut Link> { - self.links.get_mut(&id) + pub fn add_port(&mut self, node_name: String, node_id: u32, port: Port) { + self.get_or_create_node(node_name).add_port(node_id, port) + } + pub fn remove_port(&mut self, node_name: &str, node_id: u32, port_id: u32) { + if let Some(node) = self.nodes.get_mut(&Id::new(node_name)) { + node.remove_port(node_id, port_id); + } else { + log::error!("Node with name: {} was not registered", node_name); + } } + pub fn add_link( + &mut self, + id: u32, + from_node_name: String, + to_node_name: String, + from_port: u32, + to_port: u32, + ) { + log::debug!( + "{}.{}->{}.{}", + from_node_name, + from_port, + to_node_name, + to_port + ); + + let from_node = self + .nodes + .get(&Id::new(from_node_name)) + .expect("Node with provided name doesn't exist") + .id(); - pub fn add_link(&mut self, link: Link) { - log::debug!("{}->{}", link.from_port, link.to_port); - self.links.insert(link.id, link); + let to_node = self + .nodes + .get(&Id::new(to_node_name)) + .expect("Node with provided name doesn't exist") + .id(); + log::debug!("{:?} {:?}", from_node, to_node); + + self.links.insert( + id, + Link { + id, + from_node, + to_node, + from_port, + to_port, + active: true, + }, + ); } pub fn remove_link(&mut self, id: u32) -> Option { let removed = self.links.remove(&id); @@ -75,105 +137,92 @@ impl Graph { } removed } + #[allow(dead_code)] + fn get_link(&self, id: u32) -> Option<&Link> { + self.links.get(&id) + } + #[allow(dead_code)] + fn get_link_mut(&mut self, id: u32) -> Option<&mut Link> { + self.links.get_mut(&id) + } + fn topo_sort_( + node_id: Id, + visited: &mut HashSet, + adj_list: &HashMap>, + stack: &mut Vec, + ) { + visited.insert(node_id); + + for node_id in &adj_list[&node_id] { + if !visited.contains(node_id) { + Self::topo_sort_(*node_id, visited, adj_list, stack); + } + } - /// Naive, inefficient and weird implementation of Kahn's algorithm - fn topo_sort(&self) -> Vec { - // FIX ME + stack.push(node_id); + } + //TODO: Handle stack overflows + fn top_sort(&self) -> Vec { + let mut stack = Vec::new(); - // Node id to in-degree(no. of nodes that output to this node) - let mut indegrees = self - .nodes - .keys() - .map(|&id| { - let count = self - .links - .values() - .filter(|link| link.to_node == id) - .map(|link| link.from_node) - .collect::>() - .len(); - (id, count) - }) - .collect::>(); + let mut visited = HashSet::new(); - // Adjacency hashmap, maps node id to neighbouring node ids let adj_list = self .nodes - .keys() - .map(|&id| { + .values() + .map(|node| { let adj = self .links .values() - .filter(|link| link.from_node == id) + .filter(|link| !link.is_self_link()) + .filter(|link| link.from_node == node.id()) .map(|link| link.to_node) - .collect::>(); - (id, adj) + .collect::>(); + (node.id(), adj) }) - .collect::>(); - - // println!("Indegrees {:?}", indegrees); - // println!("Adj list {:?}", self.adj_list); - - let mut queue: Vec = Vec::new(); + .collect::>(); - for node_id in self.nodes.keys() { - // Put nodes which are "detached"(i.e of in-degree=0) from the graph into the queue for processing - if indegrees[node_id] == 0 { - queue.push(*node_id); + for node in self.nodes.values() { + if !visited.contains(&node.id()) { + Self::topo_sort_(node.id(), &mut visited, &adj_list, &mut stack) } } - let mut top_order = Vec::new(); - let mut count = 0; - while !queue.is_empty() { - // println!("Queue: {:?}", queue); - let u = queue.remove(0); // Remove from the front of the queue - top_order.push(u); - if let Some(adj_nodes) = adj_list.get(&u) { - // Check nodes that lead out from this node - for node_id in adj_nodes { - // Remove link from parent node to this node - let indegree_of_node = indegrees.get_mut(node_id).unwrap(); - *indegree_of_node -= 1; - - // Check if that detached the node from the graph - if *indegree_of_node == 0 { - // If it did, we have a new detached node to process - queue.push(*node_id); - } - } - } - count += 1; - } + stack.reverse(); - if count != self.nodes.len() { - log::error!("Cycle detected"); - } - top_order + stack } - - pub fn draw( - &mut self, - ctx: &egui::CtxRef, - ui: &mut egui::Ui, - theme: &Theme, + pub fn draw<'graph, 'ui>( + &'graph mut self, + ctx: &'ui egui::CtxRef, + ui: &'ui mut egui::Ui, + theme: &'ui Theme, ) -> Option { - // Find the topologically sorted order of nodes in the graph - // Nodes are currently laid out based on this order - let order = self.topo_sort(); - - // println!("{:?}", order); - // Ctrl is used to trigger the debug view let debug_view = ctx.input().modifiers.ctrl; let mut ui_nodes = Vec::with_capacity(self.nodes.len()); - let mut prev_pos = egui::pos2(ui.available_width() / 4.0, ui.available_height() / 2.0); - let mut padding = egui::pos2(75.0, 150.0); - for node_id in order { - let node = self.nodes.get_mut(&node_id).unwrap(); + self.nodes_ctx.style.colors[egui_nodes::ColorStyle::NodeBackground as usize] = + theme.node_background; + self.nodes_ctx.style.colors[egui_nodes::ColorStyle::NodeBackgroundHovered as usize] = + theme.node_background_hovered; + self.nodes_ctx.style.colors[egui_nodes::ColorStyle::NodeBackgroundSelected as usize] = + theme.node_background_hovered; + + ui.vertical_centered(|ui| { + if ui.button("Arrange").clicked() { + log::debug!("Relayouting"); + for node in self.nodes.values_mut() { + node.position = None; + } + + //self.nodes_ctx.reset_panniing(egui::Vec2::ZERO); + } + }); + + for node in self.nodes.values() { let mut ui_node = NodeConstructor::new( - node.id as usize, + node.id().value() as usize, NodeArgs { titlebar: Some(theme.titlebar), titlebar_hovered: Some(theme.titlebar_hovered), @@ -182,46 +231,8 @@ impl Graph { }, ); - // if node.position.is_none() { - // // Horizontally shift each node to the right of the previous one - // // Also put it at a random point vertically - // ui_node.with_origin(egui::pos2( - // prev_pos.x + padding.x, - // rand::random::() * ui.available_height(), - // )); - // } else { - // ui_node.with_origin(egui::pos2( - // ui.available_width() / 4.0, - // rand::random::() * ui.available_height(), - // )); - // } - - let node_position = node.position.unwrap_or_else(|| { - padding.y *= -1.0; - egui::pos2(prev_pos.x + padding.x, prev_pos.y + padding.y) - }); - ui_node.with_origin(node_position); - - prev_pos = node_position; - - let kind = match node.media_type { - Some(MediaType::Audio) => "🔉", - Some(MediaType::Video) => "💻", - Some(MediaType::Midi) => "🎹", - None => "", - }; - - let title = { - if debug_view { - // Display node id if in debug view - format!("{}[{}]{}", node.name, node.id, kind) - } else { - format!("{} {}", node.name, kind) - } - }; + node.draw(&mut ui_node, theme, debug_view); - ui_node.with_title(|ui| egui::Label::new(title).text_color(theme.text_color).ui(ui)); - Self::draw_ports(&mut ui_node, node, theme, debug_view); ui_nodes.push(ui_node); } @@ -244,8 +255,30 @@ impl Graph { }) }); - for (&id, node) in self.nodes.iter_mut() { - node.position = self.nodes_ctx.get_node_pos_screen_space(id as usize); + let mut prev_pos = egui::pos2(ui.available_width() / 4.0, ui.available_height() / 2.0); + let mut padding = egui::pos2(75.0, 150.0); + + //Find the topologically sorted order of nodes in the graph + //Nodes are currently laid out based on this order + let order = self.top_sort(); + for node_id in order { + let node = self.nodes.get_mut(&node_id).unwrap(); + + if !node.position.is_some() { + padding.y *= -1.0; + let node_position = egui::pos2(prev_pos.x + padding.x, prev_pos.y + padding.y); + + node.position = Some(node_position); + self.nodes_ctx + .set_node_pos_grid_space(node_id.value() as usize, node_position); + + prev_pos = node_position; + } else { + prev_pos = self + .nodes_ctx + .get_node_pos_grid_space(node_id.value() as usize) + .unwrap(); + } } if let Some(link) = self.nodes_ctx.link_destroyed() { @@ -271,61 +304,4 @@ impl Graph { None } } - - fn draw_ports(ui_node: &mut NodeConstructor, node: &Node, theme: &Theme, debug: bool) { - let mut ports = node.ports.values().collect::>(); - - // Sorts ports based on alphabetical ordering - ports.sort_by(|a, b| a.name.cmp(&b.name)); - - for port in ports { - let (background, hovered) = match node.media_type { - Some(MediaType::Audio) => (theme.audio_port, theme.audio_port_hovered), - Some(MediaType::Video) => (theme.video_port, theme.video_port_hovered), - Some(MediaType::Midi) => (egui::Color32::RED, egui::Color32::LIGHT_RED), - None => (egui::Color32::GRAY, egui::Color32::LIGHT_GRAY), - }; - let port_name = { - if debug { - format!("{} [{}]", port.name, port.id) - } else { - format!("{} ", port.name) - } - }; - - match port.port_type { - crate::pipewire_impl::PortType::Input => { - ui_node.with_input_attribute( - port.id as usize, - PinArgs { - background: Some(background), - hovered: Some(hovered), - ..Default::default() - }, - |ui| { - egui::Label::new(port_name) - //.text_color(theme.text_color) - .ui(ui) - }, - ); - } - crate::pipewire_impl::PortType::Output => { - ui_node.with_output_attribute( - port.id as usize, - PinArgs { - background: Some(background), - hovered: Some(hovered), - ..Default::default() - }, - |ui| { - egui::Label::new(port_name) - //.text_color(theme.text_color) - .ui(ui) - }, - ); - } - crate::pipewire_impl::PortType::Unknown => {} - } - } - } } diff --git a/src/ui/id.rs b/src/ui/id.rs new file mode 100644 index 0000000..0ce9128 --- /dev/null +++ b/src/ui/id.rs @@ -0,0 +1,19 @@ +use std::hash::Hash; + +use egui::epaint::ahash::AHasher; +use std::hash::Hasher; + +#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash)] +pub struct Id(u64); + +impl Id { + pub fn new(data: impl Hash) -> Self { + let mut hasher = AHasher::new_with_keys(123, 456); + data.hash(&mut hasher); + Id(hasher.finish()) + } + #[inline] + pub fn value(&self) -> u64 { + self.0 + } +} diff --git a/src/ui/link.rs b/src/ui/link.rs index 34687de..fe3c1a9 100644 --- a/src/ui/link.rs +++ b/src/ui/link.rs @@ -1,9 +1,18 @@ +use super::Id; + #[derive(Debug)] pub struct Link { pub id: u32, - pub from_node: u32, - pub to_node: u32, + pub from_node: Id, + pub to_node: Id, + pub from_port: u32, pub to_port: u32, pub active: bool, } + +impl Link { + pub fn is_self_link(&self) -> bool { + self.from_node == self.to_node + } +} diff --git a/src/ui/mod.rs b/src/ui/mod.rs index df0463c..522676f 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -1,4 +1,5 @@ mod graph; +mod id; mod link; mod node; mod port; @@ -10,8 +11,7 @@ use serde::{Deserialize, Serialize}; use std::sync::mpsc::Receiver; use graph::Graph; -use link::Link; -use node::Node; +use id::Id; use port::Port; pub const INITIAL_WIDTH: u32 = 1280; @@ -19,13 +19,8 @@ pub const INITIAL_HEIGHT: u32 = 720; #[derive(Debug)] pub enum UiMessage { - AddLink { - from_node: u32, - to_node: u32, - from_port: u32, - to_port: u32, - }, RemoveLink(u32), + AddLink { from_port: u32, to_port: u32 }, Exit, } @@ -41,6 +36,9 @@ pub struct Theme { video_port_hovered: egui::Color32, text_color: egui::Color32, + + node_background: egui::Color32, + node_background_hovered: egui::Color32, } impl Default for Theme { @@ -56,6 +54,8 @@ impl Default for Theme { video_port_hovered: egui::Color32::from_rgba_unmultiplied(148, 96, 182, 255), text_color: egui::Color32::WHITE, + node_background: egui::Color32::from_rgba_unmultiplied(50, 50, 50, 255), + node_background_hovered: egui::Color32::from_rgba_unmultiplied(75, 75, 75, 255), } } } @@ -117,6 +117,14 @@ impl GraphUI { ui.color_edit_button_srgba(&mut theme.video_port_hovered); ui.end_row(); + ui.label("Node background"); + ui.color_edit_button_srgba(&mut theme.node_background); + ui.end_row(); + + ui.label("Node background hovered"); + ui.color_edit_button_srgba(&mut theme.node_background_hovered); + ui.end_row(); + ui.label("Text color"); ui.color_edit_button_srgba(&mut theme.text_color); ui.end_row(); @@ -136,7 +144,7 @@ impl GraphUI { .open(&mut self.show_about) .resizable(false) .show(ctx, |ui| { - egui::Grid::new("theme_grid").show(ui, |ui| { + egui::Grid::new("about_grid").show(ui, |ui| { ui.label(env!("CARGO_PKG_NAME")); ui.end_row(); @@ -144,8 +152,8 @@ impl GraphUI { ui.label(env!("CARGO_PKG_VERSION")); ui.end_row(); - ui.label("Author:"); - ui.hyperlink("https://github.com/Ax9D"); + ui.label("Project page"); + ui.hyperlink("https://github.com/Ax9D/pw-viz"); ui.end_row(); }) }); @@ -156,7 +164,7 @@ impl GraphUI { .open(&mut self.show_controls) .resizable(false) .show(ctx, |ui| { - egui::Grid::new("theme_grid").show(ui, |ui| { + egui::Grid::new("controls_grid").show(ui, |ui| { ui.label("Left Click + Drag"); ui.label("Move nodes, create links between nodes"); ui.end_row(); @@ -178,57 +186,47 @@ impl GraphUI { /// Update the graph ui based on the message sent by the pipewire thread fn process_message(&mut self, message: PipewireMessage) { - let _graph = &mut self.graph; - match message { PipewireMessage::NodeAdded { id, name, + description, media_type, } => { - self.graph.add_node(Node::new(id, name, media_type)); + self.graph.add_node(name, id, description, media_type); } - PipewireMessage::NodeRemoved { id } => { - self.graph.remove_node(id); + PipewireMessage::NodeRemoved { name, id } => { + self.graph.remove_node(&name, id); } PipewireMessage::PortAdded { + node_name, node_id, id, name, port_type, } => { - self.graph - .get_node_mut(node_id) - .expect("Port with provided id doesn't exist") - .add_port(Port { - id, - name, - port_type, - }); - } - PipewireMessage::PortRemoved { node_id, id } => { - self.graph - .get_node_mut(node_id) - .expect("Port with provided id doesn't exist") - .remove_port(id); + let port = Port::new(id, name, port_type); + + self.graph.add_port(node_name, node_id, port); } PipewireMessage::LinkAdded { id, - from_node, - to_node, + from_node_name, + to_node_name, from_port, to_port, } => { - self.graph.add_link(Link { - id, - from_node, - to_node, - from_port, - to_port, - active: true, - }); + self.graph + .add_link(id, from_node_name, to_node_name, from_port, to_port); + } + PipewireMessage::PortRemoved { + node_name, + node_id, + id, + } => { + self.graph.remove_port(&node_name, node_id, id); } PipewireMessage::LinkRemoved { id } => { self.graph.remove_link(id); @@ -293,12 +291,12 @@ impl epi::App for GraphUI { } }); egui::menu::menu(ui, "Help", |ui| { - if ui.button("About").clicked() { - self.show_about = true; - } if ui.button("Controls").clicked() { self.show_controls = true; } + if ui.button("About").clicked() { + self.show_about = true; + } }); }); }); @@ -310,16 +308,11 @@ impl epi::App for GraphUI { graph::LinkUpdate::Created { from_port, to_port, - from_node, - to_node, + from_node: _, + to_node: _, } => { self.pipewire_sender - .send(UiMessage::AddLink { - from_port, - to_port, - from_node, - to_node, - }) + .send(UiMessage::AddLink { from_port, to_port }) .expect("Failed to send ui message"); } graph::LinkUpdate::Removed(link_id) => { diff --git a/src/ui/node.rs b/src/ui/node.rs index 40e1c9f..d652067 100644 --- a/src/ui/node.rs +++ b/src/ui/node.rs @@ -1,32 +1,219 @@ use std::collections::HashMap; -use super::port::Port; +use egui::Widget; +use egui_nodes::{NodeConstructor, PinArgs}; + use crate::pipewire_impl::MediaType; +use super::{port::Port, Id, Theme}; + #[derive(Debug)] pub struct Node { - pub id: u32, - pub name: String, - pub media_type: Option, - pub ports: HashMap, // Port id to Port - pub position: Option, + id: Id, + name: String, + pw_nodes: Vec, + pub(super) position: Option, } impl Node { - pub fn new(id: u32, name: String, media_type: Option) -> Self { + pub fn new(id: Id, name: String) -> Self { Self { id, name, + pw_nodes: Vec::new(), + position: None, + } + } + pub fn name(&self) -> &str { + &self.name + } + pub fn id(&self) -> Id { + self.id + } + + pub(super) fn add_pw_node( + &mut self, + id: u32, + description: Option, + media_type: Option, + ) { + self.pw_nodes.push(PwNode { + id, + description, media_type, ports: HashMap::new(), - position: None, + }); + } + //TODO: Use pooling + pub(super) fn remove_pw_node(&mut self, id: u32) -> bool { + self.pw_nodes.retain(|node| node.id != id); + + self.pw_nodes.is_empty() + } + + #[inline] + fn get_pw_node(&mut self, id: u32) -> Option<&mut PwNode> { + self.pw_nodes.iter_mut().find(|node| node.id == id) + } + pub fn add_port(&mut self, node_id: u32, port: Port) { + let pw_node = self.get_pw_node(node_id); + + pw_node + .expect(&format!( + "Couldn't find pipewire node with id {}", + port.id() + )) + .ports + .insert(port.id(), port); + } + pub fn remove_port(&mut self, node_id: u32, port_id: u32) { + if let Some(pw_node) = self.get_pw_node(node_id) { + pw_node.ports.remove(&port_id); + } else { + log::error!("Pipewire node with id: {} was never added", node_id); } } + fn draw_ports<'graph, 'node>( + ui_node: &'graph mut NodeConstructor<'node>, + node: &'node PwNode, + theme: &'node Theme, + debug: bool, + ) { + let mut ports = node.ports.values().collect::>(); + + //Sorts ports based on alphabetical ordering + ports.sort_by(|a, b| a.name().cmp(b.name())); + + for (ix, port) in ports.iter().enumerate() { + let (background, hovered) = match &node.media_type { + Some(MediaType::Audio) => (theme.audio_port, theme.audio_port_hovered), + Some(MediaType::Video) => (theme.video_port, theme.video_port_hovered), + Some(MediaType::Midi) => (egui::Color32::RED, egui::Color32::LIGHT_RED), + None => (egui::Color32::GRAY, egui::Color32::LIGHT_GRAY), + }; + let port_name = { + if debug { + format!("{} [{}]", port.name(), port.id()) + } else { + format!("{} ", port.name()) + } + }; + + let first = debug && ix == 0; - pub fn add_port(&mut self, port: Port) { - self.ports.insert(port.id, port); + let node_desc_str = if let Some(desc) = &node.description { + desc + } else { + "" + }; + + let node_desc = format!("{} [{}]", node_desc_str, node.id); + + match port.port_type() { + crate::pipewire_impl::PortType::Input => { + if first { + ui_node.with_input_attribute( + port.id() as usize, + PinArgs { + background: Some(background), + hovered: Some(hovered), + ..Default::default() + }, + move |ui| { + ui.add( + egui::Label::new(node_desc).text_color(egui::Color32::WHITE), + ); + ui.label(port_name) + }, + ); + } else { + ui_node.with_input_attribute( + port.id() as usize, + PinArgs { + background: Some(background), + hovered: Some(hovered), + ..Default::default() + }, + |ui| ui.label(port_name), + ); + } + } + crate::pipewire_impl::PortType::Output => { + if first { + ui_node.with_output_attribute( + port.id() as usize, + PinArgs { + background: Some(background), + hovered: Some(hovered), + ..Default::default() + }, + move |ui| { + ui.add( + egui::Label::new(node_desc).text_color(egui::Color32::WHITE), + ); + ui.label(port_name) + }, + ); + } else { + ui_node.with_output_attribute( + port.id() as usize, + PinArgs { + background: Some(background), + hovered: Some(hovered), + ..Default::default() + }, + |ui| ui.label(port_name), + ); + } + } + crate::pipewire_impl::PortType::Unknown => {} + } + } } - pub fn remove_port(&mut self, port_id: u32) { - self.ports.remove(&port_id); + + pub fn draw<'graph, 'node>( + &'node self, + ui_node: &'graph mut NodeConstructor<'node>, + theme: &'node Theme, + debug_view: bool, + ) { + // let media_type = node.media_type; + // let media_emoji = match media_type { + // Some(MediaType::Audio) => "🔉", + // Some(MediaType::Video) => "💻", + // Some(MediaType::Midi) => "🎹", + // None => "", + // }; + let mut media_type = String::new(); + for node in self.pw_nodes.iter() { + let media_emoji = match node.media_type { + Some(MediaType::Audio) => "🔉", + Some(MediaType::Video) => "💻", + Some(MediaType::Midi) => "🎹", + None => "", + }; + + if !media_type.contains(media_emoji) { + media_type.push_str(&format!(" {}", media_emoji)); + } + } + + ui_node.with_title(move |ui| { + egui::Label::new(&format!("{} {}", self.name(), media_type)) + .text_color(theme.text_color) + .ui(ui) + }); + + for node in self.pw_nodes.iter() { + Self::draw_ports(ui_node, node, theme, debug_view); + } } } + +#[derive(Debug)] +struct PwNode { + id: u32, //Pipewire id of the node + description: Option, + media_type: Option, + ports: HashMap, +} diff --git a/src/ui/port.rs b/src/ui/port.rs index 0820b3b..57355ce 100644 --- a/src/ui/port.rs +++ b/src/ui/port.rs @@ -6,3 +6,21 @@ pub struct Port { pub name: String, pub port_type: PortType, } +impl Port { + pub fn new(id: u32, name: String, port_type: PortType) -> Self { + Self { + id, + name, + port_type, + } + } + pub fn id(&self) -> u32 { + self.id + } + pub fn name(&self) -> &str { + &self.name + } + pub fn port_type(&self) -> PortType { + self.port_type + } +}