From 8b55a8183008b8c655a30ae5ccd8fc1df905857b Mon Sep 17 00:00:00 2001 From: v Date: Thu, 29 Oct 2020 09:12:08 -0400 Subject: [PATCH] Original source --- 2prong.js | 237 ++++++++++++++++++++++++++++++++++++++++++++++ README.md | 8 ++ _clipboard.swf | Bin 0 -> 109 bytes checkemail.php | 12 +++ email.php | 29 ++++++ furiousstyles.css | 139 +++++++++++++++++++++++++++ imap.php | 63 ++++++++++++ index.html | 142 +++++++++++++++++++++++++++ logoa.jpg | Bin 0 -> 3808 bytes logob.jpg | Bin 0 -> 434 bytes throbber.gif | Bin 0 -> 7263 bytes 11 files changed, 630 insertions(+) create mode 100644 2prong.js create mode 100644 README.md create mode 100644 _clipboard.swf create mode 100644 checkemail.php create mode 100644 email.php create mode 100644 furiousstyles.css create mode 100644 imap.php create mode 100644 index.html create mode 100644 logoa.jpg create mode 100644 logob.jpg create mode 100644 throbber.gif diff --git a/2prong.js b/2prong.js new file mode 100644 index 0000000..0b80e6a --- /dev/null +++ b/2prong.js @@ -0,0 +1,237 @@ +/* +2Prong.js +Copyright 2006 by Mark Percival - Percival Industries, LLC +*/ +if (window.XMLHttpRequest){ // try to create XMLHttpRequest + XMLReq = new XMLHttpRequest(); + XMLMail = new XMLHttpRequest(); + } +if (window.ActiveXObject) { // if ActiveXObject use the Microsoft.XMLHTTP + XMLReq = new ActiveXObject("Microsoft.XMLHTTP"); + XMLMail = new ActiveXObject("Microsoft.XMLHTTP"); + } +window.onload=kickStart; + +var genEmail = ''; +var checkMailURL = 'checkemail.php?email='; +var getMailURL = 'email.php?id='; +var recievedMail = new Array; +var emailidArray = new Array; +var position = 0; +var emailCount = 0; +var interval; +//var domain = 'iheartspam.org'; +var domain = 'reducespam.org';//update this +var XMLerror = 0; + + +function kickStart() { + setEmail(); + startAutoCheck(true); +} + +function setEmail(){ + var regex = new RegExp(/\?email=(.+)/); + var match = regex.exec(location.href); + if(!match){ + location.href = '?email='+randomEmail(10); + } + else genEmail = match[1].substr(0,15); + checkMailURL += genEmail; + setHTML('emailaddress', '' + genEmail +'@'+ domain + '' + "
Custom Address
"); + copy(genEmail+"@"+domain); + + //updated 150610 + setHTML('emailaddressincontent', '' + genEmail +'@'+ domain + ''); + applyClickToSelectEvent(); +} + +function startAutoCheck(toggle) { + if(toggle) { + throbber(true,'Checking Mail'); + checkMail(); + interval = setInterval("checkMail()", 7000); + } + else clearInterval(interval); +} + +function checkMail(){ + request(checkMailURL + '&c=' + Math.random(), checkMailProc); +} + +function checkMailProc(){ + if (XMLReq.readyState==4 && XMLReq.status == 200) { + if(XMLReq.responseText) emailidArray = XMLReq.responseText.split(","); + if (emailidArray.length > emailCount) { + getMail(emailidArray[emailidArray.length - 1]); + position = emailidArray.length; + if(emailidArray.length>1) multiMail(); + } + emailCount = emailidArray.length; + if(error=1){ throbber(true,'Checking Mail'); error=0; }//reset throbber after error + } + else if (XMLReq.readyState==4 && XMLReq.status != 200) throbber(true,'Error connecting, retrying...'); +} + +function multiMail() { + var navoutput=''; + if ((emailidArray.length >= position)&&(position!=1)) navoutput = "Prev "; + else navoutput += "Prev "; + navoutput += position +' of '+ emailidArray.length; + if (emailidArray.length > position)navoutput += " Next"; + else navoutput += " Next"; + setHTML('emailnav', navoutput); +} + +function prevMail(){ + getMail(emailidArray[position-2]); + position--; + multiMail(); +} + +function nextMail(){ + getMail(emailidArray[position]); + position++; + multiMail(); +} + +function getMail(emailid){ + requestMail('email.php?id='+emailid+'&email='+genEmail, getMailProc); +} + +function getMailProc(){ + if (XMLMail.readyState==4) { + XMLMail.responseText + setHTML('content',XMLMail.responseText); + startAutoCheck(false); + throbber(false, "Check for new mail"); + autolink('content'); + document.title = "ReduceSpam.org - New Email"; + } +} + +function request(url, callfunc) { + if (XMLReq.readyState < 1 || XMLReq.readyState > 3) { + XMLReq.open("GET", url, true); + // Set the onreadystatechange function + XMLReq.onreadystatechange = callfunc; + // Send + XMLReq.send(null); + } +} + +function requestMail(url, callfunc) { + XMLMail.open("GET", url, true); + // Set the onreadystatechange function + XMLMail.onreadystatechange = callfunc; + // Send + XMLMail.send(null); +} + + +function setHTML(div, data) +{ + document.getElementById(div).innerHTML = data; +} + +function throbber(toggle, msg) { + if(toggle) setHTML('status',msg+" "); + if(toggle) document.title = "Reduce Spams"; + else setHTML('status',msg); +} + +function randomEmail(length) +{ + chars = "abcdefghijklmnopqrstuvwxyz1234567890"; + var email = ""; + for(x=0;x\f\n\r\t\v])+/g; + document.getElementById(div).innerHTML = + document.getElementById(div).innerHTML.replace(hlink, function ($0){ + var s = $0 + if((s.charAt(s.length-1)=='.')||(s.charAt(s.length-1)==',')) + s = s.substring(0,s.length-1); + return(s.link(s)); + } + ); +} + + +function customemail (submit) { + if(submit) document.customemail.submit(); + else {setHTML('emailaddress',"\ +
@" + domain + +"
Submit"); + document.customemail.email.select(); //in case its non-IE and no flash, you can still ctrl-c + } + +} + +function letternumber(e) +{ +var key; +var keychar; + +if (window.event) + key = window.event.keyCode; +else if (e) + key = e.which; +else + return true; +keychar = String.fromCharCode(key); +keychar = keychar.toLowerCase(); + +// control keys +if ((key==null) || (key==0) || (key==8) || + (key==9) || (key==13) || (key==27) ) + return true; + +// alphas and numbers +else if ((("abcdefghijklmnopqrstuvwxyz0123456789").indexOf(keychar) > -1)) + return true; +else + return false; +} + +function copy(text2copy) { + if (window.clipboardData) { + window.clipboardData.setData("Text",text2copy); + } else { + var flashcopier = 'flashcopier'; + if(!document.getElementById(flashcopier)) { + var divholder = document.createElement('div'); + divholder.id = flashcopier; + document.body.appendChild(divholder); + } + document.getElementById(flashcopier).innerHTML = ''; + var divinfo = ''; + document.getElementById(flashcopier).innerHTML = divinfo; + } +} + +function applyClickToSelectEvent(){ + $('.clickToSelect').click(function (){ + var range, selection; + + if (window.getSelection && document.createRange) { + selection = window.getSelection(); + range = document.createRange(); + range.selectNodeContents($(this)[0]); + selection.removeAllRanges(); + selection.addRange(range); + } else if (document.selection && document.body.createTextRange) { + range = document.body.createTextRange(); + range.moveToElementText($(this)[0]); + range.select(); + } + }); +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..f4104e5 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +ReduceSpam.org +- modification required in order to run this code +1. update imap.php with your email server, email address and password +2. update 2prong.js with your domain name +3. that's all + +- things to setup on your server +1. a catch-all email for your domain using IMAP \ No newline at end of file diff --git a/_clipboard.swf b/_clipboard.swf new file mode 100644 index 0000000000000000000000000000000000000000..2cfe37185b27a7abf2db96f1ed2d6d15d7f601f8 GIT binary patch literal 109 zcmV-z0FwVhS5pUh0001ZoU349jb~usU%=9Emx)0FCc@6Z&ImM#g9$9j P93;-*0OSGyce)t=rY|(Z literal 0 HcmV?d00001 diff --git a/checkemail.php b/checkemail.php new file mode 100644 index 0000000..ebcc64e --- /dev/null +++ b/checkemail.php @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/email.php b/email.php new file mode 100644 index 0000000..8bd371a --- /dev/null +++ b/email.php @@ -0,0 +1,29 @@ + To: " . htmlspecialchars($emailContent['to']) . "
"; + echo "
From: " . htmlspecialchars($emailContent['from']) . "
"; + echo "
Subject: " . htmlspecialchars($emailContent['subject']) . "
"; + echo "
" . htmlspecialchars($emailContent['date']) . "
"; + echo "
" . nl2br($emailContent['body']) . "
"; + + } + else { + echo "
That's not going to work"; + } +?> \ No newline at end of file diff --git a/furiousstyles.css b/furiousstyles.css new file mode 100644 index 0000000..4c51331 --- /dev/null +++ b/furiousstyles.css @@ -0,0 +1,139 @@ +body { + margin:25px 0px; + padding:0px; + text-align:center; /* Hack for IE5/Win */ + font-family: arial; + font-size: 90%; + } + +a { +color: #FE8801; +text-decoration:none; +} + +a:hover { +color: #3E98FE; +text-decoration:none; +} + +a img{ +border:none; +} + +h2 { +color:#999; +margin: .1em .1em; +font-size:140%; +} + +FORM.hidden { +position: absolute; +left:-100em; +} + +input.email { +border-top:none; +border-left:none; +border-right:none; +border-bottom:1px solid #3E98FE; +text-align:right; +color:#3E98FE; +font-size:130%; +} + +#container { +width:750px; +margin-left:auto; +margin-right:auto; +} + +#header { +width:728px; +height:55px; +background:url(logob.jpg) no-repeat right; +margin: 1em auto 0 auto; +text-align:left; +} + +#footer { +width:728px; +margin: 1em auto 0 auto; +font-size:70%; +} + +#emailaddress { +display:inline; +float:right; +color:#3E98FE; +font-size:130%; +margin:0em 0em 0 0; +padding:0em; +} + +#emailaddressincontent{ +display:inline; +color:#3E98FE; +font-size:130%; +margin-left:0.5em; +} + +.custom { +text-align:right; +color:#999; +font-size:80%; +} + +#navbar { +margin:auto; +position:relative; +width:625px; +text-align:left; +padding: 5px 0px 5px 5px; +font-weight: bolder; +font-size:120%; +} + + +#emailnav{ +float:left; +color:#999; +margin: 5px 5px 0 5px; +} + +#contentbox { +margin:1em auto 0 auto; +width:750px; +border:1px solid #BFBFBF; +text-align:left; +} + +#content { +padding: 2em 1em 1em 1em; +} + +.ads { +padding: 1em 1em 1em 1em; +} + +#status { +float:right; +color:#3E98FE; +margin: 5px 5px 0 0; +} + +#status img { + +} + +.navitems { +font-family: arial; +font-weight: bolder; +} + +.to, .from, .subject, .time { +color:#999; +font-size:85%; +} + +.sponsor { +} diff --git a/imap.php b/imap.php new file mode 100644 index 0000000..e87f3a8 --- /dev/null +++ b/imap.php @@ -0,0 +1,63 @@ +to) , $email.'@reducespam.org') !== false ){ + $emailIDs[] = $email_number; + } + } + } + + /* close the connection */ + imap_close($inbox); + + return $emailIDs; + } + + function getEmail($emailID){ + global $hostname, $username, $password; + + $inbox = imap_open($hostname, $username, $password); + + /* get information specific to this email */ + $overview = imap_fetch_overview($inbox,$emailID,0); + + //refer to http://stackoverflow.com/questions/5177772/how-to-use-imap-in-php-to-fetch-mail-body-content + $message = imap_fetchbody($inbox,$emailID,1); + + $emailContent = array( + 'subject' => ($overview[0]->subject), + 'to' => ($overview[0]->to), + 'from' => ($overview[0]->from), + 'date' => $overview[0]->date, + 'body' => quoted_printable_decode($message)//refer to http://stackoverflow.com/questions/19092161/php-imap-get-body-and-make-plain-text + ); + + /* close the connection */ + imap_close($inbox); + + return $emailContent; + } + +?> \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..08cbb8d --- /dev/null +++ b/index.html @@ -0,0 +1,142 @@ + + + +ReduceSpam.org - Disposable Email Service + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+
+ +
+
+
+
+

What is ReduceSpam.org?

+

+ ReduceSpam.org is the no-click disposable email system. It provides you, at no cost, a temporary email address for signing up/registering on certain websites that require verification without being bombarded by their spams. ReduceSpam.org, as its name indicates, helps to reduce spam emails in your life. +

+

How it works?

+

It is as simple as 1-2-3.

+

Step 1: Copy (Ctrl-C) this email address:

+

Step 2: Paste (Ctrl-V) it in any form that requires email verification.

+

Step 3: Wait for email to pop up here at reducespam.org

+

+ You can keep and reuse the email address for as long as long you wish (for example you can bookmark the current URL). However, the messages are kept for a maximum of 2 days. After that they are being destroyed. +

+
+
+
+ + +
+
+ + + +
+ +
+
+ + Like it? Share it: + + + + + + + + +
+
+ + + +
+
+ + + + \ No newline at end of file diff --git a/logoa.jpg b/logoa.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37b11f6bc773ef2491340159660b8da8db343fc0 GIT binary patch literal 3808 zcmbuCcTf{u)W$cVgn&RoFVY36N|hoCK`8;G3871qjuhz~q)HV6d90N19m`&hKA)zWI!Cy!03iV%?^FEUgl*ZPjDC^XSiBtgw0GpjVp;N* zPa<}R`7mA)L~p!2F|C_j7@s#K@K03a!2|6P)dTgw>vQTh>sp>cPZzJ=TFQAjg;*JN zk=;p%`uwf=lKg4+%1flMj~$B_w=rVuYN*;1>G(LibRBxE`<(woc_N)x+JQ$QWV7;*)kVhG3c5PK9h>D(Ewqsy z6mjv2=M_ff->_Y*w=|3ta8J`-ucabYar)7sA8W~LZm*gV6TQIb>|gV> zZ(VNKE&PY&WN?Xh?Xdb-)}!#d*yBT*c2?Q1PBqo8otk_qNk_as7-vVZ=!ajkJX%$A zm%e(|>g!N<2&&-dd%(%Zv``#D!-G{6n@Y><+g<5p_s=Hl9`o;A+2P!>0e-VN##UDs zTID`L&w-_`_><@~?kgbm3V!B)HdC&3#3gt&jd|KH!zl%m*|@_>Ep>Th>6To2)NJbP zJK0`}aVf~9&NIk$uM!?bQzu1^pP~qrv~bqkJUb;-A}Gft%ctM)q!L>;mo;Y{?9W$8 zN8B1Q_Kj;}OdIfRw2AB>v$)C}dIUmFB!vki4R*O3wQ!Sj?}`yD>UM({W7HKNE}B$! zBVuOn$<7AGZwR??RlSNT=XVhIec2tQGqOj;gWr`!n&x$Dr{7IiDTzlrQ9#cy}#L(wRmXkmBU&t9X6 zuY00SBq+snIw3m4HGyap4vi5wls%>kSfAqH3w|(~R`xhHgX%fISMJIJQLkDB{8=dp zLpRiiGTlyCZd2L>4G~Mgn-q-K-48t+ZKZ9&Ozy}prWaYSv_6Y8l?=*}9}aUbL*AZEFOJ_Rbn+!;6aq!Jj0G%Y zy!n3jG(&$}&d%hye0Sv(*j%cdJR!W~f&FUA$_oq5(bFNe4!3>D`qvJ{j<;^8vQ3Pe zh{$ z^gDmh&%__~znN!?{%LB}KHX@-aI#xWecX7bXzD>zu&(`L<)y>kN)Xcj9OE~M6@eZ}+_Y3qw~H2v__pq`{N&R+N7}TjC+Mjv9~ju)J(#O)io80`0{o|yUY_fZx}|`|H|m`V=gRA zqHx89L+9z@JWk(EK8dmqw}SWU456gQ8@snB!Z6Y0sT$2wC5mp=dz@E)kOz;IH5eZd z`L_5&r44`9p5*-g>V4xN)}hIU7KTcej7Urw4bnP&K1<}sOnTDp%Tp9;)~H|0V(~|i z&r&g)E3)4tCXBr)d1ceVrIR0Z*Pl{_s>XR6WhH(b(1}>K=~F!-5qg@;$0&6(Ekq`Q zbeS<6V}FG`&6kmbN*?Xph_vxly7Ler4q4EJU2(GK|J4*!Vvs62&KvZK|MZ$Gw}k37 z#xOu1XRK<3)%cD@5e-V1219#XauSG3vGPec&#`{hRr|)9)BvMJ{B6^?-`R2QN#XLW zguM4%y;@s-bUwKuHfQAA1hw>0x}(GZ7=&aoD9jiX)TH`z{M0%LRN?gQ6HJAvka0-7 zCbXa&^1r!nl2N0xvli&*mXxfm3koS_h<>tKP0q|Ms@-EeR`9la$66#qsO(`;4r#=r zFR>aEnFbo99_hzpEJ=%A`aPsVerY5u@UkJ-RT_ab8>+xucirrA8z)AS7ggE{B@w+0 zFwv2kDK)WP?bRatOgYl55T&y^H5-@Pj*lZs^GgdDh0_9rXZLK^nL2vz^?kfvO{9}6 zJ{#>BFTLGNZx$8Fwr6(HS)?yI%SBfqAc6o;qCcGl1cn0yRMZ?Iga|hpZHtOZ7^kRC zXwpY^E-{6t?pfKx!tz=}^M6|mxg1c(kZj~mb={SuY{~Q-VA70*zK}Uf;5O0H$Uj8n z59#xD;%~oz9II^`*Vad`m6yHwqP+h~y|OqD!S>7g4w;EqcDj!@IoKw^;n!I0LbHj8 zW;W;Qpt2|3?6)u$;bExb%?m6@!>-) zsjuIhx+y*qNtCfd&XD9A8mnR9-~1!IV~4Hsm^9;!m5`gX4Yker%hw&2QFB)N{QO_j z%jOyB%wvSEW!PXM)xxWtkr2BLETK%9Rxs`Z<{Ut`zdt=8g))Vh&&Mdmrp&nA4kYJ^ z4-d&au*?~7hR9hGaaXnxKeI|1?F8e_VxZsWGOdJLsR9%}VqYD(SCD5B&69BrfW6_w3icqN{&+CT?dFN3VWOt^ej3f2GR%G|HxPmUKslF;*L#?G^b>s6MisMbPZ$l< zy^4~_Lo`0)@v-l36&3wo1D1Y@BAp3oUpIX&q@!U&F0<45fqbyQ2P z4h(SGD)5?B>)qyxdn_D!4KI=5SjRSC<$^5!-c~wwB$0k7kzr@%s#p#kYgWl4>?;b* z%usifK3RKisMqa?-ekpN1GrLZ1tqG&VaOEmyUd|5Q4gu2U(H?^OJz5f`G}PIuq9!{ zz84&IsP*d$mEBLQ%lvWO>BCI#6`}^}!AxINV42osI@8K%eW$85*8Yoiy5oRj&D0+0 zI{qkod}5v4+IXjU=8>am-b8^v_Z>3B+UD^lYm5PQd<=PH=*u*((stkCYTO#i`Tb0M zH~*U)Z`jZKF&bPV7sV$WfQ z-Fe^H4573j%BpD4Ez!Y;Q%5Xv89CD}MOanXKL4#(%irq@M>$zIX>YU4Lx-cto&{*M z4l+kVU1hpj2Kf$6-fvq{Bo|-t$gu|~fwVW%4v^Qj(|e@7bxWqXzVE&I?pB~;!Uc;p zGFdDl+)RYBRVJmFV&+*G8I)ik!U2Q&8?(;xd`SlqQzN?u!|^r7(T(K-gVN)Pp3ZSp zy3x<6m1C<`S-avi(F-&rlW_fRNowZR`%1Z=`KwpEr%KHWlN$11y}cxN5IM6OkVzQt zszNbxJNNV#BB2P8eNWyJ%4Ki;?1X#Ro_NC<7D7`(i0qP6Kw8{0I^xG|C9 z7bNY;Oz;xYnx@<`3IY41f@W*Xc_;Gno@mcDsUmlIH0>0);94giZRgpTTLq?2Otr0W zprL+ZIXjaMw}6-2S8r2Q+#O&hj!&_s8bRJ9~sxwi8J!f4rPxuPUE; z5+b)9d}%!3|9P-Ke{R71U*iD+$pL&902}<$ZGedW^BkZH!vKbHh#(X=<^Q!Em#mEX zD?v3zeAlP=SewaIs;5vU1O)g*#Dv8}pz zMaxJFh+J$ut<9}HZE`}ry+dW=16j zCP7AKLB{__7(~I&WIzV&|8FsHfE>@jupC(&Cz~B;jtE2pvKp{4OajP4z_7rrlo^Xs n0kAWWjA(#5j?tb$>_6BvL3AYv5Q`asN(@2P;ZVQ~QE(FgYm7oTh8YBvNd$37LYP4#pkPr6 z%4kt>#;GO>NL3KEA}U}&MLhMi)LQlQc$$x%+wVKQ`|i%Wp8I#bYd!1t{)bh*KAuZs zgn$ru1OOI`<>L$=EkA#>OwRDLW$b6m&4!Segechi2%p z)bv;?X1He2U9;rRaNd%2-jX`Q2}|4wOK`Jg^&yL-#_|UU0so)J!9ou74h@lt72fU( z++c9#E{A{MaCpE1xcqtVpU(tPi%6X=ccEExD{u6rc~$PaH}_qKy91-GW~~RS<8I}x zvqGQN9#iaT9CK0J9(C@d{bS;ieQqB_Q&BQBl?-o}G2-|*=~fvjl~62$_;Kt?jf9Z8 zsai_gSq1C?ARW5dmVHddi?fq76A$}rOpuZJSD0B+!p?*}h^|Nq5vjLNG+nvEqsiE1 z&>lTGPXZEdkKP4{b_0C7Cp+S3^3~m`-*t~t3j=7p7wmS-o>Ot_TsurMFP8r%GwL$< zjs!vS7b5pu0@Srg6*F?tW198J>zs(!G9P@kli_I4oSqAQ7wT&^G~cPEorw$r8e977 zF;=MAc(!$og=RhCV)V^64K#dRpl$Sh-vS+Qi@D9qo2t1z7mf`^41xl*c@0;t2Q=f| zB;TsK1V+qTWwi>G%j=s!_4(@*oYI`r0hI=<-X8FUNdZ$BCrKKS208}Dj{0=<{RWMa zab(qS2OtjcrE^y?GlB9bLK%OsU+q_->$ir4ovN5pO)rb%mA34|y?y6sz?P>K4)@+Z zmGC_F2u4^Nh|hbE@PcEq*eB0DqZt35A_s5#v$2T0k%!t|X3H#+D(2VZw|(aWl1H{z z74)-pwR5Y0ixZ{Yk1o#QSNX&)_h($f2uUxgGw}q>4WU=`Q{iVY}0|Ax{Z0vvYorPO7`k_d3-1wW$L8q{K|vD z8hUYQxDAhoHAr{G)$QGY7U%n%m7<-Uw#Qf%ZT1pwp8a79-O@m*)8$JEI8AyQw98wkY4 zSDkGQT0#n+A9mc(4&sSQZgWDG1ieRB~%JHN|=LP>n zT0fmbcy*ic6i};7P$AHW&eDtQWN!E*~$% z4PK2bNuK}`AAT1JY%^=NU;CG{YNw|&;Z`|L0f0-}o=>tVR;|}M=(oZl|78An-)Dy- zzUK9F0GH{gY})6!GVt7!h*I!+jJr(B%4V6>J3I%U;!*-UT}OnJ2W&nECsUb9#wbbQ z>ex%-BlMd=sv&^N6PcNdinhIAl0D6$;vG2fKO4m6*OE+qY3|n0vF3-qo~Qh!MInoV zmk~O0OU!jQyBBV6Ter73Do`i?#9d;)cOoFPZYdm}BV*)k-yzG$k`O}eWP~DCEQ^YX%^@M4E(lM9MBYpk#0_+aNO9K?yyyoK}RzA=Z~KQ>F0k z{1AR8deoj1dCiA*hs)Fe^h8_WL4U42-%oaU7C&I^9oz7Gi74$PT9}tFfzHf=b|v>Z ziB2XQ7x<^cs^?As;+TtZ6a^QY$%;2s=6DSPA}$I_vZ<^t{%&VU)0F9kw*x$X^eIXv zqZ)h14lV>1tg$p$JIRwfMJB(w#1VR$<9O@C)-8!%L4)txA1;WaILQ?==7Hch-5v&& z7;Yqw)vPmK*z^py>R@-z)P)66)d39uPQfE$-|DEx7ZQX{YKX*UJie+Gh?TQ9nAo<1 zK*mJ3Up*^X#Nx4G>VgfMu@YeYY@%nDvwu8*yU!L10UH5?;P=KXP>TS~#-q!Mov;;R z@#a8QmDTVy)lwWG|A6HPS@pB-VMW!Q&BAkP&FkX;PJZI)qL*8%=Q@4eyH0Wnz4uS? z=YZd-x|h!Z3U-@r{P_A3QN>Prw=P4O>1=J>5JOvjOTXo}7_mCXZ=Mj$2L#i+&DBAx zR?9YhdR3%W_#uFOYOIT4)Q_kizLjL(24Tw|X?POY36iD&^Jk?l$^9ESTI$KcNwNHXN zab|1gcvxm*i6s6;2MO#>fG+DIWzP3o(|MF^M|TZ`7Z>^r4++34E5jW2j88Yd#Zx&I z+y4&V>UefB>aZYPqjnkulz=C9=LH$Q*^x|yTuSnf&gplAm z!TMJ=oiB~#CSm7~Nt%??0inBEFb7SHkX$~+Q;0NgkYypeXaU`7-SgGF?8Soy&qQwg%H{4`SeZn{`amzrNyxW5Oy?hOnJ(|HTi!m`OV<)=PSGdKTf0 z+JNqlQ7*V_xo$i4>Z)Gw`o5fXIoC374efewoiQdt*xSsN{=;}Mg?WL{#Dr+`>=K>q zm+BH$d)ngub82zHGN19jG#ZsrVQOn%a9HVxE689`!vb<#{L@{%z0XVR@m(C;{h&e) zzceS~*_^=R)O;QS*9~&VK7Km|jiyfyma^R)O^6bdc3I?x8X^t(H!QO&PJuY5)tRs~q2i9wbt} zbjP`=G+O9biAQJWy%G>4I;Riz>8p4MD>k@fP^8g-()8FAW7W9MvXdH5s$2@*tHW{U zxroA=jukXYzmHekX59gBB%Z%M<>y0>K{T!E^q>Q*LoPjyp7WydM3j}SlMAOWUJVf# zPEDI0jGuUZp)k|gSij`dQWu0EDCrwNg^%UYJ%#>H#NW=QuJm-dPLd`e>maJ^{0+ckf7^R?)T_D(Hvmbi8kiSfO{zCdRK9zj@Hik>R!GZ^ zFy_lVy6WvwWjJp4{fv(d5rIzkjTH}F({1;HlE;S^zM_}fW;iXyNGK_QzZv5_%cJxPJG_Ls=;AuMSc2a_STdfTu-n7N;|Qvzn12$eQh*Mzbs8=GXa8fEzr$9n+RgJ0XP$;DjR+n+A{o<$!5W%Gmy3Z zQJ&9}{VEuhePsOnLW0t4HbPFGn0)&X6golX>j$h@7XY+MyDDiGfe}Q!Qjt(6owvEJE3(k3ozXAv;QN!fypLQ@8!Md;n zh@&uzZY)@Umi1QaTg5sYG;#Wy+g7WK&+^^v6;48XkuTYt^5VCy76aZ*9kHuc>-z>swGH%T}Gdptn>P6cv zH}`W|A3FTg@u%j--3|6~b%um_Cbi`A)ilO*qo4H#H$U+QtJ94UPs4l(ZlkV4DIU7a zSrx}b_{*DOB6ksOBS`2I-!F9_w)xC*Z|JBs-I%`;92Di)JB{C4Y_eSv2wL)N*3pS* zuQ+Gp-6s|bTew)=MtR;?F_&TgenZ;Vv2W1z40X0=17%$ zb3jc6NtkTTH2YXw(akM)JNw4`9_& zbBqS0osYOS&Od1^e*L6`>2)OfP~hOTLeJbW&&-1YL1VfE!dSUVMh(fAY+_-4pcOfKS9zFpJ);uHW9^e7bT+$r zO+7}Cq9I!VB#yQ19IKsuFbbrWV>$rJ0jl>Ox!is&`nn018-f7LxKk3+mE${LS~+d? zUIr1pu$Fp-g8FBw2~- ze&-xqjyPAoYCTlSpi@NZX0g1q(SXYi`K4~Px~#-1iEztXU1ViAK?^dD z-*^TDyU!hSRKrtNJe*>VqY5Z~#;j->xH4G^TAf-%P?${xg?;?kRbBltYoX1uI@jT4PR7-TQr;17p}S;h9462-?i?OZ zWb8BL)QHog+)FU^`W?*ai#mAc;c=jJPg>GwnV(7#y+xYb#orf{rZO|^e!uzBmg<@A zX!BQvI}Ia=Grmvr0?7p2=`;_@y|?ZT0h~Ez&4G3o$ENZL=q+a6mBko3II-HcIO7TXOksx_@tb`i87l2iaBT^EJrCGBpoLr^|)}%6W zBp~fLt8gu{dp!`1W#(>|;^;ah&)HtQAib{%?6-U)D)^A;Zl0(%$Tee552xY} zG%UU~Pj1L8QTx!{l0O-LgYiqywoE5R?VN(92FGtBG&?6@mZj!vAOQWi0Tglm=qd$%s9g35?$m6v1E*GmaW?@B1{|-gz>k`4Nyr(T~A)?J#6=4t76P)Xq{Y#yXopK+sRieN4I+8 z6k^ox7rJ0e|DmK&2Bj`CddiSz4?mlC))-~NvhmkQdC_i)k&cI zh%y-|lLQt8?*xb?J{kBpsFqBur}}|3l~zh%oY|v9)HTFlKZ1((jRd5gIde>g)OZur zNrd1ws;W(b(r?oHr2JX@(xN(`KLpKB0!cR+)Ff}}te>9Ieq41iiiBRpLSfp}DQ|>3 zcIj8Fk$DUm1~7#JJq)i6U?{Pv0m&@f;X1>e_bqC~ish;*-FkunfOOI2oBAH(DG(t! zb-gs~|9Up{obSyCYVAEsgJ@oMYSp0c;4w+*$TFNpQbfVV`~hy` zxn;cDhr9Xs?7C&ycVj>Nh*H=_p}?(IT}WJZ5EH4@C+RixGoGEII%t(Q`c<~Mx4JW~ z5o_>NUaiwIk?$^e=8PDGbcik7Rw78b(T{T6%wkDQ)<~a(k#4vPJ_2Z6$CCRLz}CM- zOgg6xdVgOR`=SL&CN7A0Kkd}UH0`bt-5qcJ0}v{Q5UZ+n#FFM zDCa;%J>6z`aeS4(hnogBR7wBOmAeZGDV5F4vb-vbdK`c0_=>8ScfKoG(4iPeTIP~m zURbmpaE@Ksut)9b$-F}KuCG(?cFqna%TiMFWz1diTZ6Z4++I90y-MdvD+(lq)U18d zo$2&dT4`?lF)Yn{gU^<9CD1gJIT8ZaMfJw)c^y^u>0F5x0$XaSU0r%9-+qvD9U$$Z zoeqWx8xH{>@eW4w^X3e`ejw$h+sjECNE<_Ox9^a^0K(*J`!|T`=2W+xK@bf?;qQO> zF-f2~>5SCQF+TQjxIX`)fcKtNF7^0=*pd;g2E+G5zKre{Ln5s%(Vrq{3+rj_um9>% z^l)Bd!Hipcmvb8R*<_e3s{VaM@k`Kc9G)bnszc`~NSg?XY^_mKfDmptx;<$D3W*;* zd!H&yWiToIzK^>?Q?RbipW&}2FVV{9(%wEDO+PM&T(*At@Gn1{2{G~JQ-p>_C=$S2 z6pH=I(;H?(0+F*z{ERM4NYo~901z@;fD88596CYK&&_sEUt0jd9BoL!CUJaHkdz`C zaO*!;L_VvH!>S^G9df6pk@N0?P{3HLgRhN5{b{iq>il^tO1BMW!e7#uS=6C literal 0 HcmV?d00001