diff --git a/pushdown-opt.pdf b/pushdown-opt.pdf index 73af5b4f42435429dd4da173462d4884d8323cca..f992c2a7ebc0c4d048e084ca20f5b2f6dae5f376 100644 GIT binary patch delta 7354 zcmaiYz3%Pg*p84Hl~F==NwQNE9_O3o?hH?B zVg!=YiX2sDn;0D}bY3<-!5Pyw+nA#w|NY%ux(K@X=mqu@^%FZ-Z=76+^l8EUgak*z z@qDT12Im3d!W87Cj~I~8NAMw(-hFNpul@?}HA1xaXPrAG`L;)JGZf1;cwnBJV>_OO zrBU;1q$A<-UID+q6?imrE+>xMVs6G8QZsI1@n;2kK{V|57^~!N=O*9;I(m^P+w;tY z6Np-qpS37-vOVO>RT0j+=S=jsnZa9Dvr?Wj&g_%(GeoLcnr8xOx9Yj;u zr;Q?Br7+?Y{y*gIE&+e*9(7Vb*vIWWV`l%RTH6_HS*hz7;nBhm?^98=6e^Ts?s+H4 zcxE%@(Rg`moP5dT$b43ZimEN#4ow3t1p<)e_>(@SKKZV&P)m`xB_SS{aKwdB zXN*z1B85h|eD)=F#$8gwM9TODlN_da!p9)y8ctm7weRo?S%y8`;gB2@Vag(?u}EM4XZaQ<-x=6$H1tQychK--KSOAlP;ym~8uW z>M4$RFInEOV%T(D`upcz8X{bG#O_r7c+69!?0fh^n5kA%)tXl=s*^cW&6p zP^Hnb_p+t&*knhO*8wgxZa&Ez+S`O%r{VI;gybDNvG~%f!I@XXg_f5ok+0 zqWJ!l#d{Wc$*O`Owu2D za|Nm|r>t*<$|0eRKlP3FcWN3eXk?+chjzubSw%D#PC#k|6VYq!cq6|hr2tfn7`d_3 z^Gm6Y=-CagSzyB}~>L2OVuAlTYAz?h( zX3QA-A_ya%TfpQBJ2;@5VVZM4y z;w#>?^?Gj~H}g$dSdI~sZW)&#Pih61UWQdbHF`5H?RL`{sNO8)utt83Xtu`#M+&)srhAeXb;}RKG89z>;-p zEqcBattUc?gexH8yK;c`u=bnvHGB*PC1SCqmEnAzqolpN;lNYUzH&BJ_&%@Qg|Z5)$nU)w^m|2#tvpoukx=Au}jIo zS9=L8qDuB)N2aAj^;)kr#<>eWvCum6?4n`-9WkWx(Cl6~&M1k5pUZ`r|s< zIp4Z%s=QuBW@%=vZ#ir}?09%y@h{Ea1H>OI(ts!N+1rIu`pERh^l2*`LA1M5pW6T_ zyOLdHXEw!A=t%kS4#Tk`+R*NSmVhlse^I};*md12l97B%hNX*SImY3WQD4Bm?Ry3l ze#fK}C@TiNOQUjUfirH9zr1X4Yn5v#tjmMIs((eK4aZsXZ`r;gH1Y5aF1*Swu9L{JcU1P_) z{xHlrHhzOY_*zxQepnIlviCFizW!xIi-mN3PPd5GB+svya_J%KX*|l{o@v@jW2wx< zmy3=CpVq9<$TMx0gZJ&xs(_J9$#-s7Zr7rHo6%-gvw!zljtEW7nc3$3TSY_oWZM{p z%%6KrS)o1ao`x^<9zeESV~8^Ux)jz*lqN))(_o-^va3JMSUkR!)AB01|J!9_*^<d5Aznzu13+BJ&N+XQU<(ZGcea_f z>G@Q*G40`b&7cqV(OVI;C<4DdY%X^FUTvg^VUPD(S~Naqv}TPRyKB}f9-@n}+|op1 z3o~R=5wi;$v4sgkSZej_oqgaCFRWct(@)Pkx15w=uKld-QBg;kUL8-`PxF`V_xuZA zyv3xqEs(BJ82}`2OtMtemBkRR`b*Un((P|g#03kq{naX3o!#Q*PsIPEyjq_)H$?

ao&|P2 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