From 1b322babd0a84d91c20256544b7c64b7c218173e Mon Sep 17 00:00:00 2001 From: Andrew Gioia Date: Tue, 14 Jul 2020 12:46:08 -0400 Subject: [PATCH] Ready for a v1 launch woohoo. New icons for feather and barracuda, Facebook post tied out for v1, basic tag handling --- assets/scss/_dark.scss | 13 ++++- assets/scss/_icons.scss | 8 +++ assets/scss/_media.scss | 12 ++++ assets/scss/_variables.scss | 2 +- assets/scss/main.scss | 86 ++++++++++++++++++++++++++++- content/posts/20-07-09-facebook.md | 40 +++++++++++++- layouts/_default/single.html | 19 ++++++- static/icons/andrew.eot | Bin 3140 -> 4720 bytes static/icons/andrew.svg | 2 + static/icons/andrew.ttf | Bin 2980 -> 4560 bytes static/icons/andrew.woff | Bin 3056 -> 4636 bytes static/icons/andrew.woff2 | Bin 1788 -> 2608 bytes 12 files changed, 175 insertions(+), 7 deletions(-) diff --git a/assets/scss/_dark.scss b/assets/scss/_dark.scss index ac3edb4..cdf5f68 100644 --- a/assets/scss/_dark.scss +++ b/assets/scss/_dark.scss @@ -32,7 +32,8 @@ } } article { - h2 { + h2, + h3 { color: var(--text-dark-hl); } blockquote { @@ -41,5 +42,15 @@ } } } + section#author.border::before { + background: var(--bg-dark); + } + } + ul.tags li a { + background: var(--border-dark); + + &:hover { + background: var(--link-color-dark); + } } } \ No newline at end of file diff --git a/assets/scss/_icons.scss b/assets/scss/_icons.scss index 2ad5e6e..1aa4705 100644 --- a/assets/scss/_icons.scss +++ b/assets/scss/_icons.scss @@ -1,6 +1,8 @@ $icon-arrow: '\e902'; $icon-arrow-left: '\e904'; +$icon-barracuda: '\e906'; $icon-email: '\e903'; +$icon-feather: '\e905'; $icon-github: '\e900'; $icon-mastodon: '\e901'; @@ -37,9 +39,15 @@ $icon-mastodon: '\e901'; .icon-arrow-left:before { content: $icon-arrow-left; } +.icon-barracuda:before { + content: $icon-barracuda; +} .icon-email:before { content: $icon-email; } +.icon-feather:before { + content: $icon-feather; +} .icon-github:before { content: $icon-github; } diff --git a/assets/scss/_media.scss b/assets/scss/_media.scss index 8c1e733..62b5830 100644 --- a/assets/scss/_media.scss +++ b/assets/scss/_media.scss @@ -1,5 +1,16 @@ // media queries +@media only screen and (max-width: $screen-mobile) { + section#author { + align-items: center; + flex-direction: column; + span { + display: block; + padding-bottom: 0.5vmax; + } + } +} + @media only screen and (max-width: $screen-tablet) { main { align-self: stretch; @@ -8,6 +19,7 @@ aside, article h2, + article h3, article p { margin-left: 0; margin-right: 0; diff --git a/assets/scss/_variables.scss b/assets/scss/_variables.scss index 09ff658..ed25234 100644 --- a/assets/scss/_variables.scss +++ b/assets/scss/_variables.scss @@ -1,6 +1,6 @@ // global variables -$version: '1.0.5'; +$version: '1.0.6'; $tan-lt: #f3f3f1; $tan-md: #bbb; $black-lt: #5a6371; diff --git a/assets/scss/main.scss b/assets/scss/main.scss index 5370810..936a4f1 100644 --- a/assets/scss/main.scss +++ b/assets/scss/main.scss @@ -119,9 +119,17 @@ main { text-transform: uppercase; } + h3 { + color: var(--text-normal-hl); + font-size: max(2vmax, 1.375rem); + margin: 2vmax 10vmin 1vmax; + text-align: center; + } + // skinny elements p, ul, + h3, section, blockquote { width: min(50vmax, 100%); @@ -200,11 +208,59 @@ main { // blockquotes blockquote { - margin: max(0.5vmax, 0.5rem) 0; + margin: max(1vmax, 0.75rem) 0; p { border-left: 1vmax solid var(--border-normal); padding-left: 2vmax; + margin-top: 0; + margin-bottom: 0; + padding: max(1vmax, 0.75rem) 0 max(1vmax, 0.75rem) 2vmax; + + &:first-child { + padding-top: 0; + } + &:last-child { + padding-bottom: 0; + } + } + } + } + + // bottom content + section { + &#author { + align-self: stretch; + display: flex; + justify-content: center; + margin-top: 5vmax; + position: relative; + + span { + margin-left: 0.5vmax; + } + + &.border { + border-top: max(0.25vmax, 0.25rem) solid var(--border-dark); + padding-top: 5vmax; + + &::before { + align-items: center; + background: var(--bg-normal); + border-radius: 100%; + content: $icon-barracuda; + display: block; + font-family: 'andrew'; + font-size: max(3vmax, 2.5rem); + height: max(5vmax, 4rem); + justify-content: center; + left: 50%; + margin-left: min(-2.5vmax, -2rem); + position: absolute; + text-align: center; + top: min(-2.5vmax, -2rem); + width: max(5vmax, 4rem); + } } } } @@ -280,7 +336,7 @@ header h1 a.back::after { } ul { - &.list { + &.list { // main page post list display: flex; flex-direction: column; list-style-type: none; @@ -311,6 +367,32 @@ ul { } } } + &.tags { + align-items: center; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: center; + list-style-type: none; + margin: 4vmax 0; + padding: 0; + width: 100%; + + li a { + background: var(--border-normal); + border-radius: 1000rem; + display: block; + font-size: max(1.25vmax, 1rem); + margin: 0 1vmax 2vmax; + padding: 1vmax 2vmax; + + &:hover { + background: var(--link-color-normal); + border: none; + color: #fff; + } + } + } } // schemes diff --git a/content/posts/20-07-09-facebook.md b/content/posts/20-07-09-facebook.md index 54c3a4f..c60d504 100644 --- a/content/posts/20-07-09-facebook.md +++ b/content/posts/20-07-09-facebook.md @@ -1,9 +1,15 @@ --- title: Boycott Facebook, but not because it supports free speech linkTitle: Boycott Facebook, but not for its free speech +author: Andrew Gioia slug: "facebook" date: 2020-07-01 publishdate: 2020-07-05 +tags: + - Free speech + - Privacy + - Facebook + - Internet --- {{< html >}} @@ -92,7 +98,7 @@ Corporations have vested interests that are often very much opposed to public in Just as bad an outcome is that we kill our instinct to question the things that we read and see, instead assuming they've been vetted or preapproved and taking them as fact. The cost for this convenience—both consolidating this power into private groups and giving up our own judgment—is also far too high. Over time as we come to expect and await our corporate censors to approve the news we read and messages we share, we'll trust that what we do read is somehow "verified" with a comfy checkmark. There's no need to read opposing viewpoints, if they're even able to be seen. -**To be fair, it's an impossible situation for private corporations offering a public utility.** They have tremendous pressure from every angle to perform often opposing actions. Flagging a story or not flagging a story creates an opinion. Censoring "hate speech" draws a line and tacitly approves hateful things not yet banned. Political parties and interest groups report each others' content as fake. Enabling true free speech fosters actual debate but impinges requests for safe spaces; censorship gives users their bubble but creates groupthink and echo chambers. +**To be fair, it's an impossible situation for private corporations offering a public utility.** They have tremendous pressure from every angle to perform often opposing actions. Flagging a story or not flagging a story creates an opinion. Censoring "hate speech" draws a line and tacitly approves hateful things not yet banned. Banning some racism but [leaving up certain types of racism](https://www.youtube.com/watch?v=w0HkK-AmOL8) creates obvious hypocrisy. Political parties and interest groups report each others' content as fake. Enabling true free speech fosters actual debate but impinges requests for safe spaces; censorship gives users their bubble but creates groupthink and echo chambers. These utility-level platforms shouldn't just shouldn't just be banned from censorship for power level reasons, **they shouldn't attempt it _because it's impossible_**. It is simply an impossible balance to maintain that no private entity is equipped to handle. @@ -128,4 +134,34 @@ This is federated, decentralized communication over an official protocol. There {{< html >}}

If you've made it this far or came directly here to look for some great reasons to boycott Facebook or any commercial social media platform, here's a nonexhaustive list to get you started!

-{{< /html >}} \ No newline at end of file +{{< /html >}} + +### Facebook is a giant Skinner box + +For well over a decade Facebook has been ramping up its operant conditioning to "drive engagement" and ultimately sell more ads. Every decision it makes has the end purpose of controlling eyeballs and selling more ads. A steady stream of incremental rewards—likes, emoji reactions, shares—along with little punishments like snarky replies or no comments at all modify behavior to Facebook's benefit and its users' detriment. + +[The Atlantic observed this 7 years ago](https://www.theatlantic.com/technology/archive/2013/06/skinner-marketing-were-the-rats-and-facebook-likes-are-the-reward/276613/) and described it much better than I can: + +> We peck at keys in search of virtual rewards—good news arriving in an email, a retweet, a thumbs-up on a blog post, or leveling up in World of Warcraft. The effectiveness of these behavioral modification techniques are in plain sight—families ignoring one another while checking the email and Facebook at dinner, drivers texting in heavy traffic, and 14-year-old girls sending hundreds of text messages a day. . . . +> +> As humans, we have a powerful need for human connection and recognition. Facebook and Twitter meet the need by enabling us to gather friends and followers. Facebook and Twitter's "like" or "tweet" buttons are designed into Web sites throughout the Internet. Big rewards that come at unpredictable times trigger dopamine releases in the pleasure centers of our brains and keep us searching the web for the best price, trying to win an eBay auction, or pushing buttons on slots. + +This was evident early when the timeline was changed from purely chronological to "Feed": some algorithm of new(ish) posts by other users you probably get angry at or interact a lot with without any end. You almost never actually reach the end of the Feed, you just get fed more and more content so you don't put the phone down. Over time constant nudges, reminders, bubbling up old content, and a slew of other changes all serve to keep you on the platform and "engaging." + +Avoiding this level of operant conditioning and manufactured emotions is a great reason to get off Facebook and onto a platform that better respects human psychology. + +### Facebook doesn't care at all about our privacy and will sell every bit of data it can mine + +Just a handful of public data privacy breaches and investigations are enough to completely sully Facebook's name on user privacy. They don't care at all about it, despite the forced formulaic non-apology's that their senior staff routinely make in the days following that quarter's scandal. + +* The [Cambridge Analytica data breach](https://en.wikipedia.org/wiki/Facebook%E2%80%93Cambridge_Analytica_data_scandal) in early 2018 resulted in the harvesting of millions of Facebook users' personal data without consent by Cambridge Analytica to be predominantly used for political advertising. + +* [Facebook makes heavy use of "shadow profiles"](https://www.theverge.com/2018/4/11/17225482/facebook-shadow-profiles-zuckerberg-congress-data-privacy)—a complete user profile for you even if you've never created a Facebook account. This profile is filled with the same set of interactions, web activity, and many other data points that apps and advertisers send to Facebook about you. It gets matched and mingled and sold to advertiers to sell you more things. + +* After acquiring VPN service, Onavo, Facebook quietly embedded its technology into part of their own app under the guise of user safety. It collected all mobile data traffic and [was really just spywayre](https://www.itpro.co.uk/security/30542/facebooks-protect-security-feature-is-essentially-spyware). + +* A decade ago [Facebook was found to be transmitting personal IDs](https://www.wsj.com/articles/SB10001424052702304772804575558484075236968) and other identifying information to advertisers through popular webgame apps. + +* Facebook launched ["Beacon"](https://en.wikipedia.org/wiki/Beacon_(Facebook)) all the way back in 2007 for third-party websites to send Facebook users' actions—like purchases, views, shares, and comments—back to Facebook without any knowledge or awareness. + +If you have a free week you can [read a massive Wikipedia page about it](https://en.wikipedia.org/wiki/Criticism_of_Facebook#Privacy_issues) with many other examples too. \ No newline at end of file diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 81dc18e..04bff75 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -3,6 +3,7 @@ {{ end }} {{ define "main" }} +
-{{ .TableOfContents }} To the top! + {{ end }} \ No newline at end of file diff --git a/static/icons/andrew.eot b/static/icons/andrew.eot index a73b227144e54e27a3d487eb9c1c2ee8f15cd627..f3ce7f5fbf19a581764559540cfc6d03a1c70b46 100644 GIT binary patch delta 1949 zcmYjSUx-vy7(d_nf6o0g|L*Lp?zTJ5?9QmWiq5VxWw!OuLl9&S8AO3DW=goau`B7* zln8;~gY8R1h;M-q2oeZ}EKx7zgH~G5OZnV`O8O*gzjJ5BE@$q&-@o7Y`@ZkYJwFWJ zo6w78#%`9*>#pP{9$h>C%2NLxW9&Qp4jf#VU#z|T%Q?nq6!Ke#=a&}oEJ6-Xd-&+7 z4?gpEzJz>|vE<^BL-X%%IKBTT#tOr*caK0}u8SLx--JAIWMTPagYjFCmmyCdJ$`WB zUnp#bd=c{S!u-iaR^3i_ptuS}{n-4%p&!3JbsF*?Nb>vQ@ug)ZU}2@p!OnzOT{%E6 zlU}(t0e!n(a~?l$=>JkvovN40LKytX?41f>5hV*r<@gf`#@ z#AjSOGhM9yP!A7u5Fj}>Bm{x=M1!;jtsTvI4{{&?sv5ct-+^j!D}}((dkU%%uEe)B8Ssj_;WZ4!i9HLqTe_OI7NF~M( z`AVzeDlXex0XQeaCG8QC6Be$%CenPH0c!#h2Q9<-3URO_BURbkvUAm_w5enZcBD5_ znJCxi>OS+?)@r#`K~kM4rG$!%DS2BkK6BcV)TvfRaWK>ZRXAsiRl-S|dI{V}+mc3( zJ{jSwPCEr88yjV{wulhul8y~mftTi7%6MZ^X;%v41&<*WqLE@$L*FexHMkaBQjc8;2Am{>V+6lzk52IYg*^{hB*W># z{+u}%PQdl&6MTqqn&8A^JZNztMyx(rWo+Ot9_L88$>w*)qLqK$#17bd_~nNd^DJXy hbcTN~nD|_*%7(s~$3^rTKKS9{D?8)LmA(EU{Rb@b*nt25 delta 330 zcmeyMazuj7g@=J*3HL-cGnQFrnq4M36xZKmU|`q-#0kl{i3Q?em%14k7-fL`ko3gj z0w65_7dNZ|H1;j4RXJ*Co+k9o< zW&!D7xUJXt5JCUH%KU)20m$cIU;>E(0Z7$EAIAAm$q0Ow>80hP%P0wP>s PDNcsB3>=%21o)T$cfv)` diff --git a/static/icons/andrew.svg b/static/icons/andrew.svg index 8ddab36..8d8fa23 100644 --- a/static/icons/andrew.svg +++ b/static/icons/andrew.svg @@ -29,4 +29,6 @@ + + \ No newline at end of file diff --git a/static/icons/andrew.ttf b/static/icons/andrew.ttf index 84527c8272454384478f15d40e0e3f1899f6c1d1..1e97feff0cccb79380e3f177e13454fbfd6d0499 100644 GIT binary patch delta 1948 zcmYjS-HTOK6yIxq@AG*-&Yd$l)6DhWnS0e4YrHewTV^9c4?&SZ8bpB&W=c3ZF%#+2 zH4y^A2lXW)#D^ddB0&P7kRj-$e9%e@dMW>c6zoaHe*4@JJM44zS!?h0Tfg;j&i*pL z+3Yi7jD_qZ6KrPB8_#soiuwnd?{U9-U~yq7fAg2KjL|6My@wW-moS$g``I2ka^n3@ zgFBx?KF(Nt>F~jY_col`{}W^BFxI<=p)l9Q4al!Uo;bX?a=gL#Eyyd7r;i*v@Zv&n zG2INsB`Ag$7mhEn8r^|>4RZbH!s5XnzddmZ@*i;W`_i%H6%fT$zT(%J5Ub}_cauI( zuaLg_Dt&GGg7qHV6}QDnwuw!$7hpC|yK(QBYqg)IWDp$Etl#W_x9bV zFYev-s%UMQ`qlbtTej>OuaA${$$8s>-SpIyw=LPVuU4XoD2|tnzPRu5U0B8O+RA;( z#&Hd78FPs8ws^=tVVl{r>}B>bJHxKCTkLQ86#*6Gz%L)lOhW5Jx7w}lj=8>%vOP~d zjO~-fPE#!Px-+vqJ=08J*6nqRZIe&TGws#$ly`mP`A!euk^VP~0bJn{T95A$pK$5S zb}{-xJxs_TKniYf2mfJ6iA__<#XaIkJtt1J&eK@`j^D4GJ8;24$llUa&H# zWw8W0SQ@e@<9hyc#8o7fAPw1Bd z2MDvB?f|w|q|8Ijb=Oz>ogptj9>~OFv-Je8ryih#J%f}$Y|?3Eg-)!iI4Po$C@g8A zm9#`WF)E>GJXBh(eI~7N#^wMyg6+E6&xz@}{y)?MQE=I#H?5 z*Mls`w$>`GDxB(ADJ4{BOgXTr2{NZGNu6kA6bC~s5QTHbSS6gaNg#n6YFpOu(I+E< zn$u1J$wo$5tt~7BvZN!!mFJ~7monNISKHNeJPi=!koRPq791aZ^i8=MXl>TgCf6kuu z=imDL2tQ(+COGdH_gY-A5vz|@85`^u4-2GX$reu>sTcOTi5aZ-a2H1w3s}a+=rsR9 dFmYb2%7(sK*oE{Pe)#_47tV#%tKYZ>^dIxz)6M_@ delta 329 zcmcbhyhOa7fsuiMft#U$ftkU;KUm+0Ux@W4P-G7fCnV=47Kn#k>SkbIlmYTX(i4jd zfV2RR5288Jb1KvPwUc##{0asJ_J)kq#1zRG4-uf$51_nR22g-~5%Vbq22KMYUnL{A zq(X{;X*!S}0^;Z7Cp#vx)o?@r1%L)Hh~y?#6fg)eya)1ofP96##N5=QTPvG@{53#J zt{3DNmjE3K1l%nkc?M?Y)e{fcGqOx#^k!t)?8CU0JsRX6Aa-d!Gb^6o<|_j?3rIb~ zZN0{a2>Sn3<_F9TKt2Zp6G#*YfO?n@{6E0J08!8U03?C}I476zt4vIs79?0}C?;BxqOPVD zp&+U zS0=JEhYucP#PC!`S?J&8J0EA$gZsyp7EUupi_pC0C4c>=OD7gqyzU#U?WUAYoILjq zbl))+U-R-&aPQN_;|p&ymO@z1%hvNpe^`VPx+_>ucriD{?Zu_lv(Vkbdd5qW@w+Ea z9fRGW^e-s3cnPkiJC+vCB5+A!-6*6+_m&ryjzb49`pwJtU!FUE`qauQGI;c#oxn_p zTWb*=Aiee~y+ZoNW%}F<1nWOu7r%-R*mgF_UIf5AOy+6tT)XouwVK*cLbbBdSzhlR zpzYmWzcXuEldXPluG4NB+6&{^Zap8PTBeOqT=Ms(XJ)2nmiIlsJhSnK)~itzx8fCg z!=?K6gCh^=%7b;UiZ)hgP;DIAx%2RNV|=_p&ifAiW~QgTZ^>?awi-=DalB&m)g#x} z;T6Xls}Cs~$20V0%rU`!6_5CbYzKRez0A(Ai|i)5%l@RFkx)Sn{PKEc651TP-D&ss z&JBE)oq6hG?3pYqO|jMQ?Vj!H-K_*}y?(DSn|$h?X|JBAyyr8|_jv%1^uJ*Y;EIsY zdVG)gluLKEhcT%4@j?XwQgA~+5ZDYf3~Nx@(Sr9d1{|QuQEk``Rg+WX9Y>2E6gYkl z%4R{lU}ezDVhePzHJlHIuiG#i!LZDbYfk_ zNfC`iVMz-xe6t56X{Yr z8+&1_HdRwjN+nh15FqPh+0HDigmA<@<*Im9h%Z)#g;4#!aRh%En5<# zViVMZYP;&HF56KBI48p;?H7_02A+W?(tMWzYXTAnEyMX5aj+vJRVA<$=W1bjd)cOT zq(4%fs5IsqK^A0FwMx5+pgLAc2^AVs4s2?I%xOzfCt4ZB!B7ii;hZs62`6n5NZ^Lr zmNjAw$cUikv{OK`kx^D_3lD)R>Bw;9d1=n2jJCzqPBk4*10-4Zk&M%VZonLzb*_ZdbwfvybGRi$ zJ4H>VRw0s>t`g`_UnePKAVW|uq5g;ue~H3dG>C*WsZovy<=`kms?8u2J{STyU~nNp zn&TK)Oazs&TXy5sM}@uLc=Cj6*WAPuoca)dBQX}RjE&I+{;go*6LCv6 Q^_{{kq+gi3vF;N7FR-%IBme*a delta 364 zcmbQE@d8Ee_KYl(eHgtNSvJpLT+6Nr@;DH? zG@qFj&u{aUftv*=z`$@@ukj&*{(qJE!Q?)EdEp0;fC4Ll5S)__@T0X70811t*| z00bZfgI5P28($3(6|E|eeR05(;f?6U?Y467m#NIG9j_M`Lm~thA;S9MKtFQdk@*IrLA2E=VN&hMMTHFpQ}(Q&*T`@rtJgV-+8m z@!W`YkJ$K@!&~JI!WXh)Lh$6hFtac8K*)K5nIO1-bJ5>lb!#$^k6!y2AuC>rea}cU zRjOyk2R>(AX$-M;w6A+o3AyYkSG`9AZ`ySCHVI&lpFQ@CM1Z^L<E~Oq(%ZIHT%qPpg60*Z%#4}J1)UQhP?CW z(On&XkU$IzlM6p@=_!PNFwZuT}2IUH{s+*TxTt71+d<^ z10y8#@s?N$Hv|D{^-yCN0%zgf4JR1@5U$wkr9Pn61r)w9yziO<@MQWRVj@pGBr><) zz}r)ysOX`b-$WKdHh;542rbd~N*^#Hf%q_gO1d0%j@v$2xBV!D8s|a?1^s6O3fsQ- zDYX*Aw2Q{9#X=2{I{%*EnD=@du>;C-$#Tk99((|vWdqoVI+XpF+iR4(DO~X$J0XffQ-73vWd&sk_~ie z?u|~c<-*>Y#6};))jeI4xLAG`V8|sdc)Za$uSaLvDgob?=lKD{l7Fdn|Dr3sH=W?# z`nuE4)INaCppw{)P+wrAT${-vScHVE9yDxNl9N>W`bONzSmgvPiOXZ$>~s8o5+jmQ zLiFNux(8}aJZ2y0(Dbn-DqwJ95v^Y?V{BkV$3Hl2**4Fr@h5DxLwy97ZiBC1wDp$1 z$C|fqA!!FXXjs%9M7ain;f=+cGKTd%oyR%$@aQE2Fwv={ z#RxoZ6XmK~I8i=C+U|3tZl(K?DSv_ir<0X4{D#FWIQ@Ikt?!!#AGmzJQ=%5w79^6fn_4!T=5LK##>DSTUN#fYAqpxL5Wy~$}AhF4e zrMH+I{q1SKlJ6vT6sQE2z6n0-n}^D1N;IT+u1|y)-KVvWV}YOR>_@ zAiPy9spqWXjo_h+0sl2sWeGBcy`92zVMcj{3C*0TBS+x>{aW8d;(AF&9O0c4;~3*q zl<%x@RvYwAT4(J*R_&s8PD_6NEi1FTD=9f3&&y$=ySrIUbF_YcLH>LXi<38{^4qtA z#Nt4S%Acf{#|6s6CQpuxfAU3>&rjkfw$|$1^=_q1vClraVxN!qK80ehH!yr!mOU-n zeMWS;fYnSLPNZ)&LxEky0P#pNQpRXp9Z(Y)VdhrvuJI>;58LhGkv@>fZfxA`neRGh z8XB_6XX&Tsel!?=KFwbF@!`Wgm0i4N%;--%n}12}etyaB@BX_d(JHKa@;@**m(wgX z+%%fFW--CvzGBCUpLt%n8c7pE@<{q(iS`P%{qZVwwhEMWv|czAAJ)1kCu`UuCBV*9 zfNrAVqEH_M=LrkNITfjev%EcB?2=aZLpV&qM%~Xm@r9LtSJX2#98wyZAd69$&Gu$F zE0>RxEz~SnznwT5CL)B{#Z%So9J}Rde1JYeSi%@q7yXE3j9g-Y9lfw%fr&>N0fA3* z6--E@_&R}!Z;}|j*=;&^>l)igbc<&sM%g>TGKRt_ESCdg@R6b(oI|3#FdIh!$*HuP zv=V|Lt_VhdDU>b@kN23`WIuSYdI2L~h=<0-WlMw#-j`b+sL;vsdC|66eB&1*W~oxe zh@#h(lv0z7kJ$+lQ)(NA5)z%2UR|MK(gdNIB6Wn?G@dQ&j1rRK#=8^IB8i$#Yrr#6 zXHSIXPqZ79HdNL4fiUhUQnjRE9ccosK-?(MZ)IVBC4>-&ZKkbFxMb5rOPd1zLyt!j zvz5Yd}@(f>O;a9SkfM0DvIZA0Q@>5VsYzDe~y54`D6-1DgQ^ zSV#VUb8fjZ(7Nwef<}R}<+gO}9?FYpeY_M1Y|<{9 delta 1779 zcmV9-6JTUVXMLMEQo8<_ByW|@Z;D8u-%!EkmL@Oe9t%uf;m_SX9 ziu?2M?RO> z3rWNqXK5uYl%0itp0=Q8lY-2O@f9xU1%SmGv>0pv<1o$wz#?Nm=!am$0mBulaA*Q} z$;1x+e-IJ^sdfi!Nd$wu3!qSpK_aFIf@5Q77*VxeGXMXZ36QdZM){az>XVis0o8`O z0hf>fs;U{y0V3DSOo_tEj!drZRGOhf<`3a z)#fFgVk1p|Hf`~4v^vu!LhiO@mvVf#0x6)X*-hUn{KN zsW5L_QF?3?YZTy=*>LyQHA-qYWsD671c7YkO2o9bmWQ?>V_7P;cmpZ zkPI^}F>(%GFJ67!t@FAJ(KKpPEt@tto7Rw~6(kNPUruQBW}befu)Y~63UoT6Lxyf5 zSD&$hVSxr`nrb1Tb7DBIQP9{bFs@cD->w)BVX~gLF`=*zuDReEYM52H%FgDquyB13caYYULwkFI$lC92Fl} zJoBdl&A&8TG9c3&ih_e*-^e_bk+7JR z>)^OEsrB~iR0gzLn>iX?}O%eN~AEjr16 zOPQsXUcL=qzod+?|Gj|Tv6VxRgzxOsy;#Cp#9(Zy+FUw2=1eb};}4Hr##6$t9=jB& z5rz1S3hpoe>WH(0YD>#Md>CJrwzJUxA}LJ*+o2u#dF1%-y)C^4IVZ53G~V_u_HI7D zQ{~-P^#1h~-3pfFh{lc`4(>-N+@+|0V@cS|;0fxZ!&bQ+)&KDWo5dMe?>RfY{mk#q zTi-X&IC$mQgN@SzBjH*gSSi zddWZcqvmeB)Z$glu|yHejs=`{e$2d&=T7`E*LFo_;z^r|T-KQ%?_Yh#Kd~TxkQ+NO zP82ANofu=EJ}~_jJw1S;StVmBp_hP=BuGR7LTRGZ-XmMRVa%)$0+-LMYEefjiRf|B z!XDo@DVB}c4xI}Z?XvZ>ByOB-`961HMn?uhkg>}b%=u>h>Od4N1usoFKQ4@Pe zwVyxKBZqCRF3n`CdZY`}MU}n9$>JnUu_#5H(pQ`0oFp#Hd;YDwY|7-^Jnvpga*3N8 zokZBAc=~!t-0e=?3=X?}+czMv#jZ8n zD)s)b@cnAl{_ya9D$u+sTJ0J6p0n~Z{j|wTM=fN04cA4^qqtxP0Hpt0u?H9h*?A4y z7G@B@BWJHU+^=u9n6GSt3D%a|e)L0h)0huJu#FA@IRyKZFc3FmpU#AhoRUc~kU;7( zvIR&Iyu&0Qta}S=X&S44#{rH5nqLnK0AlmDngOsn?sz2=%O<4_LK&0AtyAK}aO8FZ z366k4g#(BkR;pz9PZwaooeE6g?oiqgKn1XXyI6?}fxEo~Kk)pF<6l&d1FfN|j8tvh zI~99Hx^}>@0op^9GW0jv)*Nn>DDa=ueSlg64AVzz`9Y;&hFqjlAc1}XP}(dWX%xb= z1OoMC0_HhQ$@dV%KY$|DYK<|N*2pf@{h3MUw3*DxVgJ1`1!>d4Xc1~jp`i;wv_`8& VB7q7M{7~l7Las*9_U;E50{{}fS_uFE