From 0d90b257c347e3663267af1af6283b9a0d4291ba Mon Sep 17 00:00:00 2001 From: CD Date: Sat, 7 Mar 2026 20:31:58 +0900 Subject: [PATCH] feat: extractFromLogs for AI response text, remove failed RPCs, summary fallback --- extension/gravity-bridge-0.2.0.vsix | Bin 30739 -> 30170 bytes extension/out/extension.js | 111 ++++++++++++-------------- extension/out/extension.js.map | 2 +- extension/src/extension.ts | 116 ++++++++++++---------------- 4 files changed, 97 insertions(+), 132 deletions(-) diff --git a/extension/gravity-bridge-0.2.0.vsix b/extension/gravity-bridge-0.2.0.vsix index de5f1eb2d0662300860d3e95f0c75fbce0dfcb4d..44530c8ca6b4cd4594ae163f38bf180fdde050e0 100644 GIT binary patch delta 27922 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 delta 28495 zcmV({K+?b3>j9JS0Sr(}0|XQR00;;G$Dy$djRFG4p_7{e^a94AlaT{If1TU~t4Hg} zlw>oZC7wvf2qZpoxYN5k=Ir!(x|b9~?ZLR%hF@$TPM{=C&UT!G?~**c1B`cmcL@;O zhx=3VF{E($6Ao3~J<~luc9)X;UVuA(kalLetGlbKtE#K2s~5(Cfskp`l?&G{v@c)2 z0GHvFG&qdpF}$2cVV}XDf8Kr!-`#>W9x}M~P_jfsJh=c=R230$Bau;GS6jb%3xd%o z<%dBGVHCu?FFSO}w(OWx(NuR*^yj%BnoO8J|t zD9K15QOHg^%00=3DK5WgA>2#Aty zJPw&t7J59*kkK6kNy1_?#tU${ec>=jVRyHivOuzzBL#95JUNI2T)G7KzhC&?gh!9S zyStB#`05K>2d_6yf4VZ_iN{+oY{5Yb4py3QasdD!>VbE#0;{X5Fit|&ixL(#0pGyE zH7bGq2$|@@Drm@kChs04n<*c$R36`CqMJq|$x{!3H?L)IFH$w^(n6of1&9&_=sH{+ z`n$VKyvD12P@67WA3y zKsMYaoIuLtI89)9|6u1DOkkpVH=%#^aMY;Ha1cocD=liJdF{fa37u!fAisaGvIDEC z6Bj1U<~2RJf=Pvfo2(a%V_7l3#UgV|@uBHi?f4c#1#F>JiN(Vp95L~8RAm%c*OicAgl)cZV<;rJHQ$}W0v&g zU?-;p^QWmYNb}c|{HOk^2k3FVq;v`WH6PZHhxWj*f2%_tBEE+_wANWOTMRtR8^cki zOepF*v3gYbg^N+~Em}dVsjQm@Ls@Hj?kXbPEhiezQJP{HOMHj{Hs$@ zZV(r}AQtS}g?1aZ)1Z3*qmsxyVvR!vL7cK6JO;rMsmFpp^<1onIIe^p!4{KVHrno} zcC_6=6o4((nW{#+gf$EWv07c$RRO08I=`*=zq${!3hSuGbI@i#P$_9h*VO2jM z0Iy+9QNxn^d3l>J>BX6Uv_&z^pWgcku!k}YQ2jHgu{x#@BdP|N{kpBn zwUa;M#fg@KeK(P_8)kz|3-9tMBIQOx`$$vH;r*}knp2qSL3g7?ZPDIdq#goBBzn;p)~Vs@gtI@CGMDWwb}{Ouu+!9=m~##5Jst8s71TV?l=|Ep{*gh>n9UyTcqW{evs0eOzE+RAxc7i zq&IV0=KH#2Lr<5;UfzhKellc<^zVN~{ef)3)#YW~bOzYh7==}EX~`EdNO2{(#c=__ zD(o$KX%I$yN#craf=llmxZCUPm8xV;Q{rxwuv>Rq!1=LW(@1cQ&B7DRuSCkgVt z7U*AFOrVMC{E(DhjO)#7!s<&f2$C>nuLa3Ch;OL9HPUhO{E$=jrs`rXVA9o_&3yXM zQnG>8L>kk*&9#j8-eYla3^&#xx3x*08Oc^xR|y2}1!A$uQ<-fi^4Du3?IGni?3bHS zSW)zK!M00X2;La5lr5<}Hk>T(`Xqyw*jwTVR8Dg!FmHQn`Q4m%c4{vVe*?41H;))OX zSXRuGkv%L;Q4C*H1+|`DrK--c<*+Bes4t}dQXS0*iDYxIb%kmQ#sS`(LBaCN0Qv6S?>zx|X22lYj& z$)^0a{6=lXJoXF=8i*+O4`0{CL9Ia6q2W!|%qGn*(ldZB`&Ad-KoD;rx_k?DT+l!v8-M{`2qotnTQj;nSn9xcd?O4Ua%uZ`#2OuF1fzdZ9CgX)+I~~;qy{wAeYk{1k!U<51$&7U z>_$gxx7GC~)vuMk<`t&GY`+o^73-I2yQx4R!0M%H)CNS1Is2- z?vn7)@QlUKkkcKElLG}(RlTwb^zK?|WfnoOB+N`f&!QpOtP#A$6GiH99rWsgj{1Mq zm^8ITaTR?j!dDL%s5XIp9v-hQp5PGNt-;Fja=oMjwOZGEYO(gYgar~~pa^*(GfuUT zv!usr%Sc70ik*vk5SK0yR(%~5CcK6Xe!4ycYU53uz#~+&;A;~JrsFPNDUjnE%iowS zLo@rD8aP?XQZ{76eU`$}AVRf48`yuyyTrn$=%A4$HJz-{d*={33iw-!tZ@%EgRreB zo`xDr5Y&^)Ii|Q8Gb|QtN+;&oJ5=m(r(j6)sT@c2C1gUT{Mc(=D>hjRjACWH#>u40 z(~1RH5*EGM6Zg@ANj4VuHrG5Qa#}D7j$GNUA;s9)566l;cC0M3k#X9vHK~G8}*JojmXN@=hIQ<)K5@i zbhQ3n@s;$Gz4PfOizkX4CVORovviXgddbu3Bu}G{WNmFwuuG!@%1GkxA4{g*c{q8^ zDlMa8CC;tJWGc)zODfEC^<{sC>hg?g%ls-!y`>v0UTRsovGqE$LCrp^B5tFq5rX`* z{JQvDl5SOe2j?I4QR_&AXi_3C^oye>!=RRY~gg4Ve3YNSfFD5;VnSjm6w(@Su5d1ifN z>FAnAcS5J#p9IaR=;deSFTJ8cWbxdbwROgH>04Ra3P~EIdA(I1ghMl zOEEiSF;Y{809e228W>GHN6^o#J4J^yT8PJzW&UU@RK<7OFG@RgCLs#?RSH^_jy$R8 z8!d5E2`~hlB2uugtE+#|P~xru*KMztYOX`Ys-&MxgEzC-nNR}n@)q}zFT1GBK4+k6Bkb^ zhBt9>ssisEx+pTENs*K{SsL*$>O#o&$9-UjEIo$*a21A80v><46uv2%rQzi3|KGsX zm3l1eIOOqg7^J8xIb#?GBhRbz9$PaI(zy!1&v`#)H~K7*>!I=+Hr>tcx2Ae^U~lmR zEy7~)MEY)Y!}aUXxZW^vI}W~@mdW^>@sN6ZAIC4?_Ff}wqT_{XXH#_G{^E&7*<@$t z1g;HO_W*8eY!rWJfu|}Yqf66-r>^?UWk8l$8mppN+Fet1^BL$lQ1e+eG1Zt-?c^1+ z){bY@!;!3q4^73=>@C+;bV$!Pk2Q@EmocNebO|o1{!a00$|xDL3bLu`&H=-&1Uafy z19iP0rR)$lEB0{jAF$&JClswpD()W6s_r=j1E6UZwG4j{jG=pujxObMLWCM6k&J>k z`hImdK)GkIY9^~b>|q8ov~e(fabfRZ@#KIV7a73>0!1~jc%u6=!N68c0B-RYmz&i= z$<N)M9`JvAO;Ncdjlx!Hebh$mV{G1D7IQ5cvt?%9KskdC@Hq-4X9awbkS$DP2i1C0$Hgqc=>k-ei1 zoPf=8I))uh>MYpvKyyfbN1fC#?A4WnHG4FmJIrq9a`^(+~xctSUc?Qpta!vo;9iRuYWFfJ<-h^5uNHaQX6sR(jp$ORz}ZOL zGYJS>XPNzHYex#}s3Qe)C`h%+k*ez(Z=ZQqgP##ZR#ca=2Q3J$TmJnlGJm#n-^E7C z#Pf(gTRd@xI??X-i?i6?Z1B%RaeIHRO53;Q(b;N@_;r8JDMlPDW~%3SHrX2O(5jSc ziT2BawpjkOE9TK8pQi??Mv$bGQtCi&NE6=^#e-#ST{Tu6W_UVsLKlo?(^Oql;{pNq|9aNes z)F`bwRf*qos!>*lpPvFn)51anu2ZWLd~24;re3pk*oW;Gn_c~Uwm}z0{el1TDU+El zTO7kq-Qg1Z2y^DVtltNg4`gd0SUenH$#5bgIuK9*0J%n{{4OIdM1*O$K$Xcve6#s$6TwBc`$I({F#x7Kwju7hmj}B1Ic`cJv;jCk#CEm_f*G=&C*JoO!VJ zhDG4$Y>F}WTYAqJ{#N0}dPAt;@v$6@C5{?XX_P!prWcnkfkzpsa-G9~YbYMw4}~v=pk3TohtS;HLic5gb8$aV?0G$ zgDhc}<_=3-_bo*0{dM*+`)2R9XOE*)|5-Jgd{l z=r;d28vcnrAwt@Tr5!WHs=~g#V^u)nF&KjHB^J?nvYM5{3;1T zhoem0dfm=&!Qno-&@gR|siQP~)D4!Fmhiu#Pq?gY7%&y_fb&Urj5Tt)JjomEt-^seCjufG562&^M5+ypnSqgQ)$o9;8Y5Brkd#yfJRgP9F0aKVVt;U?Y zf>#gOS9DsZ1rwnz{gUWhKdT0rBK!6s}PlXaT*coAo?) zNF3K8FqLTo`)A6jn!2!#TeH$`WLZ=GRwIhWwi%={>P90J7O0*LB0+xcG$VC4*eeTy z%4%hKY`TNMq$EYq7UV2x$dYQ>&r=Jj7g+vP8jzi+$7+AYkGee3Iesu=S~s~pU_-Xv z#n3=2d5z70rr_TK?^ej@tWl&hgE}0lg9MW$g@tZ9E2E#MX;De8ZKDMH#^$<`Xca12hi|ZZvyPaC7*~t<;rsD)p zRog4u4r)`#vJy$=ey8&%L`t419};*P86_xF@;C8OBb$yl^i<=gEID=CNh^(;hB7}A zIggr}HOty2T(jz$)Y#$eC}wT~O_d65pO2F+tKfefd4kZM@ae&`JA!BTM=TY@U8RmE zS9w*CrQwdPMd`vRZFf0Bjs&UxOxYdvZw%@cZ$xt7HGB%HSIU(;4ov2o)vi>q3gv?^ z%*&T`TuVVvszIT8$YLg04uMXkEmr_ieBNy5ynL!$)a6~TRr%&+az`e;c@~Re^1B_M zhq-@|ZJ`VuBaB&ydYIx>b|Z}zS|o~$O%XcMwTS@+k0@JP0C0y)QJ$LYn-;N}8q*0q z%R#4`E{eQj4%>`;ZSen}eCx^A1Z(H`cQN;MP;W*oUnlk2jZ{$YbCPbPW#{MVr>eq2 zm7SWr(x_c%`O6mqnE)LzZc^7dQv70-7@vPCWUaWTfBm$Bb7e=wacXJREDJEd8*{V;JSAVXt9qlv79~uxEqBK37rwdr>xh7vor;{h#Z7ccxr#- zx-496Xzinx`k)Z9HjCHkx9W)a^pv4lgY%!&DO!?ym|Za-j_QDHnGDYbo|o%wZf3Qz zu}6ETsjNx<7*3CZp5E;mc7sv*HXZGB@-E_ho2J$2e78G}$Dy*r#V)E@6wz=T2a=gg z`bDe6eCq-I;x}|V$Of~l@p*?h&7`?_A2K5>=S(SJ$`9EEWeb40UpEN^z}vAw$uTO3sJfM;R3SH))c^i?+%9H$VVrNOmGYi+?wvx+Cd zEUrt3%!NjkDSK|?Ezz6{Fkxgs*v2{e&vt-{kF zNL?mCBINb{l^-0=286v@t#29ScR< za0R+?G}`Au8p0?LvV7FDJ}t=krz6NH#-~nH2_ASF{qsdv|14ru0*}MBm~1IduUT^F zX9yte5c?YO&TMA-d)xY6% zMqgrjj-E`W51Yo??Xr>l?uws3AYI=IBPpI10VQL&hT@>&`b-l!jvj^Yo>Q+gv!1%8 z1^)7@$3L->eCPmPb?2l}gRev5?6Z$ffAkAD`{5tXKK(u1y#s&w)vx|DCE`4L|6}{h z?b`_QD@%V%eohwZ#S`q6BgsuHG2(Gf7henZ0v*U8$6{&mq$^3f{c1Go_(IDmmL|(Xp)%ZZV~v@7>?}-q!Z5*LGAuhUQD8=H#<=_YO_X-P^Yt z#l|qZg^E)qI-I%0(hIz~ zY&V`_;ybs^ARv~Yu9jgT<{))d5qs2mV^6zt!oX0vkVcUN=FzXXgRH8>XBc9}bW1Ag zWERdXllb#QI(f_f{W$6#+#Rv63DwFdr6#tZT29CER82882vIwx{jo&fm=5F&qafye zb7X(83e8$u(Hz`$!zoj_vCWNwm`SNE-vyhub4^##>5?VqM4tntC)yiQ`2r`q=9E5H zSWyeJPh~B*+_&WKvVG0Q57No|m$RNA^Xiyi`8Nz3*`RHi&TH!z+U4$M}?b`4F-{^>R2*e#0@3e=Tu}A zbq`=XA`i^E4or8%myXj>)@h8F#m#ie$EY(Gh_LEfY|oBW#B;{k)*xhA{N@xAP1##h z=u?kuI(g>zRL-VOg}QSPr#(C>Qy6bnuwEs|+$h>{p^;nMmu2Sp9HxcBj{R_+bpU^v z-rBKHl{cZtWmkvi(-3E@AZt=877$^ue*L(&c~ewVhV|LeG8I0J()v&#B{>}!63Fi6 z)gP>|i7e7OaPv%IfPa#kD6;@n+mt)?m!ip=dEmeQvW|U6j=la%Gi>DQwoE99%&*|K+Y89Gx$LhrD zpRp)7opa#q;ZYEKfK>}wXBj?up3C$($d+1r3HG;sO`JDg!$ht_5mlw^8%}W0Jr;yS zb25?`ldi5cd4Y0XM@he_^bmIm;JL;?9QeZ!FQbm|R6m|vP@%;MB1G6jFryV!f zY%;%OojlGZH*s|fv+miebeDftMX!LRJzKqMG_IADX?@jh2ShhW?2{BKCvV{}1>FnD zq>8jh<%pQ~)_@=7luqkIXc$2l>_;)${4unVrP{ivTg{Ga=tWv>Wpr-?_FR@tJudOY zbKLYDM9CCRo`HABe3nO=4wk^_g;QiANzVPimPdTuZ{FUxJs7uDtiNiwJKSt|S)YEzNRW?t|6v0Sfq(a&O z;`(}Wz5a|S%14=X#8&}}URZg~Zyd)JTBQckg0M6qY!US+wc2&{rXPu$CR*8}IPcIp z|GAXyaIJ1(!rjksS0xE2gfDqu24=Yvmzw5NU*j# zQI_K`4)$5xfySbTOScJm@-Z-m)SrL(=YRULQKOwVPCxkK?9+b_&wl<9oPF@g*=Ij~ z^3#t`fB0C#`16-kY-{Ej%nryqYdEiRtE(o-ny9@+azf$# z7`TNQt9#ZlonF?@q8-)UP5BgGSWuXX6*SrxPgL;<{O|usP0)yn@DbIRTT7L-7D$C2 zEVSLR=*G1eaz_3h;i6^D$S4lF>{T9zcx9?X6s3~`IbnZ2`RV6y_RjCm-u;+(_&c9J z`N5}8e)=)K`sL#S@sJ!beVlP@0E^;LcN}~Jw?}zBx`$Oi`Kp8s%p6fPD;2#3QzTTC z58^Msdi+kwPokD$?b36X+4Pf#l^d|)kW_{F!x$wv}oI@Jx=4Cn9c%RkM@_J$WQ`0i zh

Q;qDo-^JZ4nXFqIqF*|LB3oAQr=I9&Ga!bT41*GQqS(ecx>Oq8&+W}!cJH=HV zM>aw3DL6Vr=kCvpx>1#iV-AI^3LAOjGmg|%uKj;0<$>>Ohq6-XLVS@@=Lk>pUJMT&PTn$Ov(rlQ9q%5 ziq(G=+)%32a(Si_#anTkiRr^I&}}V?{l_gVe!=$4(QAwX%TJ0G4?5IkjBprp$h+wN z#}B?4wQVs|!$sANcl~i1`RYZcD{k;UUB6+_B6*hm1T<=5x^Rf2{lioDtf0VdX1rWC zfpPf_q+d$SW54W2vh+?R%xc){+y1O42X}w#bZuC%`ZytdFKkrN;(XMPnA3Se6y#OR zKu5nO3ouS2d^T8<+^DKklG9}}YE9FPgTRa?O{wpY3?q8g*zZ6!QJS}W6vbT9S4FAz z-biSI!OUj_&Q3^#>6S<@D}Pcz-OOO6QVExApYsC+#9)P_MX?o2$Y*_;F4c?2WDtLR zpGiBAk-%BG-0X}{g|#+QgD|TP8DJz~MY9zRQF3&fpy}uP47?lbn9hm?LzU+(C;HMd zb_g+ML25!g%O#z$SFnT9neLLs0KNNb)9?k^Id!WfomID#aHl)hJjA*3>z(?l?_xwHMEuJ#D1W{O8CNI(!VR4*5~y zHT03O;t4T0`{m=afBJ7|U^##N?_Zt%;QeYF`SduXa$~>z92;|vh>;D4PKl9SXPQO6 zc!P0KN#Su!9_R}CvgTaB+0gzkV|uk;D|6l63&wEz_V zXCFOCFfLQ3$C{=m50WXz%4c^*>26iM!CipS?ewiG#cZ<{YB0eVVn+4N)T`Ry(j{tG zdU}^$)AWU0r_Lehbngn?b}9YCARaUI@BAkfppY|QyW$}7v?==HXK-U3=f(z5m>ai6 z+kJ>FJCLCExig#MuXz%AKp3p*;i+uS?e2ate^ejZB6>-@_75KK}jL|M(=c!OnK0Dc#4_aSYSX^Z(_>oL9A!Sas2A z5`emC!n(syg=8tO&Cvg=e0jf`_@8byL5`*02WEbv65R{Z(PPvFTrUp0}UG%=9T|MPdw z-uv~FpIIb2M>?Xaqwy$mYg-2-Q&Gs$I@^i+ z_4>VyRb~##`)?uAC9D4zP)i30kOM{TlqvuK_o@H@P)h>@6aWYa2mr>RlfNx7e_dU7 z6FJiUFS*5MLP$agT&bmY@WSkjVVD`up1lZ=abl7*-ehe6#iRA6q~Cuzhp=e{LHc7B^e}9Bf@4U(ome9Bf@2UtOJDPH(oJZap)` zm}lwl$h~@6F5~HqUqBna8T&T0BX9De zMyy}Eu!GNj3u%!1h?KO2D;GczJGSq5qNczEedKW2Q~ovmLqG8kBV>5|2A$9 zW5~ijfSRxcd4gHXTH^aB)|e-jOL#_lAfe@rf4u;jp;iEmu!5|}?rpo9F_I={KohEd*6#!M5h()2Vz907Yb z!a4+Iz2JQmK?h?dh<4gYI(~%ZcN0YuVMtUMq2j(o6 zd^=2=ACN}yL5^d!)E_%5o(kv>T;LO64$v3!>$;J`Qd?mse>shf-PKV6m_P)DfZ1W> z!gjM0g(d8H`fV)wC8KMPaR2Tt6QtO9JY6(d`Leeknyjb;9y?g+YA7M6HXj>fK0>$b z@bzJ1<0Qlg8AqgnojU5gF=pNfp0C=AEgl&=YuFY*=VH^)nd#Fo8!fW8f3_Edh5{!> zY!FNYe53_?f7!0+8CNW5yd|OC-}6&r%%|9sjHA?Zxk*o6vJpO^3q9d|+i|+;1Bs(+daoPRUmUif*gsdGrY>atG z6tWW`A>ug7mI-S+w`6>dOnW^HPt{!jXv!1*1ma*mUB6-{UV^6Z*rCyV`(IQ*gTX89gFNz%%g?Qo z6ebv}oUTwz>vBiy()roHKhULzKP!K5Y!_RCe^ba2L1;;O+&7FS@QsjTaRH!cEES8= zWQgCR9i1dTJ7YdOL6PWn*mmRV4)~e_UqO0!1xkR!_|b7_h9|BG@gFLlRq1QEzM3~BmBSM9YSA-F`auGsIA+z*{f6gSqG zf15Zr{eunGf0#)Fw~OK6u`}jz5Xc9*Ko({x?MTD878bZRKNrXv(eIH65~rE`&3kp> zbMNqSsyg$XmaSy8^7}9-0mZoCCEs^#)(dCMg%evd>)|{vhAuNP+rNdk6J!4_-;LQj zb_n@7J+<*1P#}2XyB%z5Ux_oQ@P%Ree+hOO!V;~^sh&+tyDe-t;oM0GdXvqr6Jd58 zR1P=A6bbf9!#rUgC-n9@$Xt5<8zYV&JA(n@7~PUyoP)>+kUOFTI#^JnV87Gr^U~0# z?jJn~B%+D7K7H#!r`Pw5^w6C(#-4IJ`Y5j@>yJMe|CJ|-2(jX{6pEA~8*D1ff2>ZS z=qI^!>MY{aoU!(&$~2D~?~G?tmSm<86I%>9Z!j1cL&OMOM_hTFS9IlaG`Mrd+_~_H z8zw^V30=ZZn_PPB@*J!+#^Dz6qQ|$|}{Amy-!a6D3aqmm1K4e&hkQDeCXQXy(B%Du* zv*x?()d>Qg9N#*ZX*4j&$buy>=5Q_TUqs{C?W(nAc&;=JvtN8->}e~(f7K*i4a)Ue zx^t@P&M9;!(`?KULNCL?9lJ#hYJEBt`gE@A(|LzJC2O}yj(<34Ah1gOkuu#+&XGz1 zPgMnc+^>J9{rY$MJ@oH%GyNOR#K6j(ILvEDE#-J3{53^{t9wYy4V%$ocye}(4+K~z}URjjPe zAh@o)d4iA;bftFq2z^=dPA58cTIquk?reH0^G)O|3G98RIy9!8eukLpAi%${##{)V zJUz+~yXf$zya+4VL>OBo6t`8#7E{;0AubXr{J?oiaU}&TDNYmh3{`6euaE$lVl}b} z6rFk4O^BLNtM5oWe@+s>pj+$>eFTuj9^LXinmS{q#OCEIb-&Mdt+Ze`iGRd@4TA3#Z;b_!?=YE_SkAOoxU>u-AQ3$8gqWcAgjG$ z;h)d8p^+9&Q*w!H@^cU^M1e8xeP*GKDD)x-9X1Oze;D2=QO|^`??b9Wy?34k`h|KY zzm^soV_&!wQi$x1V(l?WCP~!PwT{R4D1ucA~dC^`!kJ5?Y zJe6TPe?rb%sbIOrD%Gy4u{0eGk6;-T4*5RMWpn8${DK*2bRVzV9%A`JrU>bz4}s$G zvCs7;2pbO6Oh5;#^rmn-17N%>Npk7d(VN;Azyst1PtPp$J$7m3Pb z$93f2H^w|^zLC5Y z5_t~4r9zKU&(7-`noidarh;BvVIqih`j|o@FPcd;iN0yFytDmY&k~6o8K3B5ff*G?MbOK3qiqr!DG`N>N#&B zDRe?!yO0{>KU@mmadqoLOD_=bkl|3wlVXGYE}s5(8VH(uXkyyaVM?c*AO(+miR|xk z9fEwdrIt-X0LH0}#Kni+CgDPvK8}cXfA=@BI3?&atAbv8vb8~xd#J5WSg6{`z(a7}el40?WA-TK zzu&T11k%bA98+;^iY%Tx2?OBLjF#SZAwQ#ML_y_iv=jbiecS5{fnDVaW3ojAf8d(R zpTM~QjjzotuKtExK&~EzUJq>1W55aE;!xr(m+xtr$#cr}!I4YHop28Z!U`5vo03*4 zX9}!|B9u7elwP3hmAbG`&fjz|ad6!ZyeadUeVpYkGB>P0(K?! zIFsh2%#Z?nH?1)@Lb)!70-5SOewnN|?;RwRw1^bLC8r_4$ z;%JvQOE(ffI%7V%5>dDL+E`(u7xewR9zzIM5{l7w^Jv~dmz6{MGchhNq#!^AQt`xZ6-4WtrqiUx{V+tKM>$2479+MUE%>xqc>xr< zAY83pbpbSQr*FUA+dhGJpS)V}db5b=Ynr9+it%k6p||$LfRZfIj?|o_&=TWQIA{Pv zn)U%`3>v95LzmUCQqlq z4}^}|RsxrbJD3!=%llI0xsH7@lN#_O+rK1??R>&oPgr2TW6=fSTB(Il>%KK53$jer zUH;8vc{ThWAWKadZ9taS|5aqUiC(E|PRxdS03ciqrcSgCrE!^6e_?W2Llx5f>QRyP zS*yd8QB_pb+2QvG5GD@g1ioK21GFz|DzrQL8ButPgsnX`x{I+`dJb!zfTN>Ut3iWYneqIu%C9^3uOBmgCk;&%2(Om4^?1_ zlU^#2By(2y39*OVh-8J&t#+Dj$1%mRu5|Pn$ig4Aq%g`Tl>Gl{JrcA1fE(8qA`(zbe1Bf4Y=&my+hjl%XZUMi@?u zuZ_vYMK4iJ3iqOf9-L6koP5X@EAlTgGG#f~7idJ!#J8w2s+o$f8it z!m1#f&Pdak%EZKyb7SZ);VCZAb;--uOmQuL!+d__$&RavcV*Rr zF*%!s>MXf7REg9^i{(=UljluqV@(RehW!$@jh8F>e^*QAPkp%&KnYeU{N-||P1kzk ztw(LWQJ$0~XRzY=x+{+PFc_G!zT0oE{pSrldtg5Spq7dzEYmql-0ttFU04-68LySB z&jw}J-S$i2$U_|VCRCK$y^n%M9h5W|lmsh=v#~-+`_KeRq6E?{$D%}#CiKSNP3Vna zbZl-;e@Ev>hdDj#FsF}9TUpaWNd$X3l@mcoQ;WA$hpUlkFZHmHrr>#41L(u|dJ)Pr z@XqkxG;+JcF9Zm=-Z^DZ?~(%6Ud+)t2n+R4zjRqwN2-VFr*LgBh27#z%xy*9vPlkt z)(tX?_*rH>)-(QzJBOvXqWq%GoQ9aPb{EWsfAUDOh9{h!kbnjO*Kr!V9jY<|V<|Et zriMVObFG6i%b{>iAK@bW`!Kn^lU8RT+F!`vbEscLmFyxgI45k ze*>pF@n=n-mE2xqx=<6R9C9B{>6a_eiSqgTUxLnR_7R``TcDFGzq~%zjWW&J33uPi zF%DMXh^u1aIev;BC!{4O5pF=^pr}ZQJZ0*)QS1*aL(|nvx!(%kv0vz0)|nE^LfKkK z2LBWjg3z*!sVMK)7C0|R_$5$uVGGfte;H`Pd|OWt?eYk@2x}!y+<{7&Ll!+kEM6Q3I_unsyGH`~dG4jz$X$JrSJvO!t=vgv%tGQhZR|dN+ajmTe_AKq2qqPe zT9vIp#9HZdjoPpr;a1arX{Bb<1O1vjs8Y+HXL{0_&bUqWdq=^MuO*3Iw8mVtQEUho z0)PUkKqtK>6H07P2G>vdY8{!a=s>_+RUgwYz;q~l(XKQ8o!8?;n{qiXztM6+HMT0s zYkyW#_BvObJxE;SsJ9Wxe;t5T|6MLxb5Q^Qg>{)E5eP$aRv-^ev{icE*IuiCXDJPT z!7n$BP2F`&9?kavdZaA{io3fzJQRvcad&rjcghxbcYTUG#ogWA-HN+Am-l;<`@6e; zY<6>!O*Way%$zfymFBh@0jnwXmWbU=V5m~FWv&!g-JD>v@KxH`{;PW^<3VVcm^n9% zEQ-iiEzCny)>BpE{=8fS|6sMMK~g-E9}wMGnpNmVTkvU3qzAMTuVdwgrc(0$(;1%6s`X*OdE|{Z_mkjWYp(3tjDlyBFT>134*%UgSUePg{X4X7 z28W%5qPn!V=y!W=lBM3R#-a+IQ;c*R+}lV{GYgjqK0m7{n3LY8v)$_iv!EmF-;&NIJ&ax zeXiOe3^-*ksl4(GZwd6=VOoOh@har^_a9EC7Ftl~~Cv>9LfDF)!6d4qS1Pg@zNeI}dqsk`_`E+jC(bFblg4@r`5I6f!-FhQY zh&as?9n3>nN+BG=V$AY6>|{sb-l!i}lPqCUviq^oc=ozvmRnUy{4XurLn)@_iO_B% zra1q8lye#q9mX)jOV}?e>74phS?)Efk*&DkIAz{0+z7hkX~N7 z6O&l^7JV<<8Q~@eGyk`k1FlaTN-s2NzcU3VP~uKO6Q}{-Tw(h#ym2+3P?yu3Q=^c3 zUQ*DPa&}tclYAr9_vi?jP*%@cm4))-{3mtD`%fXTDEDM$bf%?FUQGzDq=k%10%S9S z?C%TNImZ~g%|*35Y%^CIjPIDK&Y)v>^oxU8D^izDyo0(sZLEA!PX=dE3Uje-DixQ{ z8tWlR{#Vkf*|at7`28;_&gouLgJfyhwFvKxx4=8nf0>qo!I=VV90-W6;2IWD256|N z{|piQcy9?*z~G~LqH5C(`VEO9wJ*x-`0ti!CsB^}98uXFnbsNS{I zv!k=4qmqyF=_%)YU_8I>toMGptXm5)JX16ZwCNbO}tUhZ8rcL?)g`}|B z^nM@6*INhroIZu5_P%DQYG?YKyp3$NaC^1`#7*Y0yGQB+R_sssP?IL{fc{|TvB@Da zCz^Vsa2igZmj!-x#4tO%056Yt{KHp47o7bFVGaUBfAZbah)adE&0GWGW`F8KVe&@X z8%QXn%I_Me+g6b%@kl2)uK<1Ba1-y+6;v`y7`tdn{DokXG(4`|Gn?6i8@qZs zJ>;*eh;yg@XHUUVoXCQ;pi}yTvz{VWj^HwfPT~+Y%mA@Y4bm(Cs7R;Oo^)eRJ|-DB zs}Wu_+}5gYOK#h%yTW%7gNytRlR!epk%*|DBW>yWq*yFcu1rHE-vsx)hI)+DVV0)o z!Q?;;iuJqnXa9&uMU7_@4jVe!qsaIQfnmhrtuZJkU8NnwC@_EsA%NJLPT5w3MCWN5 z7ImAdo}0WwFOUN03Nv^Q!Q+O+vf^9As?H(>#O(Yv7&X*oKk`*mw(e#zmX4_D{q2fC z86r+n5#|OE4WcXLzFHEVU*nQ&*6qQz z0f+WEU<#*+yi!}#4##|5Hdus8a#qUQMFjQdG(3!n!v6#rAF4ZV_T}eOv@GWxhSTGI zNFjIEu6T@y0oa$aEo;%A;Jxpdv7-$4+-3}(TLdv#rc}u<|D;orN*Q$!g@%JDu%zr5 zRekTtF4cfn@o)WJUq6=D>8*CY;R;;ri(s{fF!f0Ka)7hkPoHhh*Y!5+&b6D?Zz|l* z$jbI^16@7rIr~ui^QBN1+e*1*s6^*pA{0edn`@b-BX43%tRT&FXC@Xu>TX7@Hd-dm zna;E=?zJY}C#gBg1PfTMcWTd1mmM49ui*^Q`cD8fKFlZ=F-j~qoj-F=Q~8nSwaMpqMo6lqjWP%?#hXy?)}bu3X|lPc-d9Iwe#aC zUiV{E_H!=DP512j3X!rJ(e@CcZj3J({Wc^+{?-(&k0ipF;<%^HCt*=+PZTR;K zM_DGIHAl~CF#GjJSx=kud#4=ZQ+o&9zepk4uvlws3Tar0xC`J1W0Z7hP&k$l*Ix~u z;p53@vFM`oH!X_c!C4@=Zd+%Y)=!FS;4&cF|3#sE z4CXMq$+(J&kLdi;7BkX5)gA!tK{Nd|nA*`1;cTMiL6c=sfvagQ_#0|3!*`L9Vg>n{ zIFVLv_B$!+t2&pbsrnj7BBrli;MWRZh>x?+_B$brt3v57EFDu1v3Pe%8zK1)u`Wgb zDak1ZI6E|=je=We12(SJbPbf_0=>o3@#ruV{~F3r?U@r@Md6X^NXZlZ+82`6C|?8boHE zOfHgI#l&$0qiqfQT~kiz4jCpiSE2e(J}!Wxy6H{|=?cC6KcS-9uggTGEGSJt*-<2PL;Q15b&8R874pwLmW+|GJM=Z{3WqUFk)&X?zTxB$L6)ZfAP!>r#GdLye^DX$Qe1)pXoKS@6U;$mDdre_mFWP9h9%$N`nB z?#z!f6d404RTCK~ZY=2ReO;__1Mv?lPK(^`f7lha&$+}qqcyQC`BHg#Wu_YTyJ8t{ zo}Um|QlQ(#^js_EZc%0_A=ETu$j+Hjp%1Rg?tjl?{|rsaKo)~7g)yNv{tC~|x>RTp z@>?jKAcxV9o!$_*Dbg=sgSaTW=d!Hpkw0g`!V33Y)$#=hR&B1rxz*AV84BRLKG~a| zUkc;v-t*}>vZcjfDA?;4R+W3Hx$PCPc@bDwY^ZB+7RbtI_A(t(eHVE`9QtHe{8=qI z9jy&WojcL(_j|?pSAeWJM%PwzyI524OIx6`ntqI{(teb(&cFJ5*IqDYVus|dG^&A8 zi;FFN?<*;g96UlGo+9v?w5u;S)Q_E5_=z2HmD!0S#a7DNKZ8;*~d-D8?{HZ_1A=d9^{fy zIjOUWc_zkEkiybPbEuK=O-a+M#!AX5LVQnbCYOLODWxWvlDPL-q0_zTptNlWb9q<^f`v-`Tm*C(i3uD=X=f;jE0B z2eQ%-MAq#41?YZpchaMozCzQ#)O|lT-UXbj_G1bW8&61K9lmLw`X<~gu3#M9;BOjK zG(GQ7@q=RV#rZYT#AoU8cfgP8@YpAT^}vSHLaKjH=LtLW0BY)xg^Xj*<%o^vU_t4% zJ!Ze=jEq{MqQXd=8jH=o*DfoK<#*3^Jkutq$#dcL#D)Qd{?;#V6^*Q6Ij!1B93>e7 zw4u<5#Y!O zjDw{+CP|Q|O}^`5tF80q_7>N%tLJiRdFjulcps*{{6F*JU-_%~#D;uy{Q>M7(T91# zj%jQd{W+(iiv-OdbRuAMJwETMlMM+!*)pBlAC9|wB;LDyHx z7tgh+{J2HBypeMmb0-pB%VY^S&obr}7-n`;MmpJ%cd37yrhnpt=bqM8QQ~v6WMpDs z_%ST4`8!WmnN{Ynr`!oUq_ehK<+=aYO_u%-5Rog)j`7BCdPr>zNKc2c`iT~ZD)P~> zn2CBB7Hlqe_yI@uP8WGP6s{{RqiJQ#3k+v6N4>Ys5HRdX{?^oRHwz-ry*|Of#K2xS z66%UK@8zg*uLOxDq3oY`9^NEa8yG>&9aj%Q%i4pU9prF`YA~;6z`kmgax5|dOL|&BhLKS;iK3DM;|sRAaO8C;;S{-P5Zj` z=QN_9f<1bnpty8g>!+XsRB|y)UUOmCE7lRkxMQY+WoDLFrlJKv89q8eGw$!^afwgx z+pr7IUfKAHp|G%NS$QLBs>1o8(t)#^zHGUvZlvf@vLm1NUy0l$-gMC#dwN*o?dr?X zSyNLBR=M&%p2RQl4fTR729b#3EeRcNdmGdY+!DR zAo_qeAz7&euQ6N)`9TP)?y7*b@Z_zdIF*zX#(pk=$sThcG9r?Bn&N-@MFbA!NbAIh zei1!y-LQoqo1Mau^9P)#{Zr@a_MU}R^Qi;N$hFfjFT>lt(kIuLXwLVipx%g>g+1*6 z+n?-T^y-A;`T$wFqpikxle~Oe&^I1l` zp}u1xs?kh@2gJ}A#fNKeDJ)iazJ?h^u#>X581MUMURjM((&UeMnwdsIkOG!aJ;xa| zxBe2!OK>T31nR}0*A=RrDvS#K1^}&=?36K|3Mf6ebADsZ)3YM)(ckqj+#A;#gF(%r zdhtoSGpb)U3spzTPp`K)7wypKD5bQqciX~dnDyRLf0)T8SCv0`aM4{3}txLJ&cHK;WJ z3;m8d7Q@b+UrFY=fJ{(^?!vb@V(EJ2+0hm5Gz}E78bZEVcDieI-7tCKi1xSQ^iowa z+1vs5LsadUOi@C=DQ^W7qS7qxFW}9E#6&1B4#!v~&{X7#NNs!nI>RWvaMYtCO zcqjlQXN@s0iW#LPH=8{{BMU$i6vGevCt$!26jX$)H8<3L2pA9ueBCx+4N{|44Torc zuV~K9?(Tj`Oj65d+afjiab-ndc&fa!QiVR!Y(2+Ta0&WRGyBoT}_KAjx-xX*g-mUxyyG z_B(&e2;Lq-RJujSJkbv+Y!WFaXB|AMS&&X4hHw}v<6^GHRxI;Yw0my%scDyb6;< zC%K(PLkXn6I_&?cq$k}v1kAwovKnc}5 z3SCXy6sAjNy0?xpp?~}dwT-roTi0kPP7j+1wc?N0C##~CCiCW0!(=`Nlxi6W@7l9X zPAdP}eH!3fM;)& zEzi0bD;8x+sle4b>A4C_gvbcrs+>g;bA=ng$x21k_;4^zs|c=(T3=vHV{Bd-V|O3h z2*kcaP~bO3dDD!uqf;O#$mNL^Vuu_n6GRmCOW2K3|KnK>$HD(n%T}nwReD?txVs64dl4XR0()eXtliAk?VgNp)vykM-p@O^ty(oyDk#QRwhSglMWX@S(-uZ|Q`%R?=m!?*&0Qak}OC$8%|~=TR}`qk#ic=mZM4-89!5OIb~ZvIw)6n-3^=-9R+iMWI1d;n7ElEO9=>~=j(m(-u)Kmb?WQB{w za+zbC09O$6X%q`MCQMCU%s@lb#@Ro%^Px<8Zb&OZU_8#ea4;Z|k|W1HGEG?c6k!f} z!U(1}t5kuOmHXSB8dlPr3Id&^tdCnE>=Rv}4DO?8OlT2ar2O(9Rn8F3AA2>1A_?2$ zS6|Cpb+fvQxxWTTZU%HBEK&e2;)Pur2|Ab85n8S+kC=jOqDCCbj82WBdM`!kl(aaQ z{f4DcHb{#xHEq253)A1QTj4&f*oBeMcqG^fiDrD_CF4c0UZe z{3RRLB1Z;?2~tkWfYG9`8cd1YB4QWnjU#nCc2r~h;L#FGgZ^=xpvRi|c-=IF;tfdx z#%ok`Qd7bTQ>ux!v`93b2U`b(<5`&~9@Z41 z6~t;GQPvWTv=WCQ4wWjSG6Z*E9$H7Qj#)UWpc1PoOb5kQ`MT1!$}NF^++%tywmSk? z=rKRaEP9CO6VKn%`D;lGKW2JbPG?(TmRMSeVxJE$Lmko&aRgv!B9;)$xd-dAxO{&K zTbG;S-8T&h=5lc%%*P1V|5HZ(3RDv+3LnYDNJ%|JRIC%s;V*Vm zae~u0S7@$Qhn+_G`IvTQh=1a|XyxyqBArK_#IPy!J2;^*z8X=C$+W9~T`wfgsrqq5 zp?c{j0tGmpnjDbX7!+Vuq1ms#n60g1pwO5+(x8X4c%u*Z$%L3rdcpcOrH7E?W~>zq zP(1ROnGrI4DbB-2RQPq<;t+Ni^cM$poXd_{CK7W$hNOEw7fL#DWOs8sHDG#5Ja)2o zl$)u}?JHcr^_9wna=} zA&4&2tFnio_b;C*^NnUmco)-j{XK(HYE;WMcMJ`D)QaW^^6x7yyt-&6VA&GyE7h`_ z&%&p{>+(u51rg6%2$~;yADfJ;Qro#Y^7YIbyD4BT&?xjses%vPXXXBtkdt}HtWe1r zj!M0OJRX2vEKf#z=4?@qRdQ^02jLI+>X#m228B%-wb%Vdd{>!6Wo>MI^gEG^A}svZ zb2g(x3XDEIC1gI`K*uoeohF2ecwAHsygHzY4YkWeELam^*D?vu%1uXf{d2X|^N>sx zi~dIny6p*TbgDt$zDnClvlelPUBTOMS}j&w%>#s}P@Vl;Wi_@6t6|HnUidpH;8?yR z#mnbU(RB|9Q!0Hs3a0gFYbpJZGcI?Cy7$(&H`<%(5gO(>>h0Dk81>gfltu|G30D4= z+Z|ez-gse`Xg?%C>E3lVLlmB9<-K9mO?t?`bTdQvt7P^i9B(>$^W#Q-JB<}}a@cA# zp9Hp;7R=+ZNX4br)Fr!9KEp(Sv^~Qb2wY~q-74&uW{dxOE!TJ&mY}<(a2hUAbI7o% z^o&@X3WpzP@?}6mavwqw4KdwEITjTxJ9c9}G~iO4U(6dhNP$^aJf%q>6W~Bj{Ofsb z88<)fHjlBgVkF_V3Db+5*QE4)cQH-b;|@p{3{oxd(|g~&e}6s(D^CU)alfAA&Vb*M zWjh`YZaB^}ydPGMVtMWZan6G5NQ39bz9aK=1;%$gZw>8t1kc=exL?(DWb+ff)Uzf@ zq%KR1tm2qNt*GCi{#cZusg>@sij`gV`&ST8;!B4hn;NQI6eOK2Ndggj_smjCfep~Z zTL`Vs4Daavm6W0l;uVylGsuQ31wlxdRuh@ytH1>m>MQ$OykqP z*h^=V?DbirufXLJ8w4RORH07zY~!bk6my}j&;(A~8j?A~{3dZ7-;V#;hRC#$qqV)d zDP@^C?@^I8*0e)o<}?OcbeYXJlfkbFUbYZluzfwT++la0`kwM@@{(*_f4Bw||r z01qTh_>8VC1%%$3xXD|!AmI6~aw;&U=`IsENzDAec!re!N7}73a0mN1!T8V&970Tm z1#aF-;JW~o?1xLjf7Jtla9 z>r2xyDd*BBNB*@;hYAlwb~n+ea9Bo)k*xF16T4s{fLD>i&NeShf;F2(N@GunkJ+|5 za0|VB6S<1o5e)SwW`oN6EMAAoB0d3MK+0w7a50fF$83>XA<*cjQh~S`ElYY6YynWbcjwjZRdT(u#U= zP_mso?=>s&iu7Sv_CDGL2UOR~C#Ku97`?G+8rrf7^V05w78&e( zN5$Zcwualba^N)m@A+USLSMT$4Xx?vxJ_CPcY`fE?U+Fp5~JT%5wu9*ADO~-DUmw- zn1+Ew-R%d$-LYc~1Ns`=c|bRdV|ZYiSi3xgn;3s0x`aFDU^l zSZ1@hK?A!g%&nPryHg86GWn$m0a@-xeFlaa`|^;sIKW}OzaQ>$mGk=SFuT^lW(eSD zOT{N;ELO8>`tKEUnG`sXG^lzR`M$AYh|}7ME|^gqUzTCu_bu9BWrAw0j@PL}QjwdM zT8)_-Dr(>z!J%4B3R!THv$foLX%vKRV~jop#Ce#eyTj?s>NW6`dm#*!N{#YdB2)+k z%HN~`fKAs>c?cSg`cRF% z*6Ge}*5)NLlZEiO*zt_zQtwb!6*;yTyfRmK1@<2IEg3l)Lb#3WqCguV!6M}N2ro-@yeSa zo98*v3mC=WA4gaIFi8&^)tK7yr1mekqN${^^9hzR=^L_7^!x581L{cAYNHvj-rd^v z1u~D}h5cL(`j}%X%BX2_#7)ZUwQEVkm?za;VFEV(Je|(VXwePRELfsKs8%Su}(wy-d2pp#_(YmU?@)A3wJCs+9-A04=;GYZ>e%KL=KXam*66spkgsTj;-rl8cZt z|IuAXzlQqvPI*KsGN?=Ht_j+Feq-*{Iwq4Y{vFItJ}%}E^UzZ%G(GJa-?P}i7m{c9 zQ$u#dq{xG#g;7tNLh7dSF#~LiW7$xY81|39NPnxmuz>qQ z2Q}mFK{zSqa}}l3Z<7uu)#_Y~X1SsTxKe=;pJ{Y@?iQF<_tkiSVUaZFX+(Iug^$(e zkCa5hM(g&mD;2EUGsmjncYTW^d1l8jGkc4(Bfb;F3)`5K0bb*$o#{}d=Ff?+I1kZq zDaN~6{x_AxR+`_mAz{1qnZl-6e1Yr)dZj(NIcuNFp9~{hY(>AU8q^F|W{=^-q?`D~ zgXtq!k(vTF%zCIpW6luVVBhkNW*R?g@PF(igq}(ik}=y~JzNg$1J}D^VDQUA2md1z z@Oy^o{X-!;?>_V*>N%VMoS$|8E|2%N`1_8F^0lOAXV@RAr!;~Mv@kbZKo#;`)MOmy z?W_zGYaMODu0AQeZDCNOYHUI2SrSfw+K&QksK6qBRkf3@b7rlL(Z>r zmP?ioyuh>pmJbe^{v7TFRO_e*2>8?tTPAt93~^=M4s(VH6OZ&$+SZbG1EtU-;e4MB0s(W=j)CC3>f%Ycn&x|Er|gi^2Fs(G!Y%~$F!W_ z^Zrddf5yub+D8jV&QMkUsMhQI}! z-ieyx4-q@r*`}qCQGun};jPh~!}hC0iOJvwERB|o*bu>s(E_~9?YPm6lQ-#FEflt4 zBB;$-LmsdGND?cf&2->wVTIL39Q|XI*)zn|RUCY&#r}JE-Kbr-`EiSEv|aDVUqEZg zY?f&46>GM!0Rga}$*SpaoaGT^9bNlud7XVF3nk=k+OX!9#y zw`d96i@A=?65@Zsrk+rVxWIE;@O5Kh__Tm~Mw+BY|3WG4{L2ONRHmTjHvkd+1Z&e7 zF}_)#VM<3IH)TE^o^B!iGgu+m>e1rca`_IOwG!BIz`eB$x?v{fm)D5el*dH~y@ANl ze3*YZBbhkWgpa{4R_te6!W5c638ty8EJDy554aXd>WT!KU z%(ykAV{ALWyKSZ2bo0%hE`ePYfuf%vc){$nE+s4kZTN(dA@9ZLpZ`)vN9QXa0v~n9 zm^IlCNShpA9fWW#7VS~*yy0O{imnF4C+SkqW7}mIyE(%z8u~NE>-cyX^m1sB7SJIz z-A9YLneGTsQ+_^KVuA<~4z>7Y#1t~%Jn2H$mp?g*=%(02Z>D;bF#`%%7LjvmsFpOR z+WG2naP`Rr&!}Odh@m--Z1rL3_anu82}t}Tn|x@h^0dAzjxcE!y^`?tvLaLPSgGdZ z`WjUfpT+YIoP<^u?{VBqj~iu7yX5y!K_7%M)B&^IsGl^sfY*CvNvJLL78k3{+cEX^}k|0O-o6v8&ObRPyHUR67bI9UP;chup7#YOdpGL zIf_w$wylz>UI*Ke_eRVSx_h*JH?K$qE&TdLPS#$yBO48m_E)kdn&-Z{W7ap zhxEJ#A95*I7*Ht5veV*t|EKumf2BiN41cfESj9}ZEX8AucoNO7a810zPq3W_G=i*4 z9M3L`bH~T+GZb=W2Oi#-d8J!}xSG`YioO*2qBHtY695W3YyX2V zC&%Y?elwsaPNYDA`q++BX0+(3;TK=ZmcfVKZkg@KQBGfk^jN?~vhZ21^Rw}SN{DhH#`%Rkn)D|)}ww2&nKsUd1anf5GhZYqjTO7clqni<&H!tLUd~GS@e?GclGurAo zdOBoUS2%`P%cbgg?K#{(?>w|y&u4#u<$06?&buq(6k61`hX(Y(Z})PJboUuiO2ujy*d#Q|M><{*X6~?TTJ%s zJfA{nLoF=j z84l(2e4ymkUrRy*3I_dK8NeN0Pq}*hkEw!9*LmHJ6z&2nIx9THw^xqShM}d7d6t9J zrg&`*kCq@O6A9k)_Yb-Q=Bv`N@Zkjw1cXp&&5k29jBL45u|5c?zKoCOw-%;;tz!;zXQJ;G5%m~#d7Ek0tPF(d7|9>xmfWZB~aEN-} fJ;```3H*4#g%*m?B_7fVC%)GO`3suse?k8b3;j?K diff --git a/extension/out/extension.js b/extension/out/extension.js index 634535d..d34ed80 100644 --- a/extension/out/extension.js +++ b/extension/out/extension.js @@ -331,81 +331,38 @@ function activate(context) { if (isFirstPoll) { console.log(`Gravity Bridge: [LS] init ${key.substring(0, 8)} at step ${stepIdx} "${summary.substring(0, 30)}"`); } - else if (stepIdx > 0) { - // New conversation with AI response! Try to get actual text + else if (stepIdx > 0 && summary) { + // New conversation with AI response! console.log(`Gravity Bridge: [LS] NEW conversation ${key.substring(0, 8)} at step ${stepIdx} "${summary.substring(0, 40)}"`); - // Try multiple methods to get actual AI response text - const rpcAttempts = [ - { m: 'LoadTrajectory', p: { trajectoryId: trajId } }, - { m: 'LoadTrajectory', p: { googleAgentId: agentId } }, - { m: 'GetCascadeTrajectory', p: { googleAgentId: agentId } }, - { m: 'GetCascadeTrajectorySteps', p: { googleAgentId: agentId } }, - ]; - let gotText = false; - for (const a of rpcAttempts) { - const res = await lsRPC(a.m, a.p); - if (res && !res.code) { - console.log(`Gravity Bridge: [LS] ✅ ${a.m}(${Object.keys(a.p)[0]}) → keys: ${Object.keys(res).join(', ')}`); - console.log(`Gravity Bridge: [LS] sample: ${JSON.stringify(res).substring(0, 1000)}`); - // Try to extract text - const steps = res.steps || res.cortexSteps || []; - if (Array.isArray(steps) && steps.length > 0) { - extractAndRelaySteps(steps.slice(-3)); // last 3 steps - gotText = true; - } - break; - } - else { - const err = res?.message || res?.code || 'empty'; - console.log(`Gravity Bridge: [LS] ❌ ${a.m}(${Object.keys(a.p)[0]}): ${typeof err === 'string' ? err.substring(0, 60) : err}`); - } + // Try to extract AI text from extensionLogs + const aiText = extractFromLogs(parsed); + if (aiText) { + writeChatSnapshot(aiText); + console.log(`Gravity Bridge: [LS] → relayed AI text (${aiText.length} chars) from logs`); } - // Fallback: relay summary - if (!gotText && summary) { + else { writeChatSnapshot(`**${summary}**\n\n(새 대화, step ${stepIdx})`); - lastStepIndex[key + '_summary'] = summary; console.log(`Gravity Bridge: [LS] → summary fallback to Discord`); } + lastStepIndex[key + '_summary'] = summary; } continue; } if (stepIdx > prev) { - // New steps detected! + // Existing conversation has new steps console.log(`Gravity Bridge: [LS] ${key.substring(0, 8)} steps: ${prev} → ${stepIdx} "${summary.substring(0, 40)}"`); - // Try RPC to get full step text - const attempts = [ - { method: 'GetCascadeTrajectorySteps', params: { googleAgentId: agentId, trajectoryId: trajId, startStepIndex: prev } }, - { method: 'GetCascadeTrajectory', params: { googleAgentId: agentId, trajectoryId: trajId } }, - ]; - let stepsResult = null; - for (const attempt of attempts) { - const res = await lsRPC(attempt.method, attempt.params); - if (res && !res.code && !res.message?.includes('not found')) { - stepsResult = res; - console.log(`Gravity Bridge: [LS] ✅ ${attempt.method} worked!`); - console.log(`Gravity Bridge: [LS] keys: ${Object.keys(res).join(', ')}`); - console.log(`Gravity Bridge: [LS] sample: ${JSON.stringify(res).substring(0, 800)}`); - pollFailCount = 0; - break; - } + // Try to extract AI text from extensionLogs + const aiText = extractFromLogs(parsed); + if (aiText) { + writeChatSnapshot(aiText); + console.log(`Gravity Bridge: [LS] → relayed AI text (${aiText.length} chars)`); } - if (stepsResult) { - const steps = stepsResult.steps || stepsResult.cortexSteps || stepsResult.cortex_steps || []; - if (Array.isArray(steps) && steps.length > 0) { - const newSteps = steps.slice(-(stepIdx - prev)); - extractAndRelaySteps(newSteps); - } - } - else { - // Fallback: relay summary text - const summaryKey = key + '_summary'; - if (summary && summary !== lastStepIndex[summaryKey]) { - writeChatSnapshot(`[AI 응답 감지]\n\n**${summary}**\n\n(step ${prev} → ${stepIdx})`); - lastStepIndex[summaryKey] = summary; - console.log(`Gravity Bridge: [LS] relayed summary: "${summary.substring(0, 80)}"`); - } - pollFailCount++; + else if (summary && summary !== lastStepIndex[key + '_summary']) { + // Summary changed = new topic + writeChatSnapshot(`**${summary}**\n\n(step ${prev} → ${stepIdx})`); + console.log(`Gravity Bridge: [LS] → summary change relayed`); } + lastStepIndex[key + '_summary'] = summary; lastStepIndex[key] = stepIdx; } } @@ -450,6 +407,34 @@ function activate(context) { console.log(`Gravity Bridge: [LS] relayed ${messages.length} response(s) (${combined.length} chars) to Discord`); } } + function extractFromLogs(diagData) { + // Try to find AI response text in extension logs + const logs = diagData.extensionLogs || diagData.extension_logs || ''; + if (!logs || typeof logs !== 'string' || logs.length < 10) { + return null; + } + // Look for patterns that indicate AI response text + // Pattern 1: notify_user Message content + const notifyMatch = logs.match(/notify_user.*?"Message"\s*:\s*"([^"]{20,})"/s); + if (notifyMatch) { + return notifyMatch[1]; + } + // Pattern 2: "content": "..." blocks from assistant role + const contentMatches = logs.match(/"content"\s*:\s*"([^"]{50,})"/g); + if (contentMatches && contentMatches.length > 0) { + const lastContent = contentMatches[contentMatches.length - 1]; + const m = lastContent.match(/"content"\s*:\s*"(.+)"/); + if (m) { + return m[1].replace(/\\n/g, '\n').replace(/\\"/g, '"'); + } + } + // Pattern 3: Look for Korean text blocks (likely user-facing response) + const koreanBlocks = logs.match(/[\uAC00-\uD7A3]{10,}[^"]{0,200}/g); + if (koreanBlocks && koreanBlocks.length > 0) { + return koreanBlocks[koreanBlocks.length - 1].substring(0, 500); + } + return null; + } // Start LS bridge after a delay setTimeout(async () => { const found = await discoverLS(); diff --git a/extension/out/extension.js.map b/extension/out/extension.js.map index 1736187..3077fc1 100644 --- a/extension/out/extension.js.map +++ b/extension/out/extension.js.map @@ -1 +1 @@ -{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDH,4BAsZC;AAqQD,oDAwBC;AAiRD,gCAEC;AA3/BD,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB,IAAI,OAAO,GAAwB,IAAI,CAAC;AACxC,IAAI,eAAe,GAAwB,IAAI,CAAC;AAChD,IAAI,SAA+B,CAAC;AACpC,IAAI,UAAkB,CAAC;AACvB,IAAI,WAAmB,CAAC;AACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,6CAA6C;AAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;AAEzC,kDAAoC;AAEpC;;;GAGG;AACH,SAAS,iBAAiB;IACtB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAS,aAAa,CAAC,CAAC;IACrD,IAAI,UAAU,EAAE,CAAC;QAAC,OAAO,UAAU,CAAC;IAAC,CAAC;IAEtC,yCAAyC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAClD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,2BAA2B,EAAE;gBACvD,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI;aACxC,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,6EAA6E;YAC7E,0CAA0C;YAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACxD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,8CAA8C,QAAQ,GAAG,CAAC,CAAC;gBACvE,OAAO,QAAQ,CAAC;YACpB,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,qCAAqC;QACzC,CAAC;QAED,kCAAkC;QAClC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED,SAAgB,QAAQ,CAAC,OAAgC;IACrD,WAAW,GAAG,iBAAiB,EAAE,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,2CAA2C,WAAW,MAAM,CAAC,CAAC;IAE1E,wBAAwB;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAS,YAAY,CAAC,CAAC;IACpD,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAEvF,kCAAkC;IAClC,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,aAAa;IACb,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpF,SAAS,CAAC,OAAO,GAAG,qBAAqB,CAAC;IAC1C,SAAS,CAAC,IAAI,GAAG,kBAAkB,WAAW,OAAO,CAAC;IACtD,SAAS,CAAC,OAAO,GAAG,oBAAoB,WAAW,EAAE,CAAC;IACtD,SAAS,CAAC,IAAI,EAAE,CAAC;IACjB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtC,oBAAoB;IACpB,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,WAAW,CAAC,EACnE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,EAAE,UAAU,CAAC,EACjE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,cAAc,CAAC,EACxE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,EACxF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAC3F,CAAC;IAEF,8DAA8D;IAC9D,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,QAAQ,GAAY,KAAK,CAAC,CAAE,0BAA0B;IAC1D,IAAI,aAAa,GAA2B,EAAE,CAAC,CAAE,oCAAoC;IAErF,KAAK,UAAU,UAAU;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,8CAA8C;YAC9C,EAAE,CAAC,IAAI,CACH,oSAAoS,EACpS,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAC9B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACZ,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;oBACtD,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC;oBACD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;oBAAC,CAAC;oBAC/C,iDAAiD;oBACjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;wBACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBACrD,IAAI,KAAK,EAAE,CAAC;4BACR,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;4BACvB,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;4BAClB,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,UAAU,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;4BACrF,MAAM;wBACV,CAAC;oBACL,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBAED,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;gBACX,CAAC;gBAED,6CAA6C;gBAC7C,EAAE,CAAC,IAAI,CACH,kDAAkD,KAAK,GAAG,EAC1D,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,EAAE,EACzB,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;oBACpB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,yDAAyD,KAAK,EAAE,CAAC,CAAC;wBAC9E,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,OAAO;oBACX,CAAC;oBACD,cAAc;oBACd,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;wBAC7C,IAAI,CAAC,EAAE,CAAC;4BAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAAC,CAAC;oBAC1C,CAAC;oBACD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9D,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEtF,6DAA6D;oBAC7D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;wBAC7B,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;wBACnC,IAAI,EAAE,EAAE,CAAC;4BACL,MAAM,GAAG,IAAI,CAAC;4BACd,OAAO,CAAC,GAAG,CAAC,oDAAoD,IAAI,EAAE,CAAC,CAAC;4BACxE,OAAO,CAAC,IAAI,CAAC,CAAC;4BACd,OAAO;wBACX,CAAC;oBACL,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;oBACjE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC,CACJ,CAAC;YACN,CAAC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAE/B,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAE,MAAe,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;oBACtB,QAAQ,EAAE,WAAW;oBACrB,IAAI;oBACJ,IAAI,EAAE,yDAAyD;oBAC/D,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACL,cAAc,EAAE,kBAAkB;wBAClC,sBAAsB,EAAE,MAAM;qBACjC;oBACD,kBAAkB,EAAE,KAAK;oBACzB,OAAO,EAAE,IAAI;iBAChB,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACZ,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACf,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,GAAG,CAAC,UAAU,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;wBACxI,wDAAwD;wBACxD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;4BAC3C,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BACtB,OAAO;wBACX,CAAC;wBACD,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;4BACzB,QAAQ,GAAG,MAAM,CAAC,CAAE,iCAAiC;wBACzD,CAAC;wBACD,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACjB,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,YAAY;wBACZ,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnB,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChB,GAAG,CAAC,GAAG,EAAE,CAAC;YACd,CAAC,CAAC;YACF,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,UAAU,KAAK,CAAC,MAAc,EAAE,UAAe,EAAE;QAClD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAE,wBAAwB;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;gBACtB,QAAQ,EAAE,WAAW;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iDAAiD,MAAM,EAAE;gBAC/D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,sBAAsB,EAAE,MAAM;oBAC9B,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;iBAC5C;gBACD,kBAAkB,EAAE,KAAK;gBACzB,OAAO,EAAE,IAAI;aAChB,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACZ,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACf,IAAI,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;gBACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChB,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,UAAU,iBAAiB;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACxB,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC,CAAE,+BAA+B;QACpE,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC;YACD,2DAA2D;YAC3D,MAAM,IAAI,GAAQ,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;YACrF,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEtB,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,MAAM,YAAY,GAAG,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAE1E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;YAC5D,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,wBAAwB,YAAY,CAAC,MAAM,mCAAmC,CAAC,CAAC;YAChG,CAAC;YAED,wCAAwC;YACxC,IAAI,SAAS,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;oBACxC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnD,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC;gBAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,MAAM,YAAY,CAAC,MAAM,YAAY,OAAO,GAAG,CAAC,CAAC;YACvG,CAAC;YAED,gDAAgD;YAChD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;gBAEnC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAEtC,MAAM,GAAG,GAAG,OAAO,IAAI,MAAM,CAAC;gBAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;gBAEhC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACrB,iDAAiD;oBACjD,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBAC7B,IAAI,WAAW,EAAE,CAAC;wBACd,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,OAAO,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBACrH,CAAC;yBAAM,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;wBAChC,qCAAqC;wBACrC,OAAO,CAAC,GAAG,CAAC,yCAAyC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,OAAO,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;wBAE7H,4CAA4C;wBAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;wBACvC,IAAI,MAAM,EAAE,CAAC;4BACT,iBAAiB,CAAC,MAAM,CAAC,CAAC;4BAC1B,OAAO,CAAC,GAAG,CAAC,2CAA2C,MAAM,CAAC,MAAM,mBAAmB,CAAC,CAAC;wBAC7F,CAAC;6BAAM,CAAC;4BACJ,iBAAiB,CAAC,KAAK,OAAO,qBAAqB,OAAO,GAAG,CAAC,CAAC;4BAC/D,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;wBACtE,CAAC;wBACD,aAAa,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC;oBAC9C,CAAC;oBACD,SAAS;gBACb,CAAC;gBAED,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;oBACjB,sCAAsC;oBACtC,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,MAAM,OAAO,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBAErH,4CAA4C;oBAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;oBACvC,IAAI,MAAM,EAAE,CAAC;wBACT,iBAAiB,CAAC,MAAM,CAAC,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,2CAA2C,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;oBACnF,CAAC;yBAAM,IAAI,OAAO,IAAI,OAAO,KAAK,aAAa,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC;wBAChE,8BAA8B;wBAC9B,iBAAiB,CAAC,KAAK,OAAO,eAAe,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC;wBACnE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;oBACjE,CAAC;oBACD,aAAa,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC;oBAC1C,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAKD,SAAS,oBAAoB,CAAC,KAAY;QACtC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,mDAAmD;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YAEhF,6CAA6C;YAC7C,IAAI,OAAO,IAAI,CACX,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACrD,EAAE,CAAC;gBACA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,SAAS;YACb,CAAC;YAED,4BAA4B;YAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjC,SAAS;YACb,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;gBAClE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,SAAS;YACb,CAAC;YAED,4EAA4E;YAC5E,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;gBAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAChD,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,gCAAgC,QAAQ,CAAC,MAAM,iBAAiB,QAAQ,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACrH,CAAC;IACL,CAAC;IAED,SAAS,eAAe,CAAC,QAAa;QAClC,iDAAiD;QACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC;QACrE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAE3E,mDAAmD;QACnD,yCAAyC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC/E,IAAI,WAAW,EAAE,CAAC;YAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAE3C,2DAA2D;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpE,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACtD,IAAI,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAAC,CAAC;QACtE,CAAC;QAED,uEAAuE;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACpE,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAID,gCAAgC;IAChC,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,yBAAyB;YACzB,MAAM,iBAAiB,EAAE,CAAC;YAC1B,qBAAqB;YACrB,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACxF,CAAC;IACL,CAAC,EAAE,IAAI,CAAC,CAAC;IAGT,6DAA6D;IAC7D,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/C,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CACL,CAAC;IAEF,sDAAsD;IACtD,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CACjD,wBAAwB,EACxB,iBAAiB,CACpB,CAAC;QACF,WAAW,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC3D,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IAC3E,CAAC;IAED,0DAA0D;IAC1D,wBAAwB,EAAE,CAAC;IAE3B,aAAa;IACb,WAAW,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,WAAW;IAChB,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,oBAAoB,CAAC,CAAC;QACzF,OAAO;IACX,CAAC;IAED,QAAQ,GAAG,IAAI,CAAC;IAChB,SAAS,CAAC,IAAI,GAAG,kBAAkB,WAAW,MAAM,CAAC;IACrD,SAAS,CAAC,OAAO,GAAG,oBAAoB,WAAW,WAAW,CAAC;IAC/D,SAAS,CAAC,OAAO,GAAG,oBAAoB,CAAC;IAEzC,oDAAoD;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC,CAAE,WAAW;IACtD,IAAI,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YAC5E,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1E,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;gBACxD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtD,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,oDAAoD;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC;QACD,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YACpF,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1E,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;gBACxD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;YACrD,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,YAAY,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,wCAAwC,WAAW,cAAc,UAAU,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,UAAU;IACf,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE1B,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,CAAC,IAAI,GAAG,kBAAkB,WAAW,OAAO,CAAC;IACtD,SAAS,CAAC,OAAO,GAAG,oBAAoB,WAAW,EAAE,CAAC;IACtD,SAAS,CAAC,OAAO,GAAG,qBAAqB,CAAC;IAE1C,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,OAAO,GAAG,IAAI,CAAC;IAAC,CAAC;IACjD,IAAI,eAAe,EAAE,CAAC;QAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAAC,eAAe,GAAG,IAAI,CAAC;IAAC,CAAC;IAEzE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,YAAY,CAAC,CAAC;AACrF,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,QAAgB;IAC1C,IAAI,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEhD,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,0BAA0B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzF,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,gBAAgB,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,eAAe,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACJ,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,eAAe,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,QAAgB;IACzC,IAAI,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAElD,4DAA4D;QAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAC9C,IAAI,UAAU,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,4BAA4B,UAAU,GAAG,CAAC,CAAC;YACrF,OAAO,CAAE,6DAA6D;QAC1E,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,iBAAiB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAErF,0CAA0C;QAC1C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;gBACnE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,WAAW,aAAa,CAAC,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACL,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO;QACX,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,KAAK,UAAU,CAAC;YACpC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAEjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO;QACX,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,oCAAoC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,EAAE,CAAC,CAAC;YACpE,sCAAsC;YACtC,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxF,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,EAAE,CAAC,CAAC;gBACnE,6CAA6C;gBAC7C,IAAI,CAAC;oBACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;oBACrE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;oBACvD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACtD,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACnD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC;oBAC3E,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBAC9C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACV,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;IAEnD,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1F,MAAM,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE1F,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,MAAM,CAAC,MAAM,CAAC,uCAAuC,EAAE,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,MAAM,CAAC,MAAM,CAAC,kCAAkC,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEpG,SAAS,CAAC,IAAI,GAAG,OAAO;YACpB,CAAC,CAAC,kBAAkB,WAAW,UAAU;YACzC,CAAC,CAAC,kBAAkB,WAAW,aAAa,CAAC;QAEjD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,MAAM,IAAI,EAAE,CAAC,CAAC;QAEjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvF,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;YACxC,EAAE,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE;YAC/B,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,0BAA0B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACxD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;YAC5B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,OAAO;SACxB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAE1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC3B,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,2CAA2C,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACL,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC5B,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACL,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAAiB;IACzC,MAAM,SAAS,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG;QACb,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;KAC/B,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAE3E,IAAI,QAAQ,EAAE,CAAC;QAAC,gBAAgB,EAAE,CAAC;IAAC,CAAC;SAChC,CAAC;QAAC,iBAAiB,EAAE,CAAC;IAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAChC,cAAsB,EACtB,OAAe,EACf,WAAmB;IAEnB,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAG;QACZ,UAAU,EAAE,SAAS;QACrB,eAAe,EAAE,cAAc;QAC/B,YAAY,EAAE,WAAW,EAAG,oBAAoB;QAChD,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAC5B,MAAM,EAAE,SAAS;QACjB,kBAAkB,EAAE,CAAC;KACxB,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,yBAAyB,SAAS,EAAE,CAAC,CAAC;IAChF,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,cAAsB;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,cAAc,OAAO,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG;QACT,eAAe,EAAE,cAAc;QAC/B,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;KAC/B,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,iBAAiB,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACjG,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAe;IACzC,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACtC,IAAI,KAAK,EAAE,CAAC;wBAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QACzD,OAAO;IACX,CAAC;IAED,mEAAmE;IACnE,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,EAAE;QACL,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO;YACH,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO;YACpC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC;SACxC,CAAC;IACN,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAElB,wBAAwB;IACxB,MAAM,KAAK,GAAmD,EAAE,CAAC;IAEjE,yCAAyC;IACzC,KAAK,CAAC,IAAI,CAAC;QACP,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,iCAAiC;QAC9C,MAAM,EAAE,SAAS,WAAW,EAAE;KACjC,CAAC,CAAC;IAEH,qCAAqC;IACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,yBAAyB,UAAU,EAAE;YAC5C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,OAAO,EAAE;YAChC,MAAM,EAAE,CAAC,CAAC,IAAI;SACV,CAAC,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE;QACtD,WAAW,EAAE,SAAS,WAAW,kBAAkB;KACtD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE1B,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC9C,oBAAoB;QACpB,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAChC,MAAM,WAAW,qBAAqB,CACzC,CAAC;QACF,OAAO;IACX,CAAC;IAED,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAChC,KAAK,QAAQ,CAAC,WAAW,MAAM,WAAW,MAAM,CACnD,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE1C,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,GAAG,CACrB,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACjC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CACrD,CACJ,CAAC;IAEF,IAAI,CAAC;QACD,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YAC/D,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAEhD,gCAAgC;YAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACnD,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxB,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,kCAAkC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5G,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,qCAAqC,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,IAAI,eAAe,GAAG,EAAE,CAAC;AACzB,IAAI,iBAAiB,GAA0B,IAAI,CAAC;AAEpD,SAAS,wBAAwB,CAAC,KAAqC;IACnE,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;IAE9B,6DAA6D;IAC7D,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ;QAC5D,MAAM,KAAK,iBAAiB,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,yBAAyB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/H,CAAC;IAED,iCAAiC;IACjC,sEAAsE;IACtE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjE,IAAI,CAAC,SAAS,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAExD,+DAA+D;IAC/D,IAAI,iBAAiB,EAAE,CAAC;QAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAAC,CAAC;IAC3D,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,YAAY,IAAI,YAAY,KAAK,eAAe,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC/E,eAAe,GAAG,YAAY,CAAC;YAC/B,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;IACL,CAAC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG;QACT,EAAE;QACF,YAAY,EAAE,WAAW;QACzB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,EAAG,aAAa;QACnD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;KAC/B,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,6BAA6B,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;AACpG,CAAC;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAA8B,KAAK,EACtD,OAA2B,EAC3B,OAA2B,EAC3B,MAAiC,EACjC,KAA+B,EACjC,EAAE;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEpD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzC,yBAAyB;QACzB,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;YACnE,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO;IACX,CAAC;IAED,+BAA+B;IAC/B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,YAAY,CAAC,IAAI,CAAC,cAAc,WAAW,KAAK,CAAC,CAAC;IAElD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,KAAK,YAAY,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,KAAK,YAAY,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClD,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,IAAI,YAAY,MAAM,CAAC,wBAAwB,EAAE,CAAC;oBAClD,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBACrC,CAAC;YACL,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACf,YAAY,CAAC,IAAI,CAAC,aAAa,YAAY,IAAI,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC;QACvE,OAAO;IACX,CAAC;IAED,oCAAoC;IACpC,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,kBAAkB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG;QACT,EAAE,EAAE,KAAK;QACT,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,cAAc,WAAW,EAAE;QACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAC5B,QAAQ,EAAE,KAAK;KAClB,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAElE,MAAM,CAAC,QAAQ,CAAC,cAAc,OAAO,CAAC,OAAO,CAAC,MAAM,wBAAwB,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,WAAW,OAAO,CAAC,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,SAAgB,UAAU;IACtB,UAAU,EAAE,CAAC;AACjB,CAAC"} \ No newline at end of file diff --git a/extension/src/extension.ts b/extension/src/extension.ts index c025546..128561d 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -310,87 +310,39 @@ export function activate(context: vscode.ExtensionContext) { lastStepIndex[key] = stepIdx; if (isFirstPoll) { console.log(`Gravity Bridge: [LS] init ${key.substring(0, 8)} at step ${stepIdx} "${summary.substring(0, 30)}"`); - } else if (stepIdx > 0) { - // New conversation with AI response! Try to get actual text + } else if (stepIdx > 0 && summary) { + // New conversation with AI response! console.log(`Gravity Bridge: [LS] NEW conversation ${key.substring(0, 8)} at step ${stepIdx} "${summary.substring(0, 40)}"`); - // Try multiple methods to get actual AI response text - const rpcAttempts = [ - { m: 'LoadTrajectory', p: { trajectoryId: trajId } }, - { m: 'LoadTrajectory', p: { googleAgentId: agentId } }, - { m: 'GetCascadeTrajectory', p: { googleAgentId: agentId } }, - { m: 'GetCascadeTrajectorySteps', p: { googleAgentId: agentId } }, - ]; - - let gotText = false; - for (const a of rpcAttempts) { - const res = await lsRPC(a.m, a.p); - if (res && !res.code) { - console.log(`Gravity Bridge: [LS] ✅ ${a.m}(${Object.keys(a.p)[0]}) → keys: ${Object.keys(res).join(', ')}`); - console.log(`Gravity Bridge: [LS] sample: ${JSON.stringify(res).substring(0, 1000)}`); - // Try to extract text - const steps = res.steps || res.cortexSteps || []; - if (Array.isArray(steps) && steps.length > 0) { - extractAndRelaySteps(steps.slice(-3)); // last 3 steps - gotText = true; - } - break; - } else { - const err = res?.message || res?.code || 'empty'; - console.log(`Gravity Bridge: [LS] ❌ ${a.m}(${Object.keys(a.p)[0]}): ${typeof err === 'string' ? err.substring(0, 60) : err}`); - } - } - - // Fallback: relay summary - if (!gotText && summary) { + // Try to extract AI text from extensionLogs + const aiText = extractFromLogs(parsed); + if (aiText) { + writeChatSnapshot(aiText); + console.log(`Gravity Bridge: [LS] → relayed AI text (${aiText.length} chars) from logs`); + } else { writeChatSnapshot(`**${summary}**\n\n(새 대화, step ${stepIdx})`); - lastStepIndex[key + '_summary'] = summary; console.log(`Gravity Bridge: [LS] → summary fallback to Discord`); } + lastStepIndex[key + '_summary'] = summary; } continue; } if (stepIdx > prev) { - // New steps detected! + // Existing conversation has new steps console.log(`Gravity Bridge: [LS] ${key.substring(0, 8)} steps: ${prev} → ${stepIdx} "${summary.substring(0, 40)}"`); - // Try RPC to get full step text - const attempts = [ - { method: 'GetCascadeTrajectorySteps', params: { googleAgentId: agentId, trajectoryId: trajId, startStepIndex: prev } }, - { method: 'GetCascadeTrajectory', params: { googleAgentId: agentId, trajectoryId: trajId } }, - ]; - - let stepsResult: any = null; - for (const attempt of attempts) { - const res = await lsRPC(attempt.method, attempt.params); - if (res && !res.code && !res.message?.includes('not found')) { - stepsResult = res; - console.log(`Gravity Bridge: [LS] ✅ ${attempt.method} worked!`); - console.log(`Gravity Bridge: [LS] keys: ${Object.keys(res).join(', ')}`); - console.log(`Gravity Bridge: [LS] sample: ${JSON.stringify(res).substring(0, 800)}`); - pollFailCount = 0; - break; - } + // Try to extract AI text from extensionLogs + const aiText = extractFromLogs(parsed); + if (aiText) { + writeChatSnapshot(aiText); + console.log(`Gravity Bridge: [LS] → relayed AI text (${aiText.length} chars)`); + } else if (summary && summary !== lastStepIndex[key + '_summary']) { + // Summary changed = new topic + writeChatSnapshot(`**${summary}**\n\n(step ${prev} → ${stepIdx})`); + console.log(`Gravity Bridge: [LS] → summary change relayed`); } - - if (stepsResult) { - const steps = stepsResult.steps || stepsResult.cortexSteps || stepsResult.cortex_steps || []; - if (Array.isArray(steps) && steps.length > 0) { - const newSteps = steps.slice(-(stepIdx - prev)); - extractAndRelaySteps(newSteps); - } - } else { - // Fallback: relay summary text - const summaryKey = key + '_summary'; - if (summary && summary !== lastStepIndex[summaryKey]) { - writeChatSnapshot(`[AI 응답 감지]\n\n**${summary}**\n\n(step ${prev} → ${stepIdx})`); - lastStepIndex[summaryKey] = summary; - console.log(`Gravity Bridge: [LS] relayed summary: "${summary.substring(0, 80)}"`); - } - pollFailCount++; - } - + lastStepIndex[key + '_summary'] = summary; lastStepIndex[key] = stepIdx; } } @@ -447,6 +399,34 @@ export function activate(context: vscode.ExtensionContext) { } } + function extractFromLogs(diagData: any): string | null { + // Try to find AI response text in extension logs + const logs = diagData.extensionLogs || diagData.extension_logs || ''; + if (!logs || typeof logs !== 'string' || logs.length < 10) { return null; } + + // Look for patterns that indicate AI response text + // Pattern 1: notify_user Message content + const notifyMatch = logs.match(/notify_user.*?"Message"\s*:\s*"([^"]{20,})"/s); + if (notifyMatch) { return notifyMatch[1]; } + + // Pattern 2: "content": "..." blocks from assistant role + const contentMatches = logs.match(/"content"\s*:\s*"([^"]{50,})"/g); + if (contentMatches && contentMatches.length > 0) { + const lastContent = contentMatches[contentMatches.length - 1]; + const m = lastContent.match(/"content"\s*:\s*"(.+)"/); + if (m) { return m[1].replace(/\\n/g, '\n').replace(/\\"/g, '"'); } + } + + // Pattern 3: Look for Korean text blocks (likely user-facing response) + const koreanBlocks = logs.match(/[\uAC00-\uD7A3]{10,}[^"]{0,200}/g); + if (koreanBlocks && koreanBlocks.length > 0) { + return koreanBlocks[koreanBlocks.length - 1].substring(0, 500); + } + + return null; + } + + // Start LS bridge after a delay setTimeout(async () => {