+# allow-autocompletion: Changes autocomplete="off" on form and input fields
+# to "on" to allow autocompletion.
+#
+#################################################################################
+FILTER: allow-autocompletion Changes autocomplete="off" on form and input fields to "on" to allow autocompletion.
+
+s@(<(?:input|form|select|textarea)\s[^>]+autocomplete=)(['"]?)(?:off|0)\2@$1$2on$2@igsU
+
+#################################################################################
+#
+# github: Removes the annoying "Sign-Up" banner and the Cookie disclaimer.
+#
+#################################################################################
+FILTER: github Removes the annoying "Sign-Up" banner and the Cookie disclaimer.
+
+s@<signup-prompt.*</signup-prompt>@@Uis
+s@(<div) (class="hx_cookie-banner)@$1 style="display:none;" $2@
+
+#################################################################################
+#
+# imdb: Removes some ads on IMDb.
+#
+#################################################################################
+FILTER: imdb Removes some ads on IMDb.
+
+s@(<div id="top_ad_wrapper")@$1 style="display:none"@
+s@<iframe[^>]*id="top_ad"[^>]*>.*</iframe>@<!-- Iframe removed by Privoxy's imdb filter -->@
+s@<iframe[^>]*onload="doWithAds.call[^>]*></iframe>@<!-- Iframe removed by Privoxy's imdb filter -->@g
+
+#################################################################################
+#
+# google: CSS-based block for Google text ads. Also removes
+# a width limitation and the toolbar advertisement.
+#
+#################################################################################
+FILTER: google CSS-based block for Google text ads. Also removes a width limitation and the toolbar advertisement.
+
+s@</head>[^\\]@<style type="text/css">\n\
+ /* Style sheet inserted by Privoxy's google filter. */\n\
+ \#fbc, \#fbl, \#ra, .rhh {visibility: hidden !important;}\n\
+ \#tpa1,\#tpa2,\#tpa3,\#tpa4,\#tpa5,\#tpa5, \#spl, .ch, \#ads,\
+ \#toolbar, \#google_ads_frame, \#mbEnd {display: none !important;}\n\
+ .main_body, .j, \#res, .med, .hd, .g, .s\n\
+ {width: 99%; max-width: 100%; margin-left: 0; margin-right: 0;}\n\
+ </style>\n$0@
+s@<div style=\"padding-top:11px;min-width:500px\">@<div id="main_body">@
+s@(<table cellspacing=0 cellpadding=0 width=25% align=right bgcolor=\#ffffff border=0\
+|</font></td></tr></tbody></table><table align=\"right\" bgcolor=\"\#ffffff\"\
+|<table cellspacing=0 cellpadding=0 align=right bgcolor=\#ffffff border=0\
+|<table style=\"clear:both\" align=right width=25% cellspacing=\"0\" cellpadding=\"0\"\
+ border=\"0\" bgcolor=\"\#ffffff\")@$0 id="ads"@
+s@(<br clear=all><table)( border=0 cellpadding=9><tr><td)@$1 id="toolbar"$2@
+
+#################################################################################
+#
+# yahoo: CSS-based block for Yahoo text ads. Also removes a width limitation.
+#
+#################################################################################
+FILTER: yahoo CSS-based block for Yahoo text ads. Also removes a width limitation.
+
+s@</head>@\n<style type="text/css">\n\
+ /* Style sheet inserted by Privoxy's yahoo filter. */\n\
+ \#symadbn, \#ymadbn, .yschbox, .yschhd, .bbox, \#yschsec, \#sec,\
+ \#yschanswr, .yschftad, .yschspn, .yschspns, \#ygrp-sponsored-links,\
+ \#nwad, \#MWA2, \#MSCM, \#yregad, \#sponsored-links,\
+ \#ks-ypn-ads, .ad, \#east, \#ygrp-vital, .ads {display: none !important;}\n\
+ \#yschpri, \#yschweb, \#pri, \#web, \#main, .yschttl, .abstr, .res \n\
+ {width: 99% !important; max-width: 100% !important;}\n\
+ .yschttl, .res, .res.indent, \#web {padding: 0px; margin: 0px !important;}\n\
+ \#web {padding-left: 0.5em}\n\
+ \#yschqcon, \#yschtg {width: auto !important; /* No useless horizontal scrollbar please */}\n\
+ \#composebox \#compose_editorArea {width: 70% !important; /* reasonably sized reply textarea please */\n\
+ </style>\n$0\n@
+
+s@(<textarea\s+id="composeArea"[^>]*)width:545px;@$1width:70%;@isU
+
+#################################################################################
+#
+# msn: CSS-based block for MSN text ads. Also removes tracking URLs
+# and a width limitation.
+#
+#################################################################################
+FILTER: msn CSS-based block for MSN text ads. Also removes tracking URLs and a width limitation.
+
+s@</head>@<style type="text/css">\n\
+ /* Style sheet inserted by Privoxy's msn filter. */\n\
+ .msn_ads, \#at, \#ar, .mktmsg {display: none !important;}\n\
+ \#results, \#b_results, .flank, .results_area_flank, .results_area_stroke,\n\
+ \#results_area, \#content, .sb_tlst, .sa_cc, .sb_ph, \#sw_main,\n\
+ .content, .b_content, \#sw_foot, \#bf, \#sw_content, \#sidebar, \#pag\n\
+ {width: 99% !important; min-width: 99% !important;\n\
+ max-width: 100% !important; /* width:100% sometimes causes horizontal scrollbars */}\n\
+ /* Remove 'related' ads */\n\
+ .b_ad, .b_adlabel {clear: both; display:none;}\n\
+ /* Remove "suggestions". They are next to worthless but partly overlap with the search results */\n\
+ .suggestion, \#nys_right, \#nys {clear: both; display:none;}\n\
+ /* Remove "Related searches" at the left side of the main results.\n\
+ They are next to worthless, too, and also are still present below the main search results */\n\
+ \#b_results > .b_ans {clear: both; display:none;}\n\
+ \#s_notf_div,\n \
+ /* Overlay ads to enable Facebook 'likes' in search results. */\n\
+ .sn_container {display:none !important;}\n\
+ \#content, \#b_content {padding: 0px 0px 0px 0px}\n\
+ </style>\n$0@
+# Are these ids still in use?
+s@(<div[^>]*) id=(["']?)ads_[^\2]*\2@$1 class="msn_ads"@Uig
+s@(<div[^>]*) class=(["']?)sb_ads[^\2]*\2@$1 class="msn_ads"@Uig
+s@(<a[^>]*href=\")http://g.msn.com/.*\?(http://.*)(&&DI=.*)(\")@$1$2$4@Ug
+s@(<a[^>]*)gping=\".*\"@$1 title="URL cleaned up by Privoxy's msn filter"@Ug
+
+#################################################################################
+#
+# blogspot: Cleans up some Blogspot blogs. Read the fine print before using this.
+#
+# This filter also intentionally removes some navigation stuff and
+# sets the page width to 100%. As a result, some rounded "corners" would
+# appear to early or not at all and as fixing this would require a browser
+# that understands background-size (CSS3), they are removed instead.
+#
+# When applied to feeds, it removes comment titles that
+# only contain the beginning of the actual comment.
+#
+#################################################################################
+FILTER: blogspot Cleans up some Blogspot blogs. Read the fine print before using this.
+
+s@</head>@<style type="text/css">\n\
+ /* Style sheet inserted by Privoxy's blogspot filter. */\n\
+ \#powered-by {display: none !important;}\n\
+ \#wrap4, \#wrapper {margin-top: 0px }\n\
+ \#blogheader, \#header {margin-top: 0.5em !important}\n\
+ \#content {width: 98% }\n\
+ \#main {width: 70% }\n\
+ \#sidebar {width: 29% }\n\
+ .post-body {overflow: auto;}\n\
+ .blogComments {width: 100%; overflow: auto;}\n</style>\n$0@
+s@<body.*(?:<div id="space-for-ie"></div>|(<div id="(?:content|wrap4|wrapper)))@<body>\
+ <!-- Privoxy's blogspot filter ditched some garbage here -->$1@Us
+s@(<div style=\"[^\"]*width:)30em@$1 100%@
+s@background:url\(\"http://www.blogblog.com/rounders[^\"]*\"\).*;@/*$0*/@Ug
+s@(background:\#[a-f\d]{3})( url\(\"http://www.blogblog.com/rounders[^\"]*\"\).*;)@$1 ;/*$2*/@Ug
+# Do the feed filtering magic as described above.
+s@<title(?:\s+type=\'text\')?>([^<]*)(?:\.\.\.)?\s*</title>\s*\
+(<content(?:\s+type=\'(?:html|text)\')?>\s*\1)@<title></title>$2@ig
+
+
+#################################################################################
+#
+# bundeswehr.de: Hide the cookie and privacy info banner on bundeswehr.de.
+#
+# The relevant parts of the page work without accepting cookies.
+#
+#################################################################################
+FILTER: bundeswehr.de Hide the cookie and privacy info banner on bundeswehr.de
+s@<div class="privacy-protection-banner__container"@$0 style="display: none"@
+
+#################################################################################
+#
+# sourceforge: Reduces the amount of ads for proprietary software on SourceForge.
+#
+#################################################################################
+FILTER: sourceforge Reduces the amount of ads for proprietary software on SourceForge.
+
+s@<div id="banner-sterling"@$0 style="display:none;"@
+s@<section id="nels"@$0 style="display:none;"@
+s@<aside class="m-wide-widget m-wide-projects-widget "@$0 style="display:none;"@
+s@<div id="newsletter-floating"@$0 style="display:none;"@
+s@<div class="sterling" id="banner-sterling"@$0 style="display:none;"@
+
+#################################################################################
+#
+# x-httpd-php-to-html: Changes the Content-Type header from
+# x-httpd-php to html. "Content-Type: x-httpd-php"
+# is set by clueless PHP users and causes many
+# browsers do open a download menu instead of
+# rendering the page.
+#
+#################################################################################
+SERVER-HEADER-FILTER: x-httpd-php-to-html Changes the Content-Type header from x-httpd-php to html.
+
+s@^(Content-Type:)\s*application/x-httpd-php@$1 text/html@i
+
+#################################################################################
+#
+# html-to-xml: Changes the Content-Type header from html to xml.
+#
+#################################################################################
+SERVER-HEADER-FILTER: html-to-xml Changes the Content-Type header from html to xml.
+
+s@^(Content-Type:)\s*text/html(;.*)?$@$1 application/xhtml+xml$2@i
+
+#################################################################################
+#
+# xml-to-html: Changes the Content-Type header from xml to html.
+#
+#################################################################################
+SERVER-HEADER-FILTER: xml-to-html Changes the Content-Type header from xml to html.
+
+s@^(Content-Type:)\s*(?:application|text)/(?:xhtml\+)?xml(;.*)?$@$1 text/html$2@i
+
+#################################################################################
+#
+# hide-tor-exit-notation: Remove the Tor exit node notation in Host and Referer headers.
+#
+# Note: If Privoxy and Tor are chained and Privoxy is configured to
+# use socks4a, one can use http://www.example.org.foobar.exit/
+# to access the host www.example.org through Tor exit node foobar.
+#
+# As the HTTP client isn't aware of this notation, it treats the
+# whole string "www.example.org.foobar.exit" as host and uses it
+# for the "Host" and "Referer" headers. From the server's point of
+# view the resulting headers are invalid and can cause problems.
+#
+# An invalid "Referer" header can trigger "hot-linking" protections,
+# an invalid "Host" header will make it impossible for the server to
+# find the right vhost (several domains hosted on the same IP address).
+#
+# This filter removes the "foo.exit" part in those headers
+# to prevent the mentioned problems. Note that it only modifies
+# the HTTP headers, it doesn't make it impossible for the server
+# to detect your Tor exit node based on the IP address the request is
+# coming from.
+#
+#################################################################################
+CLIENT-HEADER-FILTER: hide-tor-exit-notation Removes the Tor exit node notation in Host and Referer headers.
+
+s@^((?:Referer|Host):\s*(?:https?://)?[^/]*)\.[^\./]*?\.exit@$1@i
+
+#################################################################################
+#
+# no-brotli-accepted: Strips "br" from the Accept-Encoding header as Privoxy
+# currently doesn't support Brotli.