From a39bda8ad5d7898f69aecdcfd14f2c1ceabd9517 Mon Sep 17 00:00:00 2001 From: Cococry Date: Fri, 31 Jul 2026 09:12:18 +0200 Subject: [PATCH 1/2] feat: WIP: server db-repo with libpq --- .../index/client_io.c.E93DC2BFDE088F1E.idx | Bin 0 -> 6686 bytes .../index/client_io.h.C65FF26C0CF56B77.idx | Bin 0 -> 1086 bytes .../client_lifecycle.c.B1A1C0631E387A43.idx | Bin 0 -> 5734 bytes .../client_lifecycle.h.98CEE7991CFBF7ED.idx | Bin 0 -> 826 bytes .../clangd/index/conn.c.3FEF18D370BA77F6.idx | Bin 0 -> 4186 bytes .../clangd/index/conn.h.239A73DBC4E889F5.idx | Bin 0 -> 2572 bytes .../index/conversation.c.2C3C86A5A20F8E5C.idx | Bin 0 -> 2600 bytes .../index/conversation.h.721A4DB3CAC62028.idx | Bin 0 -> 554 bytes .../index/device_link.c.466F381C8C3FE11B.idx | Bin 0 -> 13152 bytes .../index/device_link.h.C81291A1CEB08CB3.idx | Bin 0 -> 1208 bytes .../index/dispatch.c.3E4E54C474E7A85D.idx | Bin 0 -> 2586 bytes .../index/dispatch.c.AC2B4396CA5412B8.idx | Bin 0 -> 4338 bytes .../index/dispatch.h.1818AA03E621989F.idx | Bin 0 -> 440 bytes .../index/dispatch.h.93BFEC2B4EA8E129.idx | Bin 0 -> 480 bytes .../index/event_inbox.c.946162CDA2FCA2FB.idx | Bin 0 -> 2492 bytes .../index/event_inbox.h.33B37D2A418EFCF2.idx | Bin 0 -> 1200 bytes .../index/events.c.6919D92B7254EC3D.idx | Bin 0 -> 5580 bytes .../index/events.h.01FD48B0CADDFAC6.idx | Bin 0 -> 888 bytes .../index/faithd.c.4EB5E64379A41520.idx | Bin 0 -> 1682 bytes .../clangd/index/frame.c.500586E393A4BAAE.idx | Bin 0 -> 2348 bytes .../clangd/index/frame.h.F5AA78BC12CFCDAB.idx | Bin 0 -> 646 bytes .../index/handshake.c.C2A0CE6CBAA76299.idx | Bin 0 -> 8882 bytes .../index/handshake.h.091CDDAAC8C51FB4.idx | Bin 0 -> 1172 bytes .../index/helpers.h.CC6EEA2F95BE10A9.idx | Bin 0 -> 838 bytes .../index/logging.c.5687586926B3DDA0.idx | Bin 0 -> 398 bytes .../index/logging.h.D6F88161C6526FA7.idx | Bin 0 -> 280 bytes .../index/reactor.c.EA1C0B8DF7477FE8.idx | Bin 0 -> 3846 bytes .../index/reactor.h.1A380A7D7F69DC71.idx | Bin 0 -> 2248 bytes .../index/routing.c.A466389A119ADEAE.idx | Bin 0 -> 3028 bytes .../index/routing.h.10734F3A15FC9888.idx | Bin 0 -> 658 bytes .../index/server.c.39D815EF173EFB60.idx | Bin 0 -> 9742 bytes .../index/server.h.1F2509185EEDAB1F.idx | Bin 0 -> 3492 bytes .../sess_registry.c.27D2E8EE7DC60D89.idx | Bin 0 -> 5426 bytes .../sess_registry.h.30D53D624AE73CF4.idx | Bin 0 -> 2242 bytes .../clangd/index/tls.c.2EBE572CD59FC30C.idx | Bin 0 -> 4314 bytes .../clangd/index/tls.h.92278D0D7068B4D4.idx | Bin 0 -> 2102 bytes .../clangd/index/user.h.321DE9004DA36D2B.idx | Bin 0 -> 540 bytes faith-server/compile_commands.json | 186 +++++++------ faith-server/src/auth/device_link.c | 28 +- faith-server/src/auth/handshake.c | 20 +- faith-server/src/db/conn.c | 35 +++ faith-server/src/db/conn.h | 13 + faith-server/src/db/device_repo.c | 253 ++++++++++++++++++ faith-server/src/db/device_repo.h | 37 +++ faith-server/src/db/events_repo.c | 12 + faith-server/src/db/events_repo.h | 12 + faith-server/src/db/user_repo.c | 101 +++++++ faith-server/src/db/user_repo.h | 8 + faith-server/src/delivery/routing.c | 6 +- faith-server/src/server/sess_registry.c | 8 +- 50 files changed, 604 insertions(+), 115 deletions(-) create mode 100644 faith-server/.cache/clangd/index/client_io.c.E93DC2BFDE088F1E.idx create mode 100644 faith-server/.cache/clangd/index/client_io.h.C65FF26C0CF56B77.idx create mode 100644 faith-server/.cache/clangd/index/client_lifecycle.c.B1A1C0631E387A43.idx create mode 100644 faith-server/.cache/clangd/index/client_lifecycle.h.98CEE7991CFBF7ED.idx create mode 100644 faith-server/.cache/clangd/index/conn.c.3FEF18D370BA77F6.idx create mode 100644 faith-server/.cache/clangd/index/conn.h.239A73DBC4E889F5.idx create mode 100644 faith-server/.cache/clangd/index/conversation.c.2C3C86A5A20F8E5C.idx create mode 100644 faith-server/.cache/clangd/index/conversation.h.721A4DB3CAC62028.idx create mode 100644 faith-server/.cache/clangd/index/device_link.c.466F381C8C3FE11B.idx create mode 100644 faith-server/.cache/clangd/index/device_link.h.C81291A1CEB08CB3.idx create mode 100644 faith-server/.cache/clangd/index/dispatch.c.3E4E54C474E7A85D.idx create mode 100644 faith-server/.cache/clangd/index/dispatch.c.AC2B4396CA5412B8.idx create mode 100644 faith-server/.cache/clangd/index/dispatch.h.1818AA03E621989F.idx create mode 100644 faith-server/.cache/clangd/index/dispatch.h.93BFEC2B4EA8E129.idx create mode 100644 faith-server/.cache/clangd/index/event_inbox.c.946162CDA2FCA2FB.idx create mode 100644 faith-server/.cache/clangd/index/event_inbox.h.33B37D2A418EFCF2.idx create mode 100644 faith-server/.cache/clangd/index/events.c.6919D92B7254EC3D.idx create mode 100644 faith-server/.cache/clangd/index/events.h.01FD48B0CADDFAC6.idx create mode 100644 faith-server/.cache/clangd/index/faithd.c.4EB5E64379A41520.idx create mode 100644 faith-server/.cache/clangd/index/frame.c.500586E393A4BAAE.idx create mode 100644 faith-server/.cache/clangd/index/frame.h.F5AA78BC12CFCDAB.idx create mode 100644 faith-server/.cache/clangd/index/handshake.c.C2A0CE6CBAA76299.idx create mode 100644 faith-server/.cache/clangd/index/handshake.h.091CDDAAC8C51FB4.idx create mode 100644 faith-server/.cache/clangd/index/helpers.h.CC6EEA2F95BE10A9.idx create mode 100644 faith-server/.cache/clangd/index/logging.c.5687586926B3DDA0.idx create mode 100644 faith-server/.cache/clangd/index/logging.h.D6F88161C6526FA7.idx create mode 100644 faith-server/.cache/clangd/index/reactor.c.EA1C0B8DF7477FE8.idx create mode 100644 faith-server/.cache/clangd/index/reactor.h.1A380A7D7F69DC71.idx create mode 100644 faith-server/.cache/clangd/index/routing.c.A466389A119ADEAE.idx create mode 100644 faith-server/.cache/clangd/index/routing.h.10734F3A15FC9888.idx create mode 100644 faith-server/.cache/clangd/index/server.c.39D815EF173EFB60.idx create mode 100644 faith-server/.cache/clangd/index/server.h.1F2509185EEDAB1F.idx create mode 100644 faith-server/.cache/clangd/index/sess_registry.c.27D2E8EE7DC60D89.idx create mode 100644 faith-server/.cache/clangd/index/sess_registry.h.30D53D624AE73CF4.idx create mode 100644 faith-server/.cache/clangd/index/tls.c.2EBE572CD59FC30C.idx create mode 100644 faith-server/.cache/clangd/index/tls.h.92278D0D7068B4D4.idx create mode 100644 faith-server/.cache/clangd/index/user.h.321DE9004DA36D2B.idx create mode 100644 faith-server/src/db/conn.c create mode 100644 faith-server/src/db/conn.h create mode 100644 faith-server/src/db/device_repo.c create mode 100644 faith-server/src/db/device_repo.h create mode 100644 faith-server/src/db/events_repo.c create mode 100644 faith-server/src/db/events_repo.h create mode 100644 faith-server/src/db/user_repo.c create mode 100644 faith-server/src/db/user_repo.h diff --git a/faith-server/.cache/clangd/index/client_io.c.E93DC2BFDE088F1E.idx b/faith-server/.cache/clangd/index/client_io.c.E93DC2BFDE088F1E.idx new file mode 100644 index 0000000000000000000000000000000000000000..aa0c0dbe76b2bcdd2e7e5dd1cc1c8b0b3d2dcb2e GIT binary patch literal 6686 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 HKY|GWaV=pk literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/client_lifecycle.c.B1A1C0631E387A43.idx b/faith-server/.cache/clangd/index/client_lifecycle.c.B1A1C0631E387A43.idx new file mode 100644 index 0000000000000000000000000000000000000000..7e2b18f56c9077c71b3caf478143f346f439ee82 GIT binary patch literal 5734 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 literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/client_lifecycle.h.98CEE7991CFBF7ED.idx b/faith-server/.cache/clangd/index/client_lifecycle.h.98CEE7991CFBF7ED.idx new file mode 100644 index 0000000000000000000000000000000000000000..76672c2eba8fac0a4a6816a70093a31a742b5693 GIT binary patch literal 826 zcmWIYbaOLeW?*nm@vO*AElFfyU|IT*+NH5&e>36@6 z{_!nGneRxhO_=>~HK=C-Hr1)YF7RW z#HQ&;mH6#>?0@>0gAq^UNtXBq)tzyVRm4g>)xMRn`K?%^a(_!{(i~Ay_C0T2{8C$- z_KbDI&0k+r@1CErH7`T$_vdY!k4dkJy5RW8!&}hd z_r!Ov>fIvG9A7f$pXaML4@<2?7KFBLVEuc2#`@T{dF>I3zSD2nPPS)av-ug^x2@2^ z;i&pLyV7k8#g(~9$-of3%J}+OcG*FB9tM6O4+OY5ML5+NI9V7OIM^AvS)ZpY+j*nu zj{y$@FGQY!n_Yxmi-D7k8KU5BqW@{8byI7282Dfcco}%*7&uv(APN|YQqzi+fw3kf z_4C=e=t_P@9&Ublemj^(VJ_{Him%cnfx>+9eD*M5n9CR?AufU%4s#Ds80-$HumSUd zTZ?X5`ZMuxb7^py!Zh=6^BVEOjf5Eu)C+bZRIlDqZK-9?-c17P6_6KDhpFP>7L*r+ z^QtqJah2=!TxI6rW@lg*hBDP^GK*fB=P0f$5Hk#;!GF%miqhqPVaDQxd7D}$*vB0j3XhMwRp7O3eO{n% zg0z%RxzDCp9l!3%D4n31RygL_+|%2J9yvII4;WTm{b;9dPU88oH?GO9PQIO$HRJs) zcfS1m-qbnr#-dMtyAycxq?cV+Hmq;;bJfr(wU2v7r=3}~E3G)g|I6RDRAla{^ty2D ztE$_l>$AT8`@Jttuk8#OwxfF0=P`F+!gnjbYb<)2ee`|j5&c7cea+T}ww`}^6gSI# z1}~m|J@S-xWm0GF#HQJ44-y|0zY$mNzbe2nOEtgcXPx-oh@GmvZzd1j_~_vGHMxh` z?k1T1`jqZz=k%k>{lDLraWX?Y{<1kDpmKiYjLHw=JBRI$f(r}2tFpJm8A79Wof*?( ztE+uF`h;e)OlDcJ{mK+e(;>&G=A!3a>&?A+=SDcTXmYIFn=52xdFPw6^4Nx=r#lvT zt(V7M&}ly?`A_EMuYy#oBHoCscP_qkeB@7OvJd~LNcybLn(lXf(Yf}E7c9$cp8H0t z7x`Uz9DMcrs3%*ep9%kc&FrGd`m8_e?=sH$j>0aS8B^ED#-mj~u#nL)4C(@!E)Z-q zYs|rn)N2r<*8-!*PQPP6Ps|_ZfQ&yDN!BEX8e=uFp^Vg1G$62jP0y6n(D6S(CJ+l$ zc~ohQ2_6YrM(P0=A3v<2qU=_*sI}`VWOyu412i=t+L)wCie{t|@qmu~Cm+1m_g?#T z$OK^#rCJ$fj8Vr#_3H@r#X45^dORE)H0C~J0@ z;_%6FU+nV|K@_Kr!v+UFh{^-X4Fs+IJfyX$wp2Cv(LtLJsDP*ea1B67EJ3sp#BT)26mJIl%^;ZK4xsA*h~iEl z?F1abYwm0?kNIey7NhjM2JV_p5^{T$m6S0 z`S3%T5bc%HsD9xE11SC z`1KJJ^P+-?<$($!r=L~NywrI9YMe-n(qX!qEQ`@PAYTW3h^_;H+c|pd&vA zG=k~ebODKxQ{+_9y}8o4N{T)N?1%2L90k&&?v-{5NKet&{(I?o`ikFulkx3(hkXZ6 znt^Zo*WIz1oq99Q*e1Yk0y@e~E8tpzo?y+GrrgY4TbdXmNsz=u0>yP0txTh#B@a$c zqAphXR)vwPaO!-Sc9^qk6ef3M}&H`vJEf@I-0+TQ}y_-~J^ZyLbYKP5=q1r9mMDKYTi3;S|hQ zAPiIzYY@fCVigqS$aB;bIphuj<-t>heaF5j#F>FA80H>TNF7Ke4y=1)RN1S!PiNrv zs9`lhG!s0_yP;q%*g*FZqzODlX>6KX>nu~02`!qW1qAd@FXHIQloJ&Xg1Bem?ff>I!>%Jq~UrH&f`BwR1jtS65N8#+42Ul#!TmEtw2MiSD~&7tU-< zKD!PJ)qo*2z(SNlJnKTbKq9G*iS2co(wOHPuo2f4C&b<=-Klz3vF2lZ-o%-VWEr9o zX$hY01K%V6oA*~(OSWU7Xf`^S*oLSurqD*HxH&KRa&N_-+i_Vm08IlJLQcCTkoQIq zL2)ziX$B^WTY#zs2n`OR-9WS3{rn!F+C%q~(c#}dHHYuQEW46U)eIz^;(??SJnzER zf@AZ(*o_GYWkZFe-&lQl``x@Hd$6_<{0KJ!CIn3gA!o5AV{SM>@w$T#dsP{G@eS+& zq8{K$IMyxfnRTt<_+D(H8z{PgaI?~{KKayI@>wh1*a0*34jx_Ff1 znZr?(E6#P>b9g$0y_fqEkMEXvB`sba4^hu`^u562yCyzF_kTP)@oL2QvE3dJ1#khb z9~k`~MA;$PZYj?;Whc_T@rv!QuPA7a2d-$zokQ)Y*%m=)9 zs}r$*zn(2UXL4NQaL1HzEFlU%ZBVLP`$~;Vb#unTS%fBv-BwuLo&r|ARcLfL2%XJ9 z-L{!*Zcie6qEC=jzIw~PL2H0bOC%GkDVMblQS_oCW2L`|U!I;kLp5p$&Nu*w`DRKW8 zrF*V1O1uyw*BGV9{S8I@#x`9)gow?9bK`8cquzdidx$^u*ATsySV`co+nznboi>~c zHxOz39yAqX5Y)I~vVLdt#b;Q^^_(Tk@WpeM;4cqs+P1#+=5yS1X0x*qaj&AdtiUDW zteEN?=K4qIc?>{1TAG&?%)jx6*ccLQV1)k1Fv4S$VGOQA1K(6fQJL#mqhd9Xld*Dz J(p#!#{txHWgiinf literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/conn.h.239A73DBC4E889F5.idx b/faith-server/.cache/clangd/index/conn.h.239A73DBC4E889F5.idx new file mode 100644 index 0000000000000000000000000000000000000000..f5568e1cfe565186735d09936ddfcead68a8a635 GIT binary patch literal 2572 zcmYjR2~ZPP7=Emz&9T`4i6KA|!x9dGBwQlKs$4<^L@Fo+LBtagswNIck+BX|)K*6k z9dQ6ftI%4nsi;+3lzMbP5gndyNc=YWHKWS$2&Cd7!YyY?3H+51>jJ*({ zsJWAh^5-qfwnqrb@ZY@5wD7DQLfx1ss;)`STzpF-v()#yODhHY$>>j_BT$IRTO5w z4~|`Y_?x+}ip-I&^J`XxKX#bX(WEr{_m%cd8Q=3dHto~uq`r|!9gfQ%g_kDm?^hl5 zbB)+>FeP0z<7wXPGsj(f7Op$cc56pdjDJPy!H{;k>(>Zfg}Lx^ZPb7{<$mkSg3T7* zyTcx1BU2w=Ije5*HksTihCNSCU(2zo0bJZN<3-x#_8we|(!-cj8IX2Y!a} zWc|&E2O2hVZN1N~%0`va!%1{0rFy_v>vTInetq>8aeia=we)|Fyr@pTqtR>Q1J9Rq z1^H)Y{@Z@NPMS{BXWfq?8bV{7p}`8563G%0(yu zAy!IBWdx9bRKxkaUluasYWThqMB@NQ%27^$1O&)&z!7Ehf{q`S7(~c`0~C}(LBLkw zRGMMpiuKQf7$n6LxQW~t0x*Frp)M_|KlT$5(&2nR%Fl^_E&s~RJo#92OEiNtINwv` zDJB5lQXB})5rx@94HI)M1qeg>x$dME}LGc#a~E}2v=~XoD~FY zE#%&J-6tmY6-$r<4v_T;P_c$>EfEv*DFOxkITDL?otAzJVN*tU%B-5t&7QNkRV4K;6ORJ60r3z>e`ik zvFP|A36kIdhGJX@*aF7on`Xvc&$`Ya1)e}9QZWQzf(!hb^VK8n;Ny|_SS?aB1mL(~ zQ`@XDo=LZ8$DLBO^F)4ciSFzlXchQSu1>Af4_y#z@Hc#7n<>yMFcfCOJ9G~5hK~ts0e9g% z0lL5tnC83yXs`iHa~=RRh#%9O@_~kq_%?~u2YC=Wj^B9i?CCAV zw16*Qfd;K(niD$E<^5+LrhN8#6-Bddl$!u{NVB7ZM;qaO!3c0J=K_$cKj-JVx93>} z{+zUwRtO!y7x2P4Q-Eli^`^X~P>N=KC?6^4i)KT0q2r+)%^J1FQSfPli{R#*g+RI9 zqS4*`ruPk)7V?GeK!c@Vn)4H&OLF!K3-#Z2;7?qKbW+>32ckeJtQ}8*LZ$zk0vV++ z1;_x`e0vEYj&jx)$ZX-pHJ8KhwgxCm!4Pz1h498FwhkcZhZO}u1~ z1}DKqI2(Z?rg?eU+_Tv<#~jN&XgRR{yx;*_Ptnzb9VLf$9_6`vXg$4jh literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/conversation.c.2C3C86A5A20F8E5C.idx b/faith-server/.cache/clangd/index/conversation.c.2C3C86A5A20F8E5C.idx new file mode 100644 index 0000000000000000000000000000000000000000..24df6eafc56b30254b13de9bf298a2aa2f8aba18 GIT binary patch literal 2600 zcmcImYfuwc6y7XL9%Kn*vx`6?q9oxN9+9U=M1l+mO+f^$pcV*K6tE=NLMx?Ir=o~6 z%Cl;zbP$JH6&0ZhILNE5Ent=6YqTRTp`y~N1+-vq81G_er}a;FCfWJEJ@=k-zH{!` zT@ex#WNm~XN_9v^N@98(h9C$De%f?R(%TFKsWL#2j6=uwcd1%j@%G1dek0Z8M|zmC z4)gO3SY;n46iTg(H3jw|j+IG|RL@u|Ys!r-N;HSMzWC@=M{(ZOO7>99lLdhm5v?QA zL)UKf*2qYUnh3iMDJ9X}_qOB}vfXZl3LJB4CFSwKU!5~AKQF%$K2>rI=lr#@S~ujb@%v&K%S zw2Yl#+C-1J99%=F-8%>OE*;o}Z7Rg_A0VE+#vKP&`H%kk!@LUl0ZdUi+lMB<1kf)F;O%|Zc-WGzHE zCs-#hXJk*qz8Yf_g2oIKrE%ckxK-QV;95MsJDP#&cqybVYf+5;_`ka}u zcYqZGBP>vh1u%+};5^KO zXS@1>^yET0t#g=S`pyYYt01lZJSXnAR8W!LXd}T&QnnLe<0G9qmy}QcpTkPdZXh9#T&bQcn<) zcvX-DzugP7*yFLY;{Cw=$(feek$8|@7%$8bM)pAa#*5y`gw23<;5y8Qw9AN@Np;-K zWI+3(z7~+~x6Bxn8Z~P``?`^C-jH6hrVhPzCsjMk?)=Y!vUEJ@l?4L&vMzw zsJ+wXYE=TNLitfaaBpyKJwytKBJ1XPV+snd%rw zoG;)nf;*|3>bHh32|NyhlgVWC7%?k$){a(as!{!uiW44A9?meaPq(@Im3Eh%25WVv z0(xSFXY`zSkyQ(5xv`vt*2U+1(zu5MngJce3!=*xAAYvF?D$j*pzV3~bcZ*V*-dfV z`rAOb3PM4*Bi@6zdm21%`(OI*#!`NBMdQ`>SrzdQJ{($fVOKIXm%<6K+>*UoM@TdplVu*VyuIYnVj1I&L@ zOn)f9z78g)TY~-^>>mVW<`{7-{y82dbFFE3mF<0ynNAgGgcByHi2$Pe&c5Bkb=ZXN z2-{G0kOs($S`1NP=YHE`IrftveHO-|UpKSU7h_@qDu!qhljC%S&}tI2F5u1}9_M_v toqKNCa{~cMO@G|ItP}kzM-b{I1#Sr`>SSYZ$GJQv3o~SMxJCxX$Y0UknVkRt literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/conversation.h.721A4DB3CAC62028.idx b/faith-server/.cache/clangd/index/conversation.h.721A4DB3CAC62028.idx new file mode 100644 index 0000000000000000000000000000000000000000..3a158684e0e5b6c60ab9ea2b573c7f35d7224067 GIT binary patch literal 554 zcmWIYbaPW;VqkDi@vO*AElFfyU|+pXv>W`_AR_7hqB{RGEMcCheo@z^2JyoyubRBiJ z;#qXx-utmETbNo~K+@yve@ev@BHnCy9GDof$7qg`sjt-yF28M))^9R=u6)R(TF=Gi zs%Z7@Ud2G?;=+jX)!L^WV>q9^*mqmuUFKhh7^$_^%D>+p|GjPE(JVdjn{TeAcDnZN zyu8?`#dU{^hv(+*g}bkAE|ybe=qYsiu=!#_VWZc!uOBBXxfdM#ar4pkH9ZCen|x<~ zoPU_(^{3UAZ^IQXUjJM0^V)ts%ju=3&$?F~{-IG^nVX~t^nHhwx7n58Yr#AWpl|^J z4t5cCV+KwpMg~@9Mh;enqSUnFg+TGzn4=kAIoWg>c{n)LI2~Xb4VVwyT6ELWA1KTr z&Y=PmhS7|Y5c9xBGcZI>oxDpYFR%n;2n(kaOx5;hUfzeDXG{edV!+`66Ryr!##OG@ za}_Ae&cH4V6P|KzlKSdK&A%YkEF3~GVW3NM5<&J97bO?#gBTo^3;kLqE&8p?%*M{i Rzz!0E08SW#fq@Od1OU(@$5j9T literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/device_link.c.466F381C8C3FE11B.idx b/faith-server/.cache/clangd/index/device_link.c.466F381C8C3FE11B.idx new file mode 100644 index 0000000000000000000000000000000000000000..953c40d59197e7e28c9540445c4098924ab952a3 GIT binary patch literal 13152 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 V^&u?=sd9(&hna;%#2Ca75&$lQm5u-a literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/dispatch.c.3E4E54C474E7A85D.idx b/faith-server/.cache/clangd/index/dispatch.c.3E4E54C474E7A85D.idx new file mode 100644 index 0000000000000000000000000000000000000000..e5e8b2393cffe0796af45595e5e91fc99d4b26fb GIT binary patch literal 2586 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 literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/dispatch.h.1818AA03E621989F.idx b/faith-server/.cache/clangd/index/dispatch.h.1818AA03E621989F.idx new file mode 100644 index 0000000000000000000000000000000000000000..59fd212ae1728e7112b7aee44a584827d7b7b692 GIT binary patch literal 440 zcmWIYbaUIl$iU#7;#rZKT9U}Zz`!5^#Kk2=nY)4X6`)+joTU>s@--_6v{j0*vFEOt zzD+vV`imuprNN{H5)R^zcZVP3>*e#^eJA$c@BjS;D(9DRe?HZFs!-k~z~;i_`QEd9 z!`s|e>lJK?-F_-#QC;%Z3kx4^70%sqJWxW&!#E+Snnz3EWWZ&oN+eS z|L*_as?^02eovUkE)%DGAEs~a`{f>djM%b4OBa|}IT%<$A`rjAL(+sy`{YNO~Sgl3cfX z(VjOJQod$fCD-_jX03T&DdePcF6emFgtsSmm^}~5Und%Urebwco7W|2ucH&Dw_pBf z5XZknZ^;%fzP5FlOG2GqUO3fZTAgZ@?JUEPbzNWvpQ^?yMeF0c^7eM~ZE?M+|fx?^?oUSn8>WpPv<$66=LBb52!Z6_}=O(GIZq)n>5?19j xh6w}h&PfE>Q(Tl>Yz<;?fCva+hcSRo{&n?XNBYJt0TvE6b}j}kgbW*k2>`Zun;rlF literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/event_inbox.c.946162CDA2FCA2FB.idx b/faith-server/.cache/clangd/index/event_inbox.c.946162CDA2FCA2FB.idx new file mode 100644 index 0000000000000000000000000000000000000000..3569bee4fac8580672ca2f7dadd7ed8ffc807ca0 GIT binary patch literal 2492 zcma)7c~Fx_6yF?3KE4eSl0Xu&UqC@4q+m>pLyB@04JuJNriekVh+w3MFymEasE&*k z(m~OB)&udzdf?a&ST8_(hinAi=-Vvc-kj8~{GR3rly@C!bw#X{=9I-O?)^wO6LZ_4%mx z#aB*>of0(d^NfU=5X5a05{f!pe50m$tud=Txsg4#L z9%y=CYd@Ck*V*5g5%zRM+ML3J(%zHOnp<15wq%wx%^qiGR8uEJj%)RbK5%-j<%W67 zjJoxY*M?b6Ine7Ft&z`nl(ai+nej`;c6-iXs!|Mv{hS3!9k~%aRPo1z!lJ6I`#Z{ZV}|W^46y^J7hB z-=^#K3yP5*<;vAnI(=97f!i;uwfg(*^CkCIoIJ5(PF{)d*_So1yX$tokbTr~+M0YIJ}o=V2s!&?a` z0UreUaTt$}Tb8WZo4TkL0)K2^1V)CDNF?I`<-q|;DK_}!^uLSuY@K)*0vR^2No?Va zTp|x=4GOl8$v3XD--1Aa4SazwVnjfM05yy|#1LtpU4Qq|@Y@gsU;~rHq+|RfemX#T z@`en+;(7U{5uN~89_*@o+H(VNlt}HP_9M*ti7j5Ymt{z}5T$d|1uj06!Od`?`Wp$& zok!wi9Egg!#klo`zI|;?S55GV!2==#We^cch!Us-kt=zWMyH8c-U6yX#G(?aL_}0L zc;S0({CSm;2a%kXBbH7{E8S2G9fJsYLd)Rehh<+yaU{sfx6*`{ZaBef3{9FOfQY7P zk*iQh>!WpLjuQ?^4L1tJo@M_liZu{v?H6r#*rOX1y?B zku`jc7fE5u%hdjLJ2g{rm|Ct@K$b~d9L3x2A+nb9D}wvGip?B8O7~Ak#M8Z($qSyJ zTb_oO-ANop8y)t$7eB;B@I;Tt<2#Ocg2<>c>WFF(ne-+T;f2T+VT&gjIPA4; zlMn97z|uh_97SS+NEjdtVUbKG8^NLgdB8{(F$|+-QM5eTZ7+#Qa@$K$rHmn#eU~HF zd)0eq;vNeXhAK(qyx^R!!!awf@v;i4M8w*A{)rbYQFrI#wl&k{AU2m-^eh*ubhPxP z&U&>5pAF%LP=s>)qRyi%w6cBC!);d^u{&Bq<2g6<;gW=exQdS@ zP-X{`z01{2&3mF1O}GcWX>T!Gpa5Zjl*9xPlfWdgNEfJ6vq(?r-R4oWFj`6kgeWdB zPR*itD&94#1cS>jPigq;B92uilu1}RM#mUgWRY6}NnKzUY%}owZpAlV#aGe9=uWKY z;=Z#t+xY*#F8p_7`>D41Tx~ArI&K5!5FpYJeq0IXYe1G)6zum}5?2v$oxHzlgD(d4@BGG?cTwk|InAV53M?q^enzPv!d)bgDveJla&^iX=)^;xiu?f_bnMWx)|_<*1UyC+2=a=o3x#;omzF@G M7wtV<8-AZ%RQTo7oSQFBq-fuWpa1ny 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 literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/events.h.01FD48B0CADDFAC6.idx b/faith-server/.cache/clangd/index/events.h.01FD48B0CADDFAC6.idx new file mode 100644 index 0000000000000000000000000000000000000000..6ce633660353d6710655364261f1861d59e957e0 GIT binary patch literal 888 zcmWIYbaN|UW?*nm@vO*AElFfyU||c;5QIT*%(W zB{<*7wwHOoGFPYj;?^Z5o=c71?!RpDG9t3kx1ccQx9#trD{n?_+__3;i|m#wR?ixC z{kfBOde4oR@EFeveMO5)HHx>!rl<=!{aqGi_%e%Y7jvpq3eV5?mwUG9^~XGGS8&Z( zZqj>?o%4lCJIn1_g%4#{F1R)_S(Mslaq=g<)6(Bs?O;^Qll{H(dyb3$+8X|r3rB2Z z3KaI8;g7Kp3VZh1uGabg#kraF_h#JPSLuJMCh2&`ywaqJA6G@#+3G2)z4#*L9yFaZ zpeW$}C4BYID{H(>sg(^MOPTP4HI3V&2 z{DLBa`V5?`Ob`Vr3}x$?FP(Y9!@vnsz%IhB!NAGJ3{k*Pl$ur?1&lG6U5t_tJD|$* zb8Qt*+&|~b$ipveAnX9M(17{CtwlF2{h4_9`HlGPVVZgPg$#sjVT#&+9C;ZM_`L5IKnpnZIqYDn z*w|tP0#>TO1`6|N@>s!yr<|LlzPeHKFUVd^c5|38&|V`x2PAt91npq<7NzDSg6t|T oN-nkrG5B5QCH=oXQH_^{mxoV)fd?c80emn91A_p9$%|kD06=*tssI20 literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/faithd.c.4EB5E64379A41520.idx b/faith-server/.cache/clangd/index/faithd.c.4EB5E64379A41520.idx new file mode 100644 index 0000000000000000000000000000000000000000..52c234905f61822d2b8cf43496ec4f8fce96bc72 GIT binary patch literal 1682 zcmZux4NO~A7`^R#JRZCYy@i(k>_I7IQcxHHEZ7bjC~M2wLD5Vji#i5%DiDx@o1iF( z0V6CM#$_^{YzUif5;m~gqMIypu*?lf#?;LJO_nK$12c^K!FgM}uO;y&{cg`a@4kD! z^L_U{Tx7Mr!2n>XEZSP*ZYZY#05bgZG}J$P56=-|0Jgrnv-Di?nRK`y>5t*Naysd# zHI@zIu&(oB;v~~wbS+VSH+LU*wXNyMVzqhjl=AS9elErN`(=AxQ&#b}eK(_CKdBwH z<x$1BXpagsC8{g$18i1p4pwX*wflN^{DIgYD*QrHf&<>I#*ll_MSU%wt{N(B+pD= zI6pmG_kgD5`Sm?dM%s?658Xgpj{Yz@^x2Fv?~8*SEt;1zH!rl`9lmut50+m0<@(+S zwa=Zkl}MR#eyWxk4`~!xGt&N)6&|>*>oBEutQjC2%ooz<=7a1AoSv6)6G}Rm?tUnMM%o#rD7;|+%5QAwMCzJaFp*;`1#+s7ih9n>Y(~O?U^#?-FzNaxc_w(}- zAo0RR+Uv7Kn~uK zNYIHDb9{I2=VlQ^X0cgHmPwT;^|I>lD49u?5`{cUqthe=HJAVB9t=5Vry(-snui_LCv3gm5@hAu7 zsL7sfBYzB*SuX7rV?)wR#=vo|FcufqK`50@<;a$7?da@5qkaGv-)9Ip0QwCHAfF)wk^A85N_-i}GDIm6DGB7g zSbdD?ev;ItuYU5LfBWzV?iUrKQjmvA+8ZiQ3^k7W+DL6)NuGvZ!!ZMOXB4MVKo@Xi znMXF-7KEI%Q$V-+yw>QN(%-Nl4#puPTgct?NyQg4AT={AQ&0hsQEJqXE$-}#y-2ZU zp5c*_RYnr27$qq60Tj!|263?ou|b@k)dz9<1iiq$_2rvMhgy>tal(1xJfX#m==2_M z_m+RKdQQx-fIPfojw(wH` literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/frame.c.500586E393A4BAAE.idx b/faith-server/.cache/clangd/index/frame.c.500586E393A4BAAE.idx new file mode 100644 index 0000000000000000000000000000000000000000..3e53626ab975c61dcac2ce601d88a4d0e57edbde GIT binary patch literal 2348 zcmYk82~ZPf6vvk&kb{qe9DGSI7>FUk3`dL@ZbTqJ0@w;j3yPHhHC!G7N`wdB0#b~18)J&y*xycrPx7;`o(Q$SpYyZx!!t{;BZ}uG34POL#Bc)j^41WBK~5zdGCMj!riD8qaRc>#iKw zE?BWRvtiSKx?A*k_cZO+;I8)aCo2b54Kocr5kdD{4V?OIX|WHdWdc*gx_6xmF6@cr z##jyr3%*?)N^9b!6hFVJZjAL)|0tL^cD{d;aeG;a`z3m-rtj~*uPgSOKW!KssTqCQ zaNPO!1YdR7Xj;z>Zm&DCV4e49?%rU|^bcOgX1}C$jtCcnYmLg4b-K%8!(Hae%8q%H zQ#ISi`xn+UH#QliYXT;=^sFv#{oEgWyV>~D+?po#$kGjO--^yT_1e9mj_==l{)yKK z-e)~tz2QZ>^@|<_)_%~H{BuibuV!G$gVOH)SKg?9Db89|YL3M_-RT!H=!#o8}V&|Y5TY2tMpD}<*aR-aY5+r7cSV0(@?t}^XxI(*y3 z7*^-G=l1dZ5BW|qXq{&bKykrQS2(w;vPBF4ISdYm$Oq*vazIj{wos2k04&xP6O^@B z{+&nL$B+)7P%d0RhR79i6-mB4Um>D>lLy078rmTZKqkf%ATxkE7o7x=`?8K-Gpn>d zP5^4S8U->tUn=BA9cF28a~eO*7nwV=f(-BMeyFoo!54~<89;?pA)}C5p+R)4yW@Hi z_*0LEcyK)+G6Pr+%0=Y8Rky!$@fgelJzZst8maU70)367$wtT$^lewh);CGy^jq(cKW& z440=Fh4xr+l@Dsqfz|OP$yu|-xVgZ!U_Pq1qPBRZEkR;sGN2pRjgXrGr9kSAoER{` zJ%A{V0rdhsAqfM<2x2H?5|}8I?w(G>LG_T2Vfj=QUO_ZJ+7B&W9X?xIGMv7}-f{&` ziOhJ*y=BDC0#K{eQg&>ZDvVeFz&KSLg;G_i6v|X)QsQzHIg||MHRiP_U+v75KQdN4 z-G*0Z(OaTW+iEKsYP`xU`&{t7%M}tG!AT}0nh2m=F84tz;rkjYh(`q{rGip{FYx6e z&nMFHsrM5sC-Iy~{G^4*9OBb;za`wSl?fc0AYp++6O!zjkYv|{B)cXg*)<`_t_dRB zFGq8)*)E*HD+uNX6K(r_@9@b7*<0IiO}O*9O5_cor_579QlNLBilh)lh#yJI6w4@- ztVpI%hIa-fZq@u%lnmwt=7ne#^Ua}iy$8>Hg*P9tfE4uyKru%=k0gJNKZTZnC0^vU zrC=$AjKE0J0O;1!XS>)k=;q?)hC*ae!jceULIwj^0Tj}6^nB7Yh7&^}6URiMbXGbg zF54xWlEKU{yP{R9EzO+Dz+E@-Nhe?k#K?^ALd+sWyAVJt&FX;&9ceNs@DhZg5KqS& z2K6p~(~I-b?2a*9*;3b18H)L$@6nDIJ8-iM>f}0NO3rkuYU)xhkI@*8$%2+-I3^1s z&grS^k%#`d=frSKCA8#RziCnvy5T-Pl~`(4F!BblNLxfaM;ALAo9oYw&*9~$-PFXJ z2rDZn$+eekEz7e8*-t#|KmUEi=mc|u%pFm(L-9iry4XYH_}laUwY<{&5;y#u>*~&8 NyD&MfZorv`{R>p%AK3r^ literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/frame.h.F5AA78BC12CFCDAB.idx b/faith-server/.cache/clangd/index/frame.h.F5AA78BC12CFCDAB.idx new file mode 100644 index 0000000000000000000000000000000000000000..45cc30ccb59c2b41e5be14fa7c85295544574c73 GIT binary patch literal 646 zcmWIYbaSg?VqkDi@vO*AElFfyU|0dajiIs%u z)~_P;N^Dwm+TQ{lSFv^MZ(dE!iLI4>?X<^hO3n4dcOs@F1#8}W6CeN0Si&QS$8)*x zQ=ZzNiY*zMirG2F5f6Gc-s?Y*6EZ2&V#A?1=ij!>vyq;&De!Qpe)Ni;cfRf~;A&uZ z5DVDoZ8a_aXL)JlalgO*^Ol`|eRQ$G#amkpSML9+*2#ED{72v(*JOs(Q=ir`y+{~1_l87iQBON literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/handshake.c.C2A0CE6CBAA76299.idx b/faith-server/.cache/clangd/index/handshake.c.C2A0CE6CBAA76299.idx new file mode 100644 index 0000000000000000000000000000000000000000..63ab2bc4d70a4325d04a98ece885a21fe1698b70 GIT binary patch literal 8882 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 literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/handshake.h.091CDDAAC8C51FB4.idx b/faith-server/.cache/clangd/index/handshake.h.091CDDAAC8C51FB4.idx new file mode 100644 index 0000000000000000000000000000000000000000..8e8062bb4320d842387cf8acf2ee4374dc0112ed GIT binary patch literal 1172 zcmWIYbaU%rVPJ4h@vO*AElC728AO1%xTGjElaYbp5Gw;i#hkT4o_U82c)kReoLH!N zhbuPl#}v6=ddCy-l;t$DIHx~>;fhqicF*Ik zy&PGLXBu*uIg_N0?{i~Vv~S5KM!nlTDla?NsHn#=eRptWTFbE;;LQ&6S6N4d+ z6O57&$3w+oP6rBuoeUL@(2Y4aJu%N6WQe$+3CxiETwBEx_s{t<@rZEfaM-{dCBmc1 zV+!+w0rP=di*8!_v+{_rTe7<$6mc7I+rt#`i13T^tH486L_|l#66O{j5lJ0MOIVn} zXrK$hVFq_Zi29rTb^4NVJANezYxLzVI5&B zm;pdLbtJ4{cEa=ny$?y|Tm+aqGx&dsgM5OB*)fmwKt@eY-5MvsfHKjYo8sK@7i)eR%XJ9&Gi z*b8aiJ-q+Ji;H{zcAWGm4>Fh=@1Xc{$v0MOAIA#TiM7q!uUGd?di8tlk0}ZBu3vj1 zZm_Oyk>CFbPV%b_j%mvtT#yhGuAJ&`vrd(d zfs2uWom+%k5=<~~0Of$-b@mzF#WRkF@iFiMrFlen6u<;bx_H@Q?q8}#o!kse3=Hf7 zOacmEf`JpPnUS5fqwk>5bSLZmd<@J${rn>QvS0$HU%vC5T}StUqkIh9KxtkPUO6xU zlm79tWEVq}=1V>X9-uUz2%i#|fJqmnrWIQP;{)agMlOik!Im>HMCitxo1U2G&d9^g zE6-~K6=gUa`TgI5)F(bb)j}LX+Av|5Pl3W9Z^DGze;j!k68OCZWC#;4C(OYxj{{YM zd<|2rcT`(y*|T?(n0VN^nYg)N4&!0xVdCL}+0a&FVmsr?yiGv8#vH~PFuky#0t$n| z2__7)5hx4_ADFPsGKmDXNc9syckwgv3&S+?3*@`~dG_QPP?(R2PY@P>FdAqGC=_9a zFchWcB!W1_MajkPAO;c!U=mEQ$Eidm?+!Wpjg^Cwm5qe~ls}+=4aQ(# F005Ih;lKa@ literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/logging.c.5687586926B3DDA0.idx b/faith-server/.cache/clangd/index/logging.c.5687586926B3DDA0.idx new file mode 100644 index 0000000000000000000000000000000000000000..741ad2ca7500598ee8e8085fae150c95d8ef2bc2 GIT binary patch literal 398 zcmWIYbaQKCWMFVk@vO*AElFfyU|V- zZdJX&1I<-=q3`Z0D=&!Ftad6E;ZvC}#vA`H zwR4_nrXM-^FXIR9D{h?+iYs%I6oKwfx_W=>=@}dL^D+oBFz_?6GKmSW@UX}-a02Cc z`4|OQ8H!TVid})c*u#sSJ)N+Hmyw5`iGc|e4q&k9{#pC3PvYhvVM!)Am@v#-MlP_S zFkzr+If)=naZz%yIEWztBEW!=-Z)BrAho%m>DT#g(~9iaB9tbeA@UX}-Z~|G3OpMH|3`MDF#d<(q?BPYvo=(`p%gDpb!p_1C sQVIev0~k3W8X=-UT{(#$W^qw+u{ekU@-P%IH!yYHnp|2g%E-b10DqEJ_W%F@ literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/reactor.c.EA1C0B8DF7477FE8.idx b/faith-server/.cache/clangd/index/reactor.c.EA1C0B8DF7477FE8.idx new file mode 100644 index 0000000000000000000000000000000000000000..2f01e9e6db4de1c6935d3af7f133b34e2201631d GIT binary patch literal 3846 zcmY*c30#v$7XJp4K*%H^Bq1>Q!o4UE4!Kzaiy%l)ltZmtf+$LhLV#Gg6#W$u6r_UI ziz6)kF6OHtQFttS;_(Urw|)UzvHD%}Y>`O^F#{NBua^MCLE-n=)&t0N;P z1QZp%OkKDtQ@eykQIrJ#7HIQ7J^?6d7Mr398(I@$atFQO%~RimZK7{Ecz<78zrpBP zg~I6R)k{ZP>}LO?ImVw~_32*e`11w7N)N2Qp7ZnHEq;l5{IV)zzh&)c(a~rzr~R12 zcxc_&?zT=XMg7X@Vw+*;^Ve5K}Fu2MVZetANO-;W#TzW!O@v`1*2^5;3G&I=Pc*&|twkJpzEyFQaIEm`mHVU^esnw*w32l;Re{rPJ>w_Jx4h0da^~PV=g%@@eJ{&<9>}T>RrrN- zz62pV_6ozw*}T>3%TL^<3DR+xF(m;%{R^ z??xW=E8hR&rP+>Y*M|PKXg~y zcyb6*wpf8}#rB*0B4OrdE-$#kqo}mvsV>L0bJ+kQk)_CnSY5Jvb7akpsU}7cSqLm> zvJ8=(&`v=ZYzgunKBm0M$F^(j*ZPs5e1m(<28xm-*mj-$x+!ECqMbmr6Ud1CLsC($ zctB-|ts|@>oQY%HncV>}f29mtn@UX$kmVA&oFJcDwEcin*I601)y&ew5Zi`zDHqdU z->|{UUbbFJvYc)|oZ{U9y>!~v8a>j1zV7}g_{84?q9AUNNKZM6;l_yc{Gu#wmPlU| zsEAu6(x(?~2K>!HN+N=2H{k9DB1Y~2+zucj6~q7E;iq4_mjRB5zj}2iC&vwlAB?mxMYG3Nju-5>b8h{^R?}A&xv8>PQBXJgWl}dsqC1H$y zca3QjCJ1vOs5D9vB)JgOsYVO7ReV($jq?!B4(Adjh?3dKT%rU~9dND#uEd?z`nEyw zyUsX3qY7YF0VHH&Sp9tPNl0$|hk_-3L8L2KBK`4&f40`ACFw&Rnfs*6BMIR*(|tv~ z!6%b&gxi7nb|5AYK53(cHBW|9F?OO+qA79F*lEeFgQ08FG2!0OTSTxRiiD8{QkrQR zpV`ZUc?Nsc09FG7xfKXnftY9$Ab=(tAzAiq=qt>WsCNxXw7RhlYeqzrzB zkdboaISQu0G*XR>k+dSMn32jn%chY?AWky=p&7Xm2pgHJ3{ex1H34f9F+?pu*kZWf z4tVW=Pxfz9mExE|^L(6tk-f-`@B)# m*@#1%}RZe|drw@WLoNsuE(acD zL+7M(1qdYa`Q+PH>;LOkhReiDay-gXMr*&Xjx2uwb@p(Wy$De1TM;AeH=X?t{IOAYE7|24RWKoF!D-_PxcbQo5fUO>a^*cg`JpFwys7;|T@W_k*9B1;-<;DI z{?qYxHblNWUqtXAisnTlhR~(FrHCPPHE%T{1qIPoz}pHCp;fW=vgYBQ{^OWO%`}Z4 z@t7Qi1JOMw$TGYI`}~c^zvIxzo8`?T@HC2KMe6fOqs6Sn`h3zTkCn$G@HDChtZKj` z@HA=#oK~g|?K5gq(hn}Wf&qM>kAwkG+o+w1Q#8sz84e^q8fk5`&V~Tft3kLSKwv8f zCATkQ?nn9rL}Gx6l| za`kToh}Huh?nnd&qJ4n357307vD3~QcFgG+;jku08v$TVjy6IV3+YB10bn8BXd{HN zaLwsP8v$V9n$wLo0$_INMZap##D8#GV*9g0NMI1jOk_faGAko1Ga{|B7LJ;hCH$y+ zHkgI;i5K|UV3w@+LYFAFI^dzlt#gT5fn;y+1&0D?&;=Aig}w{K>^U*k>?V)j+sJDiwQ>s0-lmdejuxkOjS1^G)0@IN0ErGJ7@ p07+S^AN?XMGB=Xbl>YTdQA<}XTdC`I5}u_%2>IqBu?0^`{U5*L=IHG%mg%F z(v-tDl=AJ&7Yy+Q4Ng0jN16CinqWtnd31$#oq8IY_WS?0XKQzRj{ENWJkRgyGDC5td%I}+6PPhlNK7M%D z_;c3HtnCLY&t?xE>@EDql;-d(y5!zFdt!-jsk3in<*erWU#0FiHYaJ;uKCr+qxn+kQ+S%P)xSt~bmGlU{S3emrfguu|6C zSaNx1>67Pqo$lo3@|Z1um{V^z_rA|-XxiJpZguau6Z0|#`Zl%r=8f9OjkHY`rq{DTp_3j?1pwxO?HMIvA65Vkfw&7r$*81#m(4;HdkD7@-1a z07gd1g1G=@}GbB8kCB8AG|i832euHgaV6j5#<}4r2tsgolOe zxd7y0upe3V)6n?bxC}XH$j@4VR>TGT`RkOB4o}tNX;O$F#f3om51c)w>*YqL z0)mMlgbLAcfioD{1Aa66Y;vsDo+Ae{X%H!j4B-Mc__eL*%y#jmdQivk?I!dSHLg11Ymfakh)F%H)3OZttQ*tF20*2u>&l{KTAE(8ovUNX#;fYtH!F!-AQJd%BSU0$ zEI`iOf;slaU$Hi3J8r;y#F*BgCg8AH>bVfo^O~WEKgO zYfJY_-0|zK324RyCKaB5X3St#VF#MAfJKEfrWq?(RX7!zv4dTO7a|)6hYIJ5s0B&9 zi20h*OcWKR#7&Y`spiZ;tJt{Mv_LDH!Ip@v5KO+r3#7kXI2EqMXHPQ*%Amx>(@b1k zoWC4`OJ=}Qi!(r6iOjN!a(PMF9QJQld9jQ8hw0xjKp2_`-=9^!(AqNNZY8A+gZ}_! C88z4d literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/routing.c.A466389A119ADEAE.idx b/faith-server/.cache/clangd/index/routing.c.A466389A119ADEAE.idx new file mode 100644 index 0000000000000000000000000000000000000000..3dd583a1fa0518e426894fe6c329b137f5c2c9f5 GIT binary patch literal 3028 zcma)83s6&68oo)ckdPyUBqs@SB~3ITfQCR~fXG7(P-8Kfg)U)fKp}xbH6p~SeSk`L zM#uW5rPjr*)>yY%x4P4nt(2Bh$y91lN1+vq)q=Dg6zz;tzz6L~I_D-~XPwPVlKIa4 z&;R)T*DWyR<(=megwbKz;H+F*P7(wmL|@n1`kFEZK}@m;VngeZg6!2@8s7cF`WqLE zQWL5zd*Uw{BO0=Iwb&ES_EkK6S^#BJWzA&R5q5QA|I6#E)}<%6N1uqzUG)9CVp-2t zc~wNYwl{CI=Fpc1cPvg@+2+iZAME?7{TKV52eK+xO@+eI9DcY>v#aOI?7Hf8_m0j< z9T1)C8$A8&<&nP+jyO)PDZ7(X(|Ta*_6z^{cyFeAkJ1`aw>^EZCvB+qrSQSlZ?5Nt zdg5Qu{rXyQ)Q7qA8*GfByL(j!CZakVwxlu1xWqOD>z$9Zy3bi}^S2Ht@?%R+EE&i> zbCT-u><+OuZpuskxg+6bsbELx@XqX8E$l0*x8HN#ty$B*#TCW){CJ1%wi}MV`lhF; zARivSI{MWIyByK$1qEjfN4j?AAKLxmvb=NEt?;Xp-~Ko*7(a0Q+Kda0&F@5aF>hS> za6k#?P>pd2^iG_5=xj7J{BTj z3>hQD2tXBACBTS;^O^H$NdPsmnneGzBxaJrkMwMPq#qgB1_?$0W{5Ik{HTyq7$9k9 z+WFW;0IN7vkr)j<=BzGBd@Bpl63LIGumTbW8oo5JO0>|`lfwc~p;07bApnhfW2zsS zb!I(AW9vUI-X%D{6zL6*3>V?!X?kxv%WS{$o~$3%*E%y~Uw+@a47nN>7e?0#fLgXTfUIIwaVj>jk=#7@ zc7Lsz5$v3X)j9C))ieuoj;&`K{mxkzT9@FvAatY|{cZ*I5fvme-Vqpe&0O(byb92@1L*QO;)@12SbyGA{5-nxoA$2LPHA z&2*o!=9c##Thy=ur7M%4DaPpK39j5OG&9DtOUS>*$Ih$l%_~a!D!uCwZ~kMfr0Eo5Tu#a5_%481@+_4fEq!XK z5+l#1gMS+T^oLW(Cmqz$NgBR;sOe>e^CM(V2!s%u18@ac0Wrt38+z9a@BjKEbXOcN zR%4Zug5tK$jqiWv<#?&Vg703sd`I8a?(SqzFa@O03&7!FCfhgO==NHgD^y`=WJ$3i z4qF2Kz@uk9?B+bF=_x29Wn8S_{~rMq%nZwDwwrTV?F_3G_?8~{U!(11Pmzc=20?Kq}}P6-(_ z+{mEe24E3UB)}w+L8Gond2Kt-wEQ|l7__VYl{#{DD&zPNn#fYNbQb1;g6a@8y#Od^ zh%zMLXKQcPPwqR~d}~^qj=JC4GCA$HP)`9apjRV+kP8D)3Acp89s*d(Ee$~B+;SRC ze4^a^W`5_b&?mhb1QYcnYDnK4#UTV!6Tz#^do(gUf=ZGT$DucLaIcN37hZ`jBPWrN zZk~>Q1wu7%Fl1r9Z}jesJ-#{aF=|Nm95yW!tO-D?%Bsg4)K{)5_jZ!2-tO`ZWfATx vf}qC@!GNr$*ZF&z8^2|V#1evD2n1nwI#$g@SHihGHYX%Bj5`y|h#-CkeYjcY literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/routing.h.10734F3A15FC9888.idx b/faith-server/.cache/clangd/index/routing.h.10734F3A15FC9888.idx new file mode 100644 index 0000000000000000000000000000000000000000..92af7b44079c564f06b73ddc3875fed4e1e2f530 GIT binary patch literal 658 zcmWIYbaU%sVqkDi@vO*AElFfyU|Px;^`IHZ`M5%uO54F>zI6F;II4X)+gPji3XKTZ2j`(-sG6KvrZR3Kgs)K2EUB} z_t(Yyx0M!Gz6|iZ)VT1X)$~9^|ELMtZ?EfJtzFR{(>Cwpj3yDuXB~`16wc#pndCjGdFV9|b?wGUA#O%;Fvko8sotTsU^2Ovi z9vxm2CY`*XUaY3(ekV$GB73HZ_3z8(*Yof6x6SkoslO<{bP*pzRk2!tpe2XY0)^v0 zQs#29EpZcN)yW8}RTi)G|9tUlal%7^atB zAm8oJvnS6OdAK<>IW1s{rktCkzPeHKFUVeH4nvqQ4>zv{uNh1)Ls4o@BFM7hqU2(I g5Q7UuKmfNx+!kB6w!OW~T%0@%oG@Vq1|9?x02>16`Tzg` literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/server.c.39D815EF173EFB60.idx b/faith-server/.cache/clangd/index/server.c.39D815EF173EFB60.idx new file mode 100644 index 0000000000000000000000000000000000000000..22b0814e02ea5243b1a4fca8d6a12304d4ce752b GIT binary patch literal 9742 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 literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/sess_registry.h.30D53D624AE73CF4.idx b/faith-server/.cache/clangd/index/sess_registry.h.30D53D624AE73CF4.idx new file mode 100644 index 0000000000000000000000000000000000000000..06c96490cd387f4f36366919c813e5f1394bf3c6 GIT binary patch literal 2242 zcmYk62~bm46ozjeVM%fm0trh9Hwgq1b`yjMiVG@~MNxz*h*%cE1);;zx?8o_A_a8@ ziv!45oQjmGtrz3(MA@y+DSn{&@O|H(PueXF7) zBQM$juw+B@_S~$ZbT$A$jDLki1)J})0Jw_Jwx8%sxS7|l5e}Vs`FM$Ii04JtK|%P= zzt)HkE~&LH@3Nz8;yB*@GxvHvf z;-+=q4#s}!p4REKLhdt^x@@;{`IaqJdQJ88&`viocPhy{=hxHK=gPJf4@sz3dJ;kTJktuS!;h*I)4FM>oa%l323&@Tp_y z(MevME?|$_uA1Ka4O8mz#Ir>M6DcQ^^7zURJM#pUZDCJR^iNZ3D=s}bWBFP9bk()4 zjs>kZa-RM>H7{UrstJo^b>~hL5>2u97k2cyVB?P>`1{g23Gn50KJQ=?OSo z3fPHQ$TGKgEcjJ#j2HqX2?!O3dIJuJ1)S}1z>mj@FZPD*lnQ_x3-Dw-C1Z%d;igtc ze#l}Ok46$f3d$G*I7~I1AA%ZBN1fJ1LZBuBzGB}%z_GP92w3jz6}1NKi-EwC1Zcz> zf4~t~83Hyg1W}PSafv+Og(X}mS0~1pCH86)f|uRXr3iozZqdow2{MMXm^r_6_8yzb zbv)pJ^X(`*31iIpqc>%$Kl*yIc)$?{I8)9}i~$k=+yKD;Vd2^fRR2I;p+P{X5PBlo z5CNO^sJmG$%Re!!$id#h0nvsWhjpx76|PCC696aN9!JJ;XAC)RNgSPDOO-YXfDj)` zB~nkukmJ&~f&CG6udhJhO~w-pf)#+nw=|5WvEvW5#g87MX;^?uaS_=mVINnb!8ccuQc@>^CPZ!? zZl=Fa#*ceqZh82`GMox|JtN zSNBbcx+#b_9F8OD71y2RA4cl#+EmZo7Esn>1(6KMM5Gi%DxeaPsYB!od_^P$A`Q@p z%&i20AQ5Q=qEHYjA~=wI+!%9Ljg8p~KaQLpel~0kkptymM@9~j!bf4+4@4e*9`E7l zrSN(mPfx!fb3a;7ZIHPiomywYvmk40I;~n*kXbm7ev#6~@VJr}09?$kCJgaMw153x PtDf^Cm)TN@i!1mal|FNj literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/tls.c.2EBE572CD59FC30C.idx b/faith-server/.cache/clangd/index/tls.c.2EBE572CD59FC30C.idx new file mode 100644 index 0000000000000000000000000000000000000000..4650c9d3b54e5877acda0394eab70e50ac006aa8 GIT binary patch literal 4314 zcmYjU30M=?7M?o{OPHHLAb|uXgxmyBWZzU2!3_~D6%a)P*~JCQ;>P0gq@X|^S`~Sf zYF$vPydr3+sHmV7ZAmQ^6$N+|Jl#n#LNs2@3E$+ zsTng1b23+^G89Eg@ZXA+1xr;lMIAMzsKVWcV&BQV;bZ;#uH*+(ty=C}TK1sDCdR(< zi^#QH6*E?M+^uq3-=gYg9&tB^wmf4_YTD+M)ok5WZTs@&!w1Eldw$<&_NeGY z!u=OvO&NDXj{Vg6#ns{}^8qKn?+Yy_F514}kQJhGaJPv=Z=TAU*3wo8@4cR z_x%3xrysGeLtiZ_P2Z9KzY9yJH`U#Wx?ixoBrN36Ij@a3KD$KUdg8P9hiTT!!WT@b z^iIl(N}2v{<qz?M=pN&#OC9QRk|NJQWgUIb&+bl1% zRoJ*6dLh(0?YbuPUwrHMNBwED)Y<>yVm@+*8oPgTYHozy;p0ytXDKD&Y7%+!{Q0>8Z2r0S9Y(!-Xd|F|DaPK@wjlwG7l5nLu zP!g!51gr_=tiT+Nji0tnd-db{kaEKcc}$*2tzk4GN-i`VVOVH?s?Iqp^dm@(!3wdG zShZRyQK~5cWJVY^H?J;`Y|;H2Ql40$6-Zivv)W(c?@S4VrXwn`KX%@!%?~^YsnJ+P zC=qgMg+#$o0s$CN*nT3n;K5Fio$rQS3Z+A(#Bz4x zgtCKSkKGxFrO`ullWF;$?R>0c#7@LT}>W&sV&)mWM=1SS**y zHAL*6{G_nD|NA7|T2XYA1>xk-ML=H!79{FbVcurX?uRGi#0i6hQ_0g1iJ@4|qj2YN zPeK7vtR~i%#9*RH?QIBKmtqEy49djBS%?%+VT4?uixChI|h_IZUIg$K*i%TKy-$0TYX*} z+JS-;6rv7b(}8yZ+0!^ZUR}VKq-XW!G|qCIh@^)>Sr%D_HfB(8+Df5 zEIE%791;|yq=UCN{A1Av*NdL7N2?Z`){EN# z-41MsSD~lR9SClJ?|m8~H>sO}1|meEp54U2MH2#_p zBDM;!-_o_Oqz;RNltDg3OvrJ#`tt*EzYkrR-=IDn0aIkA!$**Td_=#|ygW42NNOM#r{s|SL5V8`>d06`0|BYb{2 zLTN>r8o$<25FI2Te5fbtl*$eFrOBL74FDQt=7ikk|$D?@fcmoSb4~}1djw4Fs0Efl;(;E?I zZ0oxhSf_2rNz@NJ5vSe!?sMIT&F%OdlWCS|Px=F*B8wtJ-5@Fl7Ug^$A*uuxl}5N1 zUJf$(tCQuBjFGX#F%Bshg%NULT#V2dW{eRUM~^eS4mgy^B(lU64lQOD8=+#eVjxQ{lG!3XP>=ZAsD~9to-y*peCf>+dCg zb=`S=c(OERno-2gD%q6%7uK)8hs`I@38v)fjQpY2NrJY=I5;cTiX++(MX(VZZ*U$v z&*-#%8nCAUM+^>}b=|mgcE@8gX87nqD45}+2aohe4<6}{9z4$jY|=NBALf-pfs)U^4MYvSq4f5YP4fZYvj$)8t5Eo*yrRno|Taw zGNioKv+wkBbQ26h=h35eKJ2ivwUv6Hh)g{IYyWKWLuT@3=X>9K|J(O}-_Dv59E?BGuSR{j*lqh-?z zSMtpJbQRKxniL$)&4T+Tu@bkOr9NGNBA8GbKEp@d{>@+S957|g5SX(j<>1y?)~iF?RURbzFU`j zb=$!ilLzl9FCXn&YRrs0{H$g7@!m8l>MCPCmJ%D>{y6jr5l@ZL1YMspbge;=JyqkR ze_Fn1k)pk5|L(Sz^?8|o7q4^%tG?*3_%A8kUldZIKe4lQ{@RN4$5CPWS6iCO7FNBf zyyq2|6M6Dof8^Tk;hqVrB#K7-BL-TpC40+OJeM2n)>E9i%DR!Q@^kPoi{){2} zeUK+<5-pzl=%7RXz=958NweWiS@=p&O`G5Gu6q5=gq2gx+~wyr*&eSe0?jw_i`%aI zo?Wp{^mUW0p!34>)F@BB`PYz?j{>?b^d=s7-x3seXFqe9f z|0M1bCWk$vcI-VeCv#xXaQbxO#;uP<74B~rMjKyAE=|1B25C9TOV1%qRJZGo&Y7Dm z5ra1XqvR+Z*#HF64S*fP9~`GIoYN{EOM)8P=Hd*8S{Y*5tejZd9ZG{$c+ML z0vLrrL9hXk5G_BMzi$XFroBkeTLEBnJe>n5CHB_(xZ-xDd(T<}1x~1*6p&-sfa^=h zCmZO>{qsn0$Mq(;NdpAQ1*H_7pYft5@Pel}S`6dSY!Z%yV#DYgWK8w3fA&Xsj2I>$ zf}A6luwj&-xRsI;rgK<9fh(GT7SJL#;0avMG{@akOL8bsptMvXm9hb+4x6)R4p`^)iV} z$_89tcq}tjUebPu1Rbt7%8f2SP<(6s?4H)!J64-clHh>}YPp&LLS$zpY^_V#@Z!j_ z1`;M>f{L$_10fWGuN+-aSJA4fYYXOIqQC`BKu`qD20XzNB6i6(*U)|n#-X%WAg0)W z(@j}^5l_8V_mkj-+k5alNKiTotm{pUU!KP0jw)FovMSidCK(s4i{Hqa7_CIB9=S5c z!@)x}ass2Hbj*le8H2{)J)(Zb=xX%A%fhIg(&`1G~BC7*zFz$%htnzIz);(fd zL~la@>m9LKo!fA%a<0g#ZW~N8GLDSGcT6&BH?NTjy$@>(8;(tZ*cL}% zHZ}u-El$8NHUWYy4!|%T8}(*IZ^Q9A5Zj`6%*MBe*sR2DINk(;Sz+5?ENcX_a<;)( z%&50T$+&m!msO%H{l-onx&lzka8I;d(8%zZBx3}l439xFCNRnHt}_(VzHiCPyNh;B zb7(%^F*XM}&f*Mw9F{B^jx__uQ{z{}TAtHVm!+|vYZcC*FW(+RebBxgyIyisXv9(c Ef2a^Kpa1{> literal 0 HcmV?d00001 diff --git a/faith-server/.cache/clangd/index/user.h.321DE9004DA36D2B.idx b/faith-server/.cache/clangd/index/user.h.321DE9004DA36D2B.idx new file mode 100644 index 0000000000000000000000000000000000000000..7977e3b5ec4b2269a2ee31ef76942d10b5ba8c88 GIT binary patch literal 540 zcmWIYbaNA7VqkDi@vO*AElFfyU|ZGm z$)=^!QjuN@?xy^Y>tKI;_Vg0tvp(~7AJh7J=jgH24D&0qzw2!alUTgzNSl-E9;J=jV|_*UP>)nf1ar4@txLe z)njKJ?-tRs`TiTr#UB=3-pe>W&0mwDxH31X4&*wU?8#R|_c8G?Ff%f+v5K%tg9!!> zpd1kFym})|NXIXMn*r!EHV!5ZSunxC36^DKW8KTR?cPxXx#@fiEI|EiB5bl?0;Yd% z5C6>l%(*N17}$Z*>>})PU;-vxl$ut&185Y?6^vXE+rg$YFhuCaoSUAQ=g!E(#xBop z0~Lik3aA?7BA9Udk0UQb0>8I_R5P)2!mNh55U3jDJeX>jG*B4iESRv(GKmDXNc9sy zL)e(ugkhTb1@hhgJbUsCD9p;lDhP9LQEE;iNM~_Taauthorized) { - char auth_id_hex[33]; - char device_id_hex[33]; + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN(faith_id128_to_hex(cl->ident.auth_id.bytes, auth_id_hex)); _FH_CHECK_RETURN( faith_id128_to_hex(cl->ident.device_id.bytes, device_id_hex)); @@ -99,8 +99,8 @@ device_link_handle_device_response(server_state_t *s, client_conn_t *cl, } if (!req_cl || req_cl->closing) { - char req_auth_id_hex[33]; - char req_device_id_hex[33]; + char req_auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char req_device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN(faith_id128_to_hex(req->auth_id.bytes, req_auth_id_hex)); _FH_CHECK_RETURN( faith_id128_to_hex(req->device_id_new.bytes, req_device_id_hex)); @@ -299,8 +299,8 @@ defer: { s, req_cl, FAITH_DISCONNECT_AUTH_FAILED, FAITH_CLIENT_RECONNECT_FORBIDDEN, 0, 0, buf)); - char auth_id_hex[33]; - char device_id_hex[33]; + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN(faith_id128_to_hex(client_id.bytes, auth_id_hex)); _FH_CHECK_RETURN(faith_id128_to_hex(device_id_new.bytes, device_id_hex)); @@ -332,8 +332,8 @@ device_link_new_device(server_state_t *s, client_conn_t *cl, return FAITH_ERR_BAD_ENVELOPE; if (g_verbose_logging) { - char cl_auth_id_hex[33]; - char new_device_id_hex[33]; + char cl_auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char new_device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN( faith_id128_to_hex(params->sender_auth_id.bytes, cl_auth_id_hex)); _FH_CHECK_RETURN( @@ -366,10 +366,10 @@ device_link_new_device(server_state_t *s, client_conn_t *cl, ¶ms->device_id, &req)); if (_fh_rc != FAITH_OK || !req) { - char sender_auth_id_hex[33]; + char sender_auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN(faith_id128_to_hex(params->sender_auth_id.bytes, sender_auth_id_hex)); - char device_id_hex[33]; + char device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN( faith_id128_to_hex(params->device_id.bytes, device_id_hex)); nob_log(ERROR, @@ -448,8 +448,8 @@ faith_status_code_t device_link_queue_request( return FAITH_ERR_INVALID; if (!recipient_cl->authorized) { - char auth_id_hex[33]; - char device_id_hex[33]; + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN( faith_id128_to_hex(recipient_cl->ident.auth_id.bytes, auth_id_hex)); _FH_CHECK_RETURN( @@ -464,8 +464,8 @@ faith_status_code_t device_link_queue_request( } if (recipient_cl->pending_device_link_req != NULL) { - char auth_id_hex[33]; - char device_id_hex[33]; + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN( faith_id128_to_hex(recipient_cl->ident.auth_id.bytes, auth_id_hex)); _FH_CHECK_RETURN( diff --git a/faith-server/src/auth/handshake.c b/faith-server/src/auth/handshake.c index 25ecf50..b61aa8e 100644 --- a/faith-server/src/auth/handshake.c +++ b/faith-server/src/auth/handshake.c @@ -135,8 +135,8 @@ faith_status_code_t auth_handle_challenge_response( /* Failure finding session, different from FAITH_ERR_NOT_FOUND */ if (sess_rc == FAITH_ERR_INVALID) { - char sender_auth_id_hex[33]; - char device_id_hex[33]; + char sender_auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN( faith_id128_to_hex(params->sender_auth_id.bytes, sender_auth_id_hex)); _FH_CHECK_RETURN( @@ -167,8 +167,8 @@ faith_status_code_t auth_handle_challenge_response( if (memcmp(params->public_key, sess->ident.public_key, FAITH_ED25519_PUBLIC_KEY_SIZE) != 0) { - char sender_auth_id_hex[33]; - char device_id_hex[33]; + char sender_auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN(faith_id128_to_hex(params->sender_auth_id.bytes, sender_auth_id_hex)); _FH_CHECK_RETURN( @@ -272,8 +272,8 @@ reject: { /* Client failed authorization */ /* =============================== */ - char sender_auth_id_hex[33]; - char device_id_hex[33]; + char sender_auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN( faith_id128_to_hex(params->sender_auth_id.bytes, sender_auth_id_hex)); _FH_CHECK_RETURN(faith_id128_to_hex(params->device_id.bytes, device_id_hex)); @@ -305,8 +305,8 @@ faith_status_code_t auth_authorize_client( &s->rt, &cl->ident.auth_id, &cl->ident.device_id, cl, public_key)); } - char cl_auth_id_hex[33]; - char cl_device_id_hex[33]; + char cl_auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char cl_device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN(faith_id128_to_hex(cl->ident.auth_id.bytes, cl_auth_id_hex)); _FH_CHECK_RETURN( faith_id128_to_hex(cl->ident.device_id.bytes, cl_device_id_hex)); @@ -342,8 +342,8 @@ auth_handshake_complete(server_state_t *s, client_conn_t *cl, server_set_client_state(s, cl, CLIENT_OPEN); - char auth_id_hex[33]; - char device_id_hex[33]; + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; faith_status_code_t _fh_result = FAITH_OK; diff --git a/faith-server/src/db/conn.c b/faith-server/src/db/conn.c new file mode 100644 index 0000000..7802ae7 --- /dev/null +++ b/faith-server/src/db/conn.c @@ -0,0 +1,35 @@ +#include "conn.h" + +#define _MODULE_NAME "db/conn" + +faith_status_code_t db_connect(const char *connection_str, faith_db_t *o_db) { + if (!o_db || !connection_str) + return FAITH_ERR_INVALID; + + memset(o_db, 0, sizeof(*o_db)); + + o_db->conn = PQconnectdb(connection_str); + if (!o_db->conn) { + return FAITH_ERR_NOMEM; + } + if (PQstatus(o_db->conn) != CONNECTION_OK) { + nob_log(ERROR, "[%s] Database connection failed: %s", _MODULE_NAME, + PQerrorMessage(o_db->conn)); + + PQfinish(o_db->conn); + o_db->conn = NULL; + return FAITH_ERR_IO; + } + + return FAITH_OK; +} + +faith_status_code_t db_disconnect(faith_db_t *db) { + if (!db) + return FAITH_ERR_INVALID; + if (db->conn != NULL) { + PQfinish(db->conn); + db->conn = NULL; + } + return FAITH_OK; +} diff --git a/faith-server/src/db/conn.h b/faith-server/src/db/conn.h new file mode 100644 index 0000000..13c8289 --- /dev/null +++ b/faith-server/src/db/conn.h @@ -0,0 +1,13 @@ +#pragma once + +#include + +#include + +typedef struct { + PGconn *conn; +} faith_db_t; + +faith_status_code_t db_connect(const char *connection_str, faith_db_t *o_db); + +faith_status_code_t db_disconnect(faith_db_t *db); diff --git a/faith-server/src/db/device_repo.c b/faith-server/src/db/device_repo.c new file mode 100644 index 0000000..de81d51 --- /dev/null +++ b/faith-server/src/db/device_repo.c @@ -0,0 +1,253 @@ +#include "device_repo.h" +#include "faith-proto/core/core.h" +#include + +#define _MODULE_NAME "db/device_repo" + +faith_status_code_t db_device_repo_insert(faith_db_t *db, + const faith_auth_id_t *auth_id, + const db_user_device_t *device) { + if (!db || !db->conn || !auth_id || !device) + return FAITH_ERR_INVALID; + + const char *values[] = { + (const char *)auth_id->bytes, + (const char *)device->device_id.bytes, + (const char *)device->public_key, + }; + const int lengths[] = {FAITH_AUTH_ID_SIZE, FAITH_DEVICE_ID_SIZE, + FAITH_ED25519_PUBLIC_KEY_SIZE}; + const int formats[] = {1, 1, 1}; + + PGresult *res = + PQexecParams(db->conn, + "INSERT INTO devices (auth_id, device_id, public_key) " + "VALUES ($1, $2, $3) " + "ON CONFLICT (auth_id, device_id) " + "DO UPDATE SET " + " public_key = EXCLUDED.public_key, " + " revoked_at = NULL", + 3, NULL, values, lengths, formats, 0); + + if (!res) + return FAITH_ERR_NOMEM; + + faith_status_code_t _fh_result = FAITH_OK; + + if (PQresultStatus(res) != PGRES_COMMAND_OK) { + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1] = {0}; + _FH_CHECK(faith_id128_to_hex(auth_id->bytes, auth_id_hex)); + if (_fh_rc == FAITH_OK) { + nob_log(ERROR, "[%s] Device registration failed (auth_id=%s): %s", + _MODULE_NAME, auth_id_hex, PQresultErrorMessage(res)); + } else { + nob_log(ERROR, "[%s] Device registration failed: %s", _MODULE_NAME, + PQresultErrorMessage(res)); + } + + _FH_RETURN_DEFER(FAITH_ERR_IO); + } + +defer: + PQclear(res); + return _fh_result; +} + +faith_status_code_t db_device_repo_delete(faith_db_t *db, + const faith_auth_id_t *auth_id, + const faith_device_id_t *device_id) { + + if (!db || !db->conn || !auth_id || !device_id) + return FAITH_ERR_INVALID; + + const char *values[] = { + (const char *)auth_id->bytes, + (const char *)device_id->bytes, + }; + const int lengths[] = {FAITH_AUTH_ID_SIZE, FAITH_DEVICE_ID_SIZE}; + const int formats[] = {1, 1}; + + PGresult *res = PQexecParams(db->conn, + "DELETE FROM devices " + "WHERE auth_id = $1 " + " AND device_id = $2 " + "RETURNING device_id", + 2, NULL, values, lengths, formats, 0); + + if (!res) + return FAITH_ERR_NOMEM; + + faith_status_code_t _fh_result = FAITH_OK; + + if (PQresultStatus(res) != PGRES_TUPLES_OK) { + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1] = {0}; + char device_id_hex[FAITH_DEVICE_ID_SIZE * 2 + 1] = {0}; + + faith_status_code_t rc = FAITH_OK; + { + _FH_CHECK(faith_id128_to_hex(auth_id->bytes, auth_id_hex)); + if (_fh_rc != FAITH_OK) + rc = _fh_rc; + } + { + _FH_CHECK(faith_id128_to_hex(device_id->bytes, device_id_hex)); + if (_fh_rc != FAITH_OK) + rc = _fh_rc; + } + + if (rc == FAITH_OK) { + nob_log( + ERROR, "[%s] Device removal failed (auth_id=%s, device_id=%s): %s", + _MODULE_NAME, auth_id_hex, device_id_hex, PQresultErrorMessage(res)); + } else { + nob_log(ERROR, "[%s] Device removal failed: %s", _MODULE_NAME, + PQresultErrorMessage(res)); + } + + _FH_RETURN_DEFER(FAITH_ERR_IO); + } + + int n_tuples = PQntuples(res); + + switch (n_tuples) { + case 0: + _FH_RETURN_DEFER(FAITH_ERR_NOT_FOUND); + + case 1: + _FH_RETURN_DEFER(FAITH_OK); + + default: + nob_log(ERROR, "[%s] Device removal returned %d rows; expected at most 1", + _MODULE_NAME, n_tuples); + + _FH_RETURN_DEFER(FAITH_ERR_INVALID); + } + +defer: + PQclear(res); + return _fh_result; +} + +faith_status_code_t +db_device_repo_get_device_list(faith_db_t *db, const faith_auth_id_t *auth_id, + db_user_device_list_t *o_list) { + if (!db || !db->conn || !auth_id || !o_list) + return FAITH_ERR_INVALID; + + o_list->devices = NULL; + o_list->n_devices = 0; + + const char *values[] = {(const char *)auth_id->bytes}; + const int lengths[] = {FAITH_AUTH_ID_SIZE}; + const int formats[] = {1}; + + PGresult *res = PQexecParams(db->conn, + "SELECT device_id, public_key " + "FROM devices " + "WHERE auth_id = $1 " + " AND revoked_at IS NULL " + "ORDER BY registered_at, device_id", + 1, NULL, values, lengths, formats, 1); + + if (!res) + return FAITH_ERR_NOMEM; + + db_user_device_t *devices = NULL; + faith_status_code_t _fh_result = FAITH_OK; + + if (PQresultStatus(res) != PGRES_TUPLES_OK) { + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1] = {0}; + _FH_CHECK(faith_id128_to_hex(auth_id->bytes, auth_id_hex)); + if (_fh_rc == FAITH_OK) { + nob_log(ERROR, "[%s] Device query failed (auth_id=%s): %s", _MODULE_NAME, + auth_id_hex, PQresultErrorMessage(res)); + } else { + nob_log(ERROR, "[%s] Device query failed: %s", _MODULE_NAME, + PQresultErrorMessage(res)); + } + + _FH_RETURN_DEFER(FAITH_ERR_IO); + } + + int n_rows = PQntuples(res); + + /* no devices in account */ + if (n_rows == 0) + _FH_RETURN_DEFER(FAITH_OK); + + int n_fields = PQnfields(res); + if (n_fields != DB_DEVICE_REPO_USER_DEVICE_FIELDS) { + nob_log(ERROR, + "[%s] Device query returned an unexpected number of columns: %d", + _MODULE_NAME, PQnfields(res)); + + _FH_RETURN_DEFER(FAITH_ERR_IO); + } + + devices = calloc((size_t)n_rows, sizeof(*devices)); + if (!devices) + _FH_RETURN_DEFER(FAITH_ERR_NOMEM); + + for (int r = 0; r < n_rows; r++) { + + /* check for any unexpected NULL values */ + for (int f = 0; f < n_fields; f++) { + if (!PQgetisnull(res, r, f)) + continue; + nob_log(ERROR, + "[%s] Device query returned an unexpected NULL field value " + "(field %i)", + _MODULE_NAME, f); + + _FH_RETURN_DEFER(FAITH_ERR_IO); + } + + int device_id_size = PQgetlength(res, r, DB_DEVICE_FIELD_DEVICE_ID); + int public_key_size = PQgetlength(res, r, DB_DEVICE_FIELD_PUBLIC_KEY); + + if (device_id_size != FAITH_DEVICE_ID_SIZE) { + nob_log(ERROR, "[%s] Device query returned invalid device_id size: %d", + _MODULE_NAME, device_id_size); + + _FH_RETURN_DEFER(FAITH_ERR_IO); + } + + if (public_key_size != FAITH_ED25519_PUBLIC_KEY_SIZE) { + nob_log(ERROR, "[%s] Device query returned invalid public_key size: %d", + _MODULE_NAME, public_key_size); + + _FH_RETURN_DEFER(FAITH_ERR_IO); + } + + /* copy data */ + memcpy(devices[r].device_id.bytes, + PQgetvalue(res, r, DB_DEVICE_FIELD_DEVICE_ID), FAITH_DEVICE_ID_SIZE); + + memcpy(devices[r].public_key, + PQgetvalue(res, r, DB_DEVICE_FIELD_PUBLIC_KEY), + FAITH_ED25519_PUBLIC_KEY_SIZE); + } + o_list->devices = devices; + o_list->n_devices = (size_t)n_rows; + devices = NULL; + +defer: + if (devices != NULL) { + free(devices); + } + PQclear(res); + return _fh_result; +} + +faith_status_code_t +db_device_repo_destroy_device_list(db_user_device_list_t *list) { + if (!list) + return FAITH_ERR_INVALID; + + free(list->devices); + + list->devices = NULL; + list->n_devices = 0; + + return FAITH_OK; +} diff --git a/faith-server/src/db/device_repo.h b/faith-server/src/db/device_repo.h new file mode 100644 index 0000000..b19e40f --- /dev/null +++ b/faith-server/src/db/device_repo.h @@ -0,0 +1,37 @@ +#pragma once + +#include "conn.h" + +#include +#include + +typedef enum { + DB_DEVICE_FIELD_DEVICE_ID, + DB_DEVICE_FIELD_PUBLIC_KEY, + DB_DEVICE_REPO_USER_DEVICE_FIELDS, +} db_user_device_fields_t; + +typedef struct { + faith_device_id_t device_id; + uint8_t public_key[FAITH_ED25519_PUBLIC_KEY_SIZE]; +} db_user_device_t; + +typedef struct { + db_user_device_t *devices; + size_t n_devices; +} db_user_device_list_t; + +faith_status_code_t db_device_repo_insert(faith_db_t *db, + const faith_auth_id_t *auth_id, + const db_user_device_t *device); + +faith_status_code_t db_device_repo_delete(faith_db_t *db, + const faith_auth_id_t *auth_id, + const faith_device_id_t *device_id); + +faith_status_code_t +db_device_repo_get_device_list(faith_db_t *db, const faith_auth_id_t *auth_id, + db_user_device_list_t *o_list); + +faith_status_code_t +db_device_repo_destroy_device_list(db_user_device_list_t *list); diff --git a/faith-server/src/db/events_repo.c b/faith-server/src/db/events_repo.c new file mode 100644 index 0000000..b8d97af --- /dev/null +++ b/faith-server/src/db/events_repo.c @@ -0,0 +1,12 @@ +#include "events_repo.h" +#include "faith-proto/core/core.h" + +faith_status_code_t db_events_repo_insert(faith_db_t *db, + const faith_auth_id_t *auth_id, + const faith_device_id_t *device_id, + const faith_envl_stc_event_t *event) { + if (!db || !db->conn || !auth_id || !device_id || !event) + return FAITH_ERR_INVALID; + + return FAITH_OK; +} diff --git a/faith-server/src/db/events_repo.h b/faith-server/src/db/events_repo.h new file mode 100644 index 0000000..94d6ead --- /dev/null +++ b/faith-server/src/db/events_repo.h @@ -0,0 +1,12 @@ +#pragma once + +#include "conn.h" +#include "faith-proto/codec/auth.h" + +#include +#include + +faith_status_code_t db_events_repo_insert(faith_db_t *db, + const faith_auth_id_t *auth_id, + const faith_device_id_t *device_id, + const faith_envl_stc_event_t *event); diff --git a/faith-server/src/db/user_repo.c b/faith-server/src/db/user_repo.c new file mode 100644 index 0000000..2178d1b --- /dev/null +++ b/faith-server/src/db/user_repo.c @@ -0,0 +1,101 @@ +#include "user_repo.h" +#include "faith-proto/codec/auth.h" +#include "faith-proto/core/core.h" +#include + +#define _MODULE_NAME "db/user_repo" + +faith_status_code_t db_user_repo_insert(faith_db_t *db, + const faith_auth_id_t *auth_id) { + if (!db || !db->conn || !auth_id) + return FAITH_ERR_INVALID; + + const char *values[] = {(const char *)auth_id->bytes}; + const int lengths[] = {FAITH_AUTH_ID_SIZE}; + const int formats[] = {1}; + + PGresult *res = PQexecParams(db->conn, + "INSERT INTO users (auth_id) " + "VALUES ($1) " + "ON CONFLICT (auth_id) DO NOTHING", + 1, NULL, values, lengths, formats, 0); + + if (!res) + return FAITH_ERR_NOMEM; + + faith_status_code_t rc = FAITH_OK; + + if (PQresultStatus(res) != PGRES_COMMAND_OK) { + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + _FH_CHECK(faith_id128_to_hex(auth_id->bytes, auth_id_hex)); + + if (_fh_rc == FAITH_OK) { + nob_log(ERROR, "[%s] User insert failed (auth_id=%s): %s", _MODULE_NAME, + auth_id_hex, PQresultErrorMessage(res)); + } else { + nob_log(ERROR, "[%s] User insert failed: %s", _MODULE_NAME, + PQresultErrorMessage(res)); + } + + rc = FAITH_ERR_IO; + } + + PQclear(res); + return rc; +} +faith_status_code_t db_user_repo_delete(faith_db_t *db, + const faith_auth_id_t *auth_id) { + if (!db || !db->conn || !auth_id) + return FAITH_ERR_INVALID; + + const char *values[] = {(const char *)auth_id->bytes}; + const int lengths[] = {FAITH_AUTH_ID_SIZE}; + const int formats[] = {1}; + + PGresult *res = PQexecParams(db->conn, + "DELETE FROM users " + "WHERE auth_id is $1 " + "RETURNING auth_id ", + 1, NULL, values, lengths, formats, 0); + + if (!res) + return FAITH_ERR_NOMEM; + + faith_status_code_t _fh_result = FAITH_OK; + + if (PQresultStatus(res) != PGRES_TUPLES_OK) { + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1] = {0}; + + _FH_CHECK(faith_id128_to_hex(auth_id->bytes, auth_id_hex)); + if (_fh_rc == FAITH_OK) { + nob_log(ERROR, "[%s] User removal failed (auth_id=%s): %s", _MODULE_NAME, + auth_id_hex, PQresultErrorMessage(res)); + } else { + nob_log(ERROR, "[%s] User removal failed: %s", _MODULE_NAME, + PQresultErrorMessage(res)); + } + + _FH_RETURN_DEFER(FAITH_ERR_IO); + } + + int n_tuples = PQntuples(res); + + switch (n_tuples) { + case 0: + _FH_RETURN_DEFER(FAITH_ERR_NOT_FOUND); + break; + case 1: + _FH_RETURN_DEFER(FAITH_OK); + break; + default: + nob_log(ERROR, "[%s] User delete returned an unexpected number of rows: %d", + _MODULE_NAME, n_tuples); + + _FH_RETURN_DEFER(FAITH_ERR_INVALID); + break; + } + +defer: + PQclear(res); + return _fh_result; +} diff --git a/faith-server/src/db/user_repo.h b/faith-server/src/db/user_repo.h new file mode 100644 index 0000000..e617d8a --- /dev/null +++ b/faith-server/src/db/user_repo.h @@ -0,0 +1,8 @@ +#pragma once + +#include "conn.h" +#include "faith-proto/codec/auth.h" + +faith_status_code_t db_user_repo_insert(faith_db_t* db, const faith_auth_id_t* auth_id); + +faith_status_code_t db_user_repo_delete(faith_db_t* db, const faith_auth_id_t* auth_id); diff --git a/faith-server/src/delivery/routing.c b/faith-server/src/delivery/routing.c index 26eb7eb..758c752 100644 --- a/faith-server/src/delivery/routing.c +++ b/faith-server/src/delivery/routing.c @@ -26,7 +26,7 @@ delivery_route_envelope_to_auth_id(server_state_t *s, client_conn_t *cl_sender, &s->rt, recipient_auth_id, &recipient_user)); if (!recipient_user) { - char recipient_auth_id_hex[33]; + char recipient_auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN( faith_id128_to_hex(recipient_auth_id->bytes, recipient_auth_id_hex)); @@ -41,7 +41,7 @@ delivery_route_envelope_to_auth_id(server_state_t *s, client_conn_t *cl_sender, return FAITH_OK; } - char recipient_auth_id_hex[33]; + char recipient_auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN( faith_id128_to_hex(recipient_auth_id->bytes, recipient_auth_id_hex)); @@ -55,7 +55,7 @@ delivery_route_envelope_to_auth_id(server_state_t *s, client_conn_t *cl_sender, _FH_CHECK( server_queue_envelope_or_mark_dead(s, recipient_cl, &routing_envl)); - char recipient_device_id_hex[33]; + char recipient_device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN(faith_id128_to_hex(recipient_cl->ident.device_id.bytes, recipient_device_id_hex)); diff --git a/faith-server/src/server/sess_registry.c b/faith-server/src/server/sess_registry.c index f76bf7b..91cec21 100644 --- a/faith-server/src/server/sess_registry.c +++ b/faith-server/src/server/sess_registry.c @@ -81,8 +81,8 @@ faith_status_code_t sess_registry_register_session( /* write pointer back to avoid stale pointers */ hmput(rt->active_users, *auth_id, devmap); - char auth_id_hex[33]; - char device_id_hex[33]; + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; faith_status_code_t _fh_result = FAITH_OK; _FH_CHECK_DEFER(faith_id128_to_hex(auth_id->bytes, auth_id_hex)); @@ -159,8 +159,8 @@ sess_registry_unregister_session(sess_registry_state_t *rt, hmput(rt->active_users, *auth_id, devmap); } - char auth_id_hex[33]; - char device_id_hex[33]; + char auth_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; + char device_id_hex[FAITH_AUTH_ID_SIZE * 2 + 1]; _FH_CHECK_RETURN(faith_id128_to_hex(auth_id->bytes, auth_id_hex)); _FH_CHECK_RETURN(faith_id128_to_hex(device_id->bytes, device_id_hex)); From dd317af6c4f18b22f97b22774736686c5e6bc3cf Mon Sep 17 00:00:00 2001 From: Cococry Date: Fri, 31 Jul 2026 09:14:44 +0200 Subject: [PATCH 2/2] refactor: removed and ignored lsp artifacts --- .../index/client_io.c.8C2D040904B1271A.idx | Bin 5924 -> 0 bytes .../index/client_io.c.E93DC2BFDE088F1E.idx | Bin 6686 -> 0 bytes .../index/client_io.h.02B6A8499A7E62C3.idx | Bin 1094 -> 0 bytes .../index/client_io.h.C65FF26C0CF56B77.idx | Bin 1086 -> 0 bytes .../client_lifecycle.c.AB824C4EC105D87F.idx | Bin 4890 -> 0 bytes .../client_lifecycle.c.B1A1C0631E387A43.idx | Bin 5734 -> 0 bytes .../client_lifecycle.h.280ED39EEEE6D916.idx | Bin 826 -> 0 bytes .../client_lifecycle.h.98CEE7991CFBF7ED.idx | Bin 826 -> 0 bytes .../clangd/index/conn.c.286E7B4DB3D17795.idx | Bin 3014 -> 0 bytes .../clangd/index/conn.c.3FEF18D370BA77F6.idx | Bin 4186 -> 0 bytes .../clangd/index/conn.h.239A73DBC4E889F5.idx | Bin 2572 -> 0 bytes .../clangd/index/conn.h.5B957B46D88BFFFE.idx | Bin 2572 -> 0 bytes .../index/conversation.c.2C3C86A5A20F8E5C.idx | Bin 2600 -> 0 bytes .../index/conversation.c.9D5FE9B9ECB56104.idx | Bin 2336 -> 0 bytes .../index/conversation.h.721A4DB3CAC62028.idx | Bin 554 -> 0 bytes .../index/conversation.h.CA8AEBC729A90768.idx | Bin 556 -> 0 bytes .../index/device_link.c.466F381C8C3FE11B.idx | Bin 13152 -> 0 bytes .../index/device_link.c.D1E762ACED786DDA.idx | Bin 10948 -> 0 bytes .../index/device_link.h.22C5EBE709AB0D7E.idx | Bin 1222 -> 0 bytes .../index/device_link.h.C81291A1CEB08CB3.idx | Bin 1208 -> 0 bytes .../index/dispatch.c.3E4E54C474E7A85D.idx | Bin 2586 -> 0 bytes .../index/dispatch.c.3F46910E43D46093.idx | Bin 2344 -> 0 bytes .../index/dispatch.c.62F9B44B4E07CE38.idx | Bin 3732 -> 0 bytes .../index/dispatch.c.AC2B4396CA5412B8.idx | Bin 4338 -> 0 bytes .../index/dispatch.h.1818AA03E621989F.idx | Bin 440 -> 0 bytes .../index/dispatch.h.2F9F87B70FC609EE.idx | Bin 434 -> 0 bytes .../index/dispatch.h.93BFEC2B4EA8E129.idx | Bin 480 -> 0 bytes .../index/dispatch.h.FD8C25C3BCFF72D4.idx | Bin 484 -> 0 bytes .../index/envelopes.h.436F9D61FC5EFB78.idx | Bin 2276 -> 0 bytes .../index/event_inbox.c.14FF782EECCF5E8E.idx | Bin 2054 -> 0 bytes .../index/event_inbox.c.946162CDA2FCA2FB.idx | Bin 2492 -> 0 bytes .../index/event_inbox.h.33B37D2A418EFCF2.idx | Bin 1200 -> 0 bytes .../index/event_inbox.h.D41BD20F8085C3D1.idx | Bin 1202 -> 0 bytes .../index/events.c.14865C6D9A01D9DB.idx | Bin 4932 -> 0 bytes .../index/events.c.6919D92B7254EC3D.idx | Bin 5580 -> 0 bytes .../index/events.h.01FD48B0CADDFAC6.idx | Bin 888 -> 0 bytes .../index/events.h.CFA4CC35D07DB522.idx | Bin 892 -> 0 bytes .../index/faithd.c.4EB5E64379A41520.idx | Bin 1682 -> 0 bytes .../index/faithd.c.6F79CE9E9CA84501.idx | Bin 1422 -> 0 bytes .../clangd/index/frame.c.500586E393A4BAAE.idx | Bin 2348 -> 0 bytes .../clangd/index/frame.c.C80373E52C9BB8D2.idx | Bin 1532 -> 0 bytes .../clangd/index/frame.h.65765AAFBD5799C5.idx | Bin 640 -> 0 bytes .../clangd/index/frame.h.F5AA78BC12CFCDAB.idx | Bin 646 -> 0 bytes .../index/handshake.c.C2A0CE6CBAA76299.idx | Bin 8882 -> 0 bytes .../index/handshake.c.D817BD515F58D030.idx | Bin 7334 -> 0 bytes .../index/handshake.h.091CDDAAC8C51FB4.idx | Bin 1172 -> 0 bytes .../index/handshake.h.A3CA9501DDF10B53.idx | Bin 1172 -> 0 bytes .../index/helpers.h.0A0CA671275D72A7.idx | Bin 840 -> 0 bytes .../index/helpers.h.CC6EEA2F95BE10A9.idx | Bin 838 -> 0 bytes .../index/logging.c.5687586926B3DDA0.idx | Bin 398 -> 0 bytes .../index/logging.c.CC1D02F5F22FC37C.idx | Bin 386 -> 0 bytes .../index/logging.h.8637C57BCD33C9F5.idx | Bin 282 -> 0 bytes .../index/logging.h.D6F88161C6526FA7.idx | Bin 280 -> 0 bytes .../clangd/index/nob.h.6412967F74601D00.idx | Bin 25384 -> 0 bytes .../index/reactor.c.3515F166852BDD2E.idx | Bin 2686 -> 0 bytes .../index/reactor.c.EA1C0B8DF7477FE8.idx | Bin 3846 -> 0 bytes .../index/reactor.h.1A380A7D7F69DC71.idx | Bin 2248 -> 0 bytes .../index/reactor.h.87443FCCBE09285A.idx | Bin 2248 -> 0 bytes .../index/routing.c.A466389A119ADEAE.idx | Bin 3028 -> 0 bytes .../index/routing.c.E27785336B8F53E8.idx | Bin 2560 -> 0 bytes .../index/routing.h.10734F3A15FC9888.idx | Bin 658 -> 0 bytes .../index/routing.h.60EB94C2BAE0BA8C.idx | Bin 660 -> 0 bytes .../index/server.c.39D815EF173EFB60.idx | Bin 9742 -> 0 bytes .../index/server.c.65834361912DC0E7.idx | Bin 8020 -> 0 bytes .../index/server.h.1F2509185EEDAB1F.idx | Bin 3492 -> 0 bytes .../index/server.h.9B962C063EC7D2A2.idx | Bin 3438 -> 0 bytes .../sess_registry.c.27D2E8EE7DC60D89.idx | Bin 5426 -> 0 bytes .../sess_registry.c.9D0B46F1EA937F9A.idx | Bin 3662 -> 0 bytes .../sess_registry.h.30D53D624AE73CF4.idx | Bin 2242 -> 0 bytes .../sess_registry.h.F5B121E6DD5BAABC.idx | Bin 2244 -> 0 bytes .../index/stb_ds.h.D3BDF2CD136698C1.idx | Bin 19810 -> 0 bytes .../clangd/index/tls.c.2EBE572CD59FC30C.idx | Bin 4314 -> 0 bytes .../clangd/index/tls.c.DD6BA93D6A5579FE.idx | Bin 3348 -> 0 bytes .../clangd/index/tls.h.6C3692A6EC4A764A.idx | Bin 2102 -> 0 bytes .../clangd/index/tls.h.92278D0D7068B4D4.idx | Bin 2102 -> 0 bytes .../clangd/index/user.h.0278CD7771A19AE0.idx | Bin 542 -> 0 bytes .../clangd/index/user.h.321DE9004DA36D2B.idx | Bin 540 -> 0 bytes faith-server/.gitignore | 2 + faith-server/compile_commands.json | 290 ------------------ 79 files changed, 2 insertions(+), 290 deletions(-) delete mode 100644 faith-server/.cache/clangd/index/client_io.c.8C2D040904B1271A.idx delete mode 100644 faith-server/.cache/clangd/index/client_io.c.E93DC2BFDE088F1E.idx delete mode 100644 faith-server/.cache/clangd/index/client_io.h.02B6A8499A7E62C3.idx delete mode 100644 faith-server/.cache/clangd/index/client_io.h.C65FF26C0CF56B77.idx delete mode 100644 faith-server/.cache/clangd/index/client_lifecycle.c.AB824C4EC105D87F.idx delete mode 100644 faith-server/.cache/clangd/index/client_lifecycle.c.B1A1C0631E387A43.idx delete mode 100644 faith-server/.cache/clangd/index/client_lifecycle.h.280ED39EEEE6D916.idx delete mode 100644 faith-server/.cache/clangd/index/client_lifecycle.h.98CEE7991CFBF7ED.idx delete mode 100644 faith-server/.cache/clangd/index/conn.c.286E7B4DB3D17795.idx delete mode 100644 faith-server/.cache/clangd/index/conn.c.3FEF18D370BA77F6.idx delete mode 100644 faith-server/.cache/clangd/index/conn.h.239A73DBC4E889F5.idx delete mode 100644 faith-server/.cache/clangd/index/conn.h.5B957B46D88BFFFE.idx delete mode 100644 faith-server/.cache/clangd/index/conversation.c.2C3C86A5A20F8E5C.idx delete mode 100644 faith-server/.cache/clangd/index/conversation.c.9D5FE9B9ECB56104.idx delete mode 100644 faith-server/.cache/clangd/index/conversation.h.721A4DB3CAC62028.idx delete mode 100644 faith-server/.cache/clangd/index/conversation.h.CA8AEBC729A90768.idx delete mode 100644 faith-server/.cache/clangd/index/device_link.c.466F381C8C3FE11B.idx delete mode 100644 faith-server/.cache/clangd/index/device_link.c.D1E762ACED786DDA.idx delete mode 100644 faith-server/.cache/clangd/index/device_link.h.22C5EBE709AB0D7E.idx delete mode 100644 faith-server/.cache/clangd/index/device_link.h.C81291A1CEB08CB3.idx delete mode 100644 faith-server/.cache/clangd/index/dispatch.c.3E4E54C474E7A85D.idx delete mode 100644 faith-server/.cache/clangd/index/dispatch.c.3F46910E43D46093.idx delete mode 100644 faith-server/.cache/clangd/index/dispatch.c.62F9B44B4E07CE38.idx delete mode 100644 faith-server/.cache/clangd/index/dispatch.c.AC2B4396CA5412B8.idx delete mode 100644 faith-server/.cache/clangd/index/dispatch.h.1818AA03E621989F.idx delete mode 100644 faith-server/.cache/clangd/index/dispatch.h.2F9F87B70FC609EE.idx delete mode 100644 faith-server/.cache/clangd/index/dispatch.h.93BFEC2B4EA8E129.idx delete mode 100644 faith-server/.cache/clangd/index/dispatch.h.FD8C25C3BCFF72D4.idx delete mode 100644 faith-server/.cache/clangd/index/envelopes.h.436F9D61FC5EFB78.idx delete mode 100644 faith-server/.cache/clangd/index/event_inbox.c.14FF782EECCF5E8E.idx delete mode 100644 faith-server/.cache/clangd/index/event_inbox.c.946162CDA2FCA2FB.idx delete mode 100644 faith-server/.cache/clangd/index/event_inbox.h.33B37D2A418EFCF2.idx delete mode 100644 faith-server/.cache/clangd/index/event_inbox.h.D41BD20F8085C3D1.idx delete mode 100644 faith-server/.cache/clangd/index/events.c.14865C6D9A01D9DB.idx delete mode 100644 faith-server/.cache/clangd/index/events.c.6919D92B7254EC3D.idx delete mode 100644 faith-server/.cache/clangd/index/events.h.01FD48B0CADDFAC6.idx delete mode 100644 faith-server/.cache/clangd/index/events.h.CFA4CC35D07DB522.idx delete mode 100644 faith-server/.cache/clangd/index/faithd.c.4EB5E64379A41520.idx delete mode 100644 faith-server/.cache/clangd/index/faithd.c.6F79CE9E9CA84501.idx delete mode 100644 faith-server/.cache/clangd/index/frame.c.500586E393A4BAAE.idx delete mode 100644 faith-server/.cache/clangd/index/frame.c.C80373E52C9BB8D2.idx delete mode 100644 faith-server/.cache/clangd/index/frame.h.65765AAFBD5799C5.idx delete mode 100644 faith-server/.cache/clangd/index/frame.h.F5AA78BC12CFCDAB.idx delete mode 100644 faith-server/.cache/clangd/index/handshake.c.C2A0CE6CBAA76299.idx delete mode 100644 faith-server/.cache/clangd/index/handshake.c.D817BD515F58D030.idx delete mode 100644 faith-server/.cache/clangd/index/handshake.h.091CDDAAC8C51FB4.idx delete mode 100644 faith-server/.cache/clangd/index/handshake.h.A3CA9501DDF10B53.idx delete mode 100644 faith-server/.cache/clangd/index/helpers.h.0A0CA671275D72A7.idx delete mode 100644 faith-server/.cache/clangd/index/helpers.h.CC6EEA2F95BE10A9.idx delete mode 100644 faith-server/.cache/clangd/index/logging.c.5687586926B3DDA0.idx delete mode 100644 faith-server/.cache/clangd/index/logging.c.CC1D02F5F22FC37C.idx delete mode 100644 faith-server/.cache/clangd/index/logging.h.8637C57BCD33C9F5.idx delete mode 100644 faith-server/.cache/clangd/index/logging.h.D6F88161C6526FA7.idx delete mode 100644 faith-server/.cache/clangd/index/nob.h.6412967F74601D00.idx delete mode 100644 faith-server/.cache/clangd/index/reactor.c.3515F166852BDD2E.idx delete mode 100644 faith-server/.cache/clangd/index/reactor.c.EA1C0B8DF7477FE8.idx delete mode 100644 faith-server/.cache/clangd/index/reactor.h.1A380A7D7F69DC71.idx delete mode 100644 faith-server/.cache/clangd/index/reactor.h.87443FCCBE09285A.idx delete mode 100644 faith-server/.cache/clangd/index/routing.c.A466389A119ADEAE.idx delete mode 100644 faith-server/.cache/clangd/index/routing.c.E27785336B8F53E8.idx delete mode 100644 faith-server/.cache/clangd/index/routing.h.10734F3A15FC9888.idx delete mode 100644 faith-server/.cache/clangd/index/routing.h.60EB94C2BAE0BA8C.idx delete mode 100644 faith-server/.cache/clangd/index/server.c.39D815EF173EFB60.idx delete mode 100644 faith-server/.cache/clangd/index/server.c.65834361912DC0E7.idx delete mode 100644 faith-server/.cache/clangd/index/server.h.1F2509185EEDAB1F.idx delete mode 100644 faith-server/.cache/clangd/index/server.h.9B962C063EC7D2A2.idx delete mode 100644 faith-server/.cache/clangd/index/sess_registry.c.27D2E8EE7DC60D89.idx delete mode 100644 faith-server/.cache/clangd/index/sess_registry.c.9D0B46F1EA937F9A.idx delete mode 100644 faith-server/.cache/clangd/index/sess_registry.h.30D53D624AE73CF4.idx delete mode 100644 faith-server/.cache/clangd/index/sess_registry.h.F5B121E6DD5BAABC.idx delete mode 100644 faith-server/.cache/clangd/index/stb_ds.h.D3BDF2CD136698C1.idx delete mode 100644 faith-server/.cache/clangd/index/tls.c.2EBE572CD59FC30C.idx delete mode 100644 faith-server/.cache/clangd/index/tls.c.DD6BA93D6A5579FE.idx delete mode 100644 faith-server/.cache/clangd/index/tls.h.6C3692A6EC4A764A.idx delete mode 100644 faith-server/.cache/clangd/index/tls.h.92278D0D7068B4D4.idx delete mode 100644 faith-server/.cache/clangd/index/user.h.0278CD7771A19AE0.idx delete mode 100644 faith-server/.cache/clangd/index/user.h.321DE9004DA36D2B.idx delete mode 100644 faith-server/compile_commands.json diff --git a/faith-server/.cache/clangd/index/client_io.c.8C2D040904B1271A.idx b/faith-server/.cache/clangd/index/client_io.c.8C2D040904B1271A.idx deleted file mode 100644 index 5eacaf8f5924da46a1d115704d51015d202a8978..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5924 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 C2xM&l diff --git a/faith-server/.cache/clangd/index/client_io.c.E93DC2BFDE088F1E.idx b/faith-server/.cache/clangd/index/client_io.c.E93DC2BFDE088F1E.idx deleted file mode 100644 index aa0c0dbe76b2bcdd2e7e5dd1cc1c8b0b3d2dcb2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6686 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 diff --git a/faith-server/.cache/clangd/index/client_io.h.C65FF26C0CF56B77.idx b/faith-server/.cache/clangd/index/client_io.h.C65FF26C0CF56B77.idx deleted file mode 100644 index 274b9687860a060192655c1d0fc74a907cdf6c64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1086 zcmWIYbaOLfVPJ4h@vO*AElC728AO1%xTGjkl#zjf4=7MEXYHhed50Bv+CFPoKH1=R z_rf;mYDKUQq-wn$yCQsKC)4@KxsNriiqklaI!KoaB(v7v0nJ} zNcB?fB3T{=A&5K!pOA7&zIOAPT;HGn*=Yb^mQ124R>9 z+#=kX2n9u{X~oZgaSihgqa?%^P}ML$0ENMBhYG`74ipBv7%H5fYpZzT{yASJ9zGre z9tXJPd;*#RmN2&(Fdw+J=%%GVD-R!s6^A?Ak9^#=++GMR{AT>lFfBZMV)|k>Femcx zN$N^k!JGio4|EDRY@kkoX$1;{Lj)>3ZBAF%tzW{I8F~1G&4is{-mA`7##OG@bCnI~ zCI${+n3+6$+zi~p2siOD@Cm~V=HU}!5E6zNz{4lXAS#S-p#+13FwBK8{XnOH!yf9C zzZbpUXj$aH1v-UOm(vPn=ah4k)K@oZ{slQjox>C+40MVXw*|~79zK3$enTXu=nL5* zIYnR87Rf2P64o%M6s6`Qf~+qtN-nkrF?c`(1n|Nbz(ll9r}*_u)_4yVZXRBK25y85 HKY|GWaV=pk diff --git a/faith-server/.cache/clangd/index/client_lifecycle.c.AB824C4EC105D87F.idx b/faith-server/.cache/clangd/index/client_lifecycle.c.AB824C4EC105D87F.idx deleted file mode 100644 index 93c2a16b42238ad05d80609c9cd21deabaabd9a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4890 zcma)A2~?9;7S4@7Tlk3~`FVkukN_bdDMSSU0Y#&tSS`q=70?RQWe|vf3knu&D_h(^ z#SLv;unxG6R2D6@BdDb=Sd}WZ#fpkc)t;VFw9=Uu===Z3oHJ)~j>31p`|i8%zI*Sx zBq}^COf2E?#;1fYPx~-?F2&>V82m3QJ9FVq;PLKY!SbDlqFd8DhKafkba#$V-a4!6 z9-lARH+E&Ww97NHb;;SK(;9LeN3MRe@{38L)}&3+9=JJ|2qFSNf6Af8GW!b z=%JzedO&pT0qJio$Ic|`cIoqOrfoK^ZQZeJ{i+$&vEQNgk8AH~JHAM$ew?!Rj`Vfv z=HN9mKd8K+v*k8mx~rnKeh3O^I}nq z|MHz}52tA^Bv=pq^iAxRD?2s~dA4Uz^2TzF%QJ_pRacw3H*fIVC%GDJxZoC^_9kHR znL#@&x1LO`Yj|?`{I_Geq|^1~bgJQEhGV6%{AP{yvhy)Pa4244&|8Eq2zGS(m7e%a zt6DDi__~c^PPewq9LvnS_;l5(rXf%FwYq5i9Mfh^_AyV+_2@#Q3VJqKtTvOssv#rha;9dgzcH0OXH1F1S#x#$3pA2-DL(l zELLmOL&-K#UAz8$cor=LIdbGXGDIwsy}ExXK4&o2J`BpkFot-0`iQs1gW_&6)^7r; z31~vRxZPV6`#e&DgCgV0?D3`aeeiC4wHeazH7xol8a+zRTPwkv$lc|>WbcIH?*d8^ zj!Ut)4ODHQBU?xW+6yj^<~d>F5GW5pC?U$iv;iN@?HGcIQy@MCE`(TjydK#F>YXu> zL1m~&$jDC|OPxfgAsfs3GKYA+smYO_@?5FIYdu{&hZCi(tM;X>{d1B@d>O1RgDu&M zD1fXlzlfQAEsYl^(~te-G-BKsEzzR-qQoInlsIIH5-zKnB#(!K_28d zG#VougE%yinJDMb4B-qjE|Ezz=biN4+ILr)rpiURS~sJ7r; z1`s!ZE730vTwfkuOpV5s8!QP9AYq}=6>z%(lZcvVs!A)EJ2w=UOfv|ZVK^b~_S&S+ z(p7}w^$~&yHsmx)7o@XD|JpydtGr_zQ0NReo#D*d<-9>YQQqURTS~3cn|RxHYY__0 z`gVd1jTE*DJ0iw)=%@DQkbZ>Tk8?PFM7$YV18!@;onwn(a530(xCEpn;KX4gj4*=P z`ZBO9gTaK)5C5mfjZF7&?5FDp*Ga?$i&gECdcXWBI4TAQgAdVux~zWYddYWFOfeM% zvqnrYm0bZP30>QhwAl$SMDJpwSHS8DmlL6e&X2b*jd<6R?n_)!h4f#k%HjT0vf&Y! zaM8MO$u;QfTYGMfGKu{>{YH{7)G}*4ipoEWz}-}7sbt$SjWokFV@L?`5p_AE$&w>c zk_!!!H^kzAdh$J;h|;CxgHM0?q$Spld8^|veSMiIG042*FmLr3IT|k+gWoOl>SqR2J2Rk~nE}AkT)DM{;8qA`4ZRoy#USMP5)hYw zSsOQk%4lxS2;N38+pi3)%Yf$ASAbiEx&2CTtK@L@_U)S@tup4D8j>P{O-33e+b0ht zM#cuT6ffQ#nvU}Vr9@Dg^TV)=i^2px0RdqNw0}sY?H!Q>#jGuj(GQYGgJtkh2TX3 zKqDi#8@XVvO4>KA_V3NBaS5LQ!3pk}q0t2pTrkH!g5XCE7xtWe7&HClCw(sS&wvd% z>XRjTqspF)E5wluQG|>q8@F{wJ?{Pk6=8k3NUkCW?0xT-4Vlv#*JAN{uwTy&h=ohH z6(}+nY{Wz*cvf;J@M+e{s_s86qi9qJ)`cJ#afC)kL3xzJ1D~eT@a0d< z!<;Md4vT{pvyMhLmNE-v$$Gvo^C-^CI87WoRpXQR8rVX4 zu;I=ZPiL(@W#V1^5G=#PlB5Gu<_!_dwNAt9rjuy z)+k8OmrH$r2M*}IJYNa9Ga3c)gB&;%LWM{<6idaj=zk621IKP^z{C3A zV{|p}s<{zq;MhEHOdflyx*=!f{&pN*rK8f5gy6*s|IO0tO&$17+do0~aWF9X$ VEoBjn#e)U*HUeu~T4-k_`VUXG0C4~S diff --git a/faith-server/.cache/clangd/index/client_lifecycle.c.B1A1C0631E387A43.idx b/faith-server/.cache/clangd/index/client_lifecycle.c.B1A1C0631E387A43.idx deleted file mode 100644 index 7e2b18f56c9077c71b3caf478143f346f439ee82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5734 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 diff --git a/faith-server/.cache/clangd/index/client_lifecycle.h.280ED39EEEE6D916.idx b/faith-server/.cache/clangd/index/client_lifecycle.h.280ED39EEEE6D916.idx deleted file mode 100644 index 209a1a046556761b564c7f127d7b265e4b75f26b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 826 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 J(p#!#{txHWgiinf diff --git a/faith-server/.cache/clangd/index/conn.h.239A73DBC4E889F5.idx b/faith-server/.cache/clangd/index/conn.h.239A73DBC4E889F5.idx deleted file mode 100644 index f5568e1cfe565186735d09936ddfcead68a8a635..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2572 zcmYjR2~ZPP7=Emz&9T`4i6KA|!x9dGBwQlKs$4<^L@Fo+LBtagswNIck+BX|)K*6k z9dQ6ftI%4nsi;+3lzMbP5gndyNc=YWHKWS$2&Cd7!YyY?3H+51>jJ*({ zsJWAh^5-qfwnqrb@ZY@5wD7DQLfx1ss;)`STzpF-v()#yODhHY$>>j_BT$IRTO5w z4~|`Y_?x+}ip-I&^J`XxKX#bX(WEr{_m%cd8Q=3dHto~uq`r|!9gfQ%g_kDm?^hl5 zbB)+>FeP0z<7wXPGsj(f7Op$cc56pdjDJPy!H{;k>(>Zfg}Lx^ZPb7{<$mkSg3T7* zyTcx1BU2w=Ije5*HksTihCNSCU(2zo0bJZN<3-x#_8we|(!-cj8IX2Y!a} zWc|&E2O2hVZN1N~%0`va!%1{0rFy_v>vTInetq>8aeia=we)|Fyr@pTqtR>Q1J9Rq z1^H)Y{@Z@NPMS{BXWfq?8bV{7p}`8563G%0(yu zAy!IBWdx9bRKxkaUluasYWThqMB@NQ%27^$1O&)&z!7Ehf{q`S7(~c`0~C}(LBLkw zRGMMpiuKQf7$n6LxQW~t0x*Frp)M_|KlT$5(&2nR%Fl^_E&s~RJo#92OEiNtINwv` zDJB5lQXB})5rx@94HI)M1qeg>x$dME}LGc#a~E}2v=~XoD~FY zE#%&J-6tmY6-$r<4v_T;P_c$>EfEv*DFOxkITDL?otAzJVN*tU%B-5t&7QNkRV4K;6ORJ60r3z>e`ik zvFP|A36kIdhGJX@*aF7on`Xvc&$`Ya1)e}9QZWQzf(!hb^VK8n;Ny|_SS?aB1mL(~ zQ`@XDo=LZ8$DLBO^F)4ciSFzlXchQSu1>Af4_y#z@Hc#7n<>yMFcfCOJ9G~5hK~ts0e9g% z0lL5tnC83yXs`iHa~=RRh#%9O@_~kq_%?~u2YC=Wj^B9i?CCAV zw16*Qfd;K(niD$E<^5+LrhN8#6-Bddl$!u{NVB7ZM;qaO!3c0J=K_$cKj-JVx93>} z{+zUwRtO!y7x2P4Q-Eli^`^X~P>N=KC?6^4i)KT0q2r+)%^J1FQSfPli{R#*g+RI9 zqS4*`ruPk)7V?GeK!c@Vn)4H&OLF!K3-#Z2;7?qKbW+>32ckeJtQ}8*LZ$zk0vV++ z1;_x`e0vEYj&jx)$ZX-pHJ8KhwgxCm!4Pz1h498FwhkcZhZO}u1~ z1}DKqI2(Z?rg?eU+_Tv<#~jN&XgRR{yx;*_Ptnzb9VLf$9_6`vXg$4jh diff --git a/faith-server/.cache/clangd/index/conn.h.5B957B46D88BFFFE.idx b/faith-server/.cache/clangd/index/conn.h.5B957B46D88BFFFE.idx deleted file mode 100644 index ba15d5f06c9f62c6d4f03c2bea124b2a8907e8bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2572 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 diff --git a/faith-server/.cache/clangd/index/conversation.c.9D5FE9B9ECB56104.idx b/faith-server/.cache/clangd/index/conversation.c.9D5FE9B9ECB56104.idx deleted file mode 100644 index 5873b6c92b2b0d6c9a6c7fd8a1b9dffcc80a4332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2336 zcma)73rtg27{0w+`@FQ=_7>^G`DkgOQd*FwrKO?DKoogN(18vpMkk=OsOW}-jSPIw zi8#zQhMR(qDNIy?s9_?QO#yX?3gR+XI}P}V$dpWQrzGcM*^=!hZTfxpe}3oxPZOde zBRyCMVlqb;>c+Z0~Wv#*`ns2p_>_g*V$KV<3GgcqKc*&F(gGHtr&S!JpOQNywN6)PM1 z&l-cwnOi%1FYF9^QMbLD>DQ+c4D89i?AgBia7}zN@BQx>&ucvP*DbD!xblPYZW8bI zgOHJ4_i`f$>qDdwuR~+ z={I}I*^f#VdY>4MN{|#Wa-Ox+p!O5R!yg>}yrM8#GpqDy;P*c+snbTkC`$hY`FLCV zox7~VX{Hvns-QZzyVBeq|Fv>P!RyY_=_6kB)}K?1WXjc`&t86+ry8aAE`PUHUpAJs zv=*u1>xZv|;{4jqY}Z8Ey8XX~mvk3#u3u8zoNi1zyJ6-u-rn5H>9zn=ZJ>R#EO-d9 zZpz6p0(Hyg#sqaI_9Ws64?zeSDVxJ*kc>G93#B1$TpEAM#oIgc15b8z;Eux}=n{Is z_!n>;e=J!mts(}3YzkQJ7xmsP1jUJ<(4a^vEHO_%ZvjNsur=k~!V4%3CxqTYEew5n zD0b(o6dMcBQjIhK(tq}kmMwV}Cvd?DKg>@6Gvb5+H4qcXgqkQ6;UDA1%}p23q(mSi zPzm$qoFf}~r4QXfaR#-)AJPDs3{ep6I@#pz8WQmi4I@OTXcnxZPM#LmTh5&UiZcco z=R<3uH&bBek10S%CY$L4t$`70ltZKJR9(qI;{z4&4Z%Vj!#w^JrnapbX3^Ea*HhtX zgw{BrM%7Y?4z@RUMBxKL9E>1Pf)5j51c{Oq!U+$hhi2m4+l6CMaz@ilvZemqL7?NUH(W=39wo)UECDnZ<+7l1mx?cJePSLi19UJM9008w z?F(XBO_ddZmTTqIGMuNKx!0zB=L;aeP%n&xLBN6rN(~StHg6|aYep-@mN|zj)N-HYBhCVxbO3|K09csN1ay^Cjxx} zePIWmeiWdu?5;Wqd>!KtGcn={dQQA4JOgNdSAP;(?`sOp<5Wjn1au@fk~*i1xYPAj z$H!U$?alS3M)`b|*BGbG)&|No@D0@58KbIWDh}2D1k`btxa(jSI57>MMqLGvMa51R zrj#)8O;p|wSJkjL`tG>N#tAxuE`~n;vGb^haKh4g%Vmg60DA>HkNOB9`u{thtmxa} z7QNygjdZ#RBPz{`$M)O51C6*Mt_cclMmE&B+_-8(rG$_!q*{;?5|Km=%gq1HGE!Mv z{@@=c86phvf)$$c-ZUCm%@4pl;T&8FeJ3BjlB1+(Y3;s7G;y1kj diff --git a/faith-server/.cache/clangd/index/conversation.h.721A4DB3CAC62028.idx b/faith-server/.cache/clangd/index/conversation.h.721A4DB3CAC62028.idx deleted file mode 100644 index 3a158684e0e5b6c60ab9ea2b573c7f35d7224067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 554 zcmWIYbaPW;VqkDi@vO*AElFfyU|+pXv>W`_AR_7hqB{RGEMcCheo@z^2JyoyubRBiJ z;#qXx-utmETbNo~K+@yve@ev@BHnCy9GDof$7qg`sjt-yF28M))^9R=u6)R(TF=Gi zs%Z7@Ud2G?;=+jX)!L^WV>q9^*mqmuUFKhh7^$_^%D>+p|GjPE(JVdjn{TeAcDnZN zyu8?`#dU{^hv(+*g}bkAE|ybe=qYsiu=!#_VWZc!uOBBXxfdM#ar4pkH9ZCen|x<~ zoPU_(^{3UAZ^IQXUjJM0^V)ts%ju=3&$?F~{-IG^nVX~t^nHhwx7n58Yr#AWpl|^J z4t5cCV+KwpMg~@9Mh;enqSUnFg+TGzn4=kAIoWg>c{n)LI2~Xb4VVwyT6ELWA1KTr z&Y=PmhS7|Y5c9xBGcZI>oxDpYFR%n;2n(kaOx5;hUfzeDXG{edV!+`66Ryr!##OG@ za}_Ae&cH4V6P|KzlKSdK&A%YkEF3~GVW3NM5<&J97bO?#gBTo^3;kLqE&8p?%*M{i Rzz!0E08SW#fq@Od1OU(@$5j9T diff --git a/faith-server/.cache/clangd/index/conversation.h.CA8AEBC729A90768.idx b/faith-server/.cache/clangd/index/conversation.h.CA8AEBC729A90768.idx deleted file mode 100644 index 749b14653260c79059a6e14084176cf2aeba280c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 556 zcmWIYbaPW-VqkDi@vO*AElFfyU|Dqoh{g}JR>b(Cegf2BL5tep4`$ z>gL<|Q@-*sXG=S4Z2W3kA7<&Hv;Ek|6^1%-(S9>$sR_4n`8lh`ha~&Cw`6{c>8Mzv z{jEyYc~RT5M;pXebDxfj<9POBTeN>8+d-+6?>GbZlH)@-XEINMY zWnlCnr5L3pDL0NPtoxcX*PWFid5*xJ9Ns;TnWpBv{@bVIUU2YN<$?T2$;5{lv*nJ} z^C_=6z5dyj_(qrb?}vXz|F?P)a!uE~o=N}k_Z1AqmAOfZK>v4Gd7E7cz81{G016op z;9wVFH)h~uVq{=tX5?UHC`wH$UI-MgjX9d}m6J`Ek%xm*jne_9(SZ5DtwlF2{ei+9 z;v6b4VHnLQ2{8|BGy_BA)XBSa@&ZdhhOlr-!BlO3=H-3ZdB#+bAqE^CFyZQqWnATY zJy(Ik>%aZz%yK9FYOuw3ZZGHKCoU1m0R RP6l?U8-NrWg2{!9f53 diff --git a/faith-server/.cache/clangd/index/device_link.c.466F381C8C3FE11B.idx b/faith-server/.cache/clangd/index/device_link.c.466F381C8C3FE11B.idx deleted file mode 100644 index 953c40d59197e7e28c9540445c4098924ab952a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13152 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 NPaCn9t-7~L`d=c$PS^kd diff --git a/faith-server/.cache/clangd/index/device_link.h.22C5EBE709AB0D7E.idx b/faith-server/.cache/clangd/index/device_link.h.22C5EBE709AB0D7E.idx deleted file mode 100644 index 06926d0b9a3e74ca1c0351a56475bc964ad15e4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmWIYbaUIs!oc91;#rZKT9OE4GKc_iaY<3;WJU%CX*LFiiaBe8PWv4;5ID2^$pz-M zUb^=*mMa}Bk2rQyX!SbTKO9b>|7CA?-kuTU5u(?*)!2IXrZ?XsTL>L|1ED?5?u?{^{>3qJE%voZQg`Pn7*z5Ch{CUu&> zH~uD-`qJ)7oD84+rMdE-V=|AdmeBll+*o4CHU9tX2G8d8+4R{w+P{46syTdB^Z3tJ zEI1ywY2Ra)6_IJ&q2lEGIUv`PwD!pLddsf@c^-um(@Yr9!;}Mn?e{F&72ZrLx+@!U@I1*j5 zW&-+>BzZ4(7)?3+LPC@h}JimGrQ%_OQr{ z$*{`EGjMXTGDz?MmAomfwVd?Ev7LuO0H|aFGs6UCH8CLuAvFe0P8NtM{BmKlGS@Hs zz{9`~RI-U#WD~Qln5c-TE(0eAGepUJZQh^EA6EY2Vc-QSQD#t9660dvQexm_XM!kT zC`wH$7G`2#xSQcJ@%y~9c8pwN>>TU{K!1Qigl^2a>4|ynj67lzh7x`-VVEBoB_Te8 zis$FrDxSE1&KIbfTa()oX1f9Nfm@4iTKco{h;f;5Im3i`#Q3!M%wb0HhzY9;o4~y- zCMGVX0{5Yqn2DGpj0X!npyl8&gIeDHu~|y#g~IC=8BVsPL3?lhju?YW@Yff=ijp5T*(k>f(H= z2v-QH3z;HZA;uym1hWp9HgXa{h7}hj7wZFQCb2_W3{vF|=MOUri->~@B&c1&P#Q>y GBbWe|F`NAW diff --git a/faith-server/.cache/clangd/index/device_link.h.C81291A1CEB08CB3.idx b/faith-server/.cache/clangd/index/device_link.h.C81291A1CEB08CB3.idx deleted file mode 100644 index face890991d7443eec81e8e6bbe51ea7221dc735..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1208 zcmWIYbaUIl!oc91;#rZKT9OE4GKc_iaY<2TA0q?9ZB_<`iaBe8PWv4;5ID2^$pz-M zTw?iCf-OJDPAlAYWK}l1eN({I`r~DfOqS`YGM0rT_=23(E5CcN0{u)HF{?e6hK<>%*`N+q5W@>pHQZ1TZ&tG(Re^QPvLrrs297E;eIuFOqZ3XC1mB};A|teN1> z!@vjRfq*C<1D_ZJCmSP!5I3VJtAqKm&cgZjc{~h)5P1es8CDs222L(k25}ysf;XkL zmXqE%w(~Fuz!V5E2&pk}a5fa5uwc;`e!H?HIX4**Vw^psE=nbYsp? zx^!xc@}OOvD^vJXp8^EeD4e)bjQpM_z^mes2Lel}kbp zrW$4-Ah^;SuFz;1ovqmzRN87-kcXs33!& zFwAv4qM{6$Q0oUF%~f)n03Ikk&_5Athgw-SRcdy6*^EL3}XP3 V^&u?=sd9(&hna;%#2Ca75&$lQm5u-a diff --git a/faith-server/.cache/clangd/index/dispatch.c.3E4E54C474E7A85D.idx b/faith-server/.cache/clangd/index/dispatch.c.3E4E54C474E7A85D.idx deleted file mode 100644 index e5e8b2393cffe0796af45595e5e91fc99d4b26fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2586 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 Q+S&4K*euQjTP_p)54KGt`v3p{ diff --git a/faith-server/.cache/clangd/index/dispatch.c.62F9B44B4E07CE38.idx b/faith-server/.cache/clangd/index/dispatch.c.62F9B44B4E07CE38.idx deleted file mode 100644 index a44089752cdbabd26d85e3482c5b12da972630ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3732 zcmcIndsq|M6`va>83_Y~Wa1?uyaf_K$eJib5LRG$C@4#?xFQ-Ph_Io&q~b=_fQq27 z$fMR>X?;_5wOd+W)JJVy(N&i!)%KIxZnd~8Du|0#T|U;{pm%26Kia>V?}KlC=bU?9 z_jk{o$w)~|Y;+-rcymfsasJ9&k{}2M{Z*_iFI)l$Vlfg_b?h@WnRKz;dkVKwi>^2|EwI{HRT|qEM(`-0`%k;3u=*`|Y6l_(j#tt(M_a zBkf}YJwxAoVLpB(J*6)uX-_4!=l%~vr z3f>h_b}mC*n;Ed}jgH4NRjaqW8Lh4J!{IW?{AjgLLjJqmi8Ino?kNdW(Clpv!CrH`)~cHppB4ccwgIO$;Ds}y z6i;e8dOo6%LPzPmaG1h6ZMW;Sb7CYeQXK%tBS+R9ulLaUk8z zDNO~Ki43vWY1v_z-Tdwz2CmSv)mPmf9MX9qg`Uwz;nV>GvR!s|``f(>3Z>YM zWpUK{y>H(QM&dX!&VFDfe%n6WTio=0Qn&*R)&A-r?1YBFuE8=6rTC|?y1hLozf7hd z%y6Zlx4(A?HXhwPo=kiAnJvUiF@v1Ba6p+$m4Y(XTn2rN8QDX3%- z4XYii-Eiq7YyxBxU@${SxCM|~I84K>z;P>Z!}`&Ys0-Fx`wXa6jeu$da;z9DU7yeg z--$+w5Guq2=hb{RJ1wDgI38_;pU96DU+cF_j;gqnAf#bXSdbQ5(=a(KnTJeaCN0jC zhSp$fD2M7nSUu3<@ax3GFP^%Si6~Aq6FmhxJXkP3bM{}~nTxV&22?YbE?x(euMa5R z^pfIPz8AmhO+za@1)fsu2*-6$ym3&K6K5B%RiS3en?MkDu5~!uzx$?PKC049?=~Cz zqM5PF!p3Vkl*}xp^@PRrac7E5G5izpVxm3=%XaIo?APk$)a5He* z3=|kYi#GdKj)i3kR8TEed*VD)Fh!igqTaj%!*|yAETEY;$jVF{YrKSke6li-PgVx< z$;v=JSsBPDD+BptW!@kw1NmfSen3y=2lSj*mX#5)v@l1Ec%%yQ!D%9-37X2GWK}Xx zm#j(V=}an<57$VO#>5UC#5i}WiqlyGtQrp0164in!7Zj?JWTa^o!|GWrUX9=>{qnbQ4{o!!S=_({HQWg1P z>ztnD@wov@*C25?6|Tl*T4#=JwA?n@>}Se1$RCT*net8MA(OAkAA3R-dRo0XR1bXX zfj_R{1QXtE9XV2i;>1uf-q_)X%l4)nJ$Swri8EoQ7hb*b`R9X~?><|P#07!^M=bu> zC8yss_xUD7SyO~58jDdynxZfcS#{P(jLsjfs?O*zG}%3=3L^073OgU7?EHGTRX{_t zz%0hrku)AM*?%k)h@L*ghZisiiVzbRIb`Q2hhB|O4!;_o7T)$JTt8R;4@@hEGlM6^Uapq`-d0RcA?}0lmR|CBn=al zi9EDKxrC1rmdxQSS5IDz-alUbXjli7b-?E}By^r)TlP`~;LQ-X^5WB3gVqlj0>b;ws$s5M;ewpmovCA z*alsU{8v=v#9J%gcoiDk@-5tSG?%?R9^-iOE{fyf0dL^015WFJ3MW4n z`Dcd~YU|f%`y#2xK)gsK%8{fW2zr3Fez{<|4CnRcSQx)H=V5SU$q+g#QoWRS+sX~{ zM7)HC3cZ4-Ga8IMU5TK?m9wk?!8ITPr?w-+`Gv#Cf$tEp4UAz1POZJSHR#hC%{ZFK z61^l2i_!frle5ztF-s45I-|_U)7e0<4MgHNEq<5kenU=qiQ@KRk$v z^1O;w_J_&#f3JQL{6ILs_Sy%@&Ff*gqq}6X!cEG^Wd!^F{_0EdwJ|&32!eezCkQ#~ eig4#172IQ9vDtz?O9&^ivrt4*lf;e=^nU%@tED=Ok2)&&s!VnIP?lXCt=dxMF-t2r40cYybMLi3>iqGp1&eR*efHjG z-*4}8E-BiCgr7wOG2N&wGc8$>O%en_qo0x$#d$e^ApVF1WxEgPb<59dsOxijDy@=Q zoFBiPCysjjN#-Yuw@23Iv}m`td@Z{7dGN?BzLlxUkTQ6?|8{xf?G?u}je8f)3L2b7 zUY%b2qr(&9@ywiql3mUFC$?729ULk@;q1Tdd3XKc;Qp!$4Z44GR>ArJi*L*S?ydGR1%BLc1SQCddUY8`d5r`U_KQ z=PWUfq}EKRxUBi$kLr`E~NIqaE}6!rHnBY$pc`)^g(4QZY4 zzVSz!i;sNq%=cY&!_xz|GQLxq(n{|H3y#vwEolv_rkYOIyvX_6r@G{vl5uOPOUmSD z2`_GpJeQ7~=)2&x{cJsvdCFaT}CQb#$@UvCGlM%`A&YeP3$iuP(Y)bF#vltxUN+-E!LLxw8wlSBb<(93}`; zW9w(%jnt(LBs=jb=)v=F#MTrHBmJxcebpCG(vF5vWuR zK+pgrSTS5!9d}b2AB_|Nf&dqsSJSz4UEG$w>F7mx@;w>xjqU>HsFJI3))e#$^3z~z z3MK|6a!^)KmIh}^L9@R(kVSPMs19gw_$p!F^IssDfZ{~c(cakM;oOnPY2U`rLRmEd zK@*!UUI*ka8x+6v<)+CVm%s1Qp%qG=Qj8tpxK^@P8dW~pyLhbv6;sj({IGM4)w%9{ zw1pp^&4~`|3Hm3NX0>%)|~KslsCB92?dnMi$x?N>~^5 zz_%U*VKWMD1dbbl4CBFQqetm*P%2LWRYH{#=b?aFp_V~iix2hPtL{vr=vT-}kG3^l zLPIWDX~-oj4Y_2cA(yN)Px z2&w(Xu_#fI$k8RL6FIspMV32T$SidhGjtH+pjpA{%syr{i|T-)4!GkIQ?L%G>%cgS z?Q@Sky%^n{i)a)piDd@C6!XD}XK$C~Bbui3)1}zkR|m$I&d=GCkF4kM<}t0ha{aQQ zV+pXtnuOj$Z+pBS62=STImjS1*key5EaR66SyTgrHNYNcmDoG+ao^@MWhhR*BHsg> z89H;OXZvKXLE>ORunNa9M-HzqxT~+QG^vN57Z#%?^+@EPERQTN>EL$rKwBk>Get1P4Lf{yQH$=g!yW68I8~bJidU~6y4aICcd#0Xb9uQoSiH;L z(494FXankjtgx(TEJiz0=LfOK9AXZ~sN+akdCKmHMvEs!ZWwOYppF1}>%+b+JPI0l zMo!TzMtJQ5Y3{%#0{(JuBi5qqzag-p6X(IipjdWh{$b0B)v=AOg zqDBeNBFl7Uk%jOq8k@%~9-GG)x88HN?&)3fJ|d8Y)=a=9{6aRNH_oNz10*hWD)qt1 zhk11L9*$HUL2uAPAnb%1B@l}&1Y(heKr9*~5XM6T`+6D-TaTb^7s5hc9OwM}rGpWx z-#LoHoA@S%);~7iJ=nKk-7!=RAGwb^c0$1fc>)Jz$TPSoE@LKZx!QR(x~-h{<#|J8xAO0rFIU|s0!b<8P4eM5ClvKsDie02sZpf}Ik1}}LN6IlV{ zdGVYG-1)442A+Xwzu%kI3b=~5im_C{8o;XoHn;+>o8|2%{;>X_@Wd7LN{Z}?oN*z| zOIwAjf*QUSQ&1!j$#E4ZNDF8=Hlm`+%NWpZsbfy<6SZr5JsEni2N9Z}a<-Fw%tYszeuLNPZo_`9kdu}yw=s#!_MbHtGaBADS zw)lNisUATiT@)&c#bR`)bdoR!I% z>=1op7Fa%JiIU>QC95odNG!j`9vS|FAeiqzf^cS~%s?dwIV)vOxv~FFyi_pXeguHq q);&sWs+Jbp$Q-3|v6IA^CKj8F1$M}kvbE<6Nb9$3Y=u^K#Qy-T2<8v~ diff --git a/faith-server/.cache/clangd/index/dispatch.h.1818AA03E621989F.idx b/faith-server/.cache/clangd/index/dispatch.h.1818AA03E621989F.idx deleted file mode 100644 index 59fd212ae1728e7112b7aee44a584827d7b7b692..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 440 zcmWIYbaUIl$iU#7;#rZKT9U}Zz`!5^#Kk2=nY)4X6`)+joTU>s@--_6v{j0*vFEOt zzD+vV`imuprNN{H5)R^zcZVP3>*e#^eJA$c@BjS;D(9DRe?HZFs!-k~z~;i_`QEd9 z!`s|e>lJK?-F_-#QC;%Z3kx4^70%sqJWxW&!#E+Snnz3EWWZ&oN+eS z|L*_as?^02eovUkE)%DGAEs~a`{f>djM%b4OBa|}IT%<$A`rj=bh$*8#BP;`=l|DFm|!z|-5GCluj91>j-MR->+~|s z?n+4M=03O)x%*VcqPq0n3yvR;b(-CJY#^?3ztC%!^OP?du>vWPU#mhgcM7rXU-Igx z6Q60W3NypitwLuSnC2C=yzu#YXSZI-0^L~)r^VmuIuN4&iap4Rdyn&tV^P23SVHQL z1xFvceb{ct7m-hF`&Uk^FRsi@QUtpHz44rEIROhF9tI8|4+Pj)MOZZ%IGGq3SeO~v zSQ&~^(~66M;xLtrk`NVO#S9Dv%m;2Qx@qap$iv2J%jyMFRh_Ynt6Z<=DoB`tRTw7x z_oCMuEsOlOKw&m5HglNplyj5RS2t?@1*z6zwSWl&?aoOA*;8DUT&xUYu!0CMU}Ce` Uy*iA~|I!5}R(1wAL(+sy`{YNO~Sgl3cfX z(VjOJQod$fCD-_jX03T&DdePcF6emFgtsSmm^}~5Und%Urebwco7W|2ucH&Dw_pBf z5XZknZ^;%fzP5FlOG2GqUO3fZTAgZ@?JUEPbzNWvpQ^?yMeF0c^7eM~ZE?M+|fx?^?oUSn8>WpPv<$66=LBb52!Z6_}=O(GIZq)n>5?19j xh6w}h&PfE>Q(Tl>Yz<;?fCva+hcSRo{&n?XNBYJt0TvE6b}j}kgbW*k2>`Zun;rlF diff --git a/faith-server/.cache/clangd/index/dispatch.h.FD8C25C3BCFF72D4.idx b/faith-server/.cache/clangd/index/dispatch.h.FD8C25C3BCFF72D4.idx deleted file mode 100644 index 7f2f5e7a8691f441852fe842986104cfb26a6438..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 484 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 OWGWWQpLyB@04JuJNriekVh+w3MFymEasE&*k z(m~OB)&udzdf?a&ST8_(hinAi=-Vvc-kj8~{GR3rly@C!bw#X{=9I-O?)^wO6LZ_4%mx z#aB*>of0(d^NfU=5X5a05{f!pe50m$tud=Txsg4#L z9%y=CYd@Ck*V*5g5%zRM+ML3J(%zHOnp<15wq%wx%^qiGR8uEJj%)RbK5%-j<%W67 zjJoxY*M?b6Ine7Ft&z`nl(ai+nej`;c6-iXs!|Mv{hS3!9k~%aRPo1z!lJ6I`#Z{ZV}|W^46y^J7hB z-=^#K3yP5*<;vAnI(=97f!i;uwfg(*^CkCIoIJ5(PF{)d*_So1yX$tokbTr~+M0YIJ}o=V2s!&?a` z0UreUaTt$}Tb8WZo4TkL0)K2^1V)CDNF?I`<-q|;DK_}!^uLSuY@K)*0vR^2No?Va zTp|x=4GOl8$v3XD--1Aa4SazwVnjfM05yy|#1LtpU4Qq|@Y@gsU;~rHq+|RfemX#T z@`en+;(7U{5uN~89_*@o+H(VNlt}HP_9M*ti7j5Ymt{z}5T$d|1uj06!Od`?`Wp$& zok!wi9Egg!#klo`zI|;?S55GV!2==#We^cch!Us-kt=zWMyH8c-U6yX#G(?aL_}0L zc;S0({CSm;2a%kXBbH7{E8S2G9fJsYLd)Rehh<+yaU{sfx6*`{ZaBef3{9FOfQY7P zk*iQh>!WpLjuQ?^4L1tJo@M_liZu{v?H6r#*rOX1y?B zku`jc7fE5u%hdjLJ2g{rm|Ct@K$b~d9L3x2A+nb9D}wvGip?B8O7~Ak#M8Z($qSyJ zTb_oO-ANop8y)t$7eB;B@I;Tt<2#Ocg2<>c>WFF(ne-+T;f2T+VT&gjIPA4; zlMn97z|uh_97SS+NEjdtVUbKG8^NLgdB8{(F$|+-QM5eTZ7+#Qa@$K$rHmn#eU~HF zd)0eq;vNeXhAK(qyx^R!!!awf@v;i4M8w*A{)rbYQFrI#wl&k{AU2m-^eh*ubhPxP z&U&>5pAF%LP=s>)qRyi%w6cBC!);d^u{&Bq<2g6<;gW=exQdS@ zP-X{`z01{2&3mF1O}GcWX>T!Gpa5Zjl*9xPlfWdgNEfJ6vq(?r-R4oWFj`6kgeWdB zPR*itD&94#1cS>jPigq;B92uilu1}RM#mUgWRY6}NnKzUY%}owZpAlV#aGe9=uWKY z;=Z#t+xY*#F8p_7`>D41Tx~ArI&K5!5FpYJeq0IXYe1G)6zum}5?2v$oxHzlgD(d4@BGG?cTwk|InAV53M?q^enzPv!d)bgDveJla&^iX=)^;xiu?f_bnMWx)|_<*1UyC+2=a=o3x#;omzF@G M7wtV<8-AZ%RQTo7oSQFBq-fuWpa1ny zdi2XZ)_itJ%_55yZF_y=&#B(Gp`{n^Ong1<=zWv_esh|)_>^w`di!%=$C@0cZ(@PX6iWXR>tsa%n|hp$Dvuz0># zzTx%?mGgXiO8lNb)~on*$0BucTl}4jg+EgMUAdpwDj>wt=a_nOR!{$*q|4m>9gWeO zA6{G5xPBU|w)WlM5jF3dmV9o1rl~!#B}9I~>BZB9+;49zDwyH$$!)WKxTn+E;>z44 zCt&DtuiePJMa$QYk3oo)L6lpHTLDZkZ~#LX2wrENbhyxG=EuXp2N7Tp{qC8AIVqk)S6RaGlz_dV1)x`5{KOchx&;m|wP6;pp zv!LckdCQ`Zf+;)tF?`{28v~Z^FDjo)2m;y-=Nj-#ugECd-P zAt479hJ_m&7bLu(!aSmUvV4XxJv^d?*iR-B; z$El#CshKM$m&`o<%{0=vj=z3|=P}7uA9r{Bb-8kdq1j)-YuPNnH6bUmB)1)NI&S&? zFT))-)t}rdaaPMe*NNLy=FQm@cvwGgOF)fL{fqn!P8^&}#~18i%Qmw6u-W&#jS^el z*|zA}Z2O|b)~qSXPyV=R=tyN$Iou7&JAVdW$P_ zlbnFz$GvtV^A;^%J3a;>Rt8aSDQ*QY!N36wV<32)dD7uRpP3&I10O_yL6nb`Plkb$ zlZ8Qwn^BbYNABbweYXyUb2A7sFo^On@rZ#522QYYpaRnZEmafGxBYw!58>c6-3U(v#uwySs;cwq`8MI`kQ3Xb>g z-m}nNYBwK)B+vqOZgycX0ka@uwq}}DUEdWR27Z`+K?Xrt22OS+hy|8?kxOqK=D)$i zAOKS!CL(6cz{$Z3QINeLZk|KR_78jv;y?>HxH%-j1k8e>)U@KuNFm9{1qnf@VXzQn zl!SyFR2UX+Y+R7=f(rA9^2zcU!u0Tn3d#u@!F?bqVl3hg4=_FgQ2fH2%21S=lL+Dz7bO=f18F8vtNpcE7ll^(F^K?O0#^qvlAt^Q D+D{G%PdkN4&G?zw0E-E+^2 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 diff --git a/faith-server/.cache/clangd/index/events.h.01FD48B0CADDFAC6.idx b/faith-server/.cache/clangd/index/events.h.01FD48B0CADDFAC6.idx deleted file mode 100644 index 6ce633660353d6710655364261f1861d59e957e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 888 zcmWIYbaN|UW?*nm@vO*AElFfyU||c;5QIT*%(W zB{<*7wwHOoGFPYj;?^Z5o=c71?!RpDG9t3kx1ccQx9#trD{n?_+__3;i|m#wR?ixC z{kfBOde4oR@EFeveMO5)HHx>!rl<=!{aqGi_%e%Y7jvpq3eV5?mwUG9^~XGGS8&Z( zZqj>?o%4lCJIn1_g%4#{F1R)_S(Mslaq=g<)6(Bs?O;^Qll{H(dyb3$+8X|r3rB2Z z3KaI8;g7Kp3VZh1uGabg#kraF_h#JPSLuJMCh2&`ywaqJA6G@#+3G2)z4#*L9yFaZ zpeW$}C4BYID{H(>sg(^MOPTP4HI3V&2 z{DLBa`V5?`Ob`Vr3}x$?FP(Y9!@vnsz%IhB!NAGJ3{k*Pl$ur?1&lG6U5t_tJD|$* zb8Qt*+&|~b$ipveAnX9M(17{CtwlF2{h4_9`HlGPVVZgPg$#sjVT#&+9C;ZM_`L5IKnpnZIqYDn z*w|tP0#>TO1`6|N@>s!yr<|LlzPeHKFUVd^c5|38&|V`x2PAt91npq<7NzDSg6t|T oN-nkrG5B5QCH=oXQH_^{mxoV)fd?c80emn91A_p9$%|kD06=*tssI20 diff --git a/faith-server/.cache/clangd/index/events.h.CFA4CC35D07DB522.idx b/faith-server/.cache/clangd/index/events.h.CFA4CC35D07DB522.idx deleted file mode 100644 index 661de2ffb9010f855c5de92bc335f68b38ab0fbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 892 zcmWIYbaN|VW?*nm@vO*AElFfyU|y6WQ!eQ z>$1#KEgAgm8buFI63IeN+x zJ>dmU9_(9gdfDmVj{cA00`oVU^ViAL=9?{Oy>h-VWAjc??Uf6ZTCO}3?f5ijBKr#t zrN@=mwj7gGG7XPAu%w+|U9+S*?ti;flx@^1R-12^I`?yI)K%BqpVBPvZeLKX^-=1C ze5}EY&Bc|uNvXi_d~}(Z5{?L1_u5LkqScrJ`p}c22K`625xpn0oG#ULY1Cs zr|mop96$w|8AUcT>I(>p2K7O zVVZdagbajiVT#&+9C;ZM_`L_I7IQcxHHEZ7bjC~M2wLD5Vji#i5%DiDx@o1iF( z0V6CM#$_^{YzUif5;m~gqMIypu*?lf#?;LJO_nK$12c^K!FgM}uO;y&{cg`a@4kD! z^L_U{Tx7Mr!2n>XEZSP*ZYZY#05bgZG}J$P56=-|0Jgrnv-Di?nRK`y>5t*Naysd# zHI@zIu&(oB;v~~wbS+VSH+LU*wXNyMVzqhjl=AS9elErN`(=AxQ&#b}eK(_CKdBwH z<x$1BXpagsC8{g$18i1p4pwX*wflN^{DIgYD*QrHf&<>I#*ll_MSU%wt{N(B+pD= zI6pmG_kgD5`Sm?dM%s?658Xgpj{Yz@^x2Fv?~8*SEt;1zH!rl`9lmut50+m0<@(+S zwa=Zkl}MR#eyWxk4`~!xGt&N)6&|>*>oBEutQjC2%ooz<=7a1AoSv6)6G}Rm?tUnMM%o#rD7;|+%5QAwMCzJaFp*;`1#+s7ih9n>Y(~O?U^#?-FzNaxc_w(}- zAo0RR+Uv7Kn~uK zNYIHDb9{I2=VlQ^X0cgHmPwT;^|I>lD49u?5`{cUqthe=HJAVB9t=5Vry(-snui_LCv3gm5@hAu7 zsL7sfBYzB*SuX7rV?)wR#=vo|FcufqK`50@<;a$7?da@5qkaGv-)9Ip0QwCHAfF)wk^A85N_-i}GDIm6DGB7g zSbdD?ev;ItuYU5LfBWzV?iUrKQjmvA+8ZiQ3^k7W+DL6)NuGvZ!!ZMOXB4MVKo@Xi znMXF-7KEI%Q$V-+yw>QN(%-Nl4#puPTgct?NyQg4AT={AQ&0hsQEJqXE$-}#y-2ZU zp5c*_RYnr27$qq60Tj!|263?ou|b@k)dz9<1iiq$_2rvMhgy>tal(1xJfX#m==2_M z_m+RKdQQx-fIPfojw(wH` diff --git a/faith-server/.cache/clangd/index/faithd.c.6F79CE9E9CA84501.idx b/faith-server/.cache/clangd/index/faithd.c.6F79CE9E9CA84501.idx deleted file mode 100644 index 3b938cedcee11cc9f2999e0ef639ff611388d830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1422 zcmWIYbaQKCWngel@vO*AElFfyU|#hj^u-u^8H0`u%c)T&HA zZa6us!%<=PYB^8M%>l++QldKS<5Lb+7{@&OTl<-5sl!swrtsY4E-r05-sVu7 z@htLExCrm5hEEGxn&gj8$Xa9bNP^|&wG%d9E9$r3Xxo~d&MvgZ{WR~dU!RZNSCQNB z*;cXN?eWBA(KT=7Jk%!r*EZ<5$-%2*eC66g!w;Xz_JusvJZt{*&y=YFQ>Je@aXxg` ze)&ybe!PBu^ySwH2d^60D!j|t&3$xV?%SFvq3U<-ex&KW;{TEU`D>&^lCgZf-zMIP zF{Txr7qVX`To77u=@Og7kzEnJj@w!8fBdob97AzsZqiMl-zSKB%!*u}BgxOe%fP_T zCeEe?CV(b%vVW2bzH-{LQfJy%i ze^vc(DSsOeD7g8}Sj;%U1WcOYgV~DiV*%Yf45C135pEGtFaeV;wrt_BR+rnv&%gte zX47D^1rspoxAWw!eU{05pu8o=cAxd&d2I&N;wbN^4i7ATH%T`|1kYQ>TLs43BmF^U=Ay&)j6D4IO!k5> zVOT6NOQFP$48JCurXb9PGW>chdi*e6b>h9$^{m@HSa|rYZLK|FKIh?g=5`iG@I1IZ zka)h_zHnY?DI-t2sB$W!48I$j8{8@9A03E4|6zJQP}q^p5iSf%D8LW}r4ob%%52JT z7Xm${VQ&oc6pUt+!kTE9q)-xz48Mhdg%nIr@BVk|qnxiSU;_G1&)N!MT>xhQFs(tr zk}qNtM7@7613Fb%L|FnBGEZLrayR)}wT4-SU!FrA9$+&33LFYZJY5!DZkQHWN(H4C zU^0bSz{9V_tEB`}1ayj+wKmL!NmuW0Jw0Q?eqc;WvPp`=6#2K8r0m&LdK47FQueAa z)jyYPbra4Fd(cgc#r% ihJir}ybPRN+{`RYtZW?Yj9dVA%c@TR diff --git a/faith-server/.cache/clangd/index/frame.c.500586E393A4BAAE.idx b/faith-server/.cache/clangd/index/frame.c.500586E393A4BAAE.idx deleted file mode 100644 index 3e53626ab975c61dcac2ce601d88a4d0e57edbde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2348 zcmYk82~ZPf6vvk&kb{qe9DGSI7>FUk3`dL@ZbTqJ0@w;j3yPHhHC!G7N`wdB0#b~18)J&y*xycrPx7;`o(Q$SpYyZx!!t{;BZ}uG34POL#Bc)j^41WBK~5zdGCMj!riD8qaRc>#iKw zE?BWRvtiSKx?A*k_cZO+;I8)aCo2b54Kocr5kdD{4V?OIX|WHdWdc*gx_6xmF6@cr z##jyr3%*?)N^9b!6hFVJZjAL)|0tL^cD{d;aeG;a`z3m-rtj~*uPgSOKW!KssTqCQ zaNPO!1YdR7Xj;z>Zm&DCV4e49?%rU|^bcOgX1}C$jtCcnYmLg4b-K%8!(Hae%8q%H zQ#ISi`xn+UH#QliYXT;=^sFv#{oEgWyV>~D+?po#$kGjO--^yT_1e9mj_==l{)yKK z-e)~tz2QZ>^@|<_)_%~H{BuibuV!G$gVOH)SKg?9Db89|YL3M_-RT!H=!#o8}V&|Y5TY2tMpD}<*aR-aY5+r7cSV0(@?t}^XxI(*y3 z7*^-G=l1dZ5BW|qXq{&bKykrQS2(w;vPBF4ISdYm$Oq*vazIj{wos2k04&xP6O^@B z{+&nL$B+)7P%d0RhR79i6-mB4Um>D>lLy078rmTZKqkf%ATxkE7o7x=`?8K-Gpn>d zP5^4S8U->tUn=BA9cF28a~eO*7nwV=f(-BMeyFoo!54~<89;?pA)}C5p+R)4yW@Hi z_*0LEcyK)+G6Pr+%0=Y8Rky!$@fgelJzZst8maU70)367$wtT$^lewh);CGy^jq(cKW& z440=Fh4xr+l@Dsqfz|OP$yu|-xVgZ!U_Pq1qPBRZEkR;sGN2pRjgXrGr9kSAoER{` zJ%A{V0rdhsAqfM<2x2H?5|}8I?w(G>LG_T2Vfj=QUO_ZJ+7B&W9X?xIGMv7}-f{&` ziOhJ*y=BDC0#K{eQg&>ZDvVeFz&KSLg;G_i6v|X)QsQzHIg||MHRiP_U+v75KQdN4 z-G*0Z(OaTW+iEKsYP`xU`&{t7%M}tG!AT}0nh2m=F84tz;rkjYh(`q{rGip{FYx6e z&nMFHsrM5sC-Iy~{G^4*9OBb;za`wSl?fc0AYp++6O!zjkYv|{B)cXg*)<`_t_dRB zFGq8)*)E*HD+uNX6K(r_@9@b7*<0IiO}O*9O5_cor_579QlNLBilh)lh#yJI6w4@- ztVpI%hIa-fZq@u%lnmwt=7ne#^Ua}iy$8>Hg*P9tfE4uyKru%=k0gJNKZTZnC0^vU zrC=$AjKE0J0O;1!XS>)k=;q?)hC*ae!jceULIwj^0Tj}6^nB7Yh7&^}6URiMbXGbg zF54xWlEKU{yP{R9EzO+Dz+E@-Nhe?k#K?^ALd+sWyAVJt&FX;&9ceNs@DhZg5KqS& z2K6p~(~I-b?2a*9*;3b18H)L$@6nDIJ8-iM>f}0NO3rkuYU)xhkI@*8$%2+-I3^1s z&grS^k%#`d=frSKCA8#RziCnvy5T-Pl~`(4F!BblNLxfaM;ALAo9oYw&*9~$-PFXJ z2rDZn$+eekEz7e8*-t#|KmUEi=mc|u%pFm(L-9iry4XYH_}laUwY<{&5;y#u>*~&8 NyD&MfZorv`{R>p%AK3r^ diff --git a/faith-server/.cache/clangd/index/frame.c.C80373E52C9BB8D2.idx b/faith-server/.cache/clangd/index/frame.c.C80373E52C9BB8D2.idx deleted file mode 100644 index 5cebed735989160c2642135fab04b84c0d6dc0bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1532 zcmWIYbaVT{%D~{9;#rZKT9U}Zz`!5^#Kk2=nW2mf46e)!3>9;h2A$43tRV0txaP#d z&ZcnB>J>VnUQ54C(0?JA*dx5kG(uw0vcUg)vmaeqo3e5}_Xg|T#?0KiXUz?3E!xH% zX<~M#Yl3c6rHlIN?WtzgYrD_w$vVa7d9j^yr``&?=p7P46~&q{Uvf5Hocdy+r8n0> z@7r6?u{*AiUG-+cgo-SE>ATbYXGf+9+fBQ9^bq?W*SR;AwYDEyVwpb2c;DIL6-zm* z?^TJ*NUSypoApt>(_?j=qS`Uh$9;wCt;P3V+GF&OFX=g>FK0(P+qKmtVH$7yn5H>P z@`gP)l`gSY<>4K}8@t_@-Bces%AaFnlb-vH{q6qs4d+%*lstE)OErAy#swn5M{_<` z?3a9cvi^tylVWt3^cB_v=UXnkEo;j&d-L;O`P;?k>$vLQ@4NFU{_T=`@0ETmUZJdH z+r7r_Y1B(=-^E3}8p*Mj4PIQ{&>3FCzFSQ*nW4BcH^~VY%BN#rtl%sEY{SDK1`Kv~ zVRki9R$*2(22K_x21x-%QC9uNiqb@T#iu+B;y?u%A{qLk93mY044ll23=)Ds1x2Z8 z#SegSWMX@S>qcdi2n&x07Yi2`++Y!THhCTdFVi5?3~r`Kwm~+W7ilbiPITj9F(w`n zc_n!@gcenPRbd!!;+q*(J~Ow06tOd~3&DhWM2y&sBw#$&y_tNrb2+pac|?K)gH&O{ zdm{B+>wDiD0re_LD#^fvfjo63Ef`P4XJMrC4|f}&UUqeMbC@uUW|RU45-{Yz;NqECB`MkJMwon(9x;fsd6x3G4=b3u6`dXfx>ozb{a6@YOCMvIS+#yK#o@8 zSAhuw9jzdvgy0#d7$8N0rJ5z&03H!%HD@HAubM9sFH9v2Nnfl|ERqdLaY+d<8`^&y zc^MM;y#?sH46_VdSfXezo7pH^lra&Qj^yR#6=AA@u_UGhk6|EBMG46kRUTD7n96UG zFFtg+Wvl?2>mlf&2@|fkyD0HY#f}X?VG}_UxO<;Zc(~$SRMSRaVDQQDslXzZM?^|S zN(sT!Q_xdG@XVFWH4r>UB}XKlw~{v!FGL{(Nnf;FG?EQT%1N3qQlgM=V0UH;^AiH0{~9e6?y;w diff --git a/faith-server/.cache/clangd/index/frame.h.65765AAFBD5799C5.idx b/faith-server/.cache/clangd/index/frame.h.65765AAFBD5799C5.idx deleted file mode 100644 index af48197e9f1a500597d387a6cbdd124b59229c07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 640 zcmWIYbaSg=a9gDWfqD{-U>+-TUe6# z$wO&jUgFNwYx>87QXWvE!*P;A*IL zkPGWeqUmAOey zz)(3I`(g!O`DYs*25uk^1h`m*S=AUgS(q4j*%-N4^&2Zn6YUkB@-Xl~#l=sEiU};^E>n;538lFiaRm0}TN?9BRnli(YTEEb`w1oy(@qW&*Q{hl|UA3vOglYEB|ZeQ{B8u`-Ck b2_nFNiA!E`k^AlyT9Qm0oD3W=VFm^O)I8f> diff --git a/faith-server/.cache/clangd/index/frame.h.F5AA78BC12CFCDAB.idx b/faith-server/.cache/clangd/index/frame.h.F5AA78BC12CFCDAB.idx deleted file mode 100644 index 45cc30ccb59c2b41e5be14fa7c85295544574c73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 646 zcmWIYbaSg?VqkDi@vO*AElFfyU|0dajiIs%u z)~_P;N^Dwm+TQ{lSFv^MZ(dE!iLI4>?X<^hO3n4dcOs@F1#8}W6CeN0Si&QS$8)*x zQ=ZzNiY*zMirG2F5f6Gc-s?Y*6EZ2&V#A?1=ij!>vyq;&De!Qpe)Ni;cfRf~;A&uZ z5DVDoZ8a_aXL)JlalgO*^Ol`|eRQ$G#amkpSML9+*2#ED{72v(*JOs(Q=ir`y+{~1_l87iQBON diff --git a/faith-server/.cache/clangd/index/handshake.c.C2A0CE6CBAA76299.idx b/faith-server/.cache/clangd/index/handshake.c.C2A0CE6CBAA76299.idx deleted file mode 100644 index 63ab2bc4d70a4325d04a98ece885a21fe1698b70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8882 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 diff --git a/faith-server/.cache/clangd/index/handshake.c.D817BD515F58D030.idx b/faith-server/.cache/clangd/index/handshake.c.D817BD515F58D030.idx deleted file mode 100644 index 09e9cabf74acc0e11b988f807a21647810ba97c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7334 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 bRQ%DCKh8@{O2HH=tetFZv7No6gIxR<>wq4{ diff --git a/faith-server/.cache/clangd/index/handshake.h.091CDDAAC8C51FB4.idx b/faith-server/.cache/clangd/index/handshake.h.091CDDAAC8C51FB4.idx deleted file mode 100644 index 8e8062bb4320d842387cf8acf2ee4374dc0112ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1172 zcmWIYbaU%rVPJ4h@vO*AElC728AO1%xTGjElaYbp5Gw;i#hkT4o_U82c)kReoLH!N zhbuPl#}v6=ddCy-l;t$DIHx~>;fhqicF*Ik zy&PGLXBu*uIg_N0?{i~Vv~S5KM!nlTDla?NsHn#=eRptWTFbE;;LQ&6S6N4d+ z6O57&$3w+oP6rBuoeUL@(2Y4aJu%N6WQe$+3CxiETwBEx_s{t<@rZEfaM-{dCBmc1 zV+!+w0rP=di*8!_v+{_rTe7<$6mc7I+rt#`i13T^tH486L_|l#66O{j5lJ0MOIVn} zXrK$hVFq_Zi29rTb^4NVJANezYxLzVI5&B zm;pdLbtJ4{cEa=ny$?b{%wF?& zksHg_hEq+(6InESr|)xPSY)?!6RVzYd&x&;AY^KW8maq zhA5b*bgFF=i^_i<240u~b`f?}22M^EhysS9)U;v|CI*Js!;79hov?+Mkw-+(T+kY- z8tw^3Nr>a2;xMNJg~3jS3PAuA%HBVq}23y+ATj-(|l z%wROoh2SuQx~2Wck(VKX-&;T~WD(?snFKQ*s2UuAP}MfeBof#n)lUE&F2E%q4O7h{ zB4#A!470a7V;NVuUe8sK!x`9x5f0~K;1Y%z%p=0bz$c6_K$t;T7-j&Ehy;U#FwDXH z0{L!#o;`U6w3FX}-yWew)JW73re(^xN$RT`HUEO_RAV?nM{@X99Lt*>X#D%sMXS#)A%*Ut;O zKSjK*i0D0up0Htsxp?MT4?FkrQ$E5BOLhqq9A|KkdML7KY2$p~RiP(Xce?*FJ}kxg zuWbtNV6n!)Kl|ubJB4SNF=C`g!e7L_l}( z+CL1s;pa$dooW1wJJ)Ze%cP0-=3U(I^7t)LUWQF9#g(~9dw@Q&?Oi$5-)5aE z9|IR713R|}w7#oWJCjXJp*m>3w? z1(*aBzyt#)STiF#Ye(Nfq3KT6`}r7{f%^GH_+`NaOuu~RJG+kV14sE7xPj8VBD`{7 z0w(?AWyvmvD9x9A3_L(-J`p}8FaeV;N=+-a1jY!=4~$$8w}UNbV2IF-IX68q&z+Hn zomZaM1}e&MIP&|y1*uPbfU1Q!gtTG8FrNa2LEeN3xBocuG9>VO3&;>AUQU>UVIBvn z2KgGMTJNZ~)Us#qCNc4_b2D*s!5qfJ&cnpR1+$^8#>95Um3f9!`}6F{GoUaZ6Q3X~0AV!H5Kt(> z3}Glr%}E4tii?tq-9Zd!w1b$CI0Ug6SivNiV1qN6*yB{9l6Qxk{l?0{$;!sU0Lm;- F003V9;3NP5 diff --git a/faith-server/.cache/clangd/index/helpers.h.CC6EEA2F95BE10A9.idx b/faith-server/.cache/clangd/index/helpers.h.CC6EEA2F95BE10A9.idx deleted file mode 100644 index 02ba29c6799fcfd931ed58288311b98714415447..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 838 zcmWIYbaS&~W?*nm@vO*AElFfyU|y|Tm+aqGx&dsgM5OB*)fmwKt@eY-5MvsfHKjYo8sK@7i)eR%XJ9&Gi z*b8aiJ-q+Ji;H{zcAWGm4>Fh=@1Xc{$v0MOAIA#TiM7q!uUGd?di8tlk0}ZBu3vj1 zZm_Oyk>CFbPV%b_j%mvtT#yhGuAJ&`vrd(d zfs2uWom+%k5=<~~0Of$-b@mzF#WRkF@iFiMrFlen6u<;bx_H@Q?q8}#o!kse3=Hf7 zOacmEf`JpPnUS5fqwk>5bSLZmd<@J${rn>QvS0$HU%vC5T}StUqkIh9KxtkPUO6xU zlm79tWEVq}=1V>X9-uUz2%i#|fJqmnrWIQP;{)agMlOik!Im>HMCitxo1U2G&d9^g zE6-~K6=gUa`TgI5)F(bb)j}LX+Av|5Pl3W9Z^DGze;j!k68OCZWC#;4C(OYxj{{YM zd<|2rcT`(y*|T?(n0VN^nYg)N4&!0xVdCL}+0a&FVmsr?yiGv8#vH~PFuky#0t$n| z2__7)5hx4_ADFPsGKmDXNc9syckwgv3&S+?3*@`~dG_QPP?(R2PY@P>FdAqGC=_9a zFchWcB!W1_MajkPAO;c!U=mEQ$Eidm?+!Wpjg^Cwm5qe~ls}+=4aQ(# F005Ih;lKa@ diff --git a/faith-server/.cache/clangd/index/logging.c.5687586926B3DDA0.idx b/faith-server/.cache/clangd/index/logging.c.5687586926B3DDA0.idx deleted file mode 100644 index 741ad2ca7500598ee8e8085fae150c95d8ef2bc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398 zcmWIYbaQKCWMFVk@vO*AElFfyU|V- zZdJX&1I<-=q3`Z0D=&!Ftad6E;ZvC}#vA`H zwR4_nrXM-^FXIR9D{h?+iYs%I6oKwfx_W=>=@}dL^D+oBFz_?6GKmSW@UX}-a02Cc z`4|OQ8H!TVid})c*u#sSJ)N+Hmyw5`iGc|e4q&k9{#pC3PvYhvVM!)Am@v#-MlP_S zFkzr+If)=naZz%yIEWztBEW!=-WMFVk@vO*AElFfyU|$iG(?+fT0OS+iF7fOkmjDjW6w z2A+%ty{oe}Cxrj;SZkH(xx|Wp%l*C8*DRhLby#qvt1RWEUzX)`!}xGswkx+4mh>vm zP5H;LMk2IE?EgN;tCimOObqs{43g}WoHUb3Ug%EOsm2%A&+I=}ed2oRv^A%`F;p;a z(Q9sFD6Y&+QUtm>>FWKhr)O-~&&wddz`)1E$|T0m!owoVzzLM&;br7!WhhEbD|Q9) zVh=BR_H@D)UPc~1CI%*u@4;Zx{j>I6pTx~U!jepKFkzUvj9g$tVZuPuauPwD;-chY raS($aM1TP!pEvic){a=S&y4&G$+;;xJV0SiE^cNPCRR2Mc1A7$u0MQ! diff --git a/faith-server/.cache/clangd/index/logging.h.8637C57BCD33C9F5.idx b/faith-server/.cache/clangd/index/logging.h.8637C57BCD33C9F5.idx deleted file mode 100644 index df1f8f78c4993c4a9cf56b26269218c6c14110e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmWIYbaNA8WMFVk@vO*AElFfyU|;8H_lyf6ZC&~W6_+ahh`VQjd?hA!L-dX zKaYR^wBCGufM>v4Yq`trlaEc5b>q9V&FD|e{r!ulO*fo*rt+s>t9Z16(MN{j%G@MH zpsh()?{7UlW5a%4238;s1ejTPSY#PEfhak@SZ)BrAho%m>DT#g(~9iaB9tbeA@UX}-Z~|G3OpMH|3`MDF#d<(q?BPYvo=(`p%gDpb!p_1C sQVIev0~k3W8X=-UT{(#$W^qw+u{ekU@-P%IH!yYHnp|2g%E-b10DqEJ_W%F@ diff --git a/faith-server/.cache/clangd/index/nob.h.6412967F74601D00.idx b/faith-server/.cache/clangd/index/nob.h.6412967F74601D00.idx deleted file mode 100644 index 2852eef4ffead7e72f8ee0978e9f7d708bad0178..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25384 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 Vx6R+L+x(r==I`t_f4>p`{y)o2gMa`4 diff --git a/faith-server/.cache/clangd/index/reactor.c.3515F166852BDD2E.idx b/faith-server/.cache/clangd/index/reactor.c.3515F166852BDD2E.idx deleted file mode 100644 index 5674dbf008057d62a1f434f3b376885afbe32df3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2686 zcmY*a3sh5A7JWAmAmJu2k37hIA><=g2!D{@IDy(=7|_8A(Q1PMr1%9YlC%;e+EyEB z?X)#eDGn7VV@GSD)!Hg`YCDRGWpoB=1sfNO@iR`RcB)I(v{uEr0dAhnS|ptN_Bm&t zz3;uRC_gv%c`-%hROHuHue7i5rzncWe>QvV+C6}xq(X|SYujrsSno-K*L%M(ZdYH_ zr3^kB<(D;nHKb#EiAybcdR18WA(VH>b9iJ+`;`%?yMFDFU&?kgG+c``ooxAf_|D~~ zp`FgoOQ!nQO>F6N4HH@NKYys`-B38sEYCQ&FXzVn^pt&%DR#^^eWJU4aWugB_pOf3 zZjad?PUw2r6Sw-;y;b{n=@lx+cDTGevs9(v3kaPrt^Ih(W|fg z%&xxj1NFwt_Ns}}t90t;tzX-Zf6f$aAMcs{X2>;wM;~r*W_-ac{mG^~^}fD) z(AfRA^CQ|Q&6A=z?I%wx`-*vZr1ihb{W z(usHJT_e}~@*t(5D5Q`nVkf__kCUG}^VVIP*`HehDII>ih+P!N#j>$+lqkrL3ReJ5 zm}J@XZMQpR1EeA_pbfBXAd*XC(;_L6SU3fll|A3wUhk}h)C>%%WGiQIiEQEwN)#xV z0u(gnl>m}uUy3|L#Gz}Z2eL639} zXT!ru=eEtu&z9Y}pvJjLnxr_ATc#UZo^k*t;pG~x##d7EOZUys^s-Dph>VHGOrLaU zRp2U_&u>&0SSKUSX>R7;rccnn#VmqDgR#+5ABfbf8Vf%4kvQ&$B^1Ty1mFqcO^JNn zd}Y3hkIdob2)>Io-kQiqgEV@L<9s;v9MS~KoGgXEH{WDboMsA=aE0?DFiCy0%8|n z$%C={A3fh^uP>UmpYVdnYd?wR+)A&s&+f8JyTk8JuRCOfhe3NBeOX5>c*15NYX)-C zf^Y)L$>U9mrna4~TN!Go#P}v4YXV^ePb9)!J#GzRmvEJ8~#U#kf`(FA@+G$Fs3uJ?W=biW_XxVl&_*@IhnZw^A2 z{9?5CvL)zEZzty2CZt_h7?D)uyB#4?(n<~4Xo>4CeYyT#=l*H+24fp zi3%SYt_h?Q*>CprE&s=L^FQ$fw3H4fS>g|Foips7_!qWPm@dpF%Md976*S)v36PjX z)f{~zXp8wf@BJdqk?=zoi;E@v&~6ax1_`A7;$sDW6$}R5#-3~gs%;>FNC@$LGs^`s zN$l^|=dD&M#xW2|;Uf-5&=Ed|3-;uk0soQzBv2t!fQcp)RLB}&^&QcU7LYAIRQLc- zY~`%Jmk)l^R;}=Mv(-Lh!*6@a4~67Vnd*uvh(ozJR3e46 JEQASW{|{#ve}@17 diff --git a/faith-server/.cache/clangd/index/reactor.c.EA1C0B8DF7477FE8.idx b/faith-server/.cache/clangd/index/reactor.c.EA1C0B8DF7477FE8.idx deleted file mode 100644 index 2f01e9e6db4de1c6935d3af7f133b34e2201631d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3846 zcmY*c30#v$7XJp4K*%H^Bq1>Q!o4UE4!Kzaiy%l)ltZmtf+$LhLV#Gg6#W$u6r_UI ziz6)kF6OHtQFttS;_(Urw|)UzvHD%}Y>`O^F#{NBua^MCLE-n=)&t0N;P z1QZp%OkKDtQ@eykQIrJ#7HIQ7J^?6d7Mr398(I@$atFQO%~RimZK7{Ecz<78zrpBP zg~I6R)k{ZP>}LO?ImVw~_32*e`11w7N)N2Qp7ZnHEq;l5{IV)zzh&)c(a~rzr~R12 zcxc_&?zT=XMg7X@Vw+*;^Ve5K}Fu2MVZetANO-;W#TzW!O@v`1*2^5;3G&I=Pc*&|twkJpzEyFQaIEm`mHVU^esnw*w32l;Re{rPJ>w_Jx4h0da^~PV=g%@@eJ{&<9>}T>RrrN- zz62pV_6ozw*}T>3%TL^<3DR+xF(m;%{R^ z??xW=E8hR&rP+>Y*M|PKXg~y zcyb6*wpf8}#rB*0B4OrdE-$#kqo}mvsV>L0bJ+kQk)_CnSY5Jvb7akpsU}7cSqLm> zvJ8=(&`v=ZYzgunKBm0M$F^(j*ZPs5e1m(<28xm-*mj-$x+!ECqMbmr6Ud1CLsC($ zctB-|ts|@>oQY%HncV>}f29mtn@UX$kmVA&oFJcDwEcin*I601)y&ew5Zi`zDHqdU z->|{UUbbFJvYc)|oZ{U9y>!~v8a>j1zV7}g_{84?q9AUNNKZM6;l_yc{Gu#wmPlU| zsEAu6(x(?~2K>!HN+N=2H{k9DB1Y~2+zucj6~q7E;iq4_mjRB5zj}2iC&vwlAB?mxMYG3Nju-5>b8h{^R?}A&xv8>PQBXJgWl}dsqC1H$y zca3QjCJ1vOs5D9vB)JgOsYVO7ReV($jq?!B4(Adjh?3dKT%rU~9dND#uEd?z`nEyw zyUsX3qY7YF0VHH&Sp9tPNl0$|hk_-3L8L2KBK`4&f40`ACFw&Rnfs*6BMIR*(|tv~ z!6%b&gxi7nb|5AYK53(cHBW|9F?OO+qA79F*lEeFgQ08FG2!0OTSTxRiiD8{QkrQR zpV`ZUc?Nsc09FG7xfKXnftY9$Ab=(tAzAiq=qt>WsCNxXw7RhlYeqzrzB zkdboaISQu0G*XR>k+dSMn32jn%chY?AWky=p&7Xm2pgHJ3{ex1H34f9F+?pu*kZWf z4tVW=Pxfz9mExE|^L(6tk-f-`@B)# m*@#1%}RZe|drw@WLoNsuE(acD zL+7M(1qdYa`Q+PH>;LOkhReiDay-gXMr*&Xjx2uwb@p(Wy$De1TM;AeH=X?t{IOAYE7|24RWKoF!D-_PxcbQo5fUO>a^*cg`JpFwys7;|T@W_k*9B1;-<;DI z{?qYxHblNWUqtXAisnTlhR~(FrHCPPHE%T{1qIPoz}pHCp;fW=vgYBQ{^OWO%`}Z4 z@t7Qi1JOMw$TGYI`}~c^zvIxzo8`?T@HC2KMe6fOqs6Sn`h3zTkCn$G@HDChtZKj` z@HA=#oK~g|?K5gq(hn}Wf&qM>kAwkG+o+w1Q#8sz84e^q8fk5`&V~Tft3kLSKwv8f zCATkQ?nn9rL}Gx6l| za`kToh}Huh?nnd&qJ4n357307vD3~QcFgG+;jku08v$TVjy6IV3+YB10bn8BXd{HN zaLwsP8v$V9n$wLo0$_INMZap##D8#GV*9g0NMI1jOk_faGAko1Ga{|B7LJ;hCH$y+ zHkgI;i5K|UV3w@+LYFAFI^dzlt#gT5fn;y+1&0D?&;=Aig}w{K>^U*k>?V)j+sJDiwQ>s0-lmdejuxkOjS1^G)0@IN0ErGJ7@ p07+S^AN?XMGB=Xbl>YTdQA<}XTdC`I5}u_%2>IqBu?0^`{U5*L=IHG%mg%F z(v-tDl=AJ&7Yy+Q4Ng0jN16CinqWtnd31$#oq8IY_WS?0XKQzRj{ENWJkRgyGDC5td%I}+6PPhlNK7M%D z_;c3HtnCLY&t?xE>@EDql;-d(y5!zFdt!-jsk3in<*erWU#0FiHYaJ;uKCr+qxn+kQ+S%P)xSt~bmGlU{S3emrfguu|6C zSaNx1>67Pqo$lo3@|Z1um{V^z_rA|-XxiJpZguau6Z0|#`Zl%r=8f9OjkHY`rq{DTp_3j?1pwxO?HMIvA65Vkfw&7r$*81#m(4;HdkD7@-1a z07gd1g1G=@}GbB8kCB8AG|i832euHgaV6j5#<}4r2tsgolOe zxd7y0upe3V)6n?bxC}XH$j@4VR>TGT`RkOB4o}tNX;O$F#f3om51c)w>*YqL z0)mMlgbLAcfioD{1Aa66Y;vsDo+Ae{X%H!j4B-Mc__eL*%y#jmdQivk?I!dSHLg11Ymfakh)F%H)3OZttQ*tF20*2u>&l{KTAE(8ovUNX#;fYtH!F!-AQJd%BSU0$ zEI`iOf;slaU$Hi3J8r;y#F*BgCg8AH>bVfo^O~WEKgO zYfJY_-0|zK324RyCKaB5X3St#VF#MAfJKEfrWq?(RX7!zv4dTO7a|)6hYIJ5s0B&9 zi20h*OcWKR#7&Y`spiZ;tJt{Mv_LDH!Ip@v5KO+r3#7kXI2EqMXHPQ*%Amx>(@b1k zoWC4`OJ=}Qi!(r6iOjN!a(PMF9QJQld9jQ8hw0xjKp2_`-=9^!(AqNNZY8A+gZ}_! C88z4d diff --git a/faith-server/.cache/clangd/index/reactor.h.87443FCCBE09285A.idx b/faith-server/.cache/clangd/index/reactor.h.87443FCCBE09285A.idx deleted file mode 100644 index 2cdd0fac9afa533fac757a4e603b006dde802381..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2248 zcmYk62~bmK5XYAX1d_ZYki>)+IRXiU7!VQ(LM!$F84j%qq83Ghih`h(V8f-Bjun~G zjstayZBaamIvzNPS1lq%WU7uAQ;&+J)}oGzS}jbi)Y|X8WRqqlJIp`--Tl7Z??*;z za&nh9K;q)m^5yxf@;m@QPQIn9tcBmW0dx?dys0JQ?27JapOM{zUE60Jp52)FUdwHF zX-LMlhgZ@bzcV+)mcOyE@ajhgQ@bKkCyp#E8tC|WfR2CEk=vpWeB5izi|IC4r(X2z zTsz!warDEzF=2bsq5~@)jQb-jxl0gZec#f?Hyz3OVnycefo(M-7q5iArMwlt<=O06 z{H8IlYl|P;@NBM81}l_y%uzj+Zn!2K+NF;#dfL(G|ENE` zv+-zSOxEMITRO7pPd%Srxvcj3)~6}QZ08gY8=6ME+9U3-D~ZiNU2tg9rRN3H4)N=f zUu<|a`Ydqs63O4y>uF8wS6g=ceq~i}SaI_sW6*`YE9-4f=DuFBAbkGH4W5GCh=2((V82+vH^ZcYFUaPsN&sH-yEDqUr_~zJ_`emK> zE}T=OwNuv0#UjhA)wP`-o++D~idWuQC(n9wP za{H&mS|X zNDO00zDBN5aRKwAv#V|%XfTz~5QzC^xmg2zp{G56kEJhr!Dvs3eLxDH!kb|O=7&vA z%WSS(W2HfZ`BCzy5a4@L_WXS(SLcZKx0MMYlw43o$&_4hO>kOmVs72Q`7db*!wN>Z zQ4M@AH+u!uP)&O7%(xvi1fxMG*Aauj!)~bB9FHRO=es| zOhS*~Mn$&VjbJVa*6K^dX(64+sJcG3mwOwMgGdbQr@+zexg zG)#6rW+qA#72|wbj4{|~!lTfPS!*`qvqk*K30U^<1PC3GS>jMe*oe%MhB6{XWR@?K z@icCX9Vv&7KoK`f6T0z4#LWTZ&=DWv=CE^CmJ!jYCFeNGBE;EQ$LdZjKO#j(iX|3kSNfHIZ2) zP_8Q2B`6#J*;O9R=s+jK6VQwv^fK%~GX^loaK6|IS$fUOWr4}l#>XE}e$Uy9G3W;B#Wii@Y2 z$jC@%IRux?fTb2^fVdKwWff&>esLcAcd2zzDfbW4xnrQ1?Y42vO;aD+D3u@hVFti| DU* diff --git a/faith-server/.cache/clangd/index/routing.c.A466389A119ADEAE.idx b/faith-server/.cache/clangd/index/routing.c.A466389A119ADEAE.idx deleted file mode 100644 index 3dd583a1fa0518e426894fe6c329b137f5c2c9f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3028 zcma)83s6&68oo)ckdPyUBqs@SB~3ITfQCR~fXG7(P-8Kfg)U)fKp}xbH6p~SeSk`L zM#uW5rPjr*)>yY%x4P4nt(2Bh$y91lN1+vq)q=Dg6zz;tzz6L~I_D-~XPwPVlKIa4 z&;R)T*DWyR<(=megwbKz;H+F*P7(wmL|@n1`kFEZK}@m;VngeZg6!2@8s7cF`WqLE zQWL5zd*Uw{BO0=Iwb&ES_EkK6S^#BJWzA&R5q5QA|I6#E)}<%6N1uqzUG)9CVp-2t zc~wNYwl{CI=Fpc1cPvg@+2+iZAME?7{TKV52eK+xO@+eI9DcY>v#aOI?7Hf8_m0j< z9T1)C8$A8&<&nP+jyO)PDZ7(X(|Ta*_6z^{cyFeAkJ1`aw>^EZCvB+qrSQSlZ?5Nt zdg5Qu{rXyQ)Q7qA8*GfByL(j!CZakVwxlu1xWqOD>z$9Zy3bi}^S2Ht@?%R+EE&i> zbCT-u><+OuZpuskxg+6bsbELx@XqX8E$l0*x8HN#ty$B*#TCW){CJ1%wi}MV`lhF; zARivSI{MWIyByK$1qEjfN4j?AAKLxmvb=NEt?;Xp-~Ko*7(a0Q+Kda0&F@5aF>hS> za6k#?P>pd2^iG_5=xj7J{BTj z3>hQD2tXBACBTS;^O^H$NdPsmnneGzBxaJrkMwMPq#qgB1_?$0W{5Ik{HTyq7$9k9 z+WFW;0IN7vkr)j<=BzGBd@Bpl63LIGumTbW8oo5JO0>|`lfwc~p;07bApnhfW2zsS zb!I(AW9vUI-X%D{6zL6*3>V?!X?kxv%WS{$o~$3%*E%y~Uw+@a47nN>7e?0#fLgXTfUIIwaVj>jk=#7@ zc7Lsz5$v3X)j9C))ieuoj;&`K{mxkzT9@FvAatY|{cZ*I5fvme-Vqpe&0O(byb92@1L*QO;)@12SbyGA{5-nxoA$2LPHA z&2*o!=9c##Thy=ur7M%4DaPpK39j5OG&9DtOUS>*$Ih$l%_~a!D!uCwZ~kMfr0Eo5Tu#a5_%481@+_4fEq!XK z5+l#1gMS+T^oLW(Cmqz$NgBR;sOe>e^CM(V2!s%u18@ac0Wrt38+z9a@BjKEbXOcN zR%4Zug5tK$jqiWv<#?&Vg703sd`I8a?(SqzFa@O03&7!FCfhgO==NHgD^y`=WJ$3i z4qF2Kz@uk9?B+bF=_x29Wn8S_{~rMq%nZwDwwrTV?F_3G_?8~{U!(11Pmzc=20?Kq}}P6-(_ z+{mEe24E3UB)}w+L8Gond2Kt-wEQ|l7__VYl{#{DD&zPNn#fYNbQb1;g6a@8y#Od^ zh%zMLXKQcPPwqR~d}~^qj=JC4GCA$HP)`9apjRV+kP8D)3Acp89s*d(Ee$~B+;SRC ze4^a^W`5_b&?mhb1QYcnYDnK4#UTV!6Tz#^do(gUf=ZGT$DucLaIcN37hZ`jBPWrN zZk~>Q1wu7%Fl1r9Z}jesJ-#{aF=|Nm95yW!tO-D?%Bsg4)K{)5_jZ!2-tO`ZWfATx vf}qC@!GNr$*ZF&z8^2|V#1evD2n1nwI#$g@SHihGHYX%Bj5`y|h#-CkeYjcY diff --git a/faith-server/.cache/clangd/index/routing.c.E27785336B8F53E8.idx b/faith-server/.cache/clangd/index/routing.c.E27785336B8F53E8.idx deleted file mode 100644 index f88d828dfcba198f0f302e7011738d1d3cd7b350..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2560 zcmZ`)2~bm46#ZF%ERR6oC2SESkgyuUV!!~VHWUR)QUL)G6iiqw0!nC=Dhig44qBz+ zC_|l56e}(r#i~>p6;Y`xYC#>aD4VpnphZVPEA|EF{UmhyXOjGL-`&rBH*rysk)uq4 zP->%A=4BRT&zdAsr7dy+k8(G3E3Sj-ZpVRq@QOd zr)&<)vxt3mS;4J;+`YX0c>OjO%PBYD<>1&@{KY#t;RmR1IcHdNXD2lL%KUM;e~Q}Y zLb=Sl|8Vz7%R{9nXFc3faOe-KhU(mkn0@gx>pQQ8Iez)>Qf=q8=bHy|Lbdl^H$JKf zzSnomU0MDz-$T{kcTu}qe8caag=6tZjP-9<+ZXJEBd2_8cU`;N^jGQO-j3asel;_8 zjq=a%e`gGpzp_sqG0#+vJIB3fPN3-;*A3MjvCM6{?6Rj^&JFH)oRm}Pb#6GVc!#j_ zvmv@~H><4b_KOYOlJk|C^?li9^a9S^qm8mXH|JHEY03{o{<434C#RX8&vMAAa@er< zi~6Gb0S;5H%s;`}Nc;K7X>~>Zmieo*6&|guo|{KTAC8Y4dtWOU4=F7EKnwSc`#|W5 z^A>-KdfQxbi~Hnopfe!2sM$$Gk_XR{u=F69G%8_hP2rghI`0bH`*(K*AZ(BVgJ1}G z`Y(b>r+ic>%*@igwLmO|6KRSS7vDh1n0gUjCkQ$KMTP-o5 zRFGMt@N z8AHZ3AUQ*Bj}d_3{BUOjif6_fX=dpXaI_&q5!M}pi-s`F(6ftN`}$!ic`s3Y_CTnzZ@=ykHwSxKFwR0`r0}M zDNW~1cg0EoYJ;^(oS|Y_&$l&St78z&`tmWK7v{ei-<>(|ITGtr#o~gzaM#NZ+hS3w zEH4&0D*y&E0*#uL?3o;b1FWT&xj(&IprV*2C#5xa?dhDMM#(W`45cBtq|l@}*!E4B z*7d7*k_4Inih0e~t$6?xBwuQ-dlyY6Hny6mWScG!fI-SFySSXVX@Td}Q3 zzlxMb>iq}#x=9(XlD}KOv^Ty~KZgR5(X=atN_XrM#ht1WVzg#)UF?a2m)4<%utjWN zEH-TjmQo!j))1a00o0mnJu%g1C?_9Wk~;4|smec*M`4@zrj2lk-}`DaFhM7_1ru}{ zkp7Mvke)yT(i4bL*u|8%S<(fylPb3z3S8t;H@F`Kw_)3med2GI=w8$n9!1qTup9u+ z$+WsZD|_pQQ`R-0t_cM~A&vx~La6XGpy;X5VvJf#ch7xuwyyz&3*rTljUISjyY3rN z-fE zZJ*S_RXIPgR!BD8VFGADSQxF}|6kPqS8B!G!TqAgC7ZgN8t#rHQ^ zM=g3lfhH^VSjb@Kc=(}yv`AbSE{?ch0hE|a$h{?iatFB&J}c@i9IM`6^=ML^+T|Y_ zXEK`}p@9T!KyGxz7n^5@*{k!OkF&m32YnKZ65EBlbiR z+Tpa2K8BQne1pipQ$)2~uE6`ZN~W*BQnL& diff --git a/faith-server/.cache/clangd/index/routing.h.10734F3A15FC9888.idx b/faith-server/.cache/clangd/index/routing.h.10734F3A15FC9888.idx deleted file mode 100644 index 92af7b44079c564f06b73ddc3875fed4e1e2f530..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 658 zcmWIYbaU%sVqkDi@vO*AElFfyU|Px;^`IHZ`M5%uO54F>zI6F;II4X)+gPji3XKTZ2j`(-sG6KvrZR3Kgs)K2EUB} z_t(Yyx0M!Gz6|iZ)VT1X)$~9^|ELMtZ?EfJtzFR{(>Cwpj3yDuXB~`16wc#pndCjGdFV9|b?wGUA#O%;Fvko8sotTsU^2Ovi z9vxm2CY`*XUaY3(ekV$GB73HZ_3z8(*Yof6x6SkoslO<{bP*pzRk2!tpe2XY0)^v0 zQs#29EpZcN)yW8}RTi)G|9tUlal%7^atB zAm8oJvnS6OdAK<>IW1s{rktCkzPeHKFUVeH4nvqQ4>zv{uNh1)Ls4o@BFM7hqU2(I g5Q7UuKmfNx+!kB6w!OW~T%0@%oG@Vq1|9?x02>16`Tzg` diff --git a/faith-server/.cache/clangd/index/routing.h.60EB94C2BAE0BA8C.idx b/faith-server/.cache/clangd/index/routing.h.60EB94C2BAE0BA8C.idx deleted file mode 100644 index d4728106b6546067ad8ea963f61da941c02a7f47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 zcmWIYbaU%rVqkDi@vO*AElFfyU|F25DvnhKe~$15aliG2l6~{K*98 z=u2I8ewJ^Ye#;)aajW-0wzNG{>dpG~Z&h?NcTHF-9_g`o=ERu0rq7?BTP%ISP`<)J z>=k=`=IdvFE^)f9U>0_J9V6CNc||BTbAQ>&ch0pBM5>M@bEz1gS*Q@rwmhkEzwUz- z>>af+MRm)W z0#jXFPhLp-JZP z;!-sU1>KM-J65D}F>anz|LXtAXB%34Z62F9mNPv&tC;WitK#*aIn&g6>ltl-Df=)K zSLP-;0mJ1$?FGTtYmDW17}$V35a8xz;8kbfWM*REU}fZHeI_^Gc=5-(T|5lz5P1e} z4h9Y-22K`6h=QWjwBnmUDVRx&k`NQ1s`GPg6;Iqh=gY*y&85j@2{(?LPlL|_rpJK! zz^z3$E&YLtILtVl5sG-Nc|Bl?V4^?^z%GDVP@S=it6Z<=Do`&w1G_Lx6%RKL1CKCF zFTX&(+n;Aoo-y)pb82#0z!Xh6H%WbUqvl_by~-ShFkv2UUJYI|m|ljW)SN_+WyM9w i#rhxy7l?oWP8frMiQ6G=i>+JR-d<)dPN3az2?hXNPUf8e diff --git a/faith-server/.cache/clangd/index/server.c.39D815EF173EFB60.idx b/faith-server/.cache/clangd/index/server.c.39D815EF173EFB60.idx deleted file mode 100644 index 22b0814e02ea5243b1a4fca8d6a12304d4ce752b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9742 zcmcIq2UJwo*1r49r45%hGqhobLlNmk5fozy7DOdM!6bGBu|<7R5EYFH0YL;`K*Smo z4Fa}bR4@jtfWp(*&=?Ddhy+V4@K6#()OUvQ%(@Y+Zu(ssq_=Y0 ziQci(F2+6hQE2;Y;?8H)Q8(jG>HVr7mwBG|^jja>GH%{FcaMz`^=b9>rp2QsULF0F zi>Ji>blCH6UD{3@>{YHT2`)^&6&BN5wrS=+d)#&2P?GF2|E%YfDPwY`4=R6I6~1t7 z|79xHV{s-8VgZRR*sNxL+AiG4e@d%2;pv z0RsmJ4gL$}U#$IP%@?Z~cNYEvBl& ze)jG$Idu9rm+ila9omuTQR;8|bLHd7p=)}6_dM3DgWGUwT&G2hcW#YsPOHJ8I|CcI z_{6y}=YiuQe*Nxs(RjgB;Ji5w-$Q!$khQ}Iy%E-&kv`&j+Jb{#%?!tJ{o>7R1kRld z$pO0@aKqMi)^5b0x*qiquRhJK>V5)eO$M9+;S4CTjhzh{u6_1K$WI>%&HhN>e93?` ziC&sSzr&CAQ5xu-+mT*;7NAsA!1TuwY)`@~I~ z9v@3iv~mSn6*zw_2LiqXhL^yNs%Z6%Pos?nwev`YHz4%}vxhfpErJ!>+u9ws#+uZzIAh^=4KY!Y>1(`pT24H&Hf1zq27)q}oSr)EmY z#*?L!yV3QJuGH)Hew3Lp8J`S#$zVohVY9;U;+C9wCP=_-;NAvaIt##!$hi@9ry7}b zBJWOf_5l-Kz>4=3L+E?~4+YtFVjD29VM4&SU_!HL1zp2 zDWIofoP~Ojrs|Q{z7-RcZvq7!ro!zYYX?k~uzO(X2PX#?Q zx4Yf=WY_nR&g2|>z<3W>QfbVKO36Ofbj^bheBFEls1$OK+o0H1?E5FJPgG9ypa;4e zTUd52xzmq`roUpqz4&a1nMGiqKEi& z?`vp3yS*nN_$Ykr=t7-eeAe)7ZBtL+@%Kph9?2)cex_ zig-MapC?)~flm;j8sKZdgoZW&-vQ@4;7P^8zwsG{wLZhJ)@K;bMf$lc0`j;JNeh{D zc)Sns`;ZBh7EfFY)gu|T1s*pb)F8%<2sJV+;AUjhj4bH*;)ZhrGuo_s6Av3@I!aDW zL=#%h+*YEs}@eGMo^~k#RY4plqxi)^>Y;qWK82V*}_lfFV7hKmv_(J9MY`@uIS^S@N?Z^aVW8 zVxkr0P{7d^(PHEs-ILK`EMi2osTNa3Xq7~NmBg5yTrfKu`m(uU1o5$HhSMDA5(DSm zO4+n9e58@k zim;3DqGuHF0_g%ficU{B9_Xd)5l-%!m*D=A*_nVVkgNjPQOOIq3iYc(Ln-!?l-K56 z4+2$g6z{|m#XGS?@lGsJyc0_lBxMoDlCOo|(yjBid`zsa5y=~oJq;>p zMG^T+ysJMUa!dvDR3MqE_Ng=tuXKC`WB=s#(aLBSswJ9)laL}#zLj11I9*9aE(cjM zxY5fYp>)Jz-K@LMXec3dUp;=r@6y@*?RLeP!4C%cckd4l)fA1?w~r(!_aKCJ32g zyb*+rV!RcEtzujNLV*~UfKVdFWgwJ^aRmq!Vtf#pA4Hb)*aEIZvPwkCFzqAY)5!cZ zqd)k`!$=waLyRU)2l)iEI9&?%rO=&%~qmb}l?xFq4G;B5*DOZ#tvb z=IX`MEc?wSx~)dttC1I7f(noQhwu?*6zvaIiHwt1Clo&Cu+jo2aJf^vSe8t zA><!ZWZprW;(6E)NjQGyrE zH%4N&F|BS#mXR5n)Rx-N=A$cPuE~ABB(ICXt{7bC4voe)FMKl;k|Zj80Qdu7M0Zf( zL%<&r<4WKw8D84=#fmwNkx695Y>9KW#D(gE7E8o~#r3(et7NC!s>q~X*^;4jQn%hw z7b30>PbRC~2aEea+8x^GiG#2o-- zS5ttltHMW-^eD2SR@Wm`cIZIdsT6Vmt?$r*6{o(RJFw7UIgxZR=of=I70}h>6PFKf zU!o!G1*^SaM+s(a$I~}7Z(82Pi@|*`rC#>*-yT~w+T2Vfgko?l27kK8@Ar44qHph$ z=!CyC`cg(?pz5T5)ZB>MS>*KtFnGXf3ZE)ZW#OI2IXwSHT66~u_PYrd9F=+V%sR61K4iKNDd`N;8Ga{A z13Nd685hCqBKT6no-o=YeSP-vja^5zY6Mrh=L8RnWyN(vHjx=hbES$lddzxRfBnS3g|tNtbT$4UK`3mIlHMO{6!<>Z*z9y^G9^T9PAdQf%_we7?o8?4%4Ea0=?a28yt1_itsnQlgw zRMli6lI0^?h6|8e0rF+|8WOG{IlTx3d>uJmNA3(iLgtT$b;0cyohMj)XTi7{l5djA88!#<2DVV_18GF|578 zD7ISX6W^L2w~vUj9(mUzU&`VBpZi>Ueky;Tp@7eW%Xx5TqI`t(A0a7Yr30CEAQ@#v zz#Yi81F0GAM3$Y%mf_b(`kJv${8(a`BoP=rS)!jTky3m&yK%?k@yYwi39}?lSrT0Z zSeM#-^;nZ$F|plWf&Y~idJEP$c6!y#C?+$u0Qu21LH&l}m2nReG=#liyqC2WAI<#U zHQBxY0YcCeuT(hdW#{Mpy6M~jB7;;=r-H7dOJW(=XMo6M&w<%F5M978A>bth(S?`iC*>nX+j((uEX z4f`~&zn18KEwQH8?xWp(vu3zYJ4te&Z3ZvUNMSwu=haD?)Xk1Du|iSaQ& z$He0+fUgkKs{vIr`v14SRpA_@pTl}#@7BA7KV-O-b(8<9{#D_F$nYQ=uOfAfv=UiR z9jl1W4Nr^dR}i{_jA$79yY;h*Wc;X!%~z42!)LLsPA}n1#*SywQ^cmccrTslT+f(S zSTpvMv*h(dFn9>&Ivd?q^LhxkP(#ps<6Q}GN zdqJO=rgxAoht`;pe;T|eHltpd(2wB~=vxAV=rSr?1_R0M--18wNB)Xu@pn;$&5NL%tZm4K}ctaY;dzxJg6x8AZqzFrvQFn#gw^n)~QQLYZ;I{lO0 zGrGf)+rQg;7D%1VrHgybZ}*S>suxW@^C9jMOJx3TZ~Fb(-G>sF7F_KL|5h(p_f*rW z(Jx_5@g1wrPYH4vRY$^kq+z74AX4E4c!3|y_RcJ;yW6kG^afc?;i?cd`Ug1-(hYi8 zbaG-%b7Uh?bBJSz51ku3|Miapj1D)Gx%FUN4=N_&%gFdLQc<&ccBK1PYs1Q$ReV=R zhSm@N4Qt?uTWY#I)D3y8?eZ|J?eb8!<4JVaba@!oc6k`qc6k`qc6k`qc6k_nyBqm; zt&4xB8~In(#FJ>O=_*l=<==Fb7}j=`82)=-LZ}K!N8k_O|6s+Q3NJ@!Insqy<(u#1 zGy?43WEd7!vgt9&pC2OqhvMwC6`8jp1*Op=%;NkrLflEgMi zBFbh{B>E{VJEd7F>0)U=%hMD6W)wYTjbre?i4{KrgGa0q=X2acXDF?ok{CPIWvuRl z7OAXUCW+82&spzL(=WRbXOUNX;VD_mU+!;9w@A2OFmh$@)OPZ^9Bj&2dYWE3d2lKE zpo27to`UmJ@L;Zzgq)I)s3y-v9=WIo)t5jjV)E0S;RfW|fPAQ4=z&OkL;S}D%C5gR zpvO{?ux?nzJ_~%iVFKQrf3uSuQ~Ons4$M8DryAZB7A8(AC#}SX>+1AzsJW-jZe}1qANf+PNl)x z$DaPe0e*2;=CN<+Et%9orM7qO=F;8KiPQag3CHOQ4UW@&|KKONN)4QdlzLhqLv(4dUQ(fLt%GL zr!*XBxxMVwW2Frrbo*)JSKih?{*m5ulEv)ZmvQ!@KL6M^de?5d?~;=wPfmzyX8dAj z^6yn=yH=b_HcgSg%zODL_<3rr)4OZ$hZejtv-oqWApTTf%H=uXClj{^+?!t$oi6%r zxnfAA-HK(Nn!(eIw?xcH-FV)k^i^nZmG#ESyT7e!{_2ofnKUxeWtNZ2-I%wD<8NO(k`oiOqx6@Z z!_Sra$TL{xavk@m++|7Q@kpcJeLfa8>J`~pX~8-&-3k18>$|j`Ll2Q@YFRo z_QWOT?_QM_H|sz|aO1=crvn~u-k#TEctUkSz}FwdeZHO%mvAp*{MeuF4o?4IH$A2~ zNE7345#}EhcC*QSt($M~7RlkHtX~e?Z`gG;?rK@mUAx!WeR>`0KVI~hxR>N4)fA3! zFPhnJYesw$Nj{;H$D}U_nGxST_FrkQw~n)|M+b*K&$bpVMaC9$&nEG>7RAnTaZFOmytvDBzoUQq;Y0BxUcz%897me4Q4?0EhZqe} zaAwAs^R-24qv{!5CWaOq zlGxhYy2F6|(XtE2qH@RaoEIICAu!4isMI5jMyNP5Q=x8=67{*=v!*VZ$a5}qND80g zM66}jdJa!sM~_=_@~ar0bEV{O&A)XbHZmJ3vhGPvM*J#k=R}_Kq~uI2&%|nVq&!m1 znHeEYsi0b1d2lM`O3UW2d5$tAwMbrz)arrqfojgqL?G`RB6xP9VCjfg-|?Is9ioz{ zx)LjyRaaP~Js-yIMD&1W$gc|y zN6O}ne!_FqZlngwYp|0#N*?9JL^Q9AOD>nmT6oTz4r#|m?buE|%xIV$+l%`0{QQEM z`#N}zibcZta5a(1WOQG2&w|A1Np(t&TfGWr2Y$1WLp-TLrZvb7wrJhm*|BE*+l5#~ zwqS=X*c~jVB0I2X2etwH$IS}UMHki?Ar;w-#G8=}yde3=)GGtPQ%z;ql z*tUQ1bvF~bW~5~#0ZCQ=DoN*CTPtxKPmTkGgl6 z<61_^1X>kvE3$&wJZVF?%@Aua)?ht--p$s4f8QJ;r?#rYvO4Sry7mk^E4r03NluNj z9}D+m5eUkYQfyX=EdXCHHyQb`Z;cHdxEaYeBYU>=K4iNO(GsG2V0#31pX3DP$3y|c zRHPkA+mRYJVQ=5E;b#i3sHlW#2&W-2M0j=U1DBfR`3}@WCyFNOw^>DIo6dFu!`$Ba z%gl%Nv4q;Y8QC`@eImGlo;{kgs6uU`B7-D@y1;l9873KKfW}&mb!N2rlKBR-WJ$6C zD#G$2>4weMeceX?@02MF{yq3GzX)VF@rG+~mkt`IQ^YpU#AAN{R6W%&}ByhK)D%HB?+ zc2-XKcXv9z7&#OpClF%x{tu}A;?5qF;3N032SzLV$|^sMUJ^hV=^_S9UvTdDr6~Sc zppB4(3B$xNUPuNB2Z=#CAsHqdW`M>TkF@|APbT_K3}R@i?^FYn=$YuxXtTX%2LKY1 z`NH`IJd=gV2B;bdtC1Ko7*8G{=SRpBv=@F14Tg20!LTkg7|z4Sc`VThNf8zmVHs?( zkd$Cy2^KS4hjAU2!j=n3J;wEhxB=q^hI!J6%^I;4j4!Rf)HkbD5kv!Nlw_0)Jb@>x zvHfc72w2>)@A)xz%V4@G?~(g^)C1%Ny=i}(It%kvWD_>tgykUin&6xbgI5c~ z{^Duz%J@ED_Y?Lls_*m9^ref|qL5k?1&f|I|K%TTBVEJMr`buI^47*D+Is-i#mC#n z7aW8qZ;|_3wk22Z%(dyA^y@&%Hdo-6E9e3Be{|X=Ua6cONeP>g!)B!KAT)!|xc>J7 zm%)^93Y(w8j-bZIL9GuCq*xB2E7l{UdSnU`@-&|~x1(-=UoJj6AxCy`h%rwlTTQkB z4S5o46>EsRV|y@KoK>6wE#4~L0A&k|vjyfLId5?>>Rn^~5E@E}riqTgqVN3sXg>4{^9)?YQmmPI2g(v-6ibZj(b681LmaVP}c>5?3d$rzkIOr+&D}5C#gsN zN$Qb*l6vICF!jhkNg;A#m_p>_(-b2AEM>?)R#WgLIr%hY$jPTEL;hLHkbjmkL_E>WAtT~x?$kLULcz`GteI= za0o5-%oX?o_K$hIS3lFc{om+$3lF5d-2%5T!LJNwr6_=fI%J(ksDC)oRLeTIzLv2^(Y zO31^CJnRCjMz(xE@V@9kGPSSHErAvP(d`)4RVs#cZU;E&M16jQZ`2|qo=mcsWKfx6 zEMg4Mbn$e3U&)g>;yDH=7u)1wdfw1Iui`UmV58<#dL&e}Wy_R=zs!mdtkreO-#|OA$RQ z>YfJkdsqGufiwaYIfR6VkQuC?BFB*Mm?1umgr^x^*6Yoxxea49lw+>IIalBU9ta&d zbu7a}ptAE^2+OMIq@KBg2$SFQ)Nx+BOe)rh% zz3shpN+?CHrN|%F_~Xg0biDn^8cJAUwn7S_sXFT)GcWo<4t@O$nLJ~St52n;vgpyv z^+MrCYrzUy?Dqr>V)!YtdWzfu^CS!7EOvMaa2z{VkvlDqhJ=sW#|tdSlQ+od4U)2H z8tkjVp$zBYpgcSfjF;B&_vkr3d-JHEX-Jxe>_CIznFC_h+^gC|ZB&9KC0GeFBs2WZ zmIc1uLT6k>7FUrk`0tkER}=Q8cN>u zWP0V(M#5j@Z_pn2JNP?+eR&cn3N)aF1cvlxvP0}i4nhL55_ zN6|2bE0BK$3I?ovo-s6LbZ|aZxeZC%5CKV-ZSjptdN28j+IoU?g8oFtlPS_E1}H(A zV1VAEfcGc@Sfo_iSxuX}|EIrJufW)$;QnATf#{QK6rL=@%j8hnc#?xnbJ%_yYu&B> z!X$f_IZrMk$BW1n_Jb$euw)yyhK=J%0hShEJBACfTOsyk_!j1GVHsp&p4`Sxx3N3J zFRw5NmzeZ`Fh2UAMi_K_*9qF0yg`0%SPJCHacq7ZJAs3` zFKMnzo*w!$o$qPxsXyDt-KalYwWUP+dab~Ctv~^l>BZh&IWyc7&(ek}9T}%13&?FM zDzR}E!;6J$I`Re=ou!rP4RU{jyg_-M9K*6>SOF67FejnAeMu3c;mKb&#qE?S-DvGL)*X; zm5a&%tr9q_5_rOHY}%If#hnh>HF{dTh|De`8y3}?|GoM7 z-)?YtdKGB0p6!?Lv*Vcd@`0;GGX4J38y@@!Sp)vR-th3WTjw$jZ*)FAzWt{gA9`nw zxf+)Hg`XYg{?iRmzdL)6r7SDF*%`w&Z`d7$_M~KdkX=3PT6cL`h|8#28k1v8$LJeB z6Wx8t67hc8T)8A{R)O2V|FnI6g@mtI%cLSJFYQq6azHNb5?J# z-_g4Ztn%+%X`{USW&ZS|knTx-QaE&VP9wJ@$cp0fFdQ!0>aAvhxcNh^3;r!L*Xy;N)Fi z@4ELp_jf!`q)t*l))mWKWd;h{de{cDbmM04=FUcjJBI6>iKjP?_Em-rNG)=#MLtZ& zOzfD6eV7h4*trIG2Oa1I0=8|!-IzzTV`V#bgPqi-E{6=3BMYK_Y^hD3@}62*cNzda zxdn-HW3?b@L4492?H>->U%JN`{@^(MCku{KvA6oJfaCNH1t%bH9!ot+BJN8~)%Gd} i$1YCJoFki~|JcEC@$(Yq@|0pFl9}@&vBc8CO!_~8!;mq9V26LB$2cWhx`qcB~fEQL#=dItVgWj@zhpnfHBgiRC+o|KZ$w-@WhMci%5b zQ_SWX2ZSaqno^LtIQLU7LP(DPa&ohmd`uv;nvYOH&Hm&$S>1v17db^St_5Dx<}}_> zch#i@`%c}rCa%RayD4X)pC& z&-1mH2E;CbDcs`9FC{Wfogse8t%j-sr`ozB=Po?_TTMXN{Idn3B?p_T999IK=-qZ! zDjLX8m&O@p>~BaoOa*GT{PfDQ^{(rkj%7_Y%WPM6KQ1~@mf1c}HtAV^U+QwjrL(Io zJ)em$_xw8Uz{B)&vnKeyo18Hw{ksj(_w-x4JjYq;pBm5nuSXyMxVLOj_heJQU!3W^ zY4h%jmHo6Tv0cBh>-Ulf^V3_wyC#SG=XbUgXm;o=S}HtYufEEC_U(yF-U-K@Hy7Xb zI{l+}OH4>pcWYGIvW&~}Q$@u;znq$Ne%1H8qKdlJoyG=ITs^1dM9Q`LzTlL$<R{vm!`#I9{9+ zvbQDB$8rwMOWE7^swJ#UBtjHIw1g}1UADOdq_ z{?4CL-HKl)P{tbjYv=G*SQw?Y$zNP(*d5`iLCtlK*-U+-B`R+~tnv3R{! zrq!_m>klQ#zHf`&{$~;y@eQuG;jOpP&=#IWgY50OLpRt?CARC{ab}7T#tltzDG@8y z16n?tkra};WG;m?xP+_B)rl1-k(b9IH#pLZNfd%hlo0X~LQ9+FW-YSkbC9bP_b|7* zy8IK{taJ*E!5Mt?J`t=yhATbard}DW%p%cvoZ&V{ew(AEqvg?Bq_VRSuo=Rhza>L` za@SDE1!tgzw3HRduzEpV!tsWVbre!#w?E(CffaC%cS~OCw0(X#g}m_A`nau=O$&g-C%7hWC250bC~?*1k9Wr|0;E>OrH zulCk^hqD517dq-cH3I{kLZrldR}xAwE7k$oS+i++_iNczK086qB4-WFh&3SSheS>0 zo}0f=C;}Jo(tCxn0tH^x9XHD|r}mR57++2oA@3sG=~#KJyY+gHRNKYJAFck4LIF5~ zhtfmC3Su^^2?>3jcdK%3Q;KT!9-%Bm=)_0QTF1roPM5_cO1bG=UB>F zImb~A(QViaY~v8Lf>2<-41GW}oP@y{n1N*2%wP=qzJ1~Grl&E7wAk!u=g44@{QzvE za?9iQ%$oFaas-E@T?tnyJUyV?sAymt&dq=gN&?et1VbzvE=kf+M3e+@Mbgos(XsIK zfO4Y>bc9Hbo-cSAgSTTOj54?f$bsuJyc^Ds0Cm{Ra1OQuh{I-vZ(s(r;axIZgCry! z=No4n`Q@SG$Ha%h1Oe=DCWds7DLoR!n!mIp<6TA)kxuX&fqnQ^S>g>>0N#x{DzqBs zW)KIt^CkrFAKfvh;@n|GmN#s`uJ*=4Y>prz6fh}( zNW2pkjKeztEaH+36QLyB365qVI2;WK#L*1@AR5qz%?$UzoKwF~_}VaTBi@M@;pGO8 z97u?x84N7A;o9s;rXcS3XLM+jcd}T(xAm4xU zbsPNFP_zv0m88wcEQ6UK=~xsi1IkY5Zfq-Dx&H=1(po|*g@GsO5F$hhmj{=LkI z&L9$Jncwu@@5MdT5E=>aNN{lQ$B628jF~2A0gMq;#8bx7eE8&WN}QVkIpl^Hh@)9@ z4@bk?<7fuj5DlEbW(L-95x{9%!4RKEnjP&H?f*e{+|2$Tbcc=|3wy!vg4 PwOS7}GW!VWN8Q{_B(36tbzDGD&OmWk0p zbt5EY?zn{oIVE!(2_XvjD=sO@Q&5DQbs}WprcX1zFKmleJlot{zhZc4W7|!GhiOWK zr9QN^?1=F}w!ppL%Ir)A4$k2*yAmY->V=+LjJ ziGBZ*E3I8O&B4O9m^nutw~je2j`qGezwqgpkZXcz2X3V_H11!p_3oO}y~X?do2l-U zqJk&?92rqnCOB6kJf8GzOj7;H_=~0Iy7O&2UtTILvKr=RrR8SUbwuUYMoi7?m$tOT zZ9b^H`n7*(t!S?%`TyA?af zuFDzU{Pt9@uy;+SuR1!DHvYU}#)(ixdqd&&o}5LKIyYB67gU>SQqD(ZUH^5a+2%&w z-TwP~VUs_YeA(K4w!(i|RjXRxk@0w9=s(^}4V&aJdH*jZjIY~gC!c+N&U@ajAICH~ z(ItyrP5;#-PySOn|7hmwvK93nyPU&ku5LP089VZa@wY#6>-gf!l^2?)_kGts)B9}Z zfx|KXzOp2~@N&fTJsstHGNxWVdE<<@<>?8}J1?$yv~Qd)lB}=1mGsuXM3?uiRaM08 z_ZS`bqU3hVALTmn4@)Co%sI5gq3|A+5VAC6xBhl}x_9^szYi;`{xeUTm-aC1dDq^m zBEgc3T%WPK?|pe>yqCzhYfav;wF`oiHzj)Y`!!teG;R9j(Uy0nwUjRNxJCYY?A{33 z&gznLNBdpIDXhn9gf0{@$_1>`jE0B3M-yr!5&{Frx;wfD@yRJbA$arKJLTg@-POCL^$bMPbnrp|gPay2JUE)YYwj)1`18 zL&6|F)IZe73&vl%b7t11o(+XGiN$!c!VK}Q4g>KCPhZmUp(RThqK0^#SSRBJ=>qk;OgRiViU(8kUn)$=%HG>gXLgo zEm2LO3obv(+fk$J{`4F}!XY}uKV%dyxa_Ml-P_dF zbwx}(p?4LflJa67joMACr?mCSuR8Oy<1O)4vz*u+V!ySi3+k`mVn_lM2=)(-=LHM& zZfmm03*LG}li_$ZR)uw#{b~=_xu&Hx);(rO1jGlb0@b`=ytpN+^t4>wLlXnWr#Yp0 z+1b$*IqFBBnU1{-34nMXjgO8Oj9+Qg=w!P+!M1$NM z&afns%t16ju)&fvYobi<2q~I1$D6JA=#Xu%6=>1BH-5G7`B-SjKpEtC510e$a+Dj) zPY`fm=IDm)AlSgnQ4P%qH0Y9}8786G)UZ?o-U!X6MWiL*{2<~W6UR5qG%uN0EuW-k zK$po>vL`-8Bp%!Aa??lAi)7T-g-S(7M?yE z%s!NlFV1gcP-az$_F6WWjg(P|lY(f3PIx2^c7i~Jk{k`OB;E;l^8g(5M*M*{$3FB% z?17nM9-51HY!&wf3||GE1XIC&_`s2Z;LRZr4;|_E+L<8pz?%aedgB3unFAe~k#S(= z0EeA)&#wHeXv9&IX1$iw1}|7(=rG!T=?1h-L$Yfl6c?&4vm?m3VhF znM6YpFApyhw$Gs&_aKoLT3+1mxDRKjrqu4pBhkK|?~Qf+oLNWdL^wuR z5vGi1`QXlRmynyoIOfI|2;Mxo2fcCb!JC6NdLt*m%)uHj0y*s>8sPKLVVnKTk*}PN zpC$5@)6rRDuvcJ%DmCyGHh8B6V`p&mzUf2v3dGN!!{sk7$}Y~}KKwZu`1#=nAv*i# h(0CIv%x={TeNyb+zaP4>W5dT=T(o|=VH%D9{{S$=yVw8# diff --git a/faith-server/.cache/clangd/index/sess_registry.c.27D2E8EE7DC60D89.idx b/faith-server/.cache/clangd/index/sess_registry.c.27D2E8EE7DC60D89.idx deleted file mode 100644 index 3fe2f730bbe0669990ecfc522b36ff5a5f7d18e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5426 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 diff --git a/faith-server/.cache/clangd/index/sess_registry.c.9D0B46F1EA937F9A.idx b/faith-server/.cache/clangd/index/sess_registry.c.9D0B46F1EA937F9A.idx deleted file mode 100644 index e6c8d788d6c8a5d2a79b035c07d5c7bcdbd96fd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3662 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 PtDf^Cm)TN@i!1mal|FNj diff --git a/faith-server/.cache/clangd/index/sess_registry.h.F5B121E6DD5BAABC.idx b/faith-server/.cache/clangd/index/sess_registry.h.F5B121E6DD5BAABC.idx deleted file mode 100644 index a79d6695b5ffecaf43ea466bf26b1a2c6d3702ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2244 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 HpM3lu5HLMj diff --git a/faith-server/.cache/clangd/index/tls.h.92278D0D7068B4D4.idx b/faith-server/.cache/clangd/index/tls.h.92278D0D7068B4D4.idx deleted file mode 100644 index a6fe1c36fa7c03c00744a0e7141a4d85031bdd86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2102 zcmYLJ2~ZPf6n^9&*<{&Z65NDr8jvUmArL}Zl}ii-9a_tHORI>26h=h35eKJ2ivwUv6Hh)g{IYyWKWLuT@3=X>9K|J(O}-_Dv59E?BGuSR{j*lqh-?z zSMtpJbQRKxniL$)&4T+Tu@bkOr9NGNBA8GbKEp@d{>@+S957|g5SX(j<>1y?)~iF?RURbzFU`j zb=$!ilLzl9FCXn&YRrs0{H$g7@!m8l>MCPCmJ%D>{y6jr5l@ZL1YMspbge;=JyqkR ze_Fn1k)pk5|L(Sz^?8|o7q4^%tG?*3_%A8kUldZIKe4lQ{@RN4$5CPWS6iCO7FNBf zyyq2|6M6Dof8^Tk;hqVrB#K7-BL-TpC40+OJeM2n)>E9i%DR!Q@^kPoi{){2} zeUK+<5-pzl=%7RXz=958NweWiS@=p&O`G5Gu6q5=gq2gx+~wyr*&eSe0?jw_i`%aI zo?Wp{^mUW0p!34>)F@BB`PYz?j{>?b^d=s7-x3seXFqe9f z|0M1bCWk$vcI-VeCv#xXaQbxO#;uP<74B~rMjKyAE=|1B25C9TOV1%qRJZGo&Y7Dm z5ra1XqvR+Z*#HF64S*fP9~`GIoYN{EOM)8P=Hd*8S{Y*5tejZd9ZG{$c+ML z0vLrrL9hXk5G_BMzi$XFroBkeTLEBnJe>n5CHB_(xZ-xDd(T<}1x~1*6p&-sfa^=h zCmZO>{qsn0$Mq(;NdpAQ1*H_7pYft5@Pel}S`6dSY!Z%yV#DYgWK8w3fA&Xsj2I>$ zf}A6luwj&-xRsI;rgK<9fh(GT7SJL#;0avMG{@akOL8bsptMvXm9hb+4x6)R4p`^)iV} z$_89tcq}tjUebPu1Rbt7%8f2SP<(6s?4H)!J64-clHh>}YPp&LLS$zpY^_V#@Z!j_ z1`;M>f{L$_10fWGuN+-aSJA4fYYXOIqQC`BKu`qD20XzNB6i6(*U)|n#-X%WAg0)W z(@j}^5l_8V_mkj-+k5alNKiTotm{pUU!KP0jw)FovMSidCK(s4i{Hqa7_CIB9=S5c z!@)x}ass2Hbj*le8H2{)J)(Zb=xX%A%fhIg(&`1G~BC7*zFz$%htnzIz);(fd zL~la@>m9LKo!fA%a<0g#ZW~N8GLDSGcT6&BH?NTjy$@>(8;(tZ*cL}% zHZ}u-El$8NHUWYy4!|%T8}(*IZ^Q9A5Zj`6%*MBe*sR2DINk(;Sz+5?ENcX_a<;)( z%&50T$+&m!msO%H{l-onx&lzka8I;d(8%zZBx3}l439xFCNRnHt}_(VzHiCPyNh;B zb7(%^F*XM}&f*Mw9F{B^jx__uQ{z{}TAtHVm!+|vYZcC*FW(+RebBxgyIyisXv9(c Ef2a^Kpa1{> diff --git a/faith-server/.cache/clangd/index/user.h.0278CD7771A19AE0.idx b/faith-server/.cache/clangd/index/user.h.0278CD7771A19AE0.idx deleted file mode 100644 index 9e2055e9120eaecf8f2bb12549924dd2e1b86f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 542 zcmWIYbaNA9VqkDi@vO*AElFfyU|#RTpyB(u zKkgzj;Tt_3Yi!j1`rh*jX!xGtR2WI*0y{@KpfOWI$ua^Nzif7Kd|9YIU z;mwr=+c*9+I+P;wJ8OO5PjlIK%nfXQFBys}bCc>o?z73Bd_{C06CVRJBLf?&2&*)h zVBi4C0m06zH`0W3{1UhsfPQ1+VB(Mk6AYYSSw=S2y^P!L9W{`f&d0z4)XyfuCJQED z`seoW&)m4|ynj67`Y z^6WNHQMjXkszEM-3Ag_^@-igwdkaW46FVo&YM2XwszJ_!sfI}dg+b1O3EM1_NMMUp zKLIp^jfqVdrkP(L-|f${C(nSwtW2zeF!vUv<|Kl278fNKivwvUHoe6BiZ_2h^E0wC Ku)@q_U;qHnMVGGt diff --git a/faith-server/.cache/clangd/index/user.h.321DE9004DA36D2B.idx b/faith-server/.cache/clangd/index/user.h.321DE9004DA36D2B.idx deleted file mode 100644 index 7977e3b5ec4b2269a2ee31ef76942d10b5ba8c88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmWIYbaNA7VqkDi@vO*AElFfyU|ZGm z$)=^!QjuN@?xy^Y>tKI;_Vg0tvp(~7AJh7J=jgH24D&0qzw2!alUTgzNSl-E9;J=jV|_*UP>)nf1ar4@txLe z)njKJ?-tRs`TiTr#UB=3-pe>W&0mwDxH31X4&*wU?8#R|_c8G?Ff%f+v5K%tg9!!> zpd1kFym})|NXIXMn*r!EHV!5ZSunxC36^DKW8KTR?cPxXx#@fiEI|EiB5bl?0;Yd% z5C6>l%(*N17}$Z*>>})PU;-vxl$ut&185Y?6^vXE+rg$YFhuCaoSUAQ=g!E(#xBop z0~Lik3aA?7BA9Udk0UQb0>8I_R5P)2!mNh55U3jDJeX>jG*B4iESRv(GKmDXNc9sy zL)e(ugkhTb1@hhgJbUsCD9p;lDhP9LQEE;iNM~_Ta