From 27f13b474347e5a74922e48445ff2e47992503bf Mon Sep 17 00:00:00 2001 From: samialabri Date: Fri, 30 Oct 2026 00:14:32 +0400 Subject: [PATCH] Official app icon and Windows Hello unlock (beta) Icons: the taskbar, title bar, tray and installer icons are now the Kestrove mark (kestrel wing and keyhole on the Spruce tile) instead of the placeholder keyhole. Generated with `tauri icon` from icons/kestrove-mark.svg, the brand mark with the eye in the `accent` token (#b4481f), as the brand book asks. Windows Hello (docs/02 "Local unlock"): Settings > General > "Unlock with Windows Hello". Turning it on creates a TPM-backed KeyCredentialManager key for this vault, which signs a fixed label plus a random salt; HKDF of the deterministic RSA signature seals the core's Local Unlock Key with XChaCha20-Poly1305 in windows-hello.json. The unlock screen then offers "Unlock with Windows Hello" above the master password. - The master password is still required every 14 days; Hello is not offered while it is due, and the LUK is kept. - A cancelled prompt falls back to the password. The LUK is deleted only when Hello's key is gone or doesn't open it. - Hello calls block, so they run on a blocking thread; the prompt is brought in front of the window. - Not offered on Linux or where Windows Hello isn't set up. Co-Authored-By: Claude Opus 5.5 --- src-tauri/Cargo.lock | 3 + src-tauri/Cargo.toml | 6 + src-tauri/icons/128x128.png | Bin 4624 -> 2595 bytes src-tauri/icons/128x128@2x.png | Bin 9243 -> 4900 bytes src-tauri/icons/32x32.png | Bin 1218 -> 775 bytes src-tauri/icons/Square107x107Logo.png | Bin 3929 -> 2139 bytes src-tauri/icons/Square142x142Logo.png | Bin 5200 -> 2864 bytes src-tauri/icons/Square150x150Logo.png | Bin 5430 -> 3022 bytes src-tauri/icons/Square284x284Logo.png | Bin 10060 -> 5367 bytes src-tauri/icons/Square30x30Logo.png | Bin 1128 -> 764 bytes src-tauri/icons/Square310x310Logo.png | Bin 11344 -> 5749 bytes src-tauri/icons/Square44x44Logo.png | Bin 1658 -> 982 bytes src-tauri/icons/Square71x71Logo.png | Bin 2652 -> 1501 bytes src-tauri/icons/Square89x89Logo.png | Bin 3267 -> 1804 bytes src-tauri/icons/StoreLogo.png | Bin 1894 -> 1111 bytes src-tauri/icons/icon.icns | Bin 74671 -> 59561 bytes src-tauri/icons/icon.ico | Bin 18333 -> 10484 bytes src-tauri/icons/icon.png | Bin 17177 -> 9877 bytes src-tauri/icons/kestrove-mark.svg | 1 + src-tauri/src/hello.rs | 442 ++++++++++++++++++++++++++ src-tauri/src/lib.rs | 1 + src-tauri/src/main.rs | 56 +++- src/main.ts | 50 ++- 23 files changed, 552 insertions(+), 7 deletions(-) create mode 100644 src-tauri/icons/kestrove-mark.svg create mode 100644 src-tauri/src/hello.rs diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index adc3c91..5eb9938 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -3016,9 +3016,11 @@ version = "1.1.0" dependencies = [ "arboard", "base64 0.22.1", + "chacha20poly1305", "core-foundation", "getrandom 0.2.17", "hayro", + "hkdf 0.12.4", "image", "keyring", "kv-ffi", @@ -3037,6 +3039,7 @@ dependencies = [ "tokio", "url", "uuid", + "windows", "windows-sys 0.61.2", "zeroize", ] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 2f8b2c6..703ec2f 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -46,6 +46,9 @@ rqrr = { version = "0.11", default-features = false } image = { version = "0.25", default-features = false, features = ["png", "jpeg"] } hayro = { version = "0.8", default-features = false } tokio = { version = "1", features = ["time", "sync", "macros"] } +# Windows Hello unlock (docs/02 "Local unlock"): a key derived from Hello's signature seals the LUK. +hkdf = "0.12" +chacha20poly1305 = "0.10" [target.'cfg(unix)'.dependencies] libc = "0.2" @@ -68,7 +71,10 @@ windows-sys = { version = "0.61", features = [ "Win32_System_StationsAndDesktops", "Win32_System_SystemInformation", "Win32_UI_Input_KeyboardAndMouse", + "Win32_UI_WindowsAndMessaging", ] } +# Windows Hello (KeyCredentialManager); the same version Tauri already pulls in. +windows = { version = "0.62", features = ["Foundation", "Security_Credentials", "Security_Cryptography", "Storage_Streams"] } [target.'cfg(target_os = "macos")'.dependencies] core-foundation = "0.10" diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png index 47a5ab62d745381c0cb72e917853346f9cfc2845..80bd1a3ba4de119192182a9aaa64922a340f3ec2 100644 GIT binary patch delta 2587 zcmV+$3gq>WB%>6NBYz3%Nkloo0T_mkpXvq}Wm@tP z%79@;EB(t+S|Xm^dcnLxI|-o}V0*qo$V&hf ztCz1bjGhK2-hVwIXj-8D%I^Jp3Mv4!`l>E4cH@V&OoJ3?DgkXZdV^NGPYmRc;6=K@ zILqWqg<9fdQY0L<`^2D~Z=M(lZ^JU~ef)43ueo#}PF9Z6tIKZ1TMi2s0ICaJzOjba zS$fPJtyfpwjJF&RmIDy^X!#LdTa^+-Ep{~;Tb{QEK!5W0Bl#T(ppA=@E-f0*WgI1HNPmr+>faLFH z^1TD%vMY->4`zt_oA3!7_q~TI%m*%EJ`m3u0(v)gjEijjo(=_5%^OJlLICdS@y3qF zLjiJJpMTK9b(T>^U%R#;oM$ zPi=XtkRCv10l0t_k1kA-PJjCFcgH_T@|!Ogc0Y~nRAbHvh;L3|H*p=C!YmS z02lwl6H8$Q#&wGC*|4thV>sE;?8j!pcCnZ8WqD`x>ln}t<9lzTm-wX;DZDXhB91e(ZBHrA!vkU6-QO2LZ zN7*3#W>Bed7na`oE%)d5V99s_tAn91Ysyq;eD%#iTeo&Hei>?gr3EngcBhcn8Jku%W&*WtH$7XI zbE21?^vRa-D=C0+7KpRjI2sI_k@y!EEfw;!DCv_i-B7GHbp?IW_*XalZGm`)H8-MQ#C4bk^gK+4~X=MyUdI7ZEH(bc;{FEjnO7@Oy z-j;k61&aG`f6=IvXOvz5-*HG}?i1GK_zf&sGRsIEr7)WhBWfE z{#}YEeo70#iEQ4k^(Q>w`uSuKTR#iH@7B)(@VWJ~0DNx!EC8_A_$!b(ac%2ahn|nG?llX%sIl*=SQbD5up!6Tf99791FmYJgB)~&hp4c$#N`QP&kKOuY_4PAUAHq| zE=4zZoELOyqZhh_0ojv3Ct@vK-Y6m;@IseRY5~;ck^ButFn{F(bgUb=ODL}Z$hGFv zd24PP+|ARm?!$s^^HRA>D6If8SrujVR+Bg@`}p;OLIEh;B@D>?d-gJwb6aD3;nyJs zGmY3 zB6uh(rth0cM}NU9rzT@Q2`1O^?W1^UIdGts>U%SFNfJzWq8miJIWC1u-8miJI zWC1u>8miDGWC1u_8p_@!WC3J>$X!F3yM$NGmVE;{gqzofpEV^aHd~4iM+1@GV-4SOC68Jb=GbyNTDqpCIl7twjwm^LYc97sSWvGj{ZV)`f4T2ER0nX(<%(+7`6>m2J`3sXX@w#Gon?F6-*;9@g_@ zk#mzg_*Vn%=cjM#xGsRS&_LxPg@;-U4-YeO`AzSp1~{YW>f;XV5IPI;40vmAZK{W$ xqbSPg%j_jGT6b&es2&j=r@4JmmYxm&0TjFz*GUR4SMmS=002ovPDHLkV1ix;+W`Oo literal 4624 zcmZvgWmFVgx5tN}hDI9cR>C2qySv)~fnn(G5*SJ(1X1Dvi6Nw07(^N*r3a)029WMf z;qtui{dCv;aQ6Ok&TpNy_kZuT*N)TEQ6<8EiVpw)h}6}T3?4oF-vh#Vv^_F5KLLOz zGwMq6MuGGDmM*UJ)08r&v#|j)E|UJPT*NgBWQe#3Dg!k(is*R!RFwjRNr4{s55=^3 zD{PkYFUV5nNVF=%F+r}hVJBe{=b0YmKr-3u_xRCr>XSzrtF!9aVquk+!a~x^IdkV9 zRgQnpsUFPwWH+{rF8SCW1RO|j=K35kd}7U-fvH%MK9^HU0V+}aUx!jdsj=mBI3)!h zqGJo4Hyg?g$H7@!paYUv*BYx=9IccH7o6qPkxM&6rLgZ>n;sIE8Pl$I<5}V4{>>*` zY?(U=eth(a0sb}o3oYriZrfqfxm(#y@m--XY69C|XH%X*tK%1|vs=F=^Z!CB-?+mz zguc%WcNGe6B7J-6EYY-QOGt7Z%M1yxZR5e11k>F?BNY_U<);*E<}u*6MH>ig)92Im zUq$e`%>41}S#=Jb8SO=LFyiy?5|cv7$~t@ijKM1fRwRhY;E)^Qve7^(O0#`II9K^& zUGToe{uSz#b!4}k(BCdgM@LSQU`s9+XQ=l{2ZTxDZgk_^#NB%=CA2aXSo^lmOi`2O zA;+QW-lm^xtnGctm6)#AA2SnkR5Tc2sCk#<>4I4t600sm_(_|+F76p)Sjg$3tw;MA z=ABhz4W&LHANj^|T`AxpNZLi_!4bOB>D}^AK*UV%8>R?GJzD<#miP}v-S^T9#I09* zjWH7|;a+*4lMFl5`FBj16J0M%7BZ?^>ke1J(l$l&A$#4vc(3yD4rPHI?Oh!9+Wjvm zf7%xpHid4Z-*c(h!i_53!0eVBAJ1WC3V?n?7gHC2D&@?#atV8o8+90%eNx+C* zay*=vHT20<71v7moSij*HyVtN1jodr;>o?#5DVR`yw>-hL#I)-hH6Qtgv#iEwH;&; zKl0CC_bpk6Tiaq6_Kg8Z`&KMJvAwb6FjWB8XGTj5?Nuv_>OKYGjT%XVWYYLd|AW%nn<_yg;8>Sc3nz$7V1qF0i-dYmXqj9}mK z$-M>{J|6r@?GRDuQ8K>2-*dT`RR+tS<=<4VD#|f{bP;K~S;iRjx-p4H#mhvpsz((X zoj5cY6|eSo3;?<{1Mj#b7olM}tPFae=&jejnHfJ!0kDtEnt#TFg8kGbfjqJ>4X>I| z<)UgTHMH%`W`%Ld{Qy>}`mCu*f}tWM!h}dcTC70>-=$B^BrJA}{dInu?De*}0Y-Lt zdQ6-z$=OFc{dPSv*|Oqy>S90dLK0`j2fsZJTlGMazcBVRHa*DtLV@^rXB1-AD64b9sZ*{JyKa~*Ed6*McScttyxIF$xeOt-Gx7>{> zpSOIe1tR;K9@~>P1gP)&{A{Ze>X9$98KiBg|=U7yt+JkfmiqXM#>+b=qK%Z6Jfv}j@sG%j-nvfDq$ zBS)x*{L?Rg+1n8AD5$zSYNZ}v`G7rSzfdNY<1p@HY}F~&2YQ0vEfhP7H|FOe!(sn^ zfhj0nr1gZ#&(5HmzI2Ck6pc!x?expX49covO}vXDycd08rMTR@Vc;EDq^r9=OTR_< zy@SxdDiYxq0*O3$_+{#dXo)&_Sm1ossew4tV%BPSNYu>9Q9wINVR;2r;?ac&msj48F8h^isfBQbNdeW(zOPw z2_XZ~u4xKA^0jzq%u=r&&*567-NT{DZOvfuKvb6YP&W(gUkWs{^c|QKi*67$t|f6E zNUj3SoLL2p``XRZfLb`7;}5_s2BP;?6v<1VP6Se`8COqN~$TwI6x~Sr(4GiH1t$ zzv3&jwit2JMtdd0MwaTlxGCc4izZ(A56QsfIbmy0jmk2pIT21e2q-7u@~NoyyrhIq z4{pCQwjR%(z<;v!7+lJxXCM{tpK_{vUFiZ{Ne~_;P`K`Sm64&`3MX^AJK|Ayu3qRyOL=G~GvJ}N(jf~~ZvsYJU zu1y>tFxE4p^!5@P*u0#t2occdMZJZBpEV|ZJoXU%57#&xhR*}mRHN|zS4(`5HpY}T zR&jDU=k#csr#f6~XP;zcbPvO7KN~nblV2-1MPuipiD*B3S*^}zmVX{+0Wjv#skq&x z2#SD0+0-)K@8|Ni+ZNdf%^-^Qz#{u`gu##%r0fW_UW{HU;f_FuN#~14(5r#OgO(U$QcLYwTG(Y_G4C2*voV( zq$lq=v?hMl$6|r|^&fKEd|20Sp8xZY9w9CcnQ+wpf#NVn^}z74&?Pgm}W~Y?W!q7x%{x^pp*Nr0qFZY7dj;}e9Bd?MiT^v`ALtlAnSp>eCtW}3}3XZ(ArL|VFih13B%S^M#4wm>XRqO6?)QB9~y%b-WU2=R&oX! ziCRSWkh>lTc-gRsDTcCwjFQ(jK#V@uD_fHh2>yQn)=BkMF$_+}oCD`3#HqL>`oN87 z8@x*82<8v(FlsSp2$+~lF=Iu3Q%QXkX#Cl^lW&cW2$Tn9v`Odw?(W^JVRafzlN zSgOHbB4pXhst7kXtkHd(fAzHY;|ZiY5(>Mq*}h{6nf?nXkjCw!!=WjUtTWaMy$M{= z;Pa25M3)Xx0zJeSMd|!A%%B7v_dJYgQKsX)cWnhW7G0(FKvJ?i7cHc zPi)aVI{2S^=IZo5b*fOCO+y2CvqFtRa5}_<1$gt#o-lwZtrOwKeE$8c%QA9dt`8Ud z*MQTHQm$AgGEV;3M;jl0ZylNRFIv^a*nRzTX9&nWp=Gl+PFSpSG$BV@$6}$T?%N<5 z&4cQe)Vuiugr%y)wHPX$!OC z2F+r9A!C!{mBG_(0vZ6p@hfd%fSt%KzhZEW0vQk1_Ph?kyf6JVsPe zv)?fh9%&mBS7+H9SC`)|G}hAnBFz=7P&$iu^ovHr%w&3!23RPoAu3HU!W}ir%jiBmZ6k5}47rrhr2Q zG(lo$!y0yrg-A$xwS~(rAL zceY%x^#mGQ^hL*6mQ@#F8Uc!9Mj+8X>McJ6sgfne zy_=r!aDG_7wB&1oZZrSl;<5|GZltSeC+y2RAkf2Rs^5^-_RXQ{!cy>F#7~ug?hVt7 z5I=FWN>nwfTI{W&M{A%g&~Q$fD<@CQ!8XZ`K)ExvVQ8(2O+sV~kZv__&^tdVF;?13 zA|maxDXA;>CxE>1IK5&mTilgxHEhf z{ujm!m?f1-CH1t6Asb0Y4x2%s{EKE)wHgYaHNx{-@c#0BpKbQsg5ICmcHGu&jOB4+ zR92va1jTp%^7xYZ+sQV}sO{W)%ChPuyJKJEvKG=$!Y{Cn1=k9^S<)YGxYpCGc#G6! zpjnb=^cYKL-8`+x!#K)ScN`LKSbdSHbmrL(WKa^|hbw6`4I08++-m9grYfe(3+&z6 zV^f5ykg`g&rUd)YKhYyT@%4fK-_AtoH2xk}A28yp)x|ykxak3?E9)p#D_BSV4`Jz} AkpKVy diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png index 44fbe11110c8a62ab1b70eb44fe398ed92c20493..97cba8b75602f7bf1c88945663cebe720e787d4e 100644 GIT binary patch literal 4900 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 literal 9243 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 W{q39ahd&Md0F+*-%U8-;1pf~S5vJGx diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png index 8657b846b54ecb7a11ee578f98c27124f40c219f..09d4297cfa3cd2caf5b724992b15d701d7df0b3b 100644 GIT binary patch delta 752 zcmVg( z#AX5!zZe+$>18M@Ed41%YTOd z{sZLzpxyRNw6s80M2x}1$Q*B4V4;P@Vb)FzVKz<-I&z8(A)PgN)so}@mv65bWPg8W zxWK{BaGsqXLmuSY#>ix_&q1JY?j(jQkM2{)0f`?UF<5uGhRdx2T0DE#W}?g`IuYJt z<3ZuSVP<0p2gdW7@)i`!pS*bm_C2wHXa}s|lZHFu7^e_}uv<7d*wH}&Fy23Y`%1I} zh>n8CESwBdrIQ%Efxf=FZYe`+P&9@bP|zQ{afP&cL4PvA|39&cpUvL@DZ&2yVPIv! zbh~DDG)cZEIUB+NHp@Z2C)IMY9e@qY*}a)8eN-!oWuS!*%^U#Aa`*r!N63=l2%;U3 z?CJ|=zxw!|!L7cK;S*AvgUSMI*^(*_097g=3nCj+Bk^`7| z4Kx}EDSt9jR%d8ivzX!d%_|JAKYakRfByc>@EBO?@pE&7@@t> zABZLyBLm|_CZIzP3{;yCWH%El1H*)YasbF~=4lTXZhYW3&=drwL<@Ra&cwht@$rHU zE8u-YdZq9v zPfvHxW|?Xp6t7;@@74RPwkT-`Aq5l7U}&vf0>#0^0UN&74u8#Z2%(@$R1s@J$Oq0; zYfHKLg=Lw^R&j+mU8md|=LvT>X!W$whpIK#adT`)L zMOX>yHm|JjUi#sj)9>wsl@KGdvuOZ+YURVrx#JH%=Ga|5GdD1x$`?g{@AmZ@-(GmZ zSHi;#`CXrQb${iH(xXoE6@Cy#vmz?$JxLD*5J-g1K6Wf%g>)$R@pp!;xHTWlS+IsvXn9;4P zTb*F>^E6y0eic3QsXq#q! ztl#bRY4MSHdg;t*!~6Y8lQ#d~rb;2_Wo+_p?|hS^5d}Q$1i3;|QUT=JNF4_M=5Nr7k{G9zPm&vDBXcvyoBO$*3SjD;(qF^`GW zNDP<_?At;vOZ8)A#&S9GLuSOBd02xCY;6LX#$6$_he2^J5F-~zvpG!AT5-DBgMGTO z*Wxr#s)PspePXUmC+8|0cwQV}4&H#XL8k20LXUw@q+wXYq#GdK%3N%! zrGLCBy&%lNb9K5KM;4~I7!c`&C}=<~+xVe!kxKb2gKI;WgNL>0jY*ERnnM?&Agwsv z+1wQ_!&yT5gD?jVYf>DdGg3kf$WWjp^#Y9J6}~NZ!h2kHF}RHyULYe~nHU4nEC@9t z?`aT?(y;@OitOuO8dvGvPcBf<_#ocx4}bk`NQwLDpcsh>1)PE1@~Y&xiQ=r#<7(Hj zhX=mYA{?xN)i+{C~ zHFtjyJj-2E=#NBX2;r40&t*Ed|GVD!dTqtsA9e#w5eh=q$aOM>a((g5_t)kZpIh}G zsdVHQvi2G>`<%8n|5)Gr{>yX2UVA6N3c4^wmB74IUsyV}@c1(StW>8w^wOLz_$Q=w zck9|lXJ@Ms#h6fFl#h5j%=qWj_$WN)=TxL@kP~(DXnru!t`mOG?*muA{o(cMCDH%@ N002ovPDHLkV1jpYR3iWY diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png index 007cf88ef9178fe9763ce344f565314cecdedc1c..15288a423cf4a580538915bc60ade39825bb1e4f 100644 GIT binary patch delta 2127 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

H%p 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 baL4kB?pKy^Mk@d9hduzQXe(DMT8I4)8pMR& diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png index 977ef457bb6aab3536aed75570c287f9ca85cc48..559ecf0ec7ebd90f5749711c99db513b99a313cf 100644 GIT binary patch literal 5367 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 X^Ca*?%jPjV00000NkvXXu0mjfa*0a} delta 1108 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 delta 1642 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 y5M<{xAIC;-^Y`&JQ^nMLeP;KWK!9S zI15om53L{dAXG*~1d$3sM3_-85t`desSu9&QYd{uWxd1(3ijmMrhzHBm9F_Uoipn! z`!(yjJG(pc2XSY2cJ}_}f6l$<-nlwhK^rU0E@S*Oo2CGp4G4}(IG2*Qalkt$}%p5+C2 zVt2uO}T@vBIz5*OLzSH*@>Ly)Rh6(BSrT9cd-_W4o;tU3^y z-T7;J)&))7?eJZui=|4KZh&e)s3Z>-CbbWmpowpXs{1$Poh+~LEHES<#N?h^EG#bi zI)CzS*0Taa&dBKwhM4y>Hz6R@0CI#Hdi_a@=Y0yNL9e+5InysQZjd8Ng;>P37KId* z;ZpTVjoOKSFK~Y0U(wRJy^YO~A#?X>b{Op-sYuZnZazIacQxo|1il-K$Y@G>7UCpw zs#B(HSE5VS;Yzj>*MIf#fT4+$V{$xX-hV~n3Nc`4ac@BL3)#$D7N5o0LE|C@$`Ky4 zFP>R`hBy_kJc)rHBR{OXfnBzyPODZRK!eY7c67ytt`utQ+2NNlD{u4}N3am*s2kG| zgp=AFFd)(n0<@=C3ozoifo=8PkK!}3)7}oGG?Ha%4kv1(_db-++nn(EI~HMg)jZRi zF(Z`N2w+{+el4#~fZ~v&N5JllXYm1Zmrk_tOdPOzOzM#1-G5AHgJ=m$Jh1=(002ov JPDHLkV1hH*`3?X8 delta 1880 zcmV-e2dDVg2<8ruBYy`iNklX$hxXBrTG`Q!WnHxQPYT)pZ)0yJP zq;6%0#dEbC)dc6BTdS_rOLwnqEY4r3EG=GY#-zlEz-fqQIcA|azGv#hx!i$gryvyW zx_E~#r=9Ya;D6bW71MQT43*`ZGyl#^pRw0U3n8|ijD&>Q{fCb4fAy_t-LiBc9VZ-Q zeR6n?AMX34umZ!a)!aKjUp!I0^Up8sm|?9x!CiA#as1#LAN<91L+6fd3qLpcj`>6{ zj}eyOxi&LQle><4`-d-|w^vIGA=Z#iYZ8N$z}~5o=YMo7r<3d0LcON1YWBa}^4-87 zumBUV#j&;h8c#or9?rpGpziu)Ebj= z*hbXhet%MC6c0nRP2n(L14dvKNprPHBYqXY5MHGwniZEk(ilQ`uE)u7{lH>~oDlY< zjev~%VvracN!iD4G>I{Y!ZJ*y)IKBE^{7;?Qa)o+aVRhQOY57oTDPf?vq;y4g?K!T zgaTiomI|q*`i&fm5;FrPDm9yOf`N}-e}!H&ROfI{DHOX-)vw>5^lD2DF%ixyo;n47E4-Z96+C9M7X-VSo+{7o<WaCS`4g=thp=$*cLT|Ci{39-{9#{>;%F$Z&% zmkE)(D=-o|6jOIXE^N1u&(hbIuhQJ&Ey@oLh|t=~4Eitz8qi`6=Bhh;6o`5-5`WV~ zg7AxZsHJKmU!48?dzxQdqO6Qak&&T|K8%3|w3w4`+Ot{#H9%+z-u zmg${O&eI=%FOd~6gBxx1VGJ}ft0&P$JODAp@Y`)d#}XyR%x0}lbs_OBTWg|?K1cWn z@(0XJ!_G{SD92eN7%7F{EhP#iV}AzDT*zhVsp1fvA__2~jXsRkY)7t<{Pjt~kj;{W zUrOfe@hFE(4JXF!JG^htXovkWn=_W;`C-IY(g;PBZ_+Y8C?2r}8OUa2Wg9*MZS-Mm zxwK9em`@ zCnKHRcI6moI8kzq@XjTQ(SOO=IZGii@uIA0(#PLkmJD#-VzrVX&=5~v{BuTX&dzbP zCMpWnB|3D|Mo3*2n&2Icj~eEd_?RUKzre_wjscAbhDg4(>Y7vCT(O3B?_r*sXj?E& z=of?C@bH#7itpfJ-F zPKmjhk-!G!|JSF#IpfwUu930KkQwz&v`2e~OaKco0b3kvcPS~BjS-!uvbmO;? zBa`nz3a(SfIfU0=?SII_P#0(JncSc$ju6~GFMf8SeCO6IF!H7|_x8urAoM&ZU)(o7 ze)8RO#luIZP$zkg4e3xnE}TqhGU$k%{l&SNg`d7Uvst>g5Mt{VHQO?S_VC!mseKd2 zP7jSdJ!$3!`|^bWyHZ|RzkBP-y=$`#$l}o25^Vn-*fLh=bra|yPq!4L$YVq%$l`+t4!ND>*($cz|fPkjvAT( zNNm1rx!+t=NLB~{AiB%K^Z)=D_=o`l{P4@x>+u-?mXGW*-EqkO`{-TQxYVNob?JV- zuY8xwdti5b3b}uz&Hc*OKbO{vS{x@BPp|V|6E;dxdenA(BCL8K^P*&p@1bp1jC=Wv zEO*3ZDGCW5dVg!i#GSR%C4+bEuEis-HQ&$u)**d7tt};|-=@}}sV@=Vs#&6`KVCYn zJ3h~SFqz|_U*a?{pFZfDrm3QP>VejFPL@isY76zJ&Z;Kz#@glL+DOs@E~DZQ*J{l* zXKV7I`zm*0W*P`T*)>nRPV0G)eXbK6$uefzPwvIXRGV?{TXlYDRCc`GvhU&3^xNut zMQSF!%VRGlV?F1)y2>j=jIQ|~vQJp;vF~ky;OxrvLK_8g$3i%|_zbG8mF%XpmGjqS zLv~#Wy)~y$IHWX`yMoJ}UDLmN1!kzDOi@?KtDyLgWA*QD`~6C?_N!k~t0FewGlX+C zU%B$#J@<0S^6@njU7FDw`DTSqY&p7~$lwz}u2<_vn6B#6vR5ZHsU}B|Dkm_ND=w;x zNFxv4j`?q|B?zc$NiYAFcKRxf^h~+DRO^k2A9w3%1A$wI?~H8RvMJ}p!p_-l?;ZZ& zf*)P&cnIT_$P4QP=b-Nn6_oEKyt5s%k$Off+ar&)ZHpflT7RD5&zw2QWuN~M!uV7g zrgYhzx<=bFf#)}I;|p6^Bb4z;-9{tDDn8)j2(kO+=Ub=Qh#A@L{Rg4O6=yV4w(Zd2 zoSE%D*eS?(n!J9YS3f`j6WGgNFC6E5f|f3&%lJNNdzl{dK|Dc4V$YdrZ1X1}P%BR2 z?ib6U9>A}TQzY3gi&hV1c$$$a*-+0gETo?JBb3@Wp!e?OG7IX|Xbl^))zRn857ps0 z%#g%*+>>eCseR`I&d=6-SDrZKq6=KD;v_uDfb`-Uwt#sg=g@*G*nU?#?aHEV6QR4& z^yEIFoY6nP>R$VUbXnv?oFc_`kC3%7Z?b$nrfcQ5U7y8S9q$?a0}IQsUzF!L*H80% z$|>j+mp8vNRtN%m@0_&v2zMKGwEdzCt|Nc@_!;Y8A!KMQfA*|r<{**wXMef>wQYO} zKMwN=74pEf=BJF`WAAXJNdl>8zrd#v%$M8|ETA5L8znqF%B!>s0p*(31^r`qMw=oD zIYGI{bx_pffvGXR{AsZJxeTN4vF_v7`^>X*CO_|5qxR|)m^ZGAvDYt9%V<3LUc7`% z5z|%L+Ok7{*j0Z3)0gP&R-!()n)+!0*LQQ7>!`;jpmBlDC@m21aOH8kQ<rn;o|Vs?~0`u09YifsoL4~4wJeQfVFw1v=vDK{;Q`pq{ zJI``&$Q{W^lslUJL`Em7kdT@FhKWzJ%uKVYR zJ0Bno*_AuYc)u%|Oqq)Z6wjT=r1%e8&4u~i1&$nD^gV;LW9*QVo43VpI!9+V8j+)uY^Ww^f~oyHr^!E`i*WN4B$nCf^{RA~K3k7422E zJF$36`}tX?Rt1{_a`_Im%zb`z3fNi^$9tnqw`-r&@448V2QL2D4ryDE=#Rm{#V;X`(#hS)t2h+Z^EiK6rV}6*W+6<7b8Ve zT$QIjS1&A*x%G&&psgm30Aqu1m zKatPlbX|{&Y8yOQX?14H^6rLat!H05*FL&ZGgLNYWz>uAT_xOH#o?04h7}kIg`;gx z>%5S~3J)h2&XE!1_Ie%=Cmr5wwNT|%?SZ~kE@>rxyUOH#d#*sk8?Q9UqW_*|7v9+=#Pbt`88Mt+)Z zqiay!>A5YP)I|`VFk=ED@U%xKSW>efe&6u#+uqiv0w9=CjYMxxYGfT7QE zrwu*79ojp|4Q%-^e&8~72(}_J#&m-_=k4SWabz+*HE!-<+RUp!@_8~AC^XgwfKB7a zZ#NwNslDp^oXUBo=StQtp5KsN=NRt{C+Ez9oWX2mXfO0_75F2nrL zwwL^9emPd>%GY+g_c#MOZ=EntPBXYwZ_)b2l|n^v7UAhtf6RJQ;ca04BxmKEW{a>m zOE~m_ly93#-n6EXDes{SjH1XAazj?v1i&y(n*Kj`Uk z_P@-7F_;M5U_ZMZ9$P(RUrSRq(5 zRB0q0^yw;3+}MLW^))NJA~t?lU~^}|ImF{@$=ldT??wV9q4X$W^V+FWs)tGVTDQ07|DJUIVwUp;bDp?$-mU#D*t}&*|~6!j`?*S#hg?7d*k;QPJoNvi=&jQGdj{GY0T z-b5$qsmp+paIAss%_9QR9|9g2SAJS-o{s<9n7DlVNc=S9fqyTaR>y|fd*#?1jI7En z+$MH70Ar9LX)OXU45I&3BzH3w3kne!p^ftd0T9u{qxSOF0OCv$ojAsiclfPK0>qUi z1wU$ryzyXdcS`&|JnTv-I{#I6{-e3OqY@D$FmfsO-m|Ya{5O+QMm@tN{|+t%GlUZr#Gp91S-aP_aedPL$V^XPUe8r)?t4q$23bT8fs4X zm_3q{YX~s3IjLei1|x9siel+)cCzXYJn7h6dWZeca#L{eRMHr)u+%u2ge9)GZ_B%F zMl8lJV^Himp8L_|8eYSBtgpGN6t=}XthNk1$6?jqmMyn?|IOgeVxm);r>deuSNuNW znJCgKMql=1%}eC?D4RarPuFo$MNDp(_e)(mu@W8K;@(X1dUGdUW6Olx$Dz{-e>@;d zJjv-Hvw=HeqR>(8O)+FBbak!q5yWCi+)dn~-=DuvO*c*^ML zQeJ9t`R1EoXU`YGtnGwpjE~@IP|ds6$(MFSR&r^y+Q|CMnO5PPoBYF2%j&x6vGN|5 zvk6dliUsds__K#Q&cHss2M6tMo_Eca2}#})jxsSGO#j%<3nGQ-bk=+(*Y5QF5u{qOW`|C*Ushx`plLe=^i>+H00!Byv zI5yT@F6g@X4x#TdD&id(oWi_0qsHmlQ#wope!b26_6f2gMVPn0%jsS-yHWhxmHs;{ z$ffqXc&Mgk$1BP#ZZS0N&JX)V9)n2o-u^X-J}ugN>}|)`_C{dGYVb{nLiTl7EUsTo>#PV9N%C4b5Ii?+f5Dx*1%L7;Ntf|)=qSg{zSVcW zcFl!JZ8BE$tX z6IlBrEE6>e$w6H5^i2{Lg#Giq{13%ysfXvD@Q={Aq>0a@SC9j7_fnBkxfwEQO9H03 zc_O5=Wat34B2AkHFneDR6E2}fwbL{c0N0Yy#}3W6%NaA4vRXn?ycf zh@Z#EuG6oL7}9Ehq$0cB{xNb9E~+h^z|;CwEc_lU@j5|$@+uHf0$|6abhTq<1Bf*)(~$pz`(emJbfd8?;! zQkeD&AHXZ%xlDQFKYLceZ|eKf6YwAr>PA61qC*J1}r2I)n$M z^_+1{xv}9u&r#vF+D1!&h;eU?`gSXQZ19=wo_X2(^x?v=$_JtDE5N|B&}h~vtZK*I zd*+eP0uQnEZmwhn{G?mOb5=fl#RJ3ni8Q%A!XzUt?zxfGyV_)OkBaZ#qLx#BEbB7d z{NQv-7RU7tNtxTk;-bewKDdeqvquu)-F!ff45dDe#A z+4~pQ-NZQ$T=`WI-iHI#i4W{&F4Ql?tGztvdH%70L4eiy+1Cqa6O#d{#GB{B@%y8` zHeXvu9p6p;oI5DbNYy{{_S!|YsgvMA`)|iL$*fxwoiZD)h^BvO->D*wec;Hkz9M(G ztoha8qkEk%JWdHv0c+Dw>PH+)0!%cpC8oiEKlZ-uHnD`@O0}~;sXuTDuWX_|{1Oa~ zkrE>%9p zx97Y(O_Rb`Tnh(xYZmvc{MJ7H0B99vYHbg-?kx!j!+cL4Y_+3jJ<#5!WB8lH@;v|g zh(PA+h4vMtKY-KjVBGSKrh0YpaRY{K5$0f#TOU8;n0;;YkJ-CK#-kss!Wb5Rrx3CC zN2pxK-JQ>uc)!%z9{AKZTrf*WDQ<0gN878$hYA$}z!*pyVLfjWQ`73jiLw+`z4`pX z^555b^tXU|-HQ^hoYF3Q3J4bUSU2(Zw|$d+?dvrAcUx=ctU=%JRTobh1oc!%-@tk5 z+_$&7FWc&M;%of)HR!LlHWeUhgNk88i(K#9E-^7Nhh$Gm3? z=ijd~8XLPi;Zy}`5}Wld6vERlu*+<}X^t`N;@NYWTLHk4!T=y8%3x(>NN~z0CCh{X z3`sUw2FSwTl)Wv3l>_oAGO#K|2FRtt>gzI??GCqPa2_?2X7MsuyTIKSW$+HY2;vzp z0|FWO_}wxx+iMsI2u+X)%g3FUIXD3ePZDLoRYpF>&NB?b{8UMl!Ee8sALw}z0SA+0 zu#b_;@af5Q87zVi9(({@MtFq{h>L6~h95oJR9$g(E*opoLlB4$`7$VWBFK2KF;7Fh^1$0wXSoG`#J8 z3#(M9ZFCY1TZLr9r>g5Th`=Iza=A`}x>v!o2dLN5=e6rJkO~o)^+}@f^&rSZD9W|< z8V!U(1gdD!P~}I7G{QBXYsD@!S}_X9EgI;7je6jBXjm&q9e~oOKrL?5E`nrQ1k?=G z4`XSWNQEEa=+g}uyc+oRxp96YEJ1|MUWhPk{nC`tAbT7nYA(g1iu13r;7f}Jgm z=8{|Q5=rCVZDAWdJL?if-%BQ+I96^FEQSqrQ2=X?XiqD1vdPY+LIu%4+qVijh{ft6pPDjBf zYftJ+r1>J`7(vBZ2L)L({*J(aBVgf(49iHEegW`aO1~HZKuRC~mxpxal7RYul+fDo z|D68v{?+!M@2>w;{(oMa_}@qD{!aqtk^Z*^6C^;&>;6}l?mQBJSDG4dnI`^UuQcJ= z2=v^gD^2gfz!_+^Pk*m89UUk*Awi4~Sw?zFMw&-p6p9=IaUvp8JWcggG$-0EHmxFx z;OylY%g0#Rirb<}%h*6mod~XoGL|GTHX}6?bcD{&kK@+^meB?_c}>LXGuUNJY3YUG z)4BqT-`DmF+ycIFdyN@Y_8H?c{2)(Led9}xBTa=SO`4E%*8V_`LU_1-kkRpHZ+<@I zh-q9!)mwQFYudfY8i$tsA`aX4i|Bd9h$!9N=Ku9tA4vAdl{rPHI~B4j8a&hPDw?e7 zYp;EKDz9NjhUeJYs7>)>2kS7G6%{p(h0qCS!iUaYjPW#QZ2nFC8y%gtrX3jdPIBnt?tEPI)r)nTQ$-Fu zOp-1QD=#m0-(ccusTCz_*{E1@J~BUW$JPpj{30g3z6)%q;Bg#irz?C)&iHEWDp%H( zs|4FW>?l|M>h)5AA^P!K+3n3Chc?BW&WIGRmj~~?*g(bn?X@0(OofEszl5Eb3+%Lt z?DB*ji36$O@3H5;UE3%I4sRrh;0UVegyhLxN$pm9_RyZ(`ZciU8tztrsFtk2hOGyV zI62$Ay4Az3-z1Vt4gs&|JYM~T^s!%)-rnK;4lJwIXotc1B$nj@h3f^R+B(`AGOkD( zXEb8Wmce^3q7Hq0Wq8a3k-}A=$DY;bfZraHyZmuXg%aro5&YKTv?@lgmsx}RX|_JY zL|o)h3h|V-#3o!-M3@(N>pmbZ;EAfD6ko2DIA`jJ>Ll%ZTuS!{WfPUB+pCIU%C7C zx|5n-KU(G^;})W#M~YPyI3KPu(tLA;q~s=FBL1vt6X9Ttn94hk$y0`w(~J z&@7j!JX-do$n~Lf-Aw22k6Uv}G=GkLRId|nDLd23<#tZe5$)+zb?n}bqN3>2->{(N z11LNW)T9C1#+YqWDWaauQm;^J9q*K@aC(?HGS@GLO{Im+hVNoLsAOy3614noEhmz- znI*~070OlsNf)Iu7xuX2oixRoW`FA378Cny+3MS@=llCatMIo5<^q~J(vfP?LPKij`hxSm!}usPclyC8Lf8; z7~D!W9+x|*M9Cq8bHZ)-UQ16?JH_`EJENnphrD$`cDzQz%CJ#l|8IGaA=KcezwlOO zI<2AN*n_rR8d8!vR;p)@4NQY=JP03Gab$wB8xk?EbL5@nM-Tk|wL*V) z)Uu;VrR%Y$5QPYnE^^IgHAdR__}Q>M64PtVNK&~Qbp<|X6s^OpD;?N=;f?B3VN3S( zi2Bq?_8PZFowGYC=ibM}NEDYyKioFh)4zD;YiRB-tUqD(wech!N!i|1N`$MJd{Vw% zPs?;*;brY@_lm)R7V5y1sS#P3I;HcTjma%Wdg`6T#__KegE<}p#BN^1JECmTv4~Jx zp^=x5&cE1y`-I>Lhsu%#cG#KMG3zg|%=}h8A03J4=XMo&l6v!JI!vcDoj&%SJRz9x z6H;$LVWs@Gz2)Dx`dna}khdy1Qd{`Q`Mw*~rHp6PRgVw+wipx0V#glaQqI=14!|)T zmOcO0*}*q$peY$ruHYE@uBYtIxTaRSaP&KgmyN%sC9O|b1P8JbN_M;~|IQcx1mE~! zAxe_r6?vjX`vE98@nvKIiBo2Ihwyny?_&&a@bME>X1L-%*cm)F{WGL;aXr@Z;2MR= z>thlk8yJmm_Y(4te}7fpn2J4DIShS7T z)ZXejdKuo9rHb9lcnbQ8cS{^Qop;sMdsmo2_u4nL`__QjsYvVc`z4wVHYu{hj&L0wcGJv_Pr#&Nkw>m*T)}%V{v>v%vv-0Mq$XzPy4Cz~*npXYh zyT18~^`XlmCpJV@@z)maw|Fb#mC=9j%9#x(3_AKw6}kSpf>Cl}geJd_9Nt=VByWQ{ z&*VDpqVEb|m=V^KD=F@{$}=om_1dY`I=g?aJc7{=+@bzPr1#w~u;HZgh{WJ6z!BK> z`pR?rEphcCw`H~-*q3o{HbwnUnc$`!KC#$Mm$2gte7p8IcnQ~Lt|lt?t|aU0oKvHC zUwC{#wJ7Gsk2IZ{29ftyKYd;+)5-VIdd)=I-utimhefEuxSd9?1S%x5dWI?1Rn3A1 zl~OA%8b{O)UU_jcA=XU3Le!F5Z5P3ybBR8IR$(pk!=8T7Qv~JU7SP#j`4+Ujq z4IY$27J{F>p16h-GFN2Fw9e-q8 z;p0QnE?%s)O=FJ0kLC9)?f92N@G$n--&jO(uNld08WkX0?CW3Pz8DAG7mGLCNkRBf875TnUeA32j z`y>u1qJ64il0wzqWy_e2>);YUdQaDA`o4n2L?NDVHb?lb5TID4jRX|z>DHab69J{_ z$9A2Bqa$1Pm@M$;Pvd~r_&3Tzdev~9vX1~{uQDx4mu)MUFm57OJ%L-Sn0peV>ZA*V z2QpadkQfC3t9CyQF6s{ksDHk9@hrD{qG^=Ojg;5{DfI=M;hXg1#r;%mPBumv3s^cn z1cT&aT+{^u2>>%P09Q7oey8$9KximUQ26FbM(Z17hN&xx2N^>UUnLX#nn(=uJFi(e zRR9a5AGQ++E7RiH?T2Q>^+W-Pz`&LCd+Tq0f5gq`=@J-_5ha%8gw=m!$|=xN>(2WL zB}``bg{RxE%x=k8Ne5teic~@|)^|vV0w`MCH^|=V*1*+LJdLW$@Cc_E3u|@VgC?fw zLFE@h)ww?RngPfNOB)#-?r?~OaAtnl#T#}*T1!U>fI*g(XIFh$F+qQr!;sjI$AEPr zvo?x}N7-kmA@!LX(P9T{X9JE1h}-OX=C+w|0ic~S!37;OXEiBQHK1CWe(jnoupVrE z)Xodd!T{g^UpoSoi=hB?2a08pXjKI3Y~_!F6u^p*;thu&*5iv9z+zGGK!pRF?|`i( zc>u7SFEZ>$r8|eTh#+GE4(?nV2dc2kfclwqdHG|xuxhDo=8p@ZgEoWO5l>(zk^s~; zz+F-Pn7^v^a0_`Qis)mvdj+}Lfvfb29of2BVSrKi`!3x+aFF?MMK%VN@S$X|Vbxhj zmI?fKfDI@;U8^RNg%HvGH~?ZqvD=R+L<7Cy2iBtU_3yAtGl;w z{kXjP5W<|!)kX}ZtONROs8zw6h}RG-*0wah2Ui&cdo+a33IKs-E)=yL3!#rfaWc~} z*l+p68IsG4yHD{jRgX$1Of zNB=gIV*%8JGWiM<)qIXYxPTJ?(U*fpU~}Y4He{9|2QZZD0VDMFCqqnKv!U03kNgxs zG%KGSZz$lc=Rj~Ij#-TDX~3=ucB`8(%Cb@{yP9ESq^px>v;qlQfj}ipcQ+(V*YtH# zMZ|*Z&qj!WlLj`t#ZTpnEzGX7kmHK!AN!ujkqiZOeybQ0fX1WQ&?oG!XKV=JMi+;i z;|J&igIaCxcfX>KjWPQZj=K|U%6KYn={Adc>!!6sQ&ls~OCgp~>$UGyZxz?CX8ex=C-Nt}0g9gMTuk4! z1sTo~z6)QqCHA`svP+8qmQh<0;z{e7_v>10@RWsc-4mO8L}b}ACh(*??Ni9>neAts zoadpq@3;S~OkyBvhJr+Fgc!rQEsr^R1U1w?+ZF6*3RU8If*6WcPZ|Br6ykjlm2!Qq zQ0j8S^leh4=a|i3-NJF)7#Pi@=R&`!;f-?xvhN^X4E5jQ&=fNlXG~X#`TNvOc<*21 z159PKk?_IJviYN^^3_3ifu>jXb=UP-%iaJ}t}@qSR~3&(RfdCmekIXJZUWKyO5IZX z*BD@;t;H5&4Tk9~6#OCNA%4e`2-)=jaQ!5rti(`zw&|BlQ=M;k9LuW2UZJ^R_|8PHpyz4HY>IwZ7jTAG6 zXK!kN+)!|VCWZ)9Aou`Ym4F)NU*So>5|x>Rf1I?+d`TdceI7F(gWT%!h!hB6FOv-Y z`7T^MP)1`rBn+FTk1J7Zm&Z(;nCyyaX;>m$pOB>O%$fAc9@H`>u*^cjahjiYj#%>e z&qJ>Pr!Qdl?rOk@jY}KJ>j6pR2^%Rw$0o)6##?ObqI!=i1Ls2F8s<$R)XmF;!F!b! ztgR2&ecdcy6l#j5F~b(OeO_e!wi337=)!5pv{9O?IL3T7=(i|lqzs~K_i_~X)*$>{ zi;#BZm1iJghol)ZLf!za3^rLYd$fEI>YZ6JI$@Y@h^9gerKpBZ|4(B8IZ3r3ag2BUu@KWwy!v48#Fr!x1uXCywW#FJf zE7Am?tmmNVSZ`6Q}K-`KVv& z$oBNds-OQ4^_waJfRj+$cI^$nIu@8pAxcNszR*Q7suobkd_qTc6Mpz<~+j$xh#y)ce-%N4`vmiHmXuhi=Pb`4UYnV@<$NuUb+}Ry5zAZ zu}5&_3NLmLD92D2ryLVi0Rq{ma@SwVdhWlQhMjTYLIOj2(uHMvA6^wUJ!wHOUGSFz z;LsYpvuL07HUrGx9uZmK9*(pG6md3G$TB$_7(PN_W3}y#No!cup}~PKE-le5^Q*MY z8cH{k`G&InM-cHPIKNQrpE|Tgi7^tFvSN`l_s1M`SYVZMILL4sUF=Z_EP>ScmX%$4 zu-dfj2+lqJ{ih9&GhqJjdvkfmQuUXQb>#mAAtFEOFP6^_Ij7&68l$kPdITxb98}fo z^CG0rHNNK>G5@qF-_n%z=AMno|p;V2*~C%R^MB|I(+h_Pur ztD6k#GTC7a@6QyLM2{e&f{qIH4u@&|1qA-~=-M~#i;=&&-VYpdQ^7)VHQTS;Ah9Ng%Dv_NvxL^XiInPspSKMWvCfQvaNi1 zJV7 z+2OWp2Ca)8i-7_Jwo!j!2g=-0gh?^u*rD@F{H%hdD0TXv^Q!bx;-lEU7ACcRvYJx{ z5--|OgZ_FT_uAVW$7ts#@HdNxlwXH+p8GP&PSeGAr5m?9ns^XFzE#suGE}Y@VK@_)fP-JS4 z+0nB=EME5rkjEI+{jN|+in0*HH7P8AaqIkX-)U!WO6HlT64^kHf2 zt(N68S;I(Bh#{;ZZPXXZE7-UT#y21;$non8fbP;BR3hSGMSh(}pu3WE(a0YCQBU-4 zah$v>fyKy0dHK}ba+!GNxaj1Hpb?LcE2C zYHStn1nvug1%ASr{Cot>t6%zMSdXy`&7XO6)OJIinhYyGVE9i_`bI_5*C~zOKS;S| zlU`pb9G7cV zzebQ2tEI7i$xuA9Y)}(1ZcR9WvNh*4jtxaarX-g+5!#dhGLo!&5>g+V;wNqonG#sa z1OoqoV)ZHv+I^iKIP=3uC(rW-4m6`y$*}$upK)ZoY!W#zib`R*Mf=3Fu0~lF^t^?G zAg{Fo1|{W-mjca0dA%?ipjJ;VFv?(pL#qR%yDQJz;&fhqMJbfm1HiTbM_apz50)5X zxwwz77Hj2!KZ4?RLmb0js{|UCK)gWb_pIN>Sem6xM+(H2!v>ixBOv!1#30lz^@*lRf2i8RNwmN<7*gWajT+B#8p(vkaAN9IfX94&cy1 zGyW`NW%XK9fyfeV^~|iO*vCQ_;Q3Gq6^X(v^*(-yxx_-qXZ|MhU2Dp6^i_i|)bZ2F zoFugoaH}U8mNR&t>`QPNvohvrSgd3JltrM5XZ2|5Rj4Xnw#9-ObJvC$sO3QPR&C7Q z^6x$r_?*$H+VQ7V?&xhXl_1)^fk zOL3$!CrHr;Lzi#$>_z#p@HEei@iG{bumm@BGoK<=8L^tc0M&<~;z#U0WsW}93j!as z0p+^Bfag@C77O)q5bdQ8RL^0Y_xY`bCCi*x1(1f;QxdJyx5DEFh@^}r2=tJXU&_^o zYG=-B*FC>opeG>hloYfC;`+9%@mq4jW2tiK`_tt?aL;0wuZsFrG=!Hl@ag#R&AT^O zb<@HtT<$6tDMXoC)}KI=FH1Uu>@!k)(P#xnxqIDaVR{Q)^^bQG{ozV_4cTodVfHNOOrcc@X#q=sxqIi*9y1wVK2`HXK3Fad;sl~f4qenR={WwO8lRV^R znwZU zygji<@HD-TtzobAI6BRl8wooBN$$@RoN?+XLb;H?`V7j4(gZb|KxMU@*~Hs{Hqv?x zUw;ipp9-U5&5)@esjs{)vq^CjqVDD1P7RmUI$x=*vM{5U&#Q&~1L#)Qf$Y(Cp6$#a z$XFY*lw~RYt@el?xAp#CU9~=6)E|6f!|`si-yMs5HOL=b_E%bxEZjaUls_EJBqODQ zUX#p`d8d%cB~hB9S0Z0ylUL5=K&a921)eQ-+O;2@D)~ow(w*YNBD?#I3Nl3VR*LN-$@o5`)9Ds?FHO`$6du?E8G{&yIIdJ_3j}r zq`{Z1U{llnqwH+BQVNQ+7sE&&pF|?Z>H7QA0zWt~AQc#={7X(h!-N=KaC9DZsgX z%?pUT!qPiY86{pph-LAleVRMRinGKwv$P^~zLtzc|HU?A!YOVQHS!+~GA7hY+4d=L z)q@IansszOTke=c=6_I~N);?zd4H7yk@TJ#M5-KdBftYdxVW)z&gzhV*1VAk4gH4x zsrqkht1m$)ge)&hjNz$qhk|03EW@Z|_VtpxIEuQV9~}Uyuq1Dt6tZ}5k<5Sv$o!sH z`#<9n9q;~Pp8uLq$;@1}`x)M?JaV^LW0q4?`15zlC^IeK%0(nll^@GY(^_{mtAV+%$jkx= z(QBK+w1%N`!#;(NY`f>ub!A?48g=jjl=qep*V?{I6yFPh%6(u-BH-YUFxKx3ZBG|Q z`sY-=q_=J2F(DfK%^_oj6Ho5QgWrqYGjrImgN8}L zO_ZL7!=(_-`7ZX$UPS?zRPy`fcmYiEH=agUt$9s4DR?ZqwLN_^0i(8`YoRYmy42_At*(9=K%H+}l-;20@0M1v2}j^*(t8&oO|hxMJv-v){(lIA3C(HXmlu{mz)M zh-1F$3f?n#vStE)*(_xoh&&_8+H*mBvgiyyFg3cP*BrzC6C?J*m& zr)*m7?f+`y#s|iJ^W!HDvhB?}eG|y!l6l8b5^Dh5843$pSpx&Tb6%?NVfdn>8{AVu z_t9cK_uF4LrF|mEZ?#eDjaGqyyi;{E-(Iw~0NK^d@rF@e=X`QMMfT6!L&cB=)BzdJ z79~hm>Aa$t;{&JU;xcHE`0E-&xT@ezR}MLw9c<|M<@L15*%bn*0Wkd2OUQ31qs%yNHRoPt0KPhi8$J z&+o}FbSd|yT$lz$X%lOKs`unwrY|yOm?i|LWc9><`KjJuh0jR((H0GjDPM*>R{plZ zR|m@tMfFI}yx0LPd3qeKIq#4F<Y!h^Gv@KuUMsMpYoO=uQgV_!Zp!#mzq2YpMwyCNyUu!feIMbQ1IB7kr&-F9`dHwHCP�CA1{)Z7O} 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


~|ro_Z55 zemFFXS7_QtG9MH_5~!89f(Bttj9@-gzqz&JopeABK0(r(usvy1P%AMnWGoxEmHOYo zca|%%aUACcqejaj`#C`Q-Pgpqi&gX(rT0gDeA9SzgAV)7=h5Bn#sgfjAL~3La6x(d z2MtYSOpjH4*3ee+GaZ-j_ac;L&VbkL<4zyrsgI_*w)_{hKJj<^egy&aYbVCZDDmf? z8ghqHUUubpJHyK>sXP0uDmkb^V5(+GXci1!LMPd&Z-@=~tmM{b)xi;)d+OS+QQnYS zA{%gbj}Q;gRaMgP=Mo85UAB>po`g(3VA%_|5q}G1A2ELHUV$nan`jnDZq^nZ{qq5Q z_qgC=bU$+Qy-4u<>x!9hYdh^VP%C()wm0l#Z*fpKsx5J-8G68Zt)Z@|H_o8?_~zO0 zyvn1uZ!YNot_MRn1Uu`hlm%$IWUWHf(L&FDF7k2Ww}y`S=U8$|2esf9m8**n+uIQ) z-uZn0+f~}{)%IRa4~XPV<=b{=dtzrxZf&we84oZ7qWWl`IP9~8Dgmq*K~a18!%*q? zy+1m;L6ug7P_Apj#p~m-^Yn{#BX^C#2G&Hr4G-gmr?D@H zIwfA(*6IPDwwlO&xT0})ZrTomGf*-hzTOyYYO%?=;DpBa{|L7qg{J>duFTG$`~H;F zpPYO?<@yDDz1yIDu>e}X{!d#ObYQs#lxd!B119GkbIoE)kYe3F5Am{|7<*f8GE9 literal 74671 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 O4krtcBG|wGj`lxQV07L9 literal 18333 zcmbum2UwF!w=e#N8W1E@K@bv%R4D?|kOW`~Ly}@*i4i$|k;$^;Xhcq;%Vf>JzK&0_Q?$#n#U;2m4!vt1_`iyjcluJc9j1v8IH0qUuSi}A_jNS_ z+FkJ)Nz^t!zfBY=U`@)|Q9eIMV*3XyiQ1obyUJ-7th?X>UGtxheomvst>lPwfF^mv zL-J?GTI3DSCKi6ZHuHPzHd(hs?{?ufT@;!td9n4Ai~h;?9rQ0JuA$Lh50D%J1q8~g z`dA9xe0TN_dM7?Qxw;nf+?77z(Jbhbe%tImyY554?>9MHhz=siy;*>KAaLEO`H;?e z=2yAdgWku_w7)aa$3WFF+$!`hq72mdx&KX8tH-wKM?#jIsdO!upZgkPFqr^gmfz}1 zzzvJm?9OR4d6lM$6bvLD(3wgO?tZqQ3m&o9@6vA>FAvz@!g3?YTk(CgWhO_mVXvS_ z1eKPi3PTbWgX9joMP1FrP4ZVBtWt;HFUXNl@^~)<(TwSlcoyt^iRmUu#~EYpn`e27 zZOLqAd@dcur+hra6K!B{G;z5!ciTAygT(qOBP(hxce>dJx2O~9$U~F@wp|py4^%me z-Wy*gXG{Y6m`$>^7!Zln`E!ScQSX`eFuz4~A$16&_c{auA z0o7mB*f2`CFE8TnEE&VaFdx5?RLJ?ok)n%57g-A_BxjbYts)p8zt`eV!YGHlM@rFH zC>aACl1wVreDHgg@O>>zoi!%+VxdpX%|3rI49Q(iO%_CGhXlPsG9Z8rGk{U6DDz|0 z1j4_FJsbUZ&8Ck^{w{X?Tq7ePx?S@T~zjf_sH zJ)Av4X-~!Cv^5691TKG(LI{{67u9_AZts9)?80osJ)l&+xxc!rmi5&&eqZHFJikXk zsHptCP0(mbXW@GslbOTfj_Ke}Rdrfo1omIuYN}AHs6;t%*X8`jzGBtXuu^HlIGK_!5iN|;N>{M`pb5|mtc{_EnT=T0^Zlbf+`84#F}0{fc< zkPzd`D@X@pKp@Bm6I6iAsTp`=B4O!#$X$e{8qpa=}?&)lhGX<}WjOiqo47viV&xw2YT zxRA_~<^Yz=cfW>@(D^;GrK7<)vwp)w?{Nh?c8-isrj1I^J&ZB)uOtaozRGi#3!7&* z8y5G_2d~`%b}~D8kPwzZq@f0fCq-TAQ6;yP`E7gvVB|`&hcl`&+{EYpkrkHXO5|ANg)< zpaE>&_(UBEZYm$v?Y*dk&A%h&z3m)z4rK%<2leRVteWJN4@x9vErj`){WAuj@&~lk z_0&pLY{LGHi8wVvu-_(vYlmnH03??GV-q0?V5y0>j37mz=HBHi^P9-(YW%68p`=8m zhxI)x#sBE$?ePG-b?~nHd~=JMAW2$QM8}mi9T++baWQb_yrj`?9>XOh8d;s!@?QD2}?2i z==Wyx5;IG*kb_39Bh%(ZGh*8Mhs=~XhHxwc98h@?r4rrRIv<%11JMG=m>JvCMw}kxoQX|z$644#s8F_Kg_)3Qe?EPGstQ<*lZ^PAuSpe0x{Ia)2<^z*vt z{@2sp(f_K4@rB>jx?FlzbP9K_h46)Pe+HMD6a#=qDh^Gq^}+jCgEnnqIaEry|GyE+ zQzXRtTPWvz6b}G^?Ck$oD9g4^&xOs2aDEuF)lzvW*r?4FxNMOb^VKD^KUS^BQK5Tx zTLCyNWd>f`)Yb>#=L@aoy_)ZN_s5mJFj~e7)m48vYL-WD;&TY28rP2-^pyq2uWN>8 zP4D3%XAhP)56!%s9E2j7i7cN6)6edm-M}Ai2Bkkl?+a+shX8sl3u{5wTY>_GQX_>B zXUw}*SSqpMm+byZdid4-s7-Lo3jQ#5e7@A+gR6awO!Y&8aM}FB+!0p_hQW&}X+mUn z&sPi^(z`cgvy^h?@QQVckMC|O#ave~vFz}p65fKPigQvS7NE)up*4V@ zFeCyYWMn8zooC&`wAISeLEe6V{1&uTsO8}0_l9_`gOZlH@#RciQh-5DVD%qQ34fcMwhd!*6e|U#992^=B3mV%w6^~&R7twM4P}x zcmOQO$8UR}nO7Wc`v8Avyn%s6%?;)};(I@``aqfC)HslUy&^&L#YCMCFd#Shq8ZwF zTxDn%DmA9upEHDl*v_FsIh0v}@tK1W8GZX%PEBg=uwnTOELH3Gtn1t)0@x&nM68CR4D%OG}Ath3Inp? z@f$82X91NMabdbat|_mzO|PBn-IkQ|1~N=%!_|EQF7H&tg(tXNYHUg~$Ef};ZnrCK zIOL`DnLY{_-rj0ty4XtL`_+vwq7g^gK)I8(xWlhb|NCPYV*m{Yzj;jRe|`j>Z*t@$ zfK>X&B{@g@K=~OPfu1@!1@uNVns9fgWRWh%W!;ibpqx>@;-6oMLfmS*F>zk{WWKP4 zP?FlPlFhANk+qPX&+jc2;#%SNhi8>=xnH8DizU~S-uFAezwDwGBq=KnO)5Y=UXv_z zps}xx4K4$$F#nAjId!1Keyb5PlEX*IW2Po1&&nY;+ zRWIb^+ZEALC?nAHIMk{k?tFov&D14VVyfwWY#}Z)*kbN=;N0VEQ!3I zREGzHO^B2AzDuy}@x18CD;K{s5Fmw+MG-A2CcU*|D#xD?3h@Ndnd1zl-Fub@P(jXz zGBIcVR)9wbu`TTZZ(lyH=Kh08JqfAx43&bAIx2w2t7=ytXvDvPsa%51R(U92gi{E4mt| zG_I|~^bojNUCnm3>c#Q9RvSDJ3oYKipg}#$wicNY&P*mG6_lL zOryD=Zi@;*id+zRxAdH`aYjcmNn_fV7SM0pxf;Camfhj9f7{N%Bh-Z^>Rg-)89Wr3 z9oOSQ-_Ee0&Id>Cr8>+WifARiK8aPNt}LuUFup|4S5c>vB&!whIOb|bUTJX?WdfV-%u zbLwhCVlc-qF&*3W1{(fHsdrGKM5n2mm1=gTmk_18&yBZ+jjMxvgpE zI#`*ef?ZP|YHR_-S5-eU# z2LH>w`|S{c4NwZOHV=AmE~lQuzt%EQNG)f1X=FYCepA~9T?p3_&7bW0k zcjVDTNpBX9&)5FZ1PlWx&GR@~g&Ph;9-<#sb4IQPhT`>j*z)>Q{3%_iQ zSNvVmxP}6!9E0&aOE#$fk8XbRaOr_Sem`X}Az{Y}eW-RXmQDD&j)X2;OfglwL&h#J7Rm%N^d;S&4-Y&0x-uS!_^1&4`{U-i=NPfx`8rx z+Y)JuIT)h~)0NnicU7n+P1hs|(FGIl8#lWpUx4fU3>@NjClVA zCA=`JvhdE(&y_*kEb5%OreuckWQOxVKxayn(DPG=b!3mXHm5;N6G^0AraqM+2ogqu zE8~sUmGN+9{1Vf3g&Hy^`P_7XV-m@TMC{}-4kD49Q9T}sn9G1lW06X`lta7=M9kg@ z1_<}lfQ`;fVlW?K`&a=jg>!;~%9Ysd4f=5$UUY})_I^w*0N=StQNN7v|4|To8#HuUmOiv)VvbR@q zUWB(Q@P)dF$H9o&*SaTe=`GTSyn8|&;u2zu-rvKy6E_ZV#?niY=1B);m2Fak?=5+w z(ZZAQM%7=H(EH^r0rEf%BuwZ{)N_|x*7XE|7Q+U%c7gx>ApRZg_(y2!pGm00`aR3j zwuvscgz`uzpc@YCa~mxuO=bO#DltGGT1kgq_WBfItYyC%7+ z;Ss&)p`eSGB)@hd@}HglN5J9VlqS2Rt!J*f5*Muxp9c_6^jmc3zj!ZFQ`6b8&n=Yb zA1w77k2NjeGPrPQ9AmuG;6cXzeHQ-~@PD3?GrIL!pPi3=eKu!_A4RX?QiJCdA?5v5 zhNqFs=1m+L_gHYZBO2^b(5soAB=q8+ftmlDNdwIS&p&qJV5@9sypZ)yhc*6WpA1Fa zs=&T*m`EZIsVQwbw0HBL7(41_r1Sr_wwob8rXlbFzXHRSRL{F_Zp04yes-I}rMB!; zgO1TjDgb&A3Va=Bc-5I4^Z>&j&NV^!<$28Um)00)#od9(c2dP#C z(T*0Bk#dp*-^m$)ygQTLi{z?}s~99Mrx)Dt9Z^;MW~UO#rV?50jWJ@!e*=tAU_I(L zF#5ys;S2!K^#1<29n`wNZ4Sg&%)&RLDHL z=XyJ*X@@R;!}sf;9_V^O4Ai`qJI+KNq=G?)FYAkR^0?1sd*tlklFO$|sCcXJ+Mw|J zV(=&w^;iGzFC7%VYlxogas_^U+j49I;tSt4nCKIx@ppu+R9~WT8UARNp-TN*c~~D6 z75pFvQGv+2ro=bat3d2(IZ-~=KWuQ*p#J&o@a0yRCb_(R<4AGv-gh%}av9t>JHjxA zTV0b{3q(EtU%v=-=)5BbbAhWO{=;mNl%v<+dP}$ou+zw|z!g(8?s7~oiaT+zTEE`R zZKgqsqG$e>sr%dJ{Z|Q8OjuTS=TzVjkF~>8i|>m2$xMrZ+6TRC#)WrUe|oLc_|eUM zBsYmeSQybXlRvDlkxG41>{gq4}*7_2Ayk`ft6Qy&TCLvwC2yO@I5WPz@)3)#qnTf)a;= zDs^_;90ZK5FALM5d*!U50soBb{&%PKAHmFjBwMq81it9E;5B~^a0$NdZB$yFqg9?EN4knZ%FQM>}40#wa8+Jeodf)NMVFE7|#?Q(mn=TZ< z064A!H8H)orkBh~Xwl4Ylwl6MuE%33P5zApJ2!3EpdBg zdq%%e;8>O{IiLp^Y^9W)hzE{L>;&Qx2o$G*?e_znnQssG8Q>jfP)mm}l29b}V4ol1 zO=lL^VbRE&b1>jWGu*np1*O6OVx19ddOx?ma2@GQxo@*t@9(s9;reBT`&%+lQ7eyo zc6hKDdKJ6{D?dWyLaA@8S>WZXxUAWz-EAmMHQAsR@FtR~6NJbs(hH-og1@zE_JBxJW?2zA$^uChgX?+m&iEQYg;tE`afEE>che zIRCIt zDrG%9jxk5s`V7Utk!i@nA-8WZ5{vpb%L87Eut=Qz)T-Ta(65V|=*)b5k(l)QVpW_h zdJi*sP{lVrFnTBA@9T|!r~`QDU)(`)n>?6MQT(S_o13LKe_aqxK9_G_xhfyA6mweG z8UiD7l3-wi=h}975dXY2`j6deZyjx1*>r12r6at`xpO7H@0`Tv<#z@BftT-Ii4ROh?t7IC94c72zambyWq)6PWxaVT;IJ5+!kgm!e!}N_ zqoyZ6z?phmA2i`-W|gw;vU}WmjuwT$J9gB!0{;sn<>+xIplx=_U%KV6RzLh}vedo~ z`-4HZlXc_642#X>j=iwAiT|nM0+&B`J5W<083vwXohsQizwzC|5H*DiK$Fv(ARy(S zC=5bE`aWicLAqzZ1s~KI0`!>^6J$?d`-~)g=~>sc$x@?#--<*6uv5j+Yv*uzv163Pfg99P60#N5HUXciYAubq z4-#x>LXhCWIfr6U!D~RHQ6>9tJW_&Wg&g2&){##m@CKM5Usv|Cf2Mph!#XW545qRbS zA~KpgTlIWVxKq4aq9Zc2uO*e{^Z$2fns*xqQm_yRE|Z1~3eC4sXI z1D7Ok8?UKJLZyWdpu%=k^VI-%AN%P^g}mGAU`c|(qtT+INuYdyn-C?`fzG@|J(e?0 zk*j8a%vL1>!1Sw>b~Mw&@P8dg@RSg(9Mkrnfj-Swe;Y+TwJ6FS$%`Eo{jxjFNfh89 zY`@PXxK%a~63oHA_^WI4!!4U*{Pe7_!H*#!DOz!1msRk`Y!H&2#v%o}P$Uu=df>xI zGS{pVIldg8s3sf=ZXX6kq6KeN0G>HWz{?fmBaHx+C?bE5a0sx2rxKGQ+R|u-cHv;o zsE~JIbC7&!$nHtF#Y-j(smo&qf7liSPL>}@BdBjw`h9eq=^Y7qQW4<=+8J$)SDMvTq8mgP61 z(-J?4bYL&wk0SbY*bhiu6R4gXk10G^)(;%WLgOZ_1;9H+TqA!YswRKD3G~mZzbg8y ze2i=!&)8?5{Ne(lSWPlGDFqFy*q__{pC#HlC4ZWzd9qs+#Hn5d?`nvon+H3yC)!%J z@_r{UA_;g6>GBZ&>pkc8dAAdC2hLsb&2eEVdp=k2Chx$__A$vb6m{p)i@~e7vfy9e zTlRNyYNizTO~7Vx=V)-;rx=~ATqgKvzL4vL!R?*LqN=qEc$xJ0<(hOGMKsY!N>lc1 zWUtPO+jPT@BiemK0KH$;3-0${=-!uJiyHgWS%H$O4^0P=qJyhLCcU>oAIC`xApppO zAv_RQ$9VD&8(hFo$aJ)Fdr(%<8O`p5JyhY4jXw8e9gb;3v_Y9#SyY7Xw;Ab_6ztc|1b8&B z%#2MlScvXV`D`}KCiwmc*1tYGYaZOPBM*L8#=~Gqx14W45Z}WoLa*Vx^o|ZYF(BDF!`+K0Tm+}S^yys@&87~>q5~Ai?A&!JLn~5=X2;A5pNvK1~>`? zNC*K>r!h&#{cG8~1_Z0^_WVcj%IM5ig7>R0 zt}fR0%wH*R$?ux&!TWUwMdkO{YeVMwu4X+BdK>NIn@oIqBfMP+{?$Lev7^T^wNFYv zn{?*N(uCOFJaDS{%$|}p=(+2fq#b;>)aU!Xh9;+yz}v1%)P#Fd4(;XaDaRzoE&H3~<4}`v0>Gey`1;79J8ln-LcSm{aydn+K z9lkX8qLcB;D-)qSsmtDZGM>&|BcDiT`Lp~9AI~U|v62pYsi`!DAL@q=4K;NtWJb}6*@ zWP|79qrzL{8=0iDG#jB@eF(cmO?~=gbT!7#JjK?*RQgS(VzrO+=Ek5tNAO`=?T?og zX0Pou9mzr!(F5ckHm7_Ego$SRwfP_|>3-8?He-_b4K>m1&Fx;(Fx^qL)Z$Fpcj#YB zD_5mmpeDN7zFIfEVwx&7#{_w97YjDK-LBpkD0Ol>(k=C|DS19PCU~VSFl1a+$EuCSLWtKrdSWybj4ZL^X40bMrKI+3G zTU|>>)ur`bx#H@Q3D3dSWArZl@BmAr_PYq`m)ptTLT~d&ESVNxk;rg!u}1GURYzAW zKKkzNgMD|NPT;PA{yjz1XTPOo;>2;Oi!}-}t3NkynIj2_qJ_WEEM>|h;Np+3Sx*r7 z&g~PfeX=3n*|(T)X!e=jKG!tXvbq1w@}sGR_-lN=d67{4ny*W$TcfEznb0dMC47{@ za7d?rZ5+)Xhp*pdyC1nWE{WDlxg6dskufw4z54j0LjFgCYbf8<#oJ~shphew=?tfF1{KdVl$}E zn>ng~X=?j6zGHVdU~9eLy-)+$Vnk<&&#Abde|_;Tc3rICs7+NqzFit`C&Rl&@x$p{w~4hgT$N7Kvt? zrcN%W4S7VQ?HxErVdnOpdHP3+l}dMG=C1X!Sjz3^Rxu9_s_<1)>e*FXYb!DUmWuyL)f*QGC3sBD6JA-7%neISw#rk z{M`TGsC}FZ5!((e9Wan1SBWnQucuihr#yd8-hWh(GbJDVuCVZK;zje$QPIh@Sp@_5MANS4q!Lln}A%=D;eGr_)gtw)_ee#~)Zs zK8K4O^K(kED)0pz`54@T6o#0ebEBzz<~kpgrW5)i0ElqBM|*iE5>|PW#3iYodC%=E zntIOKOBYJTPFv6144KQ-kK&Z98#<2m@avh|FlR^-)*`7^!zaD?2@3ya3W1T51_dur4|^n-MG z>_}r#`qa_f!l%esx8sM@sO4eX{L14P*COwS9A-`B$!{%-ulw-hEe2}73|efX%P&bB zNb9pvBv8tCg{kR6Rw0rsG+VFG91TS#7Ys{B)%v{(?quXuT@;nOC7yRBhq*ZQm-f=0 zgbr>;LobIpxgaJ@(CoviiI&VZv0{ms+&j*lQDM@su;O^;{CJJl7J%2guiK(2nWh|M z<`mB=#QcT7`AvhWWyPK7I@fjW3db+v6^*sVzkJ?OTbx(~1Qe&4+emdB9OM^iZQA%c z8{vQcEE@OtmG65pce!G7cX;93;pHXSw@V(}cZ-W>@-OFJjG~FF?`Q&|H`ybMPF_D! zkJ}?;xh$wkJ2P=Lx<0Nus$9y`Xg}M7U!e9 zKHqHIT#@c37Vr+l=|!bl5z>8s9fDUR=jftr4>_%rbwrAv0ELu>Qr-tGNdXWBnkj$& zpb8^qGpkCIz=MeE3-KAHETja*AG5a){mjo(3<@0+y3#)Oi#cdOXvZn^uW%0J>@@cL z8uY1V={T0Mer=`tex*Y?J6J1lWkPY`*Si%(DPE=dS8IQs@+j}I~StK%DSs#^zlX7{z;cl>?~m`Kt0u@@78N% zjInXMQ6hdT-X9}e9@cwb@X=Ch;^08{EP70MlZ9)hQY+B#d}xb5-kjO2+d=#n1p@^w zDlFtq!bd0}mu8tTugJwBeLE<8>koU`1^w6Ps_RXK<#)AhC}$|MCnlbs%V}Oyy|ebk z=>su%PJRJH!|C1qjN*Lgx7>@+Zl1PwO6uU?JKBu_?+X?NgO7RgY732-`1lB30mIHw z3O66R3nqVtl`tj*A6elntd9b4WdYWV(=Ni2Brh0NlPJ8XiT>^h+FVlZWrN*I?;2{X zL~CZzwX4r`d_R25J8DeSDe2+CilbP%$tK`Db{|%d-;VZ@uvGVb6<~Isgm0JWz8Kx9 zkU|d%TXbyBdSn!REV?@SZ86^lOI}Qm-L2wky8eNdbG$<5*T;+M-Es{IcACn&+Elq?9KY1Z`_baLm-rcbq@E86T(8P2yhzi$eEdkk>}`+D#Pnv1)%tsV zqoK_U@@zfay_m`uPxyr<10iK}5BF<>bD8 zVVS&Va^@+Oy(*jG=$+*29(iy?dWhYO7caAIZ~e2^0-`-VpOiT7LrE%aS1e7p!>#>CicnpYUYObo^ejSE%-8I{RF8CNn5>KMp2?!>#J^^DmP&9j(FV}__5ED z`-b16;A1bll$@s!UI69(OLEfd>@Lz;M(nPieq=XGWxH3#tZyE;Iz3M+cSzFT{d#6| z0i~)q@fFG9Jnqx3r1qY1&FoTJ1H5~9%4<3GlZpMw%+9gNg*rX)8ae4V0}85>Be#ZM zw`NlGmDm!>>TGyiMtb|$7Bd54Q)YYawy{s-SMD#CHpK~1V(ROKm=Tw~!lMK|2-(V? zW$pv#OU_25U7eE<{!u2EE%!-=oIGAu5{T>6S;2hFIEj^HxK0uBD(I@|v(B&LuZY|` zMHNF8UeP`MD38~CUgO8VDkdCRVQcm#_Iu+x%b$$j=B^tUh)32_Gu++dlxLPyzoi@U zx@YQVv_4{=Mfe^ZpAm{FB)}f?J}}-DyixpGs9sRw_+#TybbLPwJTtd`9nMkpig%oh z>7Th2SJ1{L6=sim%4Y9?bm#O+jnYNctV|X6?C1|DK6KSJ(SCN*>X2EApQk5A{N+zw z(lq_ZPeYvZz1=KX9=FM(QDr$7mW=S8Jk%1@qpbW z<0raLJDL{@Kg5Jyoxkx%`-9JpPvsb&DacR7_vl ziRUE&%Ni{mcZYnJH$iplr3~Ya{y#@y8m7C+zg_1 zr{7`kfJ?H3&ZbB_@6EMa9=YenHAD{1b3Z>z_KDA3!l;FL^?OrUv}#vG$MYpZo~2{< z4rKnviif$W)YFGY-tfJ|cQ0_6tZ`$HlMk_%mmaj*87kE6$Rge>Kc^_F>;`oN|J?{5 z(gF6{as`fTSZUJ!a~!mz6GpIEKku@G>U~R|(t782{L;#gU{71%8u%Pexj%X$#N{j@ zX?#b&qN7olRi^VTN@J9cmW_A4-6EQcQRxO!Gc=9v3=c0u&1K@(V&YR84?bm&ffnv3 z%R3cY|6+HB(7zNEKTkAWBfHo=xXtK|?ii($QR9W(Bw_qyYMtC%suIm$vn z0JYR>@rqS6Da2kmy>6qWyE*Ym1LQm85)0YKuS=`% z)><#)h@8Q?Hz(fQV$cmEQNGqqosN+287ggL6(ru#>Ij8v56#t_%cd=N&lRgvSzA-` z*NT5tb3kl)SX|U&3gN$LxmGP=!JEUJbMj;V=}&%D;W|jvC0Ja2z9=L1(s_P8w}4pR z)##N1l^|;Y7C9A;LedTL9%9f%2|N8qFbQuYHzPLNs%XSctfcIvsQ^<5-`tG{d6vag z^1M0^u$TFom?WI^g_P`GZAa>I?~!1KaEhTfa9hbl-VH+g*ax-Om#BqL7;JeKNqnX3 zLM~ycD#1BuFX>ZA0#uOR2U#WLxc506EG>JKXyNR`@3w~bUFd7X-UhSPT1L zYt_Hlt)_NYrnAooKQux&A}wj|3~g(W=WUv^1#Ld%aUYpW_w|kwLEEhk2?tSzxu4Cw z;EQK2?cTu;*ZYZ?q{?a394>=J)*|8_ zA0s}g4f32Dy(&$bIB|i5GlU~i^h4Ct4EG=LFQ-XcCAKapROL-9!p|k8#VTuJvbgJF zuNYmI#NT+e#wGl5f~JF~jl1nB8kTO|(#Vy%acCa;oHo=yB9JBfa75qQRNOZ#6xFmk zd{I#u#b8+5x}5=Y3C}DV9P~2I*^xkx^ zqw02NAOkHeDv9daVtiN*CG5j}OLPQLcZM|8GmR2!U{I~u{@qbDYAGmdJd06_!$48> z>KU+E;fPiX#d^p_r(WL&xXDqs9C=FkrCuiCcSq{npAGcO)EfKz82ysBhnLK*x>B)6rB@gY2_Ef(_fJ1nAw zucfd={TsEpBTb$$O5t==!p=#OkyEtG`kdQ6lBDk<^PAL`qr)%WC_k;<=;EZ^{VBac zf;{@6NZ%Ef%->oRoBTM{tM>K1C)@YMh~}?Yv4c1E@fDw5I(pEy7{3pN|D-hpE_UcO z7EG`Ep7Y`@_g@YPtm!|alvjFSKt)slydyLX*xpsDUg}~(sjWp&%0ot~2xoMX3>`kY z?SKY&6>`7JObPLb&Ei`n8@->NEB5gd2i1ro7P#^32I$uO2;05~&$`fN4QVwG6grj* zk45H2DFWb(BWPZ>wZWede>iP@o1#(6TcsCdD+C><8W-{gfG4Pt>oFFj`E(JHSPt$S z{6rZZe{*J1;Oiu{;6<4qYyh~rsu9|1j@`(>`v8NcBE?W?4J5X+Zl+BFLE1(9rb3F< z#8Ui>seT-^ZBdN)Xm-L0=zN?j%80&Ck_4?K)cbiSfUJV_)aOz`*rXXN#qd0ZJUxbhv+L*=hBMBxzYG*5gBJ(P3 zYx*of4!?yPS>~copsx+qf=((Xd4uivNG_k0QI7l(EosxmxR$ctZ%OgF=q#Hh1Bp32 z`D4o1$c9SBjS0CA_Z)_di-#I&8qsW;9LTUs+0s?l)7CjfvOAAP+~HC1^KI%JY?BPB zl&PVTHSGjTpqnJ!S4)%Z%LVaUdgQ$4scx9dhXny~H_-Im3>*wW5|684)VmmuvU; zPd8t3k5n~_Y-IM6;4SV(ns35OR3cQNm#|vX^r+$-{yH{(<++>umOY^(7M6X6BBtk? zd0<^(#X2hay4dR%$h&T$#)ZqSr%KMysI`|_px1-g;z^|MJd$w3lF+0p4BlOHazW3~ zJUu!aLhs|~4o*E~I*?8GVsbqa!;4~<^NgJgWgLaLA8nw_z*?Fg_1SpR^q>B4?EN=u z?(@+os=Q#fZX5juf5rp_l(krQhmJ}Tr8Mb9sAWfb|4j+X(2frzWR#ClQmHH`_ULpH z);8IPjjYH%|J~#eIg2w3NhhVy##!JfKu(W5}_Dhd)y9!XWtRKhEJ~0k`$EL|>RQ4$S z3BR30g-7|92~;+8kF}{G5Sl8Q1JfZG&@f9nSAU*|r2QgLQL*z3mAF&QlDbdF3}om+wYZcYJR2z~M|=2E zz_$o|5%KHWndg(n{O0%(ws0>hIr3?vP1Q_?H5rD!9pjNSS`|&11Gxeo3fOZ<(HXOJ zR{8m-I;E1gQfyRY5V0Q~izpZ7TKsqnqg9SF2CR#=4-Q{`S?F-DX>xKDW4<5A%#dUv zc3@Fc^dx~swKi<HUdXd?8VPw!-M;Wc^E`Y_V&yzbis}y?TPuyuy zV$y6%e&5&%jaVWaZ-&7tZBAp4t51*M-r63bPxCz zsBZqoSaj3h9sezna6`&r_ze8py5Y-~5$07IPmQ4EA8drsfp_oBYAwq)zaGju-_JdV z>Xx57%s}T#_!i$?M@!X@trm(#H*93j$`5^&t{Z)wk~Q}RQ0cxTHdrez>$Ke${diDm zYr?Co>z3%PkqcQldnEB!2~GL}O%B%pgxlGTkwh@a-exiVQfa7JA+lQM$-#R{tEu4S zIURZN@Eba}>d)_xQc;PGtXe;IMQP*;4Y6HVJ2}T__$WSy%6ApF&b3)@*MC*E>thc| zKt;oR5;kJa@0I<;mjyL)IV0kw7(R`p+{fLoB=4txUVS%qR_UB$b7AH`5v?XR`m9}YZPRc6>U=BTEgNRe7A`;ed(m48w&Ui zrC=5Ne*dEsg2*dG&wdY&byJn3|6b!0-v#l*ZfYIPH`pL9IpB7Po}>z@OczadkHhb_){OZ`EsY2`9-bJ3SrNEVg zBq6C;-X^$c6s0)7=I4-@t%>x^ip@`DLBFPoMbWkNJ#^=jv5aKoe0mpVg?VyblCsxM z-4Z(IqzmJA1a?j=Eee~6IVa1_$)beboY%S5kHZ$?jAhuCpT2Cq;=RxuKcm?5A(@JeD~V4eNt(cG zt>zoT0TJkrQRp;Q>%c4Tb>KL4=o7rb328zQVa8l;s2o4u*)Y|1ollHpDf-i=6R)u; z!L^3y^sW0EK@C|Lf;r6n;WO>ABuY3k za|dE9N=ClnqcoxuJ4jMz`|Moms>%X4owzO>eNW&raBZuGc0>sd}CMzfRj zE%vo=eSq&p_SfSn)q)C-_tV9rZoO~c+JAG1O7VX}i-qY!laVOZQ_`T5;J#=wB3hbs|$VUe;hQU3DrJU{=<|?Ja@^Q3QV6x zq))qvwmtq3BwdQ+E?*X^vmIgNrI2!Y7qCP-xv_b( z#$Rzk;4`fI$_-hsEeR^NOGr7~2*Z^T`3#8)%`4v9-6wYkHx8zTIEgU*7Oo@1*1B`N zhCPpP3J+|CX?@D3DtD9DNrj|y5f8ppVzWaZ>o7h2l`O4Ni@QsWj z8~5UFK*IXh!^0PfgI5o31WE46J!4XK=)EL#7`B*HZ&or{@41-L;D5vVq0WndkHE66 zYc)6f>zG#_VM*N8LrhbiYBT5QCOzk_kGd@+GV1F1Z%0`6YIs^R4T9dkkKOFuLaUkG zp~IJyrx*CvI8&^g7P(#}cVipuX1cS}SWmU|ep$m_{Kl8H+9i2^igjnJgX=%|i`QlK z+Yf#H1}48*8~fh zp{QRO_%LHf7^kcSG9P^^Vd9I3T^ZyMiKpS>;F4<&_}Sq!sGBYOPD4*vXP7{H$e+!1 zM$>;H!+G_6pLPFnoODKHn`*b$uQxr_US}5^Dfvv7t~BV`|LjP-y`5#2 z&8ld~DevRC2UQ}xY@?rkr2YMxmyH9`bm$Vf-|+G-Y3PY}vCYR<(Y-qDYqAnLy)&MY zEdp+DH7CA}L8aIzkE!vS8PzTyGwWNV*M7LH)*r#ITnPIl3chW5Y4bmL%XhDk$H RUTE3-{$Vtz`=3vP{uk59A;SOw diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png index 32227f59fcef2530b4fd6c3e461c67c24f57139b..d10abd4bc24ae33134d7fe99e3d51c4841db294f 100644 GIT binary patch literal 9877 zcmZX4dpwix|NpfabBw5Tz?4KOhj&VjTSdxQgvjBY4y2qTiQTB^Lg^Df!;HQU9UTxPIoiO5pmpH`aC5P5#1}N_|VjE6OmL-VMEhR-9;j`1#~jq`c;Gum7&$0Iz)DrT2!3Z^|av=1K7 zRQZ(eEtTQ=ETm% zwfUVN6wzV?Z|9|W*Zc+Fhxq%Av*t#tq0DKqR(yEYK+K=tSz*}4OFLwt3K3qZ)}c4H zd0hLvE08K})on#wP-P~v`;HSQUQe6@2E-ln|4crQQM`{5BfNTMZ18qAu+F@7k)M-| zYHmB_bzYq&ZnS4_O|n3xmo2)V>Kk7TO{gW4(Pfd->?N=sOGJaob%{eXU{eMpz6aM~T_z z?Ri&R$AKQvqCvv*dh_Xu`-#F%$#d7z^bLaBNH2^FDsWJFXTqdSN{hpFt$n|w1-D0694{ zaik9|M>_Gq)m}(n%545U*W7_YbYx)DB|1kR-w#VRp8<{^3SqB0r!FSCInOUX8!JkC z0Mwa6=|$+;V=b47a*3GhsYRotSU3qo1ebT!r)DXLz40MDgx@nK#ReY%=8;7GuFh)9 z^wBCD_?{=>)3KY~H-}9>dJ#p>b(7V0EIUbF!zIaZQ3>K5!Y?DwDE-v2KsQ%fz_{{S zX-M4lsdsx%rpokI;9kJQ8|~>gN5soDMEQAG93dng&yYy>tA+Ol>;mWRi{5^tR73sN zzF8YNCNAnO<}fe_`ZDn~yDj3oUiBSt7qjL*c!|RMb`0@11>nF`8s^zQS87x7HZ%Mh zOnMwOfFcc~=Ejfpi@DerQ_0(f;X8vGVBaeBt*FN}?Pv4K#K3*%fGp_XgTv?-Zz{oD z`%9yJwS8#l=$pggSb+hSbYm!&Ji&_wiK~mRo??a;nB8pCATdHkM*waA?%ecee}C~kFGd8<5Rw`Sin?~}>R!gm{aWgD16K+6zr z|0Uu2dbihE-BJ-kB@QTPD3=YwKZ^hS`JxJT@KIj;M(CJ>Sxn@M?R!8uWwS8chnz=( zcZZPGy05G}^}rlkGossC9*SUY7UQ-l2t)11fm~b>zEYxo zR-&h|&aa|8$y9mTDj%4ivKl-(bwO)f=-uVg1yUmqx6q3s>uK+5z zh76JazhxmP#$|RDxA~vz{M*-W5P`P(be4AzQ4adlhya@YNbXkr8$K%i zeW&I{d9SZii23#juYb$ILUUoL>w=jocW84S5#+#{l#}CV$z5;ha9f%VFr^6|&WsT& zu6lK=h(I}0C!k*iY9PKcbXf+-R9EZ@^mYyqI)Q}N#m_$YUoB{YBQJ~6mGuRC-A)FT=(aZhi7`qx2f^LT6XZLB%y|ZeMx?WcF;7 ze84Q)3B*2~X*b^ZQ7-|tR@FH0S+G9Q-41nn;E#cI2!V0Oz>tsL?GG)5k4dr|e zg@M#()+={*qX48Hu#WOwTUZ9%v;^0CWdV3J`BCrrrmm{_VCff!6i}eZXZ#ue`Uhr} z#P8O5t=lY*D@RNm5~Z&!NGMsg=ZGjT2o?B8t^*C;3rE!IN!bv*I0=#Dpbbsc4DKn$ z(84V>qny;kQs9$D-z*9!j}3OhR6|YDiP7<<@h$9l6#!C;zc*=cx%Y@BxLQv%Ahfe~ z!p8E}!rZFrq3tUpKTjC=J;X2X^kgKxm=!{xUgLG<;n25E{(-%N9O+nMJ8S~P0F*vd zyy+-|ynHX-xIYjB2%qBkGgM+dk9GMgqFAaDQ15Wt*X@sMc2Tg*HNN{;(Y7GfX7r>s;@hB+G8F_!oz(k%D?eK<^&Ut!fMzI?`Y zX=)w&EEab6UB+!iB79xjB(T9Mx_`SN@7!v%$0Bm&a zz)9R@uSG~v6dIS>V)oHq#RWBH2x-B+lau31U5iTLC##xWb(Z|F*PZGHAF6!`aDH?1 zY#SC$RE#ArAvBcrU-OPuEl_d4t0t3r_7gRiSPDP9^E`Gh{b4hc+MDi7-X`CO!AJVA zG;48UAePS{&nEqnXVsfc*84v>vgNIO>nx@2Pu}l%HF9)t3Y5crSaoq@&nC)rp`ssVwflSSVNs?vv*Fd%^taMRefXVRQkC%Q8L=EOR{v&cS@3=1;CvT(`M77^a^-fq%ShcQ&NH$A zU90(6e_ZQyCH{;Qr{|xVflY`%o&M@J88PbFMa3^qe?8IwUm9@RiYjK(_(o+g5+mID zyV4?gQk?y0g3jQ*9aH8Gx7-~@+`$pThoZA$wRmUlK|RR`O#8om@RTE?>qDWRf!Nmz zw@uAEczAwq*-a^a`GA%@Z*rl26=>vcx{nzdrc}vM`sel%Jr?vLZhERQIVvb+i;av2 zao!Gb#D-k44|{2W=erbTLfm^DK5COD(g$o2gD2?BJt3~ea+wFxPCdqoJdtC3&xNO7 zXOru;keg@YG0^?$V_gEG>X*80ecfPlRl;O& zX1xv3di6ZY;@J?cmv^3pIT{B=r|O&=hr?;i=5dVv3hCIB#*x|Fc(+ZAW)@ea0kjodw;Ga`feH5n(5Zf!bR+>Vbk1< zMYkgF2BUQS_*Iu=_6%)q=^HA~PK!G983}PR+{{J8t>vX!W$d20q{N&2xtDk|;$cu! zQOd(Te~)qclj`Nh&zL~`W#?z#?L{p;A-PAEB9vfu8}OI5~`xbNH6030=*Ka}W(Ogo{M=8RHnpg}G33laC}1`}$i~ zp0VPmqmT$}Z&hY$LT{?YvzFv;DJ}lK?70#kFNfYCGGIg#bR^9oc^)3w8Y@d0Wq0@5+Dihk@5-tgD96)f}7RA$X}j<>$Qg zIREN?LbIQia@Out>kh-usb zDPTG(-fu+Om;2L}fiOM{jL@kcK0X9>&n`q?=4R&c_+!YiLZ>e=uXZSX)UkSbcK(3; z8Px_RTY}$GYEO3iQWhzLD4`z=J-v%*cn%cEy$~sI7Ks}hr)%Xr$2TkdB24j!UQe3L z7)fd8d35W8L;@PPGkjbp`A(Kp`=+gr^r_|y>C9*(EOhV~BVCcACH)Jjdg6Th{Cr|& z^gTdej;*Icl_-zsb(V_vb>+C$tm%R~1#Bd1wv?Qt;L=XXd+Fy9Ysq@ERq)^k!wYa6 z23#H?IZ!pK*C}J+S8w>j@I()yawh_KdcD6JFY6?E@fmmLt91t$(r&OaN_nI9QbBt; z2!D3D^92?baAhL{vHQa=4%CPX}<0e^na7vs0I`4T<3@AHx5C&SYe<&p}G z%W^b`Wu)LoRL{+NK1+xR#Z~UO^ai>N^>f%sevNCnnXYa8uvdxzadc?J{=<(A2@dg8 zxU{SKwEZzSmdLD{g4eYnmPT-Vv8U*DxbO&-6mEcl?G~h?-nXhKpKIU9UKAqxHGIbt ztz(Hf9IO}!?c5O9fg=tiT!24gUjdU&W4vDXBSyy)0dW^f+0k_7)Ggkc_SVhh7X3y4)Es47Zu885qRqfao0`QJ`? zu{~Mlg-z^v9aBx46IK`D6TwLNviy6jeV(jW%8$W-joXIaq~LANk=Mw-+DgsG!t2Lh zCHc=tj)c`z^)_knJ`Ym$JQ+=S!~;zN>oBZDOIsB-mxS;`m2GT~P>_IR6&>9g`jcQI zlX#-1>CHq4rHN>>ioKf@?x4B&!;EM;Bn~4cZSNuRFMl61ApW=1xcmBmBeirzAIUJICn-`! z<`Bw(k_(esr7nAN7}wJ-6pwdAdVC(=>a8<3bc7*&ji`)*X0h-I7Zy^*O#UEiVVO2= z>|m2YQ3(UDKioI8i`756AL%n~t3+yKPT1JckuCp3HWJp#J~-+O7jT5d zK+8-%EGTb}5=lSX&hqqi?Em0|e3vVGrf>&VE8lq(ccJ5b*Sx>!D*n^8ylWrvh!ZhS zRRx$icM~HQa^!u0lEp4!cy=cq5g^Xp{TFTFp@!3?n3LLPVT5m%8lVT(G-}M9w!Y3s zp08I1a&~wY2^>tgJhbyzb)X;&FtG@j)TYK3H`^*BX8kd;GD`XTB!Fhd-f{Ed*Ve))WLjC8Hn>(gOBz|QW~322yYP4E z>(E)`1x6MLH6UXShkUk-6qCcVrvy>g^!Qm=1W_B|^79Kn76TH7U13Q+3L)wW3rPRe zXJGP#0LnV&W6`b9)#C~#4*(T*qh^y!=!!aBeL(8PmTnJXNwwvY*A zqzt5_Ka1jQGQuEqU-bxrMB-Mk6%dX)kwWKA$pU2e$0{CI;haO$E)Xu5XV)Y{z06+a-SJv8<>p_}C*@ri@B& z$s=|Qtqh5WRG0jvA@k~36xqC1eua?w_dAUOR!Eu*%7gP9=y-&mG734W6@D^zF3bln z+OAOeK3Cj6czTcd--qA@!)F3nV=++Rq;2s^j-1QdG+Zv9#?oHd+w6jS$06!7Jm-3n z>c6ax|RaXx--zP=K9E1j{e_4G?$0d%UL z)5WaCYbhCYKfpWtd95gZVA}KEJCPN{(-Vj8TAt@k@6C@{5iqA?%9BAC|L-Xwb-|}i z(N*Y^;M`EUSn2->KX)0n&?D-vG^pd7J z#mRBoSGYWNEX-T$?z^}S5_{UL z3?8MBB-(=)xF?;mnr4RNn-njZ3@*^M688u2h}1mKoQ_=1Jrdre{B6{a4QC_UG^tW~ zo}2P)P4uIgu+oAy(zOb@9h7_P^)ru|oA|_*-)Zo({olV?D!%6*{7;mVfgLbnScoY5 zRZ&aphij2nOR*I^kwDHFr}L*h8<(YmU%T<1e^_pbS1a??;_Ho@k>B&+A6;a}Z)x!7 zuVOBEl3RP#9&Ox{88(>}xgP0PoVftQESM=Dg?Pm1?%wR^<%SU_+MoLTn;z@9qr2g( zcWtBNk8bJBAJ?1zAx5!fnXJYyceE*q{1OExXKAp1z(V+zGOP#ET`+zUg>M@t!CZs1 zrN1U*h;&x_`1G!u#2Ui$GGE-~^Iao)Q=`!(Y210G8a#jQsoOd7C~iK~v5K92P>7zB z6DQX?+e&(+Sh!BzXx^5AUS=;(hK<7 zNO4|X@_X%fni!hVO#4+BrD1c7Hh52?EvQ*D^C9xi)N*$Ndx+PcVw^B>KKG;zTDcv7 ziz|k+H53KRg8w@f^#=mix{Ea8)|jshDS~vX@}IP2spnBL#uL{g3fEa68NlJgeK*)~sP}#GfFm5Pa?oWxQ zG40>x-T6K=oCVCjVUAiMeD~-(m2KBs@rw~_{xT5TgXHHufl#nHWx?5FbU%_oR~${$ z-4eL2jx-WMv_(SSns*$M%LYVuk+zMGoj>fHNe%Z<3hyTtV)us@iv|u^B%#({b@#3^i~!aBF)6n4)AVHZKYkN0PL=N-l6$O{cON2 z?gPpRnJ_#j1U!!rVG<6m+N%rr&b*$K1BVA{)-b^>4ON0(WTx-NCfX zFwm-IXe z=|L@2Z$tye>mdedP5O3R5u>CP|A`VoBX^2s+dqar-@`@x3^* z{XC4@joR0^3IN@YLAQEPhx5^q?}X3ea44C zPRAllo4){SJx1WXu9GASrZOLN4@`|n8+eDFvOOnxrNmquJoJR|OL@hAN)@+?DfW!T zpb5LqPY0%W{abG+0wC83-813IKwSg_`I!D0I++B<6xBq5=pdN$*g(E2G})ql2z%5B)A!*&FpxN(Uhgy zzqaU77z(*}$%9pCKmhRNLVik>ke56FQ3$D`IsAS@?6#sFW1^O;s$^YWN zhG_7(>|%g-V!1n~q(ZG!c-HDdOiIKJknVbcXxxKJI4&HMhz9A)Zt#F+g=fo8{7!jH z8j`xiGL&UN#S?I)bkjAWu_5|#(AdORQ^Vc>z7DJesW>Fcms5@`pgPd@Io{(9u?Xgn7C0F6>F9wt^y1PlSK4IAH-n45Q2 zuc6^0klgm!kz1x|VMde_nl)JeCi}~m@GNZ5^D-gif&rcuQRHS0U4VjS7AZFbcc?u! zeVYe20$n3^(y?Fkw=Z@`n;|z4R8KFovKSyRv~*FAkD&XNLUBZYebt548q!i2T; z%US6a1>y&z&*_M1uhY@d#&=(dh%MUyj#YMN+tiYs41vz{y4twahHW;KzN%j!=j+3o zX_1Ix+strqvU6AL(*A60&8NOq5DE+TO|R$rl?!S2tz16aP^<@Ifus+mDT~AB`Dv=6 z$_>4&f|LPo$D(E5xJvon{6SB1p_dgs8bUhB`QP&RTjZd}{_=!Kge$nt}dF05gHM*bg2;Vh>rZ2L#?$R3dkx)`5sgr(iSD$FpDlPB+|RtNk6z82|Z&oZMw)C z7DiyA-!DdZ<5eS=S@Og?#{WvcU}58t3P-RdV+rYdN_TsGkf970jtp#@ zumtDu{`+W>Z+;jG=`3YhCV;UIH^ax77R2mW1T@{!GhS1Vz5dxyWC)V0zLO+5jZ9Tw zrnL6ukA%)w@>}F(S3TVgbjxk=YZ=xrKQ}cVbI7~mwk!+ACU&@_%*Qcx&ZmGJ?;=~& z8C%XNTXBwIK0_7My%mwM-iC2Fvj2^*wJLT>42pT)mrXa5n~b#g_-0$zJ|5XBIw)p~ zwC73pM=F^x^K( TgFS-)`8#4}V_I;)EB5~YcZhe5 literal 17177 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 diff --git a/src-tauri/src/hello.rs b/src-tauri/src/hello.rs new file mode 100644 index 0000000..482dfa3 --- /dev/null +++ b/src-tauri/src/hello.rs @@ -0,0 +1,442 @@ +//! Unlocking with Windows Hello (docs/02 "Local unlock"): face, fingerprint or PIN instead of the master password. +//! +//! Turning it on creates a Windows Hello key for this vault (`KeyCredentialManager`, kept in the TPM) and has it +//! sign a challenge: a fixed label and a random salt. Windows Hello signs with RSA PKCS#1 v1.5, which is +//! deterministic, so the same challenge always gives the same signature. HKDF turns that signature into the key +//! that seals the core's Local Unlock Key (LUK) with XChaCha20-Poly1305. `windows-hello.json` holds the salt and +//! the sealed LUK; without a signature from Windows Hello they open nothing. +//! +//! * The master password is still required every [`PASSWORD_EVERY`]. When it is due, Windows Hello is not offered, +//! but the LUK is kept and works again right after the password. +//! * The LUK is deleted only when it is really gone or wrong: Windows Hello's key no longer exists (Hello or the +//! PIN was reset) or its signature does not open the LUK. A cancelled prompt just falls back to the password. + +use std::fmt; +use std::path::{Path, PathBuf}; +use std::time::{Duration, SystemTime, UNIX_EPOCH}; + +use base64::{engine::general_purpose::STANDARD as B64, Engine as _}; +use chacha20poly1305::aead::{Aead, KeyInit, Payload}; +use chacha20poly1305::{Key, XChaCha20Poly1305, XNonce}; +use hkdf::Hkdf; +use kv_ffi::{CoreError, VaultCore}; +use serde::{Deserialize, Serialize}; +use sha2::{Digest, Sha256}; +use zeroize::Zeroizing; + +use crate::private_file; + +/// How often the master password is still asked for. +pub const PASSWORD_EVERY: Duration = Duration::from_secs(14 * 24 * 60 * 60); + +const FILE: &str = "windows-hello.json"; +const CHALLENGE_LABEL: &[u8] = b"kestrove/v1/windows-hello/challenge"; +const WRAP_INFO: &[u8] = b"kestrove/v1/windows-hello/luk-wrap"; +const AAD_LABEL: &[u8] = b"kestrove/v1/windows-hello/luk"; + +#[derive(Debug, PartialEq, Eq)] +pub enum HelloError { + /// Windows Hello isn't set up on this computer (or this isn't Windows). + Unavailable, + /// The user closed the prompt or chose another way. + Cancelled, + /// Windows Hello's key for this vault is gone or doesn't open it; it has been turned off. + Reset, + Other(String), +} + +impl fmt::Display for HelloError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + HelloError::Unavailable => { + f.write_str("Windows Hello isn't set up on this computer. Set it up in Windows Settings → Accounts.") + } + HelloError::Cancelled => f.write_str("Windows Hello was cancelled."), + HelloError::Reset => f.write_str( + "Windows Hello was reset on this computer, so Kestrove turned it off. Unlock with your master \ + password, then turn it on again in Settings.", + ), + HelloError::Other(m) => f.write_str(m), + } + } +} + +impl From for HelloError { + fn from(e: CoreError) -> Self { + HelloError::Other(e.to_string()) + } +} + +/// `windows-hello.json`. +#[derive(Serialize, Deserialize)] +struct Record { + v: u32, + /// The Windows Hello key's name. + credential: String, + salt: String, + nonce: String, + ct: String, + /// The last master-password unlock (Unix seconds). + password_at: u64, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize)] +pub struct Status { + /// Windows Hello can be turned on here. + pub available: bool, + /// It is on for this vault. + pub enabled: bool, + /// The unlock screen offers it now (on, and the master password isn't due). + pub offered: bool, +} + +pub fn is_supported() -> bool { + platform::is_supported() +} + +pub fn status(core: &VaultCore, data_dir: &Path, available: bool) -> Status { + let rec = load(data_dir); + let enabled = rec.is_some() && core.has_local_unlock(); + let offered = enabled && rec.is_some_and(|r| !password_due(r.password_at, now())); + Status { available, enabled, offered } +} + +/// Turns Windows Hello on for the unlocked vault: one Windows Hello prompt to create the key and sign. +pub fn enable(core: &VaultCore, data_dir: &Path) -> Result<(), HelloError> { + if core.is_locked() { + return Err(CoreError::Locked.into()); + } + let account_id = core.account_id()?; + let name = credential_name(data_dir, &account_id); + let salt: [u8; 32] = random(); + let sig = platform::create_and_sign(&name, &challenge(&salt))?; + let luk = Zeroizing::new(core.enable_local_unlock()?); + let saved = seal(&sig, &salt, &luk, &account_id).and_then(|(nonce, ct)| { + save( + data_dir, + &Record { + v: 1, + credential: name.clone(), + salt: B64.encode(salt), + nonce: B64.encode(nonce), + ct: B64.encode(ct), + password_at: now(), + }, + ) + }); + if let Err(e) = saved { + let _ = core.disable_local_unlock(); + platform::delete(&name); + return Err(e); + } + Ok(()) +} + +/// Unlocks with Windows Hello. `Cancelled` leaves everything as it was; `Reset` has turned it off. +pub fn unlock(core: &VaultCore, data_dir: &Path) -> Result<(), HelloError> { + let rec = load(data_dir).ok_or(HelloError::Unavailable)?; + if !core.has_local_unlock() { + forget(core, data_dir, &rec); + return Err(HelloError::Reset); + } + if password_due(rec.password_at, now()) { + return Err(HelloError::Other("Kestrove needs your master password this time.".into())); + } + let account_id = core.account_id()?; + let (Ok(salt), Ok(nonce), Ok(ct)) = (B64.decode(&rec.salt), B64.decode(&rec.nonce), B64.decode(&rec.ct)) else { + forget(core, data_dir, &rec); + return Err(HelloError::Reset); + }; + let sig = match platform::sign(&rec.credential, &challenge(&salt)) { + Err(HelloError::Reset) => { + forget(core, data_dir, &rec); + return Err(HelloError::Reset); + } + r => r?, + }; + let Some(luk) = open(&sig, &salt, &nonce, &ct, &account_id) else { + forget(core, data_dir, &rec); + return Err(HelloError::Reset); + }; + match core.unlock_with_local_key(luk.to_vec()) { + Ok(()) => Ok(()), + // The LUK doesn't open the keyset (the core reports a failed decrypt as bad credentials). + Err(CoreError::BadCredentials) => { + forget(core, data_dir, &rec); + Err(HelloError::Reset) + } + Err(e) => Err(e.into()), + } +} + +/// Turns Windows Hello off: its key, the sealed LUK and the core's LUK wrap. +pub fn disable(core: &VaultCore, data_dir: &Path) -> Result<(), HelloError> { + if let Some(rec) = load(data_dir) { + platform::delete(&rec.credential); + } + let _ = std::fs::remove_file(path(data_dir)); + if core.has_local_unlock() { + core.disable_local_unlock()?; + } + Ok(()) +} + +/// After a master-password unlock: restarts the clock for the next one. +pub fn password_unlocked(data_dir: &Path) { + if let Some(mut rec) = load(data_dir) { + rec.password_at = now(); + let _ = save(data_dir, &rec); + } +} + +fn forget(core: &VaultCore, data_dir: &Path, rec: &Record) { + platform::delete(&rec.credential); + let _ = std::fs::remove_file(path(data_dir)); + let _ = core.disable_local_unlock(); +} + +fn path(data_dir: &Path) -> PathBuf { + data_dir.join(FILE) +} + +fn load(data_dir: &Path) -> Option { + let bytes = private_file::read(&path(data_dir)).ok().flatten()?; + serde_json::from_slice::(&bytes).ok().filter(|r| r.v == 1) +} + +fn save(data_dir: &Path, rec: &Record) -> Result<(), HelloError> { + let bytes = serde_json::to_vec(rec).map_err(|e| HelloError::Other(e.to_string()))?; + private_file::write(&path(data_dir), &bytes).map_err(|e| HelloError::Other(e.to_string())) +} + +fn now() -> u64 { + SystemTime::now().duration_since(UNIX_EPOCH).map_or(0, |d| d.as_secs()) +} + +/// Due after [`PASSWORD_EVERY`], and when the clock went backwards. +fn password_due(password_at: u64, now: u64) -> bool { + now < password_at || now - password_at >= PASSWORD_EVERY.as_secs() +} + +fn random() -> [u8; N] { + let mut b = [0u8; N]; + getrandom::getrandom(&mut b).expect("OS random number generator"); + b +} + +/// One Windows Hello key per vault folder (a second instance with `KESTROVE_DATA_DIR` gets its own). +fn credential_name(data_dir: &Path, account_id: &str) -> String { + let folder = Sha256::digest(data_dir.to_string_lossy().as_bytes()); + let short: String = folder[..4].iter().map(|b| format!("{b:02x}")).collect(); + format!("Kestrove {account_id} {short}") +} + +fn challenge(salt: &[u8]) -> Vec { + [CHALLENGE_LABEL, salt].concat() +} + +fn wrap_key(signature: &[u8], salt: &[u8]) -> Zeroizing<[u8; 32]> { + let mut out = Zeroizing::new([0u8; 32]); + Hkdf::::new(Some(salt), signature).expand(WRAP_INFO, out.as_mut()).expect("32 bytes is a valid length"); + out +} + +fn aad(account_id: &str) -> Vec { + [AAD_LABEL, account_id.as_bytes()].concat() +} + +fn seal(signature: &[u8], salt: &[u8], luk: &[u8], account_id: &str) -> Result<([u8; 24], Vec), HelloError> { + let key = wrap_key(signature, salt); + let nonce: [u8; 24] = random(); + let ct = XChaCha20Poly1305::new(Key::from_slice(key.as_ref())) + .encrypt(XNonce::from_slice(&nonce), Payload { msg: luk, aad: &aad(account_id) }) + .map_err(|_| HelloError::Other("Couldn't seal the unlock key.".into()))?; + Ok((nonce, ct)) +} + +fn open(signature: &[u8], salt: &[u8], nonce: &[u8], ct: &[u8], account_id: &str) -> Option>> { + if nonce.len() != 24 { + return None; + } + let key = wrap_key(signature, salt); + XChaCha20Poly1305::new(Key::from_slice(key.as_ref())) + .decrypt(XNonce::from_slice(nonce), Payload { msg: ct, aad: &aad(account_id) }) + .ok() + .map(Zeroizing::new) +} + +#[cfg(windows)] +mod platform { + use std::sync::atomic::{AtomicBool, Ordering}; + use std::sync::Arc; + use std::time::Duration; + + use windows::core::{Array, HSTRING}; + use windows::Security::Credentials::{ + KeyCredential, KeyCredentialCreationOption, KeyCredentialManager, KeyCredentialStatus, + }; + use windows::Security::Cryptography::CryptographicBuffer; + use windows_sys::Win32::UI::WindowsAndMessaging::{FindWindowW, SetForegroundWindow}; + use zeroize::Zeroizing; + + use super::HelloError; + + fn other(e: windows::core::Error) -> HelloError { + HelloError::Other(format!("Windows Hello failed: {}", e.message())) + } + + pub fn is_supported() -> bool { + KeyCredentialManager::IsSupportedAsync().and_then(|op| op.join()).unwrap_or(false) + } + + /// Creates (or replaces) the key and signs `challenge` with it. + pub fn create_and_sign(name: &str, challenge: &[u8]) -> Result>, HelloError> { + if !is_supported() { + return Err(HelloError::Unavailable); + } + let _focus = raise_prompt(); + let r = KeyCredentialManager::RequestCreateAsync( + &HSTRING::from(name), + KeyCredentialCreationOption::ReplaceExisting, + ) + .and_then(|op| op.join()) + .map_err(other)?; + check(r.Status().map_err(other)?)?; + sign_with(&r.Credential().map_err(other)?, challenge) + } + + pub fn sign(name: &str, challenge: &[u8]) -> Result>, HelloError> { + if !is_supported() { + return Err(HelloError::Unavailable); + } + let r = KeyCredentialManager::OpenAsync(&HSTRING::from(name)).and_then(|op| op.join()).map_err(other)?; + check(r.Status().map_err(other)?)?; + let _focus = raise_prompt(); + sign_with(&r.Credential().map_err(other)?, challenge) + } + + pub fn delete(name: &str) { + let _ = KeyCredentialManager::DeleteAsync(&HSTRING::from(name)).and_then(|op| op.join()); + } + + fn sign_with(cred: &KeyCredential, challenge: &[u8]) -> Result>, HelloError> { + let data = CryptographicBuffer::CreateFromByteArray(challenge).map_err(other)?; + let r = cred.RequestSignAsync(&data).and_then(|op| op.join()).map_err(other)?; + check(r.Status().map_err(other)?)?; + let mut out = Array::::new(); + CryptographicBuffer::CopyToByteArray(&r.Result().map_err(other)?, &mut out).map_err(other)?; + let sig = Zeroizing::new(out.to_vec()); + out.fill(0); + Ok(sig) + } + + fn check(status: KeyCredentialStatus) -> Result<(), HelloError> { + match status { + KeyCredentialStatus::Success => Ok(()), + KeyCredentialStatus::UserCanceled | KeyCredentialStatus::UserPrefersPassword => Err(HelloError::Cancelled), + KeyCredentialStatus::NotFound => Err(HelloError::Reset), + KeyCredentialStatus::SecurityDeviceLocked => { + Err(HelloError::Other("Windows Hello is locked after too many tries. Use your master password.".into())) + } + _ => Err(HelloError::Other("Windows Hello couldn't confirm it's you. Try again.".into())), + } + } + + /// Stops raising prompts when dropped. + struct Focus(Arc); + + impl Drop for Focus { + fn drop(&mut self) { + self.0.store(true, Ordering::Relaxed); + } + } + + /// Windows Hello's prompt for a desktop app can open behind the app's window: bring each new one to the front. + fn raise_prompt() -> Focus { + let done = Arc::new(AtomicBool::new(false)); + let stop = done.clone(); + let _ = std::thread::Builder::new().name("hello-focus".into()).spawn(move || { + let class: Vec = "Credential Dialog Xaml Host\0".encode_utf16().collect(); + let mut raised = std::ptr::null_mut(); + for _ in 0..600 { + if stop.load(Ordering::Relaxed) { + return; + } + // SAFETY: a NUL-terminated class name and no window title. + let hwnd = unsafe { FindWindowW(class.as_ptr(), std::ptr::null()) }; + if !hwnd.is_null() && hwnd != raised { + // SAFETY: a window handle FindWindowW just returned; a stale one only makes the call fail. + unsafe { SetForegroundWindow(hwnd) }; + raised = hwnd; + } + std::thread::sleep(Duration::from_millis(100)); + } + }); + Focus(done) + } +} + +#[cfg(not(windows))] +mod platform { + use zeroize::Zeroizing; + + use super::HelloError; + + pub fn is_supported() -> bool { + false + } + + pub fn create_and_sign(_name: &str, _challenge: &[u8]) -> Result>, HelloError> { + Err(HelloError::Unavailable) + } + + pub fn sign(_name: &str, _challenge: &[u8]) -> Result>, HelloError> { + Err(HelloError::Unavailable) + } + + pub fn delete(_name: &str) {} +} + +#[cfg(test)] +mod tests { + use super::*; + + const ACCOUNT: &str = "6f1c2c1e-6c0a-4b8e-9d55-0d6c3c1b2a10"; + + #[test] + fn seal_open_round_trip() { + let (sig, salt, luk) = ([7u8; 256], [1u8; 32], [9u8; 32]); + let (nonce, ct) = seal(&sig, &salt, &luk, ACCOUNT).unwrap(); + assert_eq!(open(&sig, &salt, &nonce, &ct, ACCOUNT).unwrap().as_slice(), &luk); + } + + #[test] + fn wrong_signature_salt_or_account_does_not_open() { + let (sig, salt, luk) = ([7u8; 256], [1u8; 32], [9u8; 32]); + let (nonce, ct) = seal(&sig, &salt, &luk, ACCOUNT).unwrap(); + let mut other_sig = sig; + other_sig[0] ^= 1; + assert!(open(&other_sig, &salt, &nonce, &ct, ACCOUNT).is_none()); + assert!(open(&sig, &[2u8; 32], &nonce, &ct, ACCOUNT).is_none()); + assert!(open(&sig, &salt, &nonce, &ct, "another-account").is_none()); + assert!(open(&sig, &salt, &nonce[..12], &ct, ACCOUNT).is_none()); + } + + #[test] + fn password_is_due_every_14_days_and_when_the_clock_goes_back() { + let t = 1_800_000_000; + assert!(!password_due(t, t)); + assert!(!password_due(t, t + PASSWORD_EVERY.as_secs() - 1)); + assert!(password_due(t, t + PASSWORD_EVERY.as_secs())); + assert!(password_due(t, t - 1)); + } + + #[test] + fn challenge_and_name_depend_on_salt_and_folder() { + assert_ne!(challenge(&[1; 32]), challenge(&[2; 32])); + let a = credential_name(Path::new("C:/a"), ACCOUNT); + assert_eq!(a, credential_name(Path::new("C:/a"), ACCOUNT)); + assert_ne!(a, credential_name(Path::new("C:/b"), ACCOUNT)); + assert!(a.starts_with("Kestrove ")); + } +} diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 73ae455..1fd74b9 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -5,6 +5,7 @@ pub mod autolock; pub mod device_key; +pub mod hello; pub mod qr; pub mod sync; pub mod title_bar; diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 80c1148..5a1bcfa 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -3,15 +3,16 @@ #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] use std::path::PathBuf; -use std::sync::atomic::{AtomicU64, Ordering}; +use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; use std::sync::{Arc, Mutex}; use std::time::Duration; use std::{io, thread}; use kestrove_desktop::autolock::{self, Activity, Reason}; use kestrove_desktop::broker::{Broker, PairingStore, PairingView, SaveView, Ui}; -use kestrove_desktop::passkey::PasskeyView; use kestrove_desktop::device_key::DeviceKey; +use kestrove_desktop::hello::{self, HelloError}; +use kestrove_desktop::passkey::PasskeyView; use kestrove_desktop::sync::{ self, AddDeviceView, DeviceView, JoinConfirmView, JoinPollView, JoinView, SetupView, SignIn, SyncService, SyncStatus, @@ -34,6 +35,8 @@ struct App { data_dir: PathBuf, ipc_error: Mutex>, idle_minutes: Arc, + /// Windows Hello is set up on this computer (checked off the main thread; see `refresh_hello`). + hello_available: Arc, // Kept alive: on X11 the clipboard owner must outlive the copy. clipboard: Mutex>, } @@ -42,6 +45,14 @@ impl App { fn settings_path(&self) -> PathBuf { self.data_dir.join("settings.json") } + + /// Re-checks Windows Hello in the background (it can be set up or removed while Kestrove runs). + fn refresh_hello(&self) { + let available = self.hello_available.clone(); + let _ = thread::Builder::new().name("hello-check".into()).spawn(move || { + available.store(hello::is_supported(), Ordering::Relaxed); + }); + } } #[derive(Serialize, Deserialize)] @@ -58,6 +69,8 @@ struct AppState { /// Browser integration could not start (e.g. another instance is running). ipc_error: Option, idle_minutes: u64, + /// Unlock with Windows Hello: can be turned on, is on, is offered on the unlock screen now. + hello: hello::Status, } #[derive(Serialize)] @@ -179,6 +192,7 @@ fn state(app: State<'_, App>) -> AppState { remembers_secret_key: app.sync.stored_secret_key().is_some(), ipc_error: app.ipc_error.lock().unwrap_or_else(|e| e.into_inner()).clone(), idle_minutes: app.idle_minutes.load(Ordering::Relaxed), + hello: hello::status(&app.core, &app.data_dir, app.hello_available.load(Ordering::Relaxed)), } } @@ -210,11 +224,45 @@ async fn unlock(app: State<'_, App>, master_password: String, secret_key: Option if let Some(sk) = typed { app.sync.remember_secret_key(&sk); } + hello::password_unlocked(&app.data_dir); app.activity.touch(); app.sync.request_sync(); Ok(()) } +/// Windows Hello calls block until the prompt closes, so they run off the main thread and the async runtime. +async fn off_thread(f: impl FnOnce() -> T + Send + 'static) -> CmdResult { + tauri::async_runtime::spawn_blocking(f).await.map_err(|e| e.to_string()) +} + +/// Unlock with Windows Hello. `false` when the prompt was cancelled (the password field stays). +#[tauri::command] +async fn hello_unlock(app: State<'_, App>) -> CmdResult { + let (core, dir) = (app.core.clone(), app.data_dir.clone()); + match off_thread(move || hello::unlock(&core, &dir)).await? { + Ok(()) => { + app.activity.touch(); + app.sync.request_sync(); + Ok(true) + } + Err(HelloError::Cancelled) => Ok(false), + Err(e) => Err(e.to_string()), + } +} + +/// Settings → "Unlock with Windows Hello". `false` when turning it on was cancelled. +#[tauri::command] +async fn set_hello(app: State<'_, App>, enabled: bool) -> CmdResult { + let (core, dir) = (app.core.clone(), app.data_dir.clone()); + let r = off_thread(move || if enabled { hello::enable(&core, &dir) } else { hello::disable(&core, &dir) }).await?; + app.refresh_hello(); + match r { + Ok(()) => Ok(true), + Err(HelloError::Cancelled) => Ok(false), + Err(e) => Err(e.to_string()), + } +} + #[tauri::command] async fn lock(app: State<'_, App>) -> CmdResult<()> { app.core.lock(); @@ -713,8 +761,10 @@ fn setup(app: &mut tauri::App) -> Result<(), Box> { data_dir, ipc_error: Mutex::new(ipc_error), idle_minutes, + hello_available: Arc::new(AtomicBool::new(false)), clipboard: Mutex::new(None), }); + app.state::().refresh_hello(); Ok(()) } @@ -733,6 +783,8 @@ fn main() { set_title_bar_colors, create_account, unlock, + hello_unlock, + set_hello, lock, touch, set_idle_minutes, diff --git a/src/main.ts b/src/main.ts index 040609d..717c331 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,7 +8,8 @@ import { pill, ring, secret, tile, type IconName, } from "./ui/kv"; -interface AppState { has_account: boolean; locked: boolean; remembers_secret_key: boolean; ipc_error: string | null; idle_minutes: number } +interface HelloStatus { available: boolean; enabled: boolean; offered: boolean } +interface AppState { has_account: boolean; locked: boolean; remembers_secret_key: boolean; ipc_error: string | null; idle_minutes: number; hello: HelloStatus } interface ItemSummary { id: string; title: string; username: string | null; urls: string[]; favorite: boolean; has_totp: boolean; tags: string[] } interface SignInView { provider: string; provider_name: string; account: string | null } interface ItemDto { id: string; title: string; username: string | null; password: string | null; urls: string[]; totp: string | null; notes: string | null; tags: string[]; sign_in_with: SignInView | null } @@ -474,7 +475,22 @@ function renderUnlock(state: AppState) { const pw = input({ type: "password", autocomplete: "current-password" }); const sk = input({ placeholder: "K1-XXXXXX-XXXXX-…", spellcheck: false }, true); const err = errBox(); - const btn = button("Unlock", "primary", undefined, "block"); + // Windows Hello, when offered, is the screen's one primary action; the password stays below it. + const btn = button("Unlock", state.hello.offered ? "quiet" : "primary", undefined, "block"); + const hello = button("Unlock with Windows Hello", "primary", undefined, "block"); + hello.onclick = async () => { + hello.disabled = true; + err.replaceChildren(); + try { + if (await invoke("hello_unlock")) await render(); + else hello.disabled = false; + } catch (e) { + setErr(err, e); + // A reset turned Windows Hello off: drop the button. + if (!(await invoke("state")).hello.offered) hello.remove(); + else hello.disabled = false; + } + }; const submit = async () => { btn.disabled = true; err.replaceChildren(); @@ -494,11 +510,15 @@ function renderUnlock(state: AppState) { pw.onkeydown = (e) => { if (e.key === "Enter") void submit(); }; - const card = h("div", "kv-card auth-card", h("div", "unlock-mark", lockup(32)), h("h1", "kv-title-1", "Unlock your vault"), field("Master password", pw)); + const card = h("div", "kv-card auth-card", h("div", "unlock-mark", lockup(32)), h("h1", "kv-title-1", "Unlock your vault")); + if (state.hello.offered) card.append(hello, p("kv-small kv-muted", "Or use your master password:")); + else if (state.hello.enabled) card.append(p("kv-small kv-muted", "Kestrove asks for your master password every 14 days, even with Windows Hello on.")); + card.append(field("Master password", pw)); if (!state.remembers_secret_key) card.append(field("Secret Key", sk, "It's on your Emergency Kit. Dashes are optional.")); card.append(err, btn); centered(card); - pw.focus(); + if (state.hello.offered) hello.focus(); + else pw.focus(); } // ------------------------------------------------------------------ vault @@ -854,6 +874,25 @@ async function renderSettings(target: HTMLElement, state: AppState) { else await publishTheme(); await renderSettings(target, state); }; + const helloSwitch = input({ type: "checkbox", checked: state.hello.enabled }); + helloSwitch.className = "switch"; + helloSwitch.setAttribute("aria-label", "Unlock with Windows Hello"); + const helloErr = errBox(); + helloSwitch.onchange = async () => { + helloSwitch.disabled = true; + helloErr.replaceChildren(); + try { + if (!(await invoke("set_hello", { enabled: helloSwitch.checked }))) helloSwitch.checked = !helloSwitch.checked; + } catch (e) { + helloSwitch.checked = !helloSwitch.checked; + setErr(helloErr, e); + } + helloSwitch.disabled = false; + }; + const helloRow = state.hello.available || state.hello.enabled + ? h("div", "kv-frow", h("div", "val", h("span", "", "Unlock with Windows Hello"), + h("span", "kv-hint", "Your face, fingerprint or PIN instead of your master password. Kestrove still asks for the password every 14 days."), helloErr), helloSwitch) + : null; const list = h("div", "kv-card rows"); for (const pr of pairings) { list.append(h("div", "kv-frow", @@ -875,7 +914,8 @@ async function renderSettings(target: HTMLElement, state: AppState) { h("div", "kv-frow", h("div", "val", h("span", "", "Light or dark")), theme), h("div", "kv-frow", h("div", "val", h("span", "", "Same theme on all my devices"), h("span", "kv-hint", "Saved in your encrypted vault, and used on every device where this is on.")), syncTheme), - h("div", "kv-frow", h("div", "val", h("span", "", "Lock after idle for"), h("span", "kv-hint", "Kestrove also locks on screen lock and sleep.")), idle))), + h("div", "kv-frow", h("div", "val", h("span", "", "Lock after idle for"), h("span", "kv-hint", "Kestrove also locks on screen lock and sleep.")), idle), + helloRow)), section("Sync", syncSection), section("Devices", devicesSection), section("Emergency Kit", kitSection()),