From d9a4d2dc8848f79e91dc70120867be0c56fcb48b Mon Sep 17 00:00:00 2001 From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Wed, 20 Jun 2018 21:18:07 +0200 Subject: [PATCH] Release 67.0.3396.92 --- CHANGELOG.md | 4 + filters/adblock_entries.h | 207 +++++++++++++++--- ...M023_Add-Google-English-only-engine.patch} | 2 +- ...or-image-data-font-metrics-and-webGL.patch | 80 +++---- ...BRM059_Add-a-flag-for-DNS-over-HTTPS.patch | 123 ++++++----- ...c-dns-flag-regardless-of-SDK-version.patch | 2 +- ...ection-between-Google-and-CloudFlare.patch | 156 ------------- wip/Tune-canvas-randomisation.patch | 160 -------------- 8 files changed, 292 insertions(+), 442 deletions(-) rename patches/{BRM023_Added-Google-English-only-engine.patch => BRM023_Add-Google-English-only-engine.patch} (99%) delete mode 100644 patches/BRM063_DNS-over-HTTPS-allow-selection-between-Google-and-CloudFlare.patch delete mode 100644 wip/Tune-canvas-randomisation.patch diff --git a/CHANGELOG.md b/CHANGELOG.md index a479b194..65308f4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 67.0.3396.92 +* improve randomisation for each retrieved Canvas data (fixes )https://github.com/bromite/bromite/issues/69 +* updated AdBlock filters + # 67.0.3396.88 * add flag for DNS-over-HTTPS (Google experimental DNS) (fixes https://github.com/bromite/bromite/issues/68) * disable signin, translate and data saver UI/internal components (fixes https://github.com/bromite/bromite/issues/67) diff --git a/filters/adblock_entries.h b/filters/adblock_entries.h index 9aef7ee4..2bf78371 100644 --- a/filters/adblock_entries.h +++ b/filters/adblock_entries.h @@ -19,7 +19,7 @@ struct adblock_entry { const char **domains, **domains_neg; }; -#define ADBLOCK_ENTRY_COUNT 51411 +#define ADBLOCK_ENTRY_COUNT 51488 const char *m10030a28[] = { "/InsightTrk/", NULL }; const char *m10045299[] = { "award.sitekeuring.net^", NULL }; const char *m100458cd[] = { "eluhhfyxx.com^", NULL }; @@ -1660,6 +1660,7 @@ const char *m17ef5a3 [] = { "k.co.il/iefilter.html", NULL }; const char *m17f08d65[] = { "xxpfoxmvpjoh.bid^", NULL }; const char *m17f0f74 [] = { "google.com/appserve/mkt/img/", ".gif", NULL }; const char *m17f1d5c1[] = { "realsecuredredir.com^", NULL }; +const char *m17f3de71[] = { "esfqqfqagkkbrl.com^", NULL }; const char *m17f509ab[] = { "beforeitsnews.com/static/data/story-stripmall-new.html", NULL }; const char *m17f7950c[] = { "/min/ads/", NULL }; const char *m17ff3291[] = { "/textad?", NULL }; @@ -1706,6 +1707,7 @@ const char *m1834774c[] = { "130hc0ja.site^", NULL }; const char *m183537ff[] = { "branzas.com^", NULL }; const char *m1835a7c8[] = { "mixpanel.com^", NULL }; const char *m1837d375[] = { "adultfax.com/service/vsab.php?", NULL }; +const char *m1839be20[] = { "ljvgxanxkuiw.com^", NULL }; const char *m183c98d9[] = { "clickmyads.info^", NULL }; const char *m183f2914[] = { "mgrxsztbcfeg.com^", NULL }; const char *m183f9bb4[] = { "sexgalaxy.net/wp-content/themes/annina-pro/js/navigation.js?", NULL }; @@ -2324,6 +2326,7 @@ const char *m1b2dbf22[] = { "nbr.co.nz^", "-WingBanner_", NULL }; const char *m1b2e9c37[] = { "ooyala.com/sas/analytics?", NULL }; const char *m1b302bb3[] = { "/default_oas.", NULL }; const char *m1b30dcb1[] = { "/visual_revenue.", NULL }; +const char *m1b32c2f8[] = { "t.etraveli.com^", NULL }; const char *m1b357a7f[] = { "sa.entireweb.com^", NULL }; const char *m1b357e2c[] = { "cqcounter.com^", NULL }; const char *m1b36ad2f[] = { "tinybar.com^", NULL }; @@ -2387,6 +2390,7 @@ const char *m1b857396[] = { "gapeandfist.com/uploads/thumbs/", NULL }; const char *m1b872108[] = { "_bottom_ads.", NULL }; const char *m1b87c384[] = { "chart.dk^", NULL }; const char *m1b87dff2[] = { ".com/adlib_", NULL }; +const char *m1b8c4dd3[] = { "1sen-pit-fan.com^", NULL }; const char *m1b8cd706[] = { "9anime.is/", "callback", NULL }; const char *m1b8d1e95[] = { "/api-analytics.", NULL }; const char *m1b8ea82d[] = { "td573.com^", NULL }; @@ -2395,6 +2399,7 @@ const char *m1b937ef3[] = { "movie4k.org/e.js", NULL }; const char *m1b96f125[] = { "-Box-Ad.", NULL }; const char *m1b9770b7[] = { "upornia.com/contents/content_sources/", NULL }; const char *m1b98af5 [] = { "/analytic/count.", NULL }; +const char *m1b99157a[] = { "plug.it^", "^iol_evnt.", NULL }; const char *m1b9a361a[] = { "sk1n.fr^", NULL }; const char *m1b9ae8f7[] = { "metacafe.com^", "^statsrecorder.php^", NULL }; const char *m1b9c0c95[] = { "gfdfhdh5t5453.com^", NULL }; @@ -3555,6 +3560,7 @@ const char *m20d62fe0[] = { "/listener.php?userRef=", NULL }; const char *m20d9e75e[] = { "/adstream_", NULL }; const char *m20db37b4[] = { "gatikus.com^", NULL }; const char *m20dbcf1d[] = { "sportingnews.com/px/", NULL }; +const char *m20dc7ffe[] = { "ketqqygdh.com^", NULL }; const char *m20df85f5[] = { "/logwebhit.", NULL }; const char *m20e2603b[] = { "porn101.com^", NULL }; const char *m20e541d0[] = { "adfarm.mediaplex.com/ad/ck/", NULL }; @@ -3774,6 +3780,7 @@ const char *m21f3d2bf[] = { "images.elenasmodels.com/Upload/", NULL }; const char *m21f4377f[] = { ".com/a?network", NULL }; const char *m21f8377a[] = { "tr.connatix.com^", NULL }; const char *m21f946dd[] = { "_ads3.", NULL }; +const char *m21fc5a39[] = { "readcomiconline.to^", "^customjavascript.js", NULL }; const char *m21fd4fbe[] = { "file2hd.com/sweet.jpg", NULL }; const char *m21fe19c8[] = { "cactusvpn.com/images/affiliates/", NULL }; const char *m2200f9f [] = { "cmdnzbuynnm.com^", NULL }; @@ -4625,6 +4632,7 @@ const char *m25fcb160[] = { "bambergerkennanchitinous.com^", NULL }; const char *m25fd83c [] = { "gufjfwopsez.bid^", NULL }; const char *m25fe80fd[] = { "/fm-ads1.", NULL }; const char *m25febf1 [] = { "desiretoinspire.net^", "125x125", NULL }; +const char *m26003a82[] = { "/tnc.js?h=", NULL }; const char *m2600bbec[] = { "/cubeads_", NULL }; const char *m26017b46[] = { "feeds.delicious.com^", NULL }; const char *m26025731[] = { "track.slideshare.net^", NULL }; @@ -7670,6 +7678,7 @@ const char *m3467bcfc[] = { "thepatriot.co.bw/images/banners/", NULL }; const char *m34685eff[] = { "qvsbroqoaggw.com^", NULL }; const char *m3468e1cd[] = { "/expandable_ad?", NULL }; const char *m3471bafa[] = { "pornizer.com/_Themes/javascript/cts.js?", NULL }; +const char *m3473bd6a[] = { "/pixel-track.", NULL }; const char *m3473c2d1[] = { "ad.admitad.com/banner/", NULL }; const char *m3474548 [] = { "screencrave.com/show/", NULL }; const char *m3474ad96[] = { "pub.realmedia.fr^", NULL }; @@ -8105,6 +8114,7 @@ const char *m367dbd0 [] = { "uoxbotvrs.bid^", NULL }; const char *m367e7fa9[] = { "/bsc_trak.", NULL }; const char *m367e8019[] = { "surveywall-api.survata.com^", NULL }; const char *m36821e33[] = { "/tracking/addview/", NULL }; +const char *m368284b6[] = { "plug.it^", "^track_", NULL }; const char *m3683e4b [] = { "/googlytics-", NULL }; const char *m36868507[] = { "/adfetch.", NULL }; const char *m3687399e[] = { "ranking.ynet.com^", NULL }; @@ -8208,7 +8218,6 @@ const char *m370333d0[] = { "atoshonetwork.com^", NULL }; const char *m37048a51[] = { "/adswap/", NULL }; const char *m3704cbfd[] = { "/mpuad.", NULL }; const char *m3706b9aa[] = { "erosadv.com^", NULL }; -const char *m3707862 [] = { "thepiratebay.org/static/js/prototype.js", NULL }; const char *m370840dc[] = { "j8w4xqtu.racing^", NULL }; const char *m370973ab[] = { "pbnet.ru^", NULL }; const char *m3709fe98[] = { "/stat?sid=", NULL }; @@ -8395,6 +8404,7 @@ const char *m37f93b6 [] = { "tracking.target2sell.com^", NULL }; const char *m37f970d5[] = { "tsk5.com^", NULL }; const char *m37f99070[] = { "variablefitness.com^", NULL }; const char *m37f9a255[] = { "logdy.com^", NULL }; +const char *m37f9ee59[] = { "qidkcvmr.com^", NULL }; const char *m37faabb0[] = { "bsmotoring.com/adframe.js", NULL }; const char *m37fb3470[] = { "truehits3.gits.net.th^", NULL }; const char *m37fc2b0d[] = { "pixelsnippet.com^", NULL }; @@ -9030,6 +9040,7 @@ const char *m3b300d9e[] = { "pornomovies.com/pop/", NULL }; const char *m3b311bd0[] = { "lzpqpstowpvz.bid^", NULL }; const char *m3b314fad[] = { "spinback.com/spinback/event/impression/", NULL }; const char *m3b349088[] = { "octopuspop.com^", NULL }; +const char *m3b34a759[] = { "rcwczstm.com^", NULL }; const char *m3b34dc90[] = { "/newadcfg/", NULL }; const char *m3b3837bb[] = { "autotrader.co.uk/page-tracking/", NULL }; const char *m3b3918c6[] = { "gorgeousground.com^", NULL }; @@ -9858,6 +9869,7 @@ const char *m3f171339[] = { "digitalsatellite.tv/banners/", NULL }; const char *m3f1861c6[] = { "vip.freelive365.com/adblocker.js", NULL }; const char *m3f18c725[] = { "p.aty.sohu.com^", NULL }; const char *m3f19f419[] = { "ibs.indiatimes.com^", NULL }; +const char *m3f1a61ba[] = { "visioncloud.rocks/ads/", NULL }; const char *m3f1b6462[] = { "/adservices/", NULL }; const char *m3f1d23e6[] = { "ujfm.co.za/images/banners/", NULL }; const char *m3f1e3ca3[] = { "mfcdn.net/media/", "left", NULL }; @@ -10442,6 +10454,7 @@ const char *m41cb82a4[] = { "myhpf.co.uk/banners/", NULL }; const char *m41cccbdd[] = { "/flyers/ads/", NULL }; const char *m41ccffb2[] = { "easyhitcounters.com^", NULL }; const char *m41cea3f7[] = { "360haven.com/forums/", ".advertising.com/", NULL }; +const char *m41d34d89[] = { "psgdjmtpvey.com^", NULL }; const char *m41d6d44e[] = { "sp.postcrescent.com^", NULL }; const char *m41d6e806[] = { "stats.wwitv.com^", NULL }; const char *m41d76baa[] = { "/adClosefeedbackUpgrade.", NULL }; @@ -10791,6 +10804,7 @@ const char *m437c27c8[] = { "bebi.com^", NULL }; const char *m437c2880[] = { "4dcdc.com^", NULL }; const char *m437d9f1b[] = { "/sticker_ad.", NULL }; const char *m437da1d3[] = { "go.toutapp.com^", NULL }; +const char *m4380cff2[] = { "/marketing/js/analytics/", NULL }; const char *m4382e03c[] = { "loa-traffic.com^", NULL }; const char *m4384a7e4[] = { "extremetech.com/sac/mostclicked/", NULL }; const char *m43855f5 [] = { "adsmws.cloudapp.net^", NULL }; @@ -11015,6 +11029,7 @@ const char *m448c1074[] = { "binlayer.de^", NULL }; const char *m448cc4bc[] = { "doubleclick.net/pfadx/comedycentral.", NULL }; const char *m448d1ae4[] = { "/adzone_", NULL }; const char *m448ea68a[] = { "/cm/ads/", NULL }; +const char *m44926e12[] = { "oywdlsbwkklw.com^", NULL }; const char *m44933d60[] = { "shorte.st^", "^referral_banners^", NULL }; const char *m4494ddb4[] = { "advertising.sun-sentinel.com/el-sentinel/elsentinel-landing-page.gif", NULL }; const char *m449518e7[] = { "/interstital-redirector.", NULL }; @@ -11047,6 +11062,7 @@ const char *m44b867bc[] = { "?action=tracking_script", NULL }; const char *m44b8b496[] = { "takeover_banner_", NULL }; const char *m44ba387a[] = { "pop.billionuploads.com^", NULL }; const char *m44bcd46 [] = { "/doubleclick/iframe.", NULL }; +const char *m44bf2d51[] = { "filecloud.io/banner_ads.js", NULL }; const char *m44bf4f1b[] = { "cellstats.mako.co.il^", NULL }; const char *m44c1b5d5[] = { "_admanager/", NULL }; const char *m44c2faa6[] = { "/bannerinc.", NULL }; @@ -11410,6 +11426,7 @@ const char *m46672ba1[] = { "engadget.com/traffic/?", NULL }; const char *m4668e971[] = { "adserver.hardsextube.com^", NULL }; const char *m466cbcc4[] = { "dxurtngzawwe.com^", NULL }; const char *m466d5096[] = { "absential.info^", NULL }; +const char *m466eb394[] = { "vsicchyqydlwb.com^", NULL }; const char *m46707150[] = { "txfm.ie^", "^amazon-16x16.png", NULL }; const char *m4673d845[] = { "cloudfront.net/assets/js/comscore_beacon.js?", NULL }; const char *m46745ae5[] = { "/ad_renderv4_", NULL }; @@ -11759,6 +11776,7 @@ const char *m47fa904d[] = { "iczhhiiowapd.com^", NULL }; const char *m47fcfec0[] = { "therugbyforum.com/trf-images/sponsors/", NULL }; const char *m47fef1ba[] = { "nighter.club^", NULL }; const char *m48023e5 [] = { "/setcooki.", NULL }; +const char *m48028c34[] = { "thepiratebay.", "/static/js/details.js", NULL }; const char *m48028f0f[] = { "mashable.com/pv.xml", NULL }; const char *m480299a8[] = { "contentsquare.net^", NULL }; const char *m4802a99 [] = { "photorank.me^", NULL }; @@ -12933,6 +12951,7 @@ const char *m4dceac85[] = { "exchange-it.com^", NULL }; const char *m4dcfb2d8[] = { "ccwinenmbnso.com^", NULL }; const char *m4dd0ee59[] = { "tnpbbdrvwwip.com^", NULL }; const char *m4dd1a0d8[] = { "thzshxisa.bid^", NULL }; +const char *m4dd20b7a[] = { "dcmn.com^", NULL }; const char *m4dd2928c[] = { "click-url.com^", NULL }; const char *m4dd2dec8[] = { "/track/site/", NULL }; const char *m4dd3aa17[] = { "cetrk.com^", NULL }; @@ -13277,6 +13296,7 @@ const char *m4f6b3b1e[] = { "/video_ad_", NULL }; const char *m4f701b65[] = { "internalredirect.site^", NULL }; const char *m4f707763[] = { ".net/adt?", NULL }; const char *m4f70ac93[] = { "smctemple.wpengine.com/advertising/", NULL }; +const char *m4f7304d5[] = { "threadloom.com/ga/", NULL }; const char *m4f73b66f[] = { "mk-ads.com^", NULL }; const char *m4f74701b[] = { "84544232a4185d6.com^", NULL }; const char *m4f782a3f[] = { "dvf2u7vwmkr5w.cloudfront.net^", NULL }; @@ -13534,7 +13554,6 @@ const char *m50cfa99e[] = { "zero.kz^", NULL }; const char *m50d00967[] = { "/ad_fixedad.", NULL }; const char *m50d13fd5[] = { "www-path.com^", NULL }; const char *m50d3a58c[] = { "filespart.com/ot/fast.aspx?", NULL }; -const char *m50d3e445[] = { "siteintercept", ".qualtrics.com^", NULL }; const char *m50d44c37[] = { "gpdjgkibngbrr.com^", NULL }; const char *m50d50e8b[] = { "xvtbumnuj.com^", NULL }; const char *m50d554e1[] = { "95.131.238.35^", NULL }; @@ -13578,6 +13597,7 @@ const char *m510493e0[] = { "replacementdocs.com^", "^popup.js", NULL }; const char *m5104f4ff[] = { "radiowavesforum.com/rw/radioapp.gif", NULL }; const char *m51092361[] = { "/468-banner.", NULL }; const char *m510938c0[] = { "twimg.com/googleanalytics/analytics.js", NULL }; +const char *m510af185[] = { "thepiratebay.", "/static/js/scriptaculous.js", NULL }; const char *m510cc0ab[] = { "/truehits.php?", NULL }; const char *m511030ad[] = { "r.mail.ru^", NULL }; const char *m51146f13[] = { "/apu.php?", "&zoneid=", NULL }; @@ -13916,6 +13936,7 @@ const char *m52978186[] = { "neoebiz.co.kr^", NULL }; const char *m529c504a[] = { "istripper.com^", NULL }; const char *m529cee96[] = { "xbt0izlb.faith^", NULL }; const char *m529d59df[] = { "xchangebanners.com^", NULL }; +const char *m52a03be0[] = { "thepiratebay.", "/static/js/tpb.js", NULL }; const char *m52a1024c[] = { "ptlbzqzveii.com^", NULL }; const char *m52a48ba0[] = { "tmz.vo.llnwd.net^", "^images^", "skin", NULL }; const char *m52a4aa4e[] = { "abc-celebs.com/spons/", NULL }; @@ -14004,6 +14025,7 @@ const char *m52f1a09c[] = { "tnciaxgkfng.bid^", NULL }; const char *m52f2424c[] = { "brettterpstra.com/wp-content/uploads/", NULL }; const char *m52f252fd[] = { "cfasync.tk^", NULL }; const char *m52f26d9a[] = { "yieldtraffic.com^", NULL }; +const char *m52f313f5[] = { "trugaze.io^", NULL }; const char *m52f4e9ab[] = { "marketfly.net^", NULL }; const char *m52f5282a[] = { "gogoplexer.com^", NULL }; const char *m52f61bab[] = { "sjpexaylsfjnopulpgkbqtkzieizcdtslnofpkafsqweztufpa.com^", NULL }; @@ -14027,6 +14049,7 @@ const char *m530b465e[] = { "/ad_screen.", NULL }; const char *m530bd4d3[] = { "j7gvaliq.cricket^", NULL }; const char *m530df911[] = { "inflectionpointmedia.com^", NULL }; const char *m530e2cdf[] = { "analytics.dol.gr^", NULL }; +const char *m530f237c[] = { "/account-stats/", NULL }; const char *m53109766[] = { "wrjhekhmx.bid^", NULL }; const char *m5310ad19[] = { "view.atdmt.com/partner/", NULL }; const char *m5310df0d[] = { "ubliwesgzq.bid^", NULL }; @@ -14259,6 +14282,7 @@ const char *m541dbad3[] = { "bitcoadz.io^", NULL }; const char *m541ead9c[] = { "/adserverdata.", NULL }; const char *m541f7f99[] = { "nawdwtocxqru.com^", NULL }; const char *m5420477c[] = { "ogulzxfxrmow.com^", NULL }; +const char *m54207775[] = { "odwymewlu.com^", NULL }; const char *m54233817[] = { "media-imdb.com^", "^affiliates^", NULL }; const char *m5423d587[] = { "-adsscript.", NULL }; const char *m542643b9[] = { "/adimages.", NULL }; @@ -14538,6 +14562,7 @@ const char *m5558cdc7[] = { "washingtonpost.com/wp-srv/ad/wp.js", NULL }; const char *m555970d3[] = { "kongregate.com/images/help_devs_", ".png", NULL }; const char *m5559e0d2[] = { "clayaim.com^", NULL }; const char *m5559f6bc[] = { "a2af4f04914ed298.com^", NULL }; +const char *m555a5d9 [] = { "ncs.eadaily.com^", NULL }; const char *m555a768b[] = { "/layerads.", NULL }; const char *m555ab0db[] = { "twitter.com/i/jot", NULL }; const char *m555beb8e[] = { "pocitadlo.sk^", NULL }; @@ -15606,6 +15631,7 @@ const char *m5abd385b[] = { "/getwebsitead/", NULL }; const char *m5abd441c[] = { "alladvantage.com^", NULL }; const char *m5abdd635[] = { "_adsjs.", NULL }; const char *m5abef26a[] = { "keenspot.com/images/headerbar-", NULL }; +const char *m5ac197f4[] = { "dtakdb1z5gq7e.cloudfront.net^", NULL }; const char *m5ac28540[] = { "mvqinxgp.com^", NULL }; const char *m5ac29275[] = { "cryptoloot.pro^", NULL }; const char *m5ac367c [] = { "bollyrulez.net/media/adz/", NULL }; @@ -16165,6 +16191,7 @@ const char *m5d710a94[] = { "adn.porndig.com^", NULL }; const char *m5d73b231[] = { "ivitrack.com^", NULL }; const char *m5d75f4aa[] = { "gwqkliacsn.bid^", NULL }; const char *m5d774ce4[] = { "adglaze.com^", NULL }; +const char *m5d78903c[] = { "volvelle.tech^", NULL }; const char *m5d7adc73[] = { "sexy-toons.org/interface/partenariat/", NULL }; const char *m5d7bcfb8[] = { "lrbllelemsx.com^", NULL }; const char *m5d7c1652[] = { "green.virtual-nights.com^", NULL }; @@ -17164,6 +17191,7 @@ const char *m61f4084b[] = { "xbyvexekkrnt.com^", NULL }; const char *m61f53d82[] = { "wnbihqur.bid^", NULL }; const char *m61f58a05[] = { "/cdn-cgi/pe/bag2?", ".openx.", NULL }; const char *m61f86066[] = { "/online-ad_", NULL }; +const char *m61f980f [] = { "nnztrsuu.com^", NULL }; const char *m61fa0621[] = { "gopamdzgpdrwe.bid^", NULL }; const char *m61fbd95a[] = { "kdvcvkwwtbwn.com^", NULL }; const char *m61fbfd6f[] = { "_adtech.", NULL }; @@ -19613,12 +19641,12 @@ const char *m6d570a [] = { "trck.sixt.com^", NULL }; const char *m6d598067[] = { "/khan_analystics.js", NULL }; const char *m6d5a5b68[] = { "promo.xcasino.com/?", NULL }; const char *m6d5cc560[] = { "/adsimage/", NULL }; -const char *m6d5d1653[] = { "9anime.is/", NULL }; const char *m6d5d2f86[] = { "czpspyovtiqn.com^", NULL }; const char *m6d5e4b46[] = { "adonweb.ru^", NULL }; const char *m6d5f60bc[] = { "jkpdxsqpyl.bid^", NULL }; const char *m6d5fac90[] = { "phncdn.com/js/searchbar/", NULL }; const char *m6d60b0ff[] = { "player.grabnetworks.com^", "^vox_300x250_inline.xml", NULL }; +const char *m6d61bb95[] = { "pnd.gs^", NULL }; const char *m6d62d7f7[] = { "redir.widdit.com^", NULL }; const char *m6d6317d4[] = { "/nflads.", NULL }; const char *m6d631875[] = { "saabsunited.com/wp-content/uploads/", "_banner_", NULL }; @@ -19850,6 +19878,7 @@ const char *m6e8958c1[] = { "raz-raz-mataz.com^", NULL }; const char *m6e89b638[] = { "phncdn.com/cb/youpornwebfront/css/skin.css", NULL }; const char *m6e8ac90b[] = { "/ad/960x60.", NULL }; const char *m6e8cd24e[] = { "alternativeadverts.com^", NULL }; +const char *m6e8e0b00[] = { "readcomiconline.to^", "^jquery.tools.min.js", NULL }; const char *m6e91416e[] = { "/adfolder/", NULL }; const char *m6e91c968[] = { "_adsense_", NULL }; const char *m6e977734[] = { "dbojgaxhxalh.com^", NULL }; @@ -20162,6 +20191,7 @@ const char *m6ff7f091[] = { "76bae64469159dfa58.com^", NULL }; const char *m6ff80dbf[] = { "xmbyoyvs.bid^", NULL }; const char *m6ff825d7[] = { "pwsdbnngexc.bid^", NULL }; const char *m6ff96706[] = { "worldcdn.net^", "^banners^", NULL }; +const char *m6ff9e242[] = { "qvrfxlskqr.com^", NULL }; const char *m6ffa6db1[] = { "christianpost.com/js/plugins/sticky/sticky.js", NULL }; const char *m6ffb54d7[] = { "d3ojzyhbolvoi5.cloudfront.net^", NULL }; const char *m6ffbfbc0[] = { "counter.sina.com.cn^", NULL }; @@ -22300,6 +22330,7 @@ const char *m7a0abdaa[] = { "minercry.pt^", NULL }; const char *m7a0ac91b[] = { "hprofits.com^", NULL }; const char *m7a0ba061[] = { "cimpmvccrg.bid^", NULL }; const char *m7a10414c[] = { "stackadapt.com^", NULL }; +const char *m7a126965[] = { "youbora.com^", NULL }; const char *m7a13e116[] = { "xcounter.ch^", NULL }; const char *m7a147691[] = { "b59812ee54afcabd.com^", NULL }; const char *m7a163a6b[] = { "in.com^", "^170x50_", NULL }; @@ -22397,6 +22428,7 @@ const char *m7a83463 [] = { "uploaded.to/img/e/ad/", NULL }; const char *m7a83c57d[] = { "e3kgk5su.win^", NULL }; const char *m7a845150[] = { "channelintelligence.com^", NULL }; const char *m7a84f75d[] = { "rotate.infowars.com/www/delivery/fl.js", NULL }; +const char *m7a859e1 [] = { "_fpn.gif?", NULL }; const char *m7a86f8e6[] = { "wafavwthigmc.com^", NULL }; const char *m7a87b716[] = { "iguide.to/js/advertisement.js", NULL }; const char *m7a884d6d[] = { "drnxs.com^", NULL }; @@ -22485,6 +22517,7 @@ const char *m7af424db[] = { "tracking.carprices.com^", NULL }; const char *m7af49c65[] = { "adscendmedia.com/gwjs.php?", NULL }; const char *m7af4ef6c[] = { "filadmir.site^", NULL }; const char *m7af5a0fd[] = { ".png?cpn=", NULL }; +const char *m7af5e2ad[] = { "variti.net^", NULL }; const char *m7af61e16[] = { "surveywidget.biz^", NULL }; const char *m7af6d222[] = { "acc-hd.de^", NULL }; const char *m7af794ea[] = { "/ad_serv.", NULL }; @@ -22691,6 +22724,7 @@ const char *m7bf7c36b[] = { "calmfoot.com^", NULL }; const char *m7bf9cc4b[] = { "/stat_js.asp?", NULL }; const char *m7bf9d9d0[] = { "geophrenia.com^", NULL }; const char *m7bfb1f53[] = { "174.129.112.186/small.gif?", NULL }; +const char *m7bfb4add[] = { "amazon.com^", "^token^", NULL }; const char *m7bfcf2dc[] = { "/showads/", NULL }; const char *m7bfd0973[] = { "xnmphtmerao.bid^", NULL }; const char *m7bfeece5[] = { "cloudfront.net/opentag-", ".js", NULL }; @@ -22706,6 +22740,7 @@ const char *m7c16117e[] = { "bitcoindice.com/img/bitcoindice_", NULL }; const char *m7c186099[] = { "fridrici.info^", NULL }; const char *m7c1a27a2[] = { "trace-2000.com^", NULL }; const char *m7c1ab500[] = { "hdzog.com/", ".php?", NULL }; +const char *m7c1c3e95[] = { "/stats/xtcore.", NULL }; const char *m7c1e6d49[] = { "theamericanconservative.com^", "-300x250.", NULL }; const char *m7c1eff5c[] = { "azureedge.net/track", NULL }; const char *m7c1f9d47[] = { "statesol.net^", NULL }; @@ -22999,6 +23034,7 @@ const char *m7d595d3f[] = { "/adman.", NULL }; const char *m7d5a1659[] = { "on-line.lv^", NULL }; const char *m7d5d0d72[] = { "charlieandmekids.com/www/delivery/", NULL }; const char *m7d5d4dfe[] = { "coryarcangel.com/images/banners/", NULL }; +const char *m7d5e2921[] = { "iclytswtff.com^", NULL }; const char *m7d5e70ec[] = { "/ad/bin/", NULL }; const char *m7d5f6818[] = { "qip.ng^", NULL }; const char *m7d61ac04[] = { "/adman-", NULL }; @@ -23215,6 +23251,7 @@ const char *m7e58937d[] = { "_ad_promo2.", NULL }; const char *m7e59df18[] = { "static9.net.au^", "^advert.js", NULL }; const char *m7e5a33c6[] = { "museter.com/track.php?", NULL }; const char *m7e5dbbfd[] = { "/150x600_", NULL }; +const char *m7e60c83e[] = { "launchers.network^", NULL }; const char *m7e626528[] = { "themis.yahoo.com^", NULL }; const char *m7e65b424[] = { "analytics.cnd-motionmedia.de^", NULL }; const char *m7e670bdd[] = { "plexworks.de^", NULL }; @@ -23943,7 +23980,6 @@ const char *m81d75d65[] = { "/tracking/log.php?", NULL }; const char *m81d8f9ad[] = { "/analytics-ping.", NULL }; const char *m81d9dec1[] = { "/adfshow?", NULL }; const char *m81ddfb23[] = { "/maxi_ad.", NULL }; -const char *m81dff471[] = { "threadloom.com^", NULL }; const char *m81e2a304[] = { "filegaga.com/ot/fast.php?", NULL }; const char *m81e2fa5a[] = { "vibrantmedia.com^", NULL }; const char *m81e3159f[] = { "abovetopsecret.com/160_", NULL }; @@ -25342,6 +25378,7 @@ const char *m88ccddd1[] = { "content.acc-hd.de^", NULL }; const char *m88d06a3c[] = { "snap.com^", NULL }; const char *m88d0f8c6[] = { "indiainfoline.com/wc/ads/", NULL }; const char *m88d1c795[] = { "eztexas.info^", NULL }; +const char *m88d2c63d[] = { "/counters/pages?", NULL }; const char *m88d2ef4d[] = { "adtools.gossipkings.com^", NULL }; const char *m88d3e975[] = { "newmail.pronpic.org^", NULL }; const char *m88d5a873[] = { "newyorker.com/wp-content/assets/js/vendors/cn-fe-ads/cn.dart.js", NULL }; @@ -25529,6 +25566,7 @@ const char *m89aa8389[] = { "mehcpazsnzh.com^", NULL }; const char *m89ad4d4c[] = { "mfjegjqb.com^", NULL }; const char *m89adbfc5[] = { "/analytics/pageview.", NULL }; const char *m89ae4e33[] = { "360tag.net^", NULL }; +const char *m89b0e3bd[] = { "qlzn6i1l.com^", NULL }; const char *m89b49784[] = { "flixist.com/img2.phtml", NULL }; const char *m89b4b516[] = { "dbcdqp72lzmvj.cloudfront.net^", NULL }; const char *m89b60c98[] = { "shopzyapp.com^", NULL }; @@ -25574,6 +25612,7 @@ const char *m89e2913 [] = { "statecannoticed.com^", NULL }; const char *m89e2a01a[] = { "/page_counter.", NULL }; const char *m89e3085 [] = { "doubleclick.net/adj/profootballreference.fsv/", NULL }; const char *m89e4a6be[] = { "/tracking_add_ons.", NULL }; +const char *m89e4b38b[] = { "gogoanime.to/player.js", NULL }; const char *m89e7bb6b[] = { "vertical-stats.huffpost.com^", NULL }; const char *m89e95a26[] = { "/betamax_tracker.gif?", NULL }; const char *m89e9e41d[] = { "/streambeam-jw.", NULL }; @@ -25692,7 +25731,6 @@ const char *m8a66a348[] = { "zeus.qj.net^", NULL }; const char *m8a679f1a[] = { "rivcash.com^", NULL }; const char *m8a67a134[] = { "yashi.com^", NULL }; const char *m8a67cc76[] = { "landingpg.com^", NULL }; -const char *m8a6a71ba[] = { "thepiratebay.org/static/js/details.js", NULL }; const char *m8a6c7960[] = { "derler.pro^", NULL }; const char *m8a6c8754[] = { "_468x90_", NULL }; const char *m8a6f2b94[] = { "chiptionics.co^", NULL }; @@ -25764,6 +25802,7 @@ const char *m8ab734b7[] = { "ctm-media.com^", NULL }; const char *m8ab8321b[] = { "/thumbs/ads/", NULL }; const char *m8ab8e2eb[] = { "/plugins/stat-dfp/", NULL }; const char *m8abadb96[] = { "spacehits.net^", NULL }; +const char *m8abcebd0[] = { "tracking.finanzen.net^", NULL }; const char *m8abd76da[] = { "zompmedia.com^", NULL }; const char *m8abf84d8[] = { "aufderhar.net^", NULL }; const char *m8ac0617d[] = { "bsvideos.com/json/ad.php?", NULL }; @@ -25804,6 +25843,7 @@ const char *m8ae6cf00[] = { "twvmqhjjgj.com^", NULL }; const char *m8ae719e3[] = { "/sites/ad_", NULL }; const char *m8aea0fc2[] = { "addcontrol.net^", NULL }; const char *m8aee1fcd[] = { "?advertising=", NULL }; +const char *m8aefce8f[] = { "clickiocdn.com/t/common_", NULL }; const char *m8af03a38[] = { "keywee.co/analytics.js?", NULL }; const char *m8af179f2[] = { "admpads.com^", NULL }; const char *m8af47c9a[] = { "marchex.com^", NULL }; @@ -26961,6 +27001,7 @@ const char *m9090068c[] = { "sumo.com^", NULL }; const char *m90905b1b[] = { "_adcount=", NULL }; const char *m9091476e[] = { "metrics.windowsitpro.com^", NULL }; const char *m90923444[] = { "dl.dropboxusercontent.com^", NULL }; +const char *m90926a85[] = { "thepiratebay.", NULL }; const char *m9092f0f2[] = { "fullonsms.com/mixpop.html", NULL }; const char *m9094309f[] = { "bimlocal.com^", NULL }; const char *m90981bf8[] = { "?eventtype=impression&pid=", NULL }; @@ -27082,7 +27123,6 @@ const char *m91161f63[] = { "125x600.swf", NULL }; const char *m9117a536[] = { "cdn.mgid.com^", NULL }; const char *m9117e13e[] = { "meatballsandads.com^", NULL }; const char *m91189243[] = { "promo-reklama.ru^", NULL }; -const char *m911ef07e[] = { "thepiratebay.org/static/js/tpb.js", NULL }; const char *m912089f1[] = { "adtikimdtfbb.com^", NULL }; const char *m9120d7dc[] = { "adserver.irishwebmasterforum.com^", NULL }; const char *m91216b5b[] = { "yrfrvrbmipzb.com^", NULL }; @@ -27600,6 +27640,7 @@ const char *m93a0bbb [] = { "/468x60_", NULL }; const char *m93a19975[] = { "/supercookie.", NULL }; const char *m93a2440e[] = { "thxdbyracswy.com^", NULL }; const char *m93a4ca46[] = { "/tracker/ping/", NULL }; +const char *m93a5c18b[] = { "ckhfffgt.com^", NULL }; const char *m93a65498[] = { "zpxbdukjmcft.com^", NULL }; const char *m93a687b5[] = { "statcount.com^", NULL }; const char *m93a6a498[] = { "/impression_tracker.", NULL }; @@ -27979,6 +28020,7 @@ const char *m95ac12f0[] = { "uvcvhcbvy.bid^", NULL }; const char *m95ad204d[] = { "qnjxxbvgfgz.bid^", NULL }; const char *m95ad299b[] = { "_.gif?ref=", NULL }; const char *m95ad7ed [] = { "nnjiluslnwli.com^", NULL }; +const char *m95ad87ea[] = { "youboranqs01.com^", NULL }; const char *m95aea077[] = { "gfycat.com^", "^GFAN.min.js", NULL }; const char *m95af9dfc[] = { "bulbazoa.com^", NULL }; const char *m95b01162[] = { "babylon.com/redirects/", NULL }; @@ -28182,6 +28224,7 @@ const char *m96a571ea[] = { "ywxi.net/meter/", NULL }; const char *m96a5a479[] = { "pjnkstpiz.com^", NULL }; const char *m96a5b1b5[] = { "/adv_top.", NULL }; const char *m96a7c124[] = { "conative.de^", "^adscript.min.js", NULL }; +const char *m96a8a06d[] = { "/pub/js/ad.", NULL }; const char *m96a951ca[] = { "lmodr.biz^", NULL }; const char *m96a9e621[] = { "/spip.php?page=stats.js", NULL }; const char *m96aa72c0[] = { "freemoviestream.xyz/wp-content/uploads/", NULL }; @@ -28406,6 +28449,7 @@ const char *m97b65f91[] = { "usenetnl.download^", NULL }; const char *m97b6f441[] = { "dgbhmpumhxy.bid^", NULL }; const char *m97b8e6e7[] = { "/adframe120x240.", NULL }; const char *m97ba1d2c[] = { "duckduckgo.com/t/", NULL }; +const char *m97bbc18f[] = { "5iclx7wa4q.com^", NULL }; const char *m97bbdde5[] = { "perfdrive.com^", NULL }; const char *m97bd90af[] = { "dramafever.com/widget/", NULL }; const char *m97beac6c[] = { "rapidjazz.com/banner_rotation/", NULL }; @@ -29073,7 +29117,6 @@ const char *m9ad52096[] = { "setnewsonedayc.com^", NULL }; const char *m9ad69bb7[] = { "/viewad/", NULL }; const char *m9ad6a79c[] = { "eslydbnukkme.com^", NULL }; const char *m9ad9a695[] = { "/adscale.", NULL }; -const char *m9ad9c4d7[] = { "thepiratebay.org/static/js/scriptaculous.js", NULL }; const char *m9adc550c[] = { "/impression.php?", NULL }; const char *m9adea8d7[] = { "/pxgif/", NULL }; const char *m9ae00852[] = { "gvgakxvukmrm.com^", NULL }; @@ -30595,6 +30638,7 @@ const char *ma262fe22[] = { "teracent.net^", NULL }; const char *ma263b79a[] = { "/advertisement1.", NULL }; const char *ma263edc2[] = { "ebizblitz.co.za/upload/ad/", NULL }; const char *ma26437c0[] = { "clicks.dealer.com^", NULL }; +const char *ma264c0ef[] = { "xhewunoklug.com^", NULL }; const char *ma2657a48[] = { "/plugins/ads/", NULL }; const char *ma266e48c[] = { "/bigboxad.", NULL }; const char *ma26707f8[] = { "/clickpop.js", NULL }; @@ -31112,6 +31156,7 @@ const char *ma4c4bdd9[] = { "eltern.de/min.php?", "/clickTracking.js", NULL }; const char *ma4c4dfbd[] = { "pagoda56.com^", NULL }; const char *ma4c57475[] = { "puhtml.com^", ".js", NULL }; const char *ma4c6abd1[] = { "/cdn-cgi/pe/bag2?r[]=", "eth-pocket.de", NULL }; +const char *ma4c6b42f[] = { "myfebqficpi.com^", NULL }; const char *ma4c73175[] = { "netpool.netbookia.net^", NULL }; const char *ma4c9f7b8[] = { "aeyjbtwdf.bid^", NULL }; const char *ma4cb650 [] = { "/cls_rpt.gif?", NULL }; @@ -32956,6 +33001,7 @@ const char *mad6522d [] = { "againstein.com^", NULL }; const char *mad655461[] = { "ktu.sv2.biz^", NULL }; const char *mad65a622[] = { "sextube.com/lj.js", NULL }; const char *mad65d1db[] = { "c.homestore.com^", NULL }; +const char *mad65de15[] = { "cukabtvyl.com^", NULL }; const char *mad6c8645[] = { "springbreaktubegirls.com/js/springpop.js", NULL }; const char *mad6cd781[] = { "browserscope.org/user/beacon/", NULL }; const char *mad6ecd51[] = { "cdnjs.cloudflare.com^", NULL }; @@ -33895,6 +33941,7 @@ const char *mb1a98d2e[] = { "/ads88.", NULL }; const char *mb1abcc6 [] = { "/impression.gif?", NULL }; const char *mb1ae131c[] = { "bachecaannunci.it/statins3.php?", NULL }; const char *mb1b0210b[] = { "sp.lohud.com^", NULL }; +const char *mb1b0c1e3[] = { "yqmjmbmxzfz.com^", NULL }; const char *mb1b0fb8e[] = { "total-croatia-news.com/images/banners/", NULL }; const char *mb1b19d22[] = { "indeed.fr/ads/", NULL }; const char *mb1b1f4d [] = { "/analytics-assets/", NULL }; @@ -34221,6 +34268,7 @@ const char *mb349cdeb[] = { "webads.nl^", NULL }; const char *mb34f5058[] = { "finimbratedle.com^", NULL }; const char *mb350c9b6[] = { "adtiger.de^", NULL }; const char *mb3511dcf[] = { "/optimostBody2.", NULL }; +const char *mb3524449[] = { "glyicpeke.com^", NULL }; const char *mb3529fa4[] = { "cpuim.com^", NULL }; const char *mb352de11[] = { "clkstat.china.cn^", NULL }; const char *mb352f08f[] = { "dayt.se^", NULL }; @@ -35589,6 +35637,7 @@ const char *mb9ddc93a[] = { "hostels.com/includes/thing.php?", NULL }; const char *mb9ddf5b9[] = { "yahoo.com/_td_api/beacon/", NULL }; const char *mb9de0a0b[] = { "/fn_ads.", NULL }; const char *mb9de0cf0[] = { "ys.ddns.me^", NULL }; +const char *mb9de16c6[] = { "shopeasy.by^", NULL }; const char *mb9e02654[] = { "pixel.naij.com^", NULL }; const char *mb9e3b8ba[] = { "logs.live.tudou.com^", NULL }; const char *mb9e8f089[] = { "medrx.sensis.com.au/images/sensis/generic.js", NULL }; @@ -36163,6 +36212,7 @@ const char *mbc823908[] = { "pooltrax.com/stats/", NULL }; const char *mbc830aae[] = { "/alog.min.js", NULL }; const char *mbc832b66[] = { "tracker.netdisk.de^", NULL }; const char *mbc8429b0[] = { "pussl3.com", NULL }; +const char *mbc850c4e[] = { "mediator.mail.ru^", NULL }; const char *mbc8580f9[] = { "rhqkduodhizrr.com^", NULL }; const char *mbc85d04f[] = { "prudential.com^", "^metrics_1px.gif^", NULL }; const char *mbc86361d[] = { "mail.yahoo.com/mc/md.php?", NULL }; @@ -36911,6 +36961,7 @@ const char *mc0136653[] = { "techcentral.co.za^", "^background-manager^", NULL } const char *mc013e090[] = { "maxcdn.bootstrapcdn.com^", NULL }; const char *mc0171461[] = { "yimg.com/hl/ap/", "_takeover_", NULL }; const char *mc017a75e[] = { "/banner460x80.", NULL }; +const char *mc0199f7b[] = { "clickfunnels.com/userevents/", NULL }; const char *mc01b12b8[] = { "xidx.org^", NULL }; const char *mc01b73c3[] = { "/v5/ads/", NULL }; const char *mc01d39a9[] = { "admailtiser.com^", NULL }; @@ -37474,7 +37525,6 @@ const char *mc2c5312e[] = { "bestofmedia.com/ws/communicationSpot.php?", NULL }; const char *mc2c64c9e[] = { "yzuezvrahok.com^", NULL }; const char *mc2c92425[] = { "d2gtlljtkeiyzd.cloudfront.net^", NULL }; const char *mc2ca2f75[] = { "1tizer.com^", NULL }; -const char *mc2cb0961[] = { "elvenar.com^", NULL }; const char *mc2cb1174[] = { "mznijqwjkqadk.com^", NULL }; const char *mc2cb8435[] = { "stroeerdigitalmedia.de/praeludium/praeludium_", NULL }; const char *mc2cbb664[] = { "lovdkmqvoc.bid^", NULL }; @@ -37741,6 +37791,7 @@ const char *mc41f302a[] = { "steepto.com^", NULL }; const char *mc41f59f0[] = { "rawstory.com/givememyrawgfpdirect.php?", NULL }; const char *mc41fcfd7[] = { "teasernet.com^", NULL }; const char *mc4247211[] = { "/dspads.", NULL }; +const char *mc4265681[] = { "rules.noadblock.org^", NULL }; const char *mc426da1a[] = { "/ajaxtracker.", NULL }; const char *mc426f595[] = { "/adinit.", NULL }; const char *mc42728f5[] = { "ft.com/opentag/opentag-", NULL }; @@ -38184,6 +38235,7 @@ const char *mc64e5dfc[] = { "maxtracker.net^", NULL }; const char *mc64e6f2f[] = { "-468x80_", NULL }; const char *mc650dd0d[] = { "everythinggirl.com/assets/tracker/", NULL }; const char *mc6529d85[] = { "filestorage.chip.de^videoplayer^", NULL }; +const char *mc652bf45[] = { "/pixel?id=", NULL }; const char *mc656cec [] = { "/core/ad/", NULL }; const char *mc656e236[] = { "cfb943e26351a.com^", NULL }; const char *mc657159 [] = { "jtumenosmrte.com^", NULL }; @@ -38943,7 +38995,6 @@ const char *mc9de6486[] = { "waploft.cc^", NULL }; const char *mc9dea17 [] = { "/adwords-tracker.", NULL }; const char *mc9e0ebdb[] = { "proper.io^", NULL }; const char *mc9e203d2[] = { "pornbus.org/includes/js/cat.js", NULL }; -const char *mc9e206a5[] = { "thepiratebay.org^", NULL }; const char *mc9e30101[] = { "imageporter.com/tabber.js", NULL }; const char *mc9e4ed0d[] = { ".PageHitServlet?", NULL }; const char *mc9e53b25[] = { "brobible.com/?ACT", NULL }; @@ -39542,6 +39593,7 @@ const char *mccaa9080[] = { "jsstatic.com/_ads/", NULL }; const char *mccab7666[] = { "/onlineads/", NULL }; const char *mccad6a1e[] = { "/mongoose.fp.js", NULL }; const char *mccae357c[] = { "1el-1el-fie.com^", NULL }; +const char *mccb066ef[] = { "qualtrics.com/WRSiteInterceptEngine/?Q_Impress=", NULL }; const char *mccb0bf3b[] = { "inuxu.co.in^", NULL }; const char *mccb2c9f8[] = { "/pubads_", NULL }; const char *mccb3dd71[] = { "ad.preferances.com^", NULL }; @@ -39599,6 +39651,7 @@ const char *mcce36b42[] = { "indochino.com/indo-ecapture-widget/", NULL }; const char *mcce39aa7[] = { "britiesee.info^", NULL }; const char *mcce5eecc[] = { "orain.org/w/index.php/Special:RecordImpression?", NULL }; const char *mccea4559[] = { "lrmjvytlhho.com^", NULL }; +const char *mcceb3de9[] = { "netdna-ssl.com/wp-content/uploads/2017/01/tla17janE.gif", NULL }; const char *mccec1918[] = { "measurementapi.com^", NULL }; const char *mccec392c[] = { "6198399e4910e66-ovc.com^", NULL }; const char *mccecc3ff[] = { "/cgi-bin/te/in.cgi?", NULL }; @@ -39866,6 +39919,7 @@ const char *mce39fb72[] = { "/videoad.", NULL }; const char *mce3afdf1[] = { "sp.azcentral.com^", NULL }; const char *mce3b864f[] = { "s.holm.ru/stat/", NULL }; const char *mce3bbb08[] = { "footballshirtculture.com/images/e12b.jpg", NULL }; +const char *mce3df732[] = { "sozdyrrtsvr.com^", NULL }; const char *mce3ea730[] = { "phncdn.com/", "/js/t8.util-min.js?", NULL }; const char *mce406632[] = { "track.ugamezone.com^", NULL }; const char *mce427abc[] = { "tag.leadplace.fr^", NULL }; @@ -40111,6 +40165,7 @@ const char *mcf53e2dc[] = { "xztsmbznuwyo.com^", NULL }; const char *mcf53f07a[] = { "/TWBadbanner.", NULL }; const char *mcf56af1b[] = { "fvrbloxygbrv.com^", NULL }; const char *mcf570d92[] = { "nvcwvcmwdjgjyu.bid^", NULL }; +const char *mcf577b44[] = { "thepiratebay.", "/static/js/prototype.js", NULL }; const char *mcf5987bb[] = { "riverisland.com^", "^mindshare.min.js", NULL }; const char *mcf5a1e27[] = { "code.etracker.com/t.js?et=", NULL }; const char *mcf5a4e1a[] = { "qvovzakydfvi.bid^", NULL }; @@ -40338,6 +40393,7 @@ const char *md048d68f[] = { "developpez.com/public/js/track.js", NULL }; const char *md04941d0[] = { "count.spiegel.de^", NULL }; const char *md049acb8[] = { "creatives.cliphunter.com^", NULL }; const char *md04a422b[] = { "vfd2dyn.vodafone.de^", NULL }; +const char *md04a52ca[] = { "/tnc?_t=", NULL }; const char *md04caf9 [] = { "/300x90_", NULL }; const char *md04e8051[] = { "webangel.ru^", NULL }; const char *md04ebe85[] = { "/abmw.asp", NULL }; @@ -40408,6 +40464,7 @@ const char *md0a01cba[] = { "bahtsold.com/assets/images/ads/no_img_main.png", NU const char *md0a03e54[] = { "dohillright.com^", NULL }; const char *md0a1237a[] = { "blog-o-rama.de^", NULL }; const char *md0a17d8d[] = { "d2gqmq0lf9q8i2.cloudfront.net^", ".gif", NULL }; +const char *md0a19b38[] = { "viqmadjqndqkm.com^", NULL }; const char *md0a1e382[] = { "ylhjsrwqtqqb.com^", NULL }; const char *md0a2f549[] = { "vejrnvdsrvrbij.bid^", NULL }; const char *md0a479c9[] = { "283b9abd6cb82c.com^", NULL }; @@ -40553,6 +40610,7 @@ const char *md16c2244[] = { "/images1/ad_", NULL }; const char *md16cb36b[] = { "anyporn.com^", NULL }; const char *md16e7bc8[] = { "/ping.php?sid=", NULL }; const char *md16e908d[] = { "/beacon/ad/", NULL }; +const char *md16ffccc[] = { "zxcrsyhkndzoc.com^", NULL }; const char *md1717bdd[] = { "dwin1.com^", NULL }; const char *md175e303[] = { "nameads.com^", NULL }; const char *md17675c4[] = { "intporn.org/scripts/asma.js", NULL }; @@ -40615,6 +40673,7 @@ const char *md1b2c7f3[] = { "absolutewrite.com^", "_468x60banner.", NULL }; const char *md1b45fdb[] = { "/traffic_link_client.php?", NULL }; const char *md1b4ee1c[] = { "stripedcollar.net^", NULL }; const char *md1b79f7e[] = { "=display_ad&", NULL }; +const char *md1b7bb41[] = { "hh-btr.com^", NULL }; const char *md1b8e748[] = { "hegrinhar.com^", NULL }; const char *md1b9df3e[] = { "qtvnesozf.com^", NULL }; const char *md1ba63 [] = { "banners.amigos.com^", NULL }; @@ -40682,6 +40741,7 @@ const char *md2039126[] = { "traduguide.com/banner/", NULL }; const char *md2068b13[] = { "jobveibsozms.com^", NULL }; const char *md20741d [] = { "eluxer.net^", NULL }; const char *md208f0fc[] = { "x4300tiz.com^", NULL }; +const char *md20a6373[] = { "penthouse.com^", "^sidebar^", NULL }; const char *md20aa12c[] = { "tetigi.com^", NULL }; const char *md20c6d9b[] = { "elance.com^", "^emc.php^", NULL }; const char *md20d67c0[] = { "neogames-tech.com/resources/genericbanners/", NULL }; @@ -42293,7 +42353,6 @@ const char *md9b919d0[] = { "especifican.com^", NULL }; const char *md9b9c1af[] = { "ourmanga.com/funklicks", NULL }; const char *md9b9d607[] = { "/ad728rod.", NULL }; const char *md9bb055f[] = { "fastcontentdelivery.com/js/showad", ".js", NULL }; -const char *md9bb39a3[] = { "bigtitsxxxsex.com/eureka_ban/", NULL }; const char *md9bb7a64[] = { "bestcontentsoftware.top^", NULL }; const char *md9bd3499[] = { "/mixpanel_beacon.", NULL }; const char *md9bf6f73[] = { "/images/ad2/", NULL }; @@ -43052,6 +43111,7 @@ const char *mdd3e8383[] = { "fdxstats.xyz^", NULL }; const char *mdd3e99b0[] = { "slopeaota.com^", NULL }; const char *mdd40f30e[] = { "freedom.com^", "^analytics^", NULL }; const char *mdd42c751[] = { "covjoecuzyss.com^", NULL }; +const char *mdd448638[] = { "_files/analytics.", NULL }; const char *mdd450d91[] = { "facebooker.top^", NULL }; const char *mdd453839[] = { "/clickability2/", NULL }; const char *mdd45ed92[] = { "livechatinc.com^", "^control.cgi^", NULL }; @@ -43581,6 +43641,7 @@ const char *mdfb93fa4[] = { "streamate.com^", NULL }; const char *mdfb9e9ae[] = { "topalternate.com/assets/sponsored_links-", NULL }; const char *mdfba35c7[] = { "geoip.taskforce.is^", NULL }; const char *mdfbb73be[] = { "browsealoud.com/plus/scripts/", NULL }; +const char *mdfbc3533[] = { "panda.network^", NULL }; const char *mdfbe819b[] = { "/webstats.php", NULL }; const char *mdfbf7bcb[] = { "milkmanbook.com/dat/promo/", NULL }; const char *mdfbf83d [] = { "hkvqyjtdghbe.com^", NULL }; @@ -44251,6 +44312,7 @@ const char *me2e3fe42[] = { "siteanalytics.compete.com^", NULL }; const char *me2e48b1e[] = { "avitop.com^", "^hitlist.asp", NULL }; const char *me2e4be79[] = { "econda-monitor.de^", NULL }; const char *me2e56515[] = { "urlgone.com^", "^banners^", NULL }; +const char *me2e56794[] = { "tyyrigtlkny.com^", NULL }; const char *me2e6f1c1[] = { "rzgiiioqfpny.com^", NULL }; const char *me2e71eb2[] = { "i1pnovju.site^", NULL }; const char *me2e7d98 [] = { "multiup.org/img/sonyoutube_long.gif", NULL }; @@ -44861,6 +44923,7 @@ const char *me5fe44d9[] = { "baskettexture.com^", NULL }; const char *me5fe6cbe[] = { "204.236.233.138/tracker/", NULL }; const char *me5ff59f0[] = { "wowanalytics.co.uk^", NULL }; const char *me5ff5f12[] = { "mbfvfdkawpoi.com^", NULL }; +const char *me5ff647c[] = { "^^https^^\\^\\^([0-9a-z\\-]+\\.)^(9anime|gogoanime|kimcartoon|memecenter|readcomiconline|watchcartoononline)\\.[a-z]{2,4}\\^(^!(Content|Uploads|static|thumbs|player|wp-content|wp-includes))(.", ")^", NULL }; const char *me5ff716e[] = { "/scripts/sweet/", NULL }; const char *me600f495[] = { "phncdn.com/pagespeed.js", NULL }; const char *me601e3dd[] = { "divxden.com^", "^tracker.js", NULL }; @@ -44920,6 +44983,7 @@ const char *me64b4eed[] = { "essayinfo.com/img/125x125_", NULL }; const char *me64beeb4[] = { "sp.vcstar.com^", NULL }; const char *me64cd28e[] = { "quinet.it/counter/", NULL }; const char *me64e38a7[] = { "miner.pr0gramm.com^", NULL }; +const char *me64f32cd[] = { "_hits_stat.", NULL }; const char *me64fd5c [] = { "rkbjbtxhdi.bid^", NULL }; const char *me651838e[] = { "webcounter.cz^", NULL }; const char *me654934 [] = { "affiliatefuture.com^", NULL }; @@ -45332,6 +45396,7 @@ const char *me82c24d8[] = { "sc2casts.com^", NULL }; const char *me82ca885[] = { "rabbitporno.com/friends/", NULL }; const char *me82db [] = { "gbbtziazhn.com^", NULL }; const char *me82e0576[] = { "/cs_api/log", NULL }; +const char *me82e6a10[] = { "buysellads.net^", NULL }; const char *me82ee886[] = { "/clickpathmedia_", NULL }; const char *me82f0506[] = { "d2qz7ofajpstv5.cloudfront.net^", NULL }; const char *me8302de4[] = { "imgadult.com/js/advertisement.js", NULL }; @@ -45479,6 +45544,7 @@ const char *me8d6cfc1[] = { "nzonscreen.com/track_video_item", NULL }; const char *me8d87e13[] = { "/clickAnalyse.", NULL }; const char *me8d9f1eb[] = { "/ga-links.js", NULL }; const char *me8da8984[] = { "clicks.traffictrader.net^", NULL }; +const char *me8db0a0c[] = { "ffoifngclwfuey.com^", NULL }; const char *me8dc7fad[] = { "ynlrfiwj.com^", NULL }; const char *me8e07539[] = { "individuad.net^", NULL }; const char *me8e1f79b[] = { "youtube.com/set_awesome?", NULL }; @@ -45914,6 +45980,7 @@ const char *meb1e059 [] = { "mastiway.com/webimages/", NULL }; const char *meb207332[] = { "cnn.com/ad-", NULL }; const char *meb207bbb[] = { "_adsystem/", NULL }; const char *meb244c1 [] = { "chibis.adotube.com/appRuntime/swfobject/", NULL }; +const char *meb24e4a8[] = { "prsmglob.com^", NULL }; const char *meb2538b4[] = { "thessdreview.com^", "-bg.jpg", NULL }; const char *meb25727e[] = { "youporn-hub.com/lcdscript.js", NULL }; const char *meb2642c1[] = { "vitalmtb.com/assets/vital.aba-", NULL }; @@ -46879,6 +46946,7 @@ const char *mefa2a739[] = { "hawaiireporter.com^", "^upandruningy.jpg", NULL }; const char *mefa3435e[] = { "softwarepiset.com^", NULL }; const char *mefa37acc[] = { "monstercrawler.com/__kl.gif", NULL }; const char *mefa6b0d1[] = { "/visit_pixel?", NULL }; +const char *mefa77003[] = { "ybnuasihsy.com^", NULL }; const char *mefa7af29[] = { "/writeKAStats/", NULL }; const char *mefa8aec6[] = { "gmyze.com^", NULL }; const char *mefa92b8c[] = { "ikfmafgtgnylts.com^", NULL }; @@ -47196,6 +47264,7 @@ const char *mf12e1fc5[] = { "onuwbarslrii.bid^", NULL }; const char *mf12eef30[] = { "/ads.swf", NULL }; const char *mf130283c[] = { "qpttmgdofkkya.bid^", NULL }; const char *mf133e335[] = { "ajplugins.com^", NULL }; +const char *mf135a657[] = { "netdna-ssl.com/wp-content/uploads/2017/01/tla17sepB.gif", NULL }; const char *mf135b114[] = { "eurolive.com/?module=public_eurolive_onlinehostess&", NULL }; const char *mf1385901[] = { "findsthat.com^", NULL }; const char *mf1394f6 [] = { "qq.com/code.cgi?", NULL }; @@ -47635,6 +47704,7 @@ const char *mf36e5183[] = { "sexmummy.com/avnadsbanner.", NULL }; const char *mf36ea3ce[] = { "homad-global-configs.schneevonmorgen.com^", NULL }; const char *mf36f30ca[] = { "/iframeads.", NULL }; const char *mf3732fa4[] = { "aadbobwqgmzi.com^", NULL }; +const char *mf3739b07[] = { "pimmuter.com^", NULL }; const char *mf3748434[] = { "geobanner.fuckbookhookups.com^", NULL }; const char *mf374b7fb[] = { "cpcmanager.com^", NULL }; const char *mf376b7b1[] = { "heawnqbmsi.bid^", NULL }; @@ -48001,6 +48071,7 @@ const char *mf4feb0b7[] = { "warrantydirect.co.uk/widgets/", NULL }; const char *mf4fef763[] = { "just-download.com/banner/", NULL }; const char *mf4ffb995[] = { "/admarker.", NULL }; const char *mf500da10[] = { "acjmkenepeyn.com^", NULL }; +const char *mf5040648[] = { "intab.xyz^", NULL }; const char *mf50429aa[] = { "filmon.com^", "^adn^", NULL }; const char *mf5073af [] = { "yycxldhlajjuj.com^", NULL }; const char *mf50808ba[] = { "mezzobit.com^", NULL }; @@ -48392,6 +48463,7 @@ const char *mf6f49f8f[] = { "/ad_wrapper.", NULL }; const char *mf6f4b4a2[] = { "the-group.net/aether/", NULL }; const char *mf6f6ad8d[] = { "meetic-partners.com^", NULL }; const char *mf6f80128[] = { "mbvmecdlwlts.com^", NULL }; +const char *mf6fa2da5[] = { "stat.pravmir.ru^", NULL }; const char *mf6fb26e5[] = { "internetfuel.com^", NULL }; const char *mf6fc137f[] = { "sohu.com/pv.js", NULL }; const char *mf700490a[] = { "apxtarget.com^", NULL }; @@ -48710,6 +48782,7 @@ const char *mf87672ad[] = { "mvtracker.com^", NULL }; const char *mf879daec[] = { "_home_ad_", NULL }; const char *mf87a075a[] = { "ipredictive.com^", NULL }; const char *mf87a4e82[] = { "/lifelockad.", NULL }; +const char *mf87b8cbd[] = { "adalliance.io^", NULL }; const char *mf87c2f02[] = { "targetix.net^", NULL }; const char *mf87c60c5[] = { "spacash.com/popup/", NULL }; const char *mf87cb392[] = { "bizarremag.com/images/skin_", NULL }; @@ -48776,6 +48849,7 @@ const char *mf8bd8b5f[] = { "fleshlight.com/?link=", NULL }; const char *mf8bdc2b6[] = { "trainup.com/inc/TUPTracking.js", NULL }; const char *mf8bdee6d[] = { "sagoodnews.co.za/templates/ubuntu-deals/", NULL }; const char *mf8be8e2f[] = { "yejkuusxijvzz.com^", NULL }; +const char *mf8bf28f2[] = { "tortoise.proboards.com/tortoise.pl?", NULL }; const char *mf8c09b15[] = { "r66net.com^", NULL }; const char *mf8c1070c[] = { "queronamoro.com^", NULL }; const char *mf8c12118[] = { "-ad-gif1-", NULL }; @@ -49290,6 +49364,7 @@ const char *mfb258f0e[] = { "/criteo.", NULL }; const char *mfb25d69c[] = { "o.addthis.com^", NULL }; const char *mfb269e98[] = { "msads.net^", NULL }; const char *mfb287088[] = { "euromillionairesystem.me^", NULL }; +const char *mfb2ac87d[] = { "readcomiconline.to^", "^jquery17.min.js", NULL }; const char *mfb2b7a0e[] = { "ikxdpmnznk.bid^", NULL }; const char *mfb2b9b7d[] = { "pulsemgr.com^", NULL }; const char *mfb2c8869[] = { "kerg.net^", NULL }; @@ -49944,6 +50019,7 @@ const char *mfe2f900c[] = { "adg99.com^", NULL }; const char *mfe2fd9c0[] = { "b-europe.com/HttpHandlers/httpCombiner.ashx?", "/xiti.js", NULL }; const char *mfe3037d2[] = { "elitepartner.de/km/tcnt.do?", NULL }; const char *mfe3045b8[] = { "/imasdk/", NULL }; +const char *mfe307210[] = { "_loginlog.php?", NULL }; const char *mfe351dd2[] = { "babyblog.ru/pixel?", NULL }; const char *mfe3741ea[] = { "/ads-request.", NULL }; const char *mfe37f2c5[] = { "-125x40-", NULL }; @@ -50362,6 +50438,7 @@ const char *d153231ee[] = { "newgrounds.com", NULL }; const char *d153dc664[] = { "circusstreet.com", NULL }; const char *d1555304 [] = { "worldc.am", NULL }; const char *d1557574b[] = { "amctheatres.com", "pitchfork.com", "podomatic.com", "virginaustralia.com", NULL }; +const char *d155eb3b1[] = { "0123movies.com", "1337x.to", "1movies.to", "9anime.is", "adsrt.com", "ahlamtv.com", "akvideo.stream", "allmyvideos.netakvideo.stream", "animeflv.net", "animeid.io", "asianvote.com", "avgle.com", "bmovies.to", "clipconverter.cc", "cloudtime.to", "cruzing.xyz", "dropapk.com", "embed.nowvideo.sx", "embed.videoweed.es", "escdn.co", "estream.to", "extreme-board.com", "eztv.ag", "fastbay.net", "fileone.tv", "flash-x.tv", "flashsx.tv", "flashx.me", "flashx.run", "flashx.sx", "flashx.to", "flashx.tv", "flashx.ws", "flashx1.tv", "flashxx.tv", "fmovies.is", "fmovies.se", "fmovies.to", "fruithosted.net", "fruitstreams.com", "gogoanime.io", "gogoanime.to", "gorillavid.in", "gowatchfreemovies.to", "grammarist.com", "ikwilthepiratebay.org", "imagebam.com", "imagefruit.com", "imageporter.com", "imagerar.com", "img24.org", "imgadult.com", "imgbox.com", "imgdrive.net", "imgshots.com", "imgsin.com", "imgspice.com", "imgtaxi.com", "imgvip.net", "imgwallet.com", "jkanime.net", "katcr.party", "kickass.cd", "kickass.gg", "kimcartoon.me", "lavamovies.se", "m4ufree.tv", "megaup.net", "moecdn.io", "monova.org", "movie4k.is", "movpod.in", "mp3indirdur.mobi", "mywebtv.info", "newser.com", "nosteam.ro", "nowvideo.sx", "oload.site", "oload.stream", "oload.win", "oload.xyz", "oloadcdn.net", "onhax.me", "onlinevideoconverter.com", "openload.co", "openloadmovies.tv", "opentpb.com", "otakustream.tv", "piratebayblocked.com", "pirateproxy.sh", "pirateproxy.website", "playercdn.net", "pornparadise.org", "povwideo.net", "powvideo.net", "proxydl.cf", "putlockertv.se", "putlockertv.to", "rapidvideo.com", "rarbgproxy.org", "readcomiconline.to", "repelis.net", "seehd.pl", "sendvid.com", "sexuria.com", "solarmoviesc.com", "speedvid.net", "sportp2p.com", "stream.moe", "stream2watch.org", "streamango.com", "streamcherry.com", "streamplay.to", "streamshunter.tv", "suprafiles.org", "thehiddenbay.fi", "thehiddenbay.ws", "thekat.nz", "thepiratebay.red", "thepiratebay.rocks", "thepirateproxy.ws", "theproxybay.me", "thevideo.cc", "thevideo.ch", "thevideo.me", "thevideo.website", "torrentz.to", "tpb.zone", "tpbmirror.ga", "tpbship.org", "uktpbmirror.pw", "unblocker.cc", "unblocktpb.pro", "userscloud.com", "vidgg.to", "vidlox.me", "vidlox.tv", "vidoza.net", "vidto.me", "vidtod.me", "vidtudu.com", "vidup.me", "vidz7.com", "vidzi.tv", "vipleague.mobi", "vodlock.co", "watchcartoononline.com", "watchonline.to", "watchonlinemovies.com.pk", "wholecloud.net", "youwatch.org", "yts.am", NULL }; const char *d1565bdea[] = { "adver.biz", NULL }; const char *d157237a0[] = { "tellows.de", NULL }; const char *d1593d9e8[] = { "deviantart.com", NULL }; @@ -50764,6 +50841,7 @@ const char *d4c40ec85[] = { "adsbox.in", NULL }; const char *d4ca8eb41[] = { "shanghaidaily.cn.ip", NULL }; const char *d4cbba7bb[] = { "winfuture.de", NULL }; const char *d4cd4828d[] = { "netcombo.com.br", "saraiva.com.br", "tugatech.com.pt", NULL }; +const char *d4cdde2f2[] = { "9anime.is", NULL }; const char *d4d13c4b9[] = { "empireonline.com", NULL }; const char *d4d1ce910[] = { "casinobonus24.se", "top5casinosites.co.uk", NULL }; const char *d4d21e4b5[] = { "audiforums.com", NULL }; @@ -50970,7 +51048,6 @@ const char *d68d5cd5d[] = { "sidereel.com", NULL }; const char *d68df37b4[] = { "walmart.com", NULL }; const char *d68e0d005[] = { "kickass2.ch", NULL }; const char *d68fc130d[] = { "memegenerator.net", NULL }; -const char *d6904e2cc[] = { "0123movies.com", "1337x.to", "1movies.to", "9anime.is", "adsrt.com", "ahlamtv.com", "akvideo.stream", "allmyvideos.netakvideo.stream", "animeflv.net", "animeid.io", "asianvote.com", "avgle.com", "bmovies.to", "clipconverter.cc", "cloudtime.to", "cruzing.xyz", "dropapk.com", "embed.nowvideo.sx", "embed.videoweed.es", "escdn.co", "estream.to", "extreme-board.com", "eztv.ag", "fastbay.net", "fileone.tv", "flash-x.tv", "flashsx.tv", "flashx.me", "flashx.run", "flashx.sx", "flashx.to", "flashx.tv", "flashx.ws", "flashx1.tv", "flashxx.tv", "fmovies.is", "fmovies.se", "fmovies.to", "fruithosted.net", "fruitstreams.com", "gogoanime.io", "gorillavid.in", "gowatchfreemovies.to", "grammarist.com", "ikwilthepiratebay.org", "imagebam.com", "imagefruit.com", "imageporter.com", "imagerar.com", "img24.org", "imgadult.com", "imgbox.com", "imgdrive.net", "imgshots.com", "imgsin.com", "imgspice.com", "imgtaxi.com", "imgvip.net", "imgwallet.com", "jkanime.net", "katcr.party", "kickass.cd", "kickass.gg", "lavamovies.se", "m4ufree.tv", "megaup.net", "moecdn.io", "monova.org", "movie4k.is", "movpod.in", "mp3indirdur.mobi", "mywebtv.info", "newser.com", "nosteam.ro", "nowvideo.sx", "oload.site", "oload.stream", "oload.win", "oload.xyz", "oloadcdn.net", "onhax.me", "onlinevideoconverter.com", "openload.co", "openloadmovies.tv", "opentpb.com", "otakustream.tv", "piratebayblocked.com", "pirateproxy.sh", "pirateproxy.website", "playercdn.net", "pornparadise.org", "povwideo.net", "powvideo.net", "proxydl.cf", "putlockertv.se", "putlockertv.to", "rapidvideo.com", "rarbgproxy.org", "repelis.net", "seehd.pl", "sendvid.com", "sexuria.com", "solarmoviesc.com", "speedvid.net", "sportp2p.com", "stream.moe", "stream2watch.org", "streamango.com", "streamcherry.com", "streamplay.to", "streamshunter.tv", "suprafiles.org", "thehiddenbay.fi", "thehiddenbay.ws", "thekat.nz", "thepiratebay.red", "thepiratebay.rocks", "thepirateproxy.ws", "theproxybay.me", "thevideo.cc", "thevideo.ch", "thevideo.me", "thevideo.website", "torrentz.to", "tpb.zone", "tpbmirror.ga", "tpbship.org", "uktpbmirror.pw", "unblocker.cc", "unblocktpb.pro", "userscloud.com", "vidgg.to", "vidlox.me", "vidlox.tv", "vidoza.net", "vidto.me", "vidtod.me", "vidtudu.com", "vidup.me", "vidz7.com", "vidzi.tv", "vipleague.mobi", "vodlock.co", "watchcartoononline.com", "watchonline.to", "watchonlinemovies.com.pk", "wholecloud.net", "youwatch.org", "yts.am", NULL }; const char *d6927796d[] = { "yttalk.com", NULL }; const char *d697a503f[] = { "asiananimaltube.org", NULL }; const char *d69f02182[] = { "mitly.us", NULL }; @@ -51093,7 +51170,6 @@ const char *d79d43575[] = { "xmovies8.es", "xmovies8.ru", "xmovies8.tv", NULL }; const char *d79dd7260[] = { "aftenposten.no", "e24.no", "hardware.no", "vg.no", NULL }; const char *d7a0d31fc[] = { "antena3.com", "atresmedia.com", "atresplayer.com", "lasexta.com", "majorleaguegaming.com", NULL }; const char *d7a172a8d[] = { "animegalaxy.net", "animenova.tv", "animetoon.tv", "animewow.eu", "gogoanime.com", "goodanime.eu", "gooddrama.net", "toonget.com", NULL }; -const char *d7a29d827[] = { "thepiratebay.org", NULL }; const char *d7a8f3c13[] = { "theawl.com", NULL }; const char *d7af4dd6c[] = { "xvideos.com", NULL }; const char *d7af7dc7c[] = { "pianobuyer.com", NULL }; @@ -51729,6 +51805,7 @@ const char *dd0c9aac [] = { "mobile.de", NULL }; const char *dd12fb6f [] = { "shared.sx", NULL }; const char *dd15ebeb8[] = { "facebook.com", "messenger.com", NULL }; const char *dd19b28d8[] = { "ad4.wpengine.com", "vereinslinie.de", NULL }; +const char *dd1a9c2d9[] = { "thepiratebay.cr", "thepiratebay.org", "thepiratebay.red", NULL }; const char *dd1af0dc3[] = { "scribd.com", NULL }; const char *dd1d93d72[] = { "motherless.com", NULL }; const char *dd1ea325e[] = { "pornhub.com", "xhamster.com", "youporn.com", NULL }; @@ -51901,6 +51978,7 @@ const char *de91b614 [] = { "cheaptickets.com", NULL }; const char *de9683dfc[] = { "player.radio.com", NULL }; const char *de9c87fb7[] = { "evestment.com", NULL }; const char *de9ca9ae9[] = { "viafree.dk", "viafree.no", NULL }; +const char *de9d10838[] = { "filecloud.io", NULL }; const char *dea036b39[] = { "cleodesktop.com", "mugiwaranofansub.blogspot.com.ar", "musicacelestial.net", NULL }; const char *dea812188[] = { "kissasian.ch", NULL }; const char *dead629f9[] = { "downloadfullfree.com", NULL }; @@ -57684,6 +57762,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m69b729f4, 0, NULL, NULL }, {m3aa8efc2, 0, NULL, NULL }, {m86df7f47, 0, NULL, NULL }, + {m96a8a06d, 0, NULL, NULL }, {ma2117315, ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mda376aa6, 0, NULL, NULL }, {m90396b9d, 0, NULL, NULL }, @@ -60462,6 +60541,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m7df97530, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m3cde80a5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {md8dabcc3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {mf87b8cbd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m6e153b67, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mea3c12d7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mb92314cc, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -61442,6 +61522,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m82a0c78c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {ma4e2c089, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m7e32539a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {me82e6a10, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m355ee7ce, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m2921d3b1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mfe5c885e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -62815,6 +62896,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m64906344, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {medd3a3b6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {md1a9d16, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m7e60c83e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m93593641, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m6bf21b94, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m7ad5466e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -63434,6 +63516,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m8c0d90d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m484fdadf, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m3cd81064, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {mdfbc3533, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mb843def6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m6a7bec2f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m66aadc2f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -63546,6 +63629,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m3a4c3093, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {meffa733f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m9b4077a2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m6d61bb95, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mcbec52e9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {me572d175, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m5e0f425f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -65913,6 +65997,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m32756e7c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mccae357c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m83827c7d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m1b8c4dd3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {ma4c26f4a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {maeadb94c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m4c0548d4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -66710,6 +66795,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m4ceff093, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m99563276, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {ma8454cbd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m93a5c18b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mb86b7ef3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m18bcdc02, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {md1fb09fd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -66821,6 +66907,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m4aa1c707, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mba2e6892, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {madfc590e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {mad65de15, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mba1a8e53, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m7bb5ca09, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m23f3b2f9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -67274,6 +67361,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mfa3fd038, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m41f0a044, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m1d1f5706, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m17f3de71, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mff36f641, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m4c6ba0f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m71dbe360, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -67398,6 +67486,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m8e3e79d6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mc2738876, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mdf580dc5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {me8db0a0c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m85d8327d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m5d558b5f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m47b00eff, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -67720,6 +67809,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mc82a6c07, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m8bde20fd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m8a288e2e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {mb3524449, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m58ba1eb9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mc4d691ab, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mc084718b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -68153,6 +68243,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mdf56b79d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mdd7ecf58, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mac4b0749, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m7d5e2921, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m8075a5ae, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mc5f00b39, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {me543b2a3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -68694,6 +68785,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m2e26b237, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {me9273df7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {ma53fb56f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m20dc7ffe, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mf6b66f24, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m5281d806, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m332734f3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -69018,6 +69110,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m1519f1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {me45ca6c2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m5f2d22e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m1839be20, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mc955df59, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {ma67c10f2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m8532fd3b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -69456,6 +69549,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m4497beab, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m8ae4dd12, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mbd3d3e4d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {ma4c6b42f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m73a90ad2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mccc56098, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {ma49c3a15, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -69603,6 +69697,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m52b4783e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m27d545fa, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m4e339d8b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m61f980f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m323431b0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mf03710a2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m11a95794, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -69748,6 +69843,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m5a4b7d65, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m57b01e39, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {me3298ca4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m54207775, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m10657bda, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m39813475, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mef5fb1fb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -69941,6 +70037,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m84ae35bb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m94170309, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mf835e1ea, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m44926e12, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mb2854607, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {md426139d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {me0183bd5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -70122,12 +70219,14 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mebab4c7f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mc6e91588, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mf8501e68, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {meb24e4a8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mf951c6d4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m42866fc, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m7825c43d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mee6d8593, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m96a0a9d3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {maef31516, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m41d34d89, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m3e212fa6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m50bf32be, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m179c7f08, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -70284,6 +70383,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m4e255ede, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m4e9bf00e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m4bf688df, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m37f9ee59, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mbc1399d1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mfa77c755, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mf2953014, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -70409,6 +70509,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m856cba06, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mcf5a4e1a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m5cebf6a3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m6ff9e242, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m34685eff, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m24faa594, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {madbddf4b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -70478,6 +70579,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mcfbcab99, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {md6fd466d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m5d8253e2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m3b34a759, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mc90e8833, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m170799e5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m8a6023be, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -70830,6 +70932,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mdca87497, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m4c09d0bf, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m16af3b7e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {mce3df732, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m46646ee1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m1673b273, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {meaf92400, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -71188,6 +71291,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m83baf548, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {md4767fcf, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m408761af, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {me2e56794, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m67045cf4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m36b16e89, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m9d1657d9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -71545,6 +71649,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {meb51b8a6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m3277fcf8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mf5507a1d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {md0a19b38, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m5e4f6b65, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {md08dc9e9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m4882edec, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -71635,6 +71740,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mfea53897, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mfc131cc3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m517f5db0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m466eb394, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {me588d0c8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m1315e386, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m2ab5e0d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -72021,6 +72127,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mf6171eb1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mc49ba22d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m8d37c098, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {ma264c0ef, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {ma5ebcc71, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m13214fcc, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m544054d3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -72208,6 +72315,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m9345491d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m1f1e7137, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mad1bd6d8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {mefa77003, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mfe93fce2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m9e6f2cb2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mb4203b6f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -72342,6 +72450,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {ma31470f8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m5d931396, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mfbbebb2f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {mb1b0c1e3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mbcdac538, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m378678aa, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m5ffe56cf, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -72643,6 +72752,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {me4667a81, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m839c86a9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mec5b5745, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {md16ffccc, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {me072e097, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m1ecd3d24, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mc2a3c591, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -73035,6 +73145,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m1048020, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m8ecaee15, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m6f16b883, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m97bbc18f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mccec392c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m28a22457, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mbe9643e4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -73296,7 +73407,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mfdba70c2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m6115c522, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {md29b6f81, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, - {mc2cb0961, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m9fcc810a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m77ab830b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m71d05656, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -73372,6 +73482,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m3f677e77, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m2bd8eb4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mf7356749, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, + {md1b7bb41, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mf2fc1ea5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mb13fa9de, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mde126e06, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -73408,6 +73519,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m60da9ded, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m12145ba9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {me682bb7e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, + {mf5040648, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m4e272455, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {ma43c714c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m4f701b65, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -73547,6 +73659,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m45f300b0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {me9d60802, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m62636c6a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {mf3739b07, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m21b850a3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mfca55e57, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m42b4fe9e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -73661,6 +73774,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m386d1630, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m4d5adafb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m407c5e4d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {mb9de16c6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mee71d9d2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m57bb12e5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m34b5daba, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -75313,6 +75427,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m7ff8410a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m56fcf927, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m5fe818fe, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m8aefce8f, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m8b54b591, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m83420211, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {ma173ec5d, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, @@ -75588,6 +75703,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mf48e0e93, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {mae738569, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, dead6aa4d, NULL }, {m341b68d7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, + {m5ac197f4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m77492b65, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m9d2b8949, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m3b6a5eef, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -79725,6 +79841,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m3f22d5cf, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m96318986, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {mc097374d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, + {m555a5d9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m980aa29d, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {me061afd9, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {mbeddf5a0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -79742,6 +79859,8 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mef8809da, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d19a43343, NULL }, {m99445457, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, d8c677db7, NULL }, {m7e9ae777, ADBLOCK_FLAG_MATCH_DOMAIN, d403f597f, NULL }, + {mcceb3de9, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, + {mf135a657, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m624e1093, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d2344d5f0, NULL }, {m21a35206, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, da54ca9e9, NULL }, {mf3422bd5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, d403f597f, NULL }, @@ -81533,8 +81652,13 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {ma9b66181, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, db94bccb1, NULL }, {m34ceab24, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d5038c71a, NULL }, {m905f762e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d5038c71a, NULL }, - {me7aed79f, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, + {me5ff647c, ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL }, + {me7aed79f, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d4cdde2f2, NULL }, {m2db15b3, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, + {m89e4b38b, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, + {m21fc5a39, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_MATCH_END | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL }, + {m6e8e0b00, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_MATCH_END | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL }, + {mfb2ac87d, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL }, {mcce05e89, ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL }, {m4c31e695, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, d45e8bf3c, NULL }, {mc5024c0b, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d45e8bf3c, NULL }, @@ -81799,12 +81923,12 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m4e50b7bc, ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL }, {m4110373b, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d18502143, NULL }, {m5d70e530, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, - {m8a6a71ba, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, - {m3707862, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, - {m9ad9c4d7, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, - {m911ef07e, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, - {m36cd4bd4, 0, d7a29d827, NULL }, - {mc9e206a5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d7a29d827, NULL }, + {m48028c34, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, dd1a9c2d9, NULL }, + {mcf577b44, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, dd1a9c2d9, NULL }, + {m510af185, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, dd1a9c2d9, NULL }, + {m52a03be0, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, dd1a9c2d9, NULL }, + {m36cd4bd4, 0, dd1a9c2d9, NULL }, + {m90926a85, ADBLOCK_FLAG_MATCH_DOMAIN, dd1a9c2d9, NULL }, {m40eddcae, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_FIRST_PARTY, d804482f2, NULL }, {m1a3fa3c5, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d3f099d6f, NULL }, {m12fde73e, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, de867256e, NULL }, @@ -82149,7 +82273,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mfca9ce40, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mae4cc101, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {mf33e8a7d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d59e22eda, NULL }, - {m59588724, ADBLOCK_FLAG_HAS_WILDCARD, d6904e2cc, NULL }, + {m59588724, ADBLOCK_FLAG_HAS_WILDCARD, d155eb3b1, NULL }, {m23a277f3, ADBLOCK_FLAG_MATCH_BEGIN | ADBLOCK_FLAG_HAS_SEPARATOR, d230e59ac, NULL }, {m84aed8cf, ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_THIRD_PARTY, d6e3f992d, NULL }, {m77c42d90, ADBLOCK_FLAG_MATCH_BEGIN | ADBLOCK_FLAG_HAS_SEPARATOR, db370b6b2, NULL }, @@ -82685,6 +82809,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m1390eebf, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m180ccb93, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m703d7bdd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, + {md20a6373, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mce0b572a, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m7d0fd2c2, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m12267b76, ADBLOCK_FLAG_MATCH_DOMAIN, d33184ab2, NULL }, @@ -86104,6 +86229,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mf48ccfa9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mc6dddf69, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL }, {m11e125bc, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d8da95765, NULL }, + {mc4265681, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d8da95765, NULL }, {m291c1988, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {ma579e0de, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m1955ea9b, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_BEGIN | ADBLOCK_FLAG_MATCH_END | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -86186,7 +86312,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mfe09e3cc, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL }, {m819fc2a0, ADBLOCK_FLAG_MATCH_DOMAIN, dcf6c29e6, NULL }, {mb058beb, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN, d74c31c76, NULL }, - {m6d5d1653, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m41c999d7, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, d7bcfbb47, NULL }, {mf8578c42, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m172908ff, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -86362,7 +86487,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m51a4bf31, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL }, {mc1e1a2e1, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, d218185ee, NULL }, {ma025270a, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD, d5d437ba3, NULL }, - {md9bb39a3, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m5d710a94, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m4fbc6b87, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m2549aba1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -86573,6 +86697,9 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m2833934b, 0, NULL, NULL }, {m5e9ccfa9, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL }, {m842347d6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL }, + {m44bf2d51, ADBLOCK_FLAG_MATCH_DOMAIN, de9d10838, NULL }, + {mbcd2f850, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m3f1a61ba, ADBLOCK_FLAG_EXCEPTION | ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_FIRST_PARTY, NULL, NULL }, {m480a1f0f, ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL }, {mbdfd5ddc, ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL }, {mb82b6e67, 0, NULL, NULL }, @@ -86872,6 +86999,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {maade70e4, 0, NULL, NULL }, {maafc0b57, 0, NULL, NULL }, {maf7fc7e9, 0, NULL, NULL }, + {m530f237c, 0, NULL, NULL }, {m9ef78dff, ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL }, {m33ba2656, 0, NULL, NULL }, {m7343c9c6, 0, NULL, NULL }, @@ -87638,6 +87766,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m685b0f27, 0, NULL, NULL }, {m1911679c, 0, NULL, NULL }, {mf44945f9, 0, NULL, NULL }, + {m88d2c63d, 0, NULL, NULL }, {m6e79a335, 0, NULL, NULL }, {me5112f31, 0, NULL, NULL }, {mb74d333e, 0, NULL, NULL }, @@ -88559,6 +88688,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mcfbad722, 0, NULL, NULL }, {mdebbb61b, 0, NULL, NULL }, {m52b7fb54, 0, NULL, NULL }, + {m4380cff2, 0, NULL, NULL }, {m2ac52956, 0, NULL, NULL }, {mabadfa4f, 0, NULL, NULL }, {mbeb23712, 0, NULL, NULL }, @@ -88901,6 +89031,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m617f35c0, 0, NULL, NULL }, {mad917ce5, 0, NULL, NULL }, {ma13358a8, 0, NULL, NULL }, + {m3473bd6a, 0, NULL, NULL }, {mbd819523, ADBLOCK_FLAG_HAS_WILDCARD, NULL, NULL }, {m5446b41d, 0, NULL, NULL }, {mc92aa6ba, 0, NULL, NULL }, @@ -88924,6 +89055,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {md45bfd91, 0, NULL, NULL }, {m5ee13fa5, 0, NULL, NULL }, {m666f7539, 0, NULL, NULL }, + {mc652bf45, 0, NULL, NULL }, {m8ddfc4b3, 0, NULL, NULL }, {m88e1d9cc, 0, NULL, NULL }, {m80bebcec, 0, NULL, NULL }, @@ -89459,6 +89591,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mf202da88, 0, NULL, NULL }, {m43f0e94d, 0, NULL, NULL }, {md62783, 0, NULL, NULL }, + {m7c1c3e95, 0, NULL, NULL }, {m73829381, 0, NULL, NULL }, {m3fe05217, 0, NULL, NULL }, {mf0ac2ace, 0, NULL, NULL }, @@ -89567,6 +89700,8 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m37a465d4, 0, NULL, NULL }, {me51467bb, 0, NULL, NULL }, {mfe75dfd1, 0, NULL, NULL }, + {m26003a82, 0, NULL, NULL }, + {md04a52ca, 0, NULL, NULL }, {m47555b1a, 0, NULL, NULL }, {mca009e4a, 0, NULL, NULL }, {mf74a14f3, 0, NULL, NULL }, @@ -90320,6 +90455,8 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m2bd1678e, 0, NULL, NULL }, {m97af5c8b, 0, NULL, NULL }, {mfcf7c35c, 0, NULL, NULL }, + {mdd448638, 0, NULL, NULL }, + {m7a859e1, 0, NULL, NULL }, {m475f4218, 0, NULL, NULL }, {m66da2a9, 0, NULL, NULL }, {mfa122425, 0, NULL, NULL }, @@ -90328,6 +90465,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {me81ee48e, 0, NULL, NULL }, {m274d573d, 0, NULL, NULL }, {me3281b58, 0, NULL, NULL }, + {me64f32cd, 0, NULL, NULL }, {m2e8a0c0d, 0, NULL, NULL }, {m648f4153, 0, NULL, NULL }, {m12fadcb8, 0, NULL, NULL }, @@ -90336,6 +90474,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m903de9e4, 0, NULL, NULL }, {mc2af7502, 0, NULL, NULL }, {m9b94d8c6, 0, NULL, NULL }, + {mfe307210, 0, NULL, NULL }, {ma79a8cf8, 0, NULL, NULL }, {m669fc339, 0, NULL, NULL }, {m9b5c7a6, 0, NULL, NULL }, @@ -91068,6 +91207,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m126ecae9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m8d256159, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m60274690, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m4dd20b7a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m885d2e44, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m90f040c7, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m7fb0d540, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -92066,6 +92206,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m4d230048, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m13b8c86a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {ma040e45d, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m89b0e3bd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m55431071, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m377dbff3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m9db0f442, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -92786,6 +92927,8 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m754c1434, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {md2df1260, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mc1d26645, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m7a126965, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m95ad87ea, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {me11667f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m4916fc76, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m31eed132, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -93859,12 +94002,14 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m113cceb4, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m11f84aff, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mbcfd2baf, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m5d78903c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mf6e9dea0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mf2c2e315, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mae90465a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {meba8bbda, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m5ab79b18, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m8e7972fb, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m52f313f5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {mc4e3d16, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m91e05e6e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m895f2466, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -93971,6 +94116,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mf38cf3c3, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {ma6520b87, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m58aeae6e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m7af5e2ad, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m48e85161, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m2080109c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m433f57da, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, @@ -94449,6 +94595,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {maa77363f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {ma56c7a88, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m38f73034, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, + {mc0199f7b, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {mde3f7ce6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {ma26437c0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m96baaed1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -95349,6 +95496,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mcc6e8190, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {mff3ebb99, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m4ac9e67, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, + {mccb066ef, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m4165fac5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m7e30e4d6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {ma9c8de3, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, @@ -95449,7 +95597,6 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mdb4ac583, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m5ec437c3, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m977ae6c8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, - {m50d3e445, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m6cf0c8da, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m1112708b, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m5fc63627, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, @@ -95636,7 +95783,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {me1146393, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m6c166849, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {mace67d03, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, - {m81dff471, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, + {m4f7304d5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_THIRD_PARTY, NULL, NULL }, {m4081f6df, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {mdc94f55b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m9f274ecd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -96100,6 +96247,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m24727a6c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m1b46ea18, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m79d621e0, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, + {m1b32c2f8, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m304cff1e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m45d2d242, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mc9d634dd, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -96372,6 +96520,8 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m3c26a12b, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m1623a4dd, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {ma237801a, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, + {m1b99157a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, + {m368284b6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mc6a4d8c2, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {me64cd28e, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m29ce5543, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -96508,6 +96658,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {meb6069ee, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m54d4886e, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m1d028d4b, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, + {mbc850c4e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m8f85b4ab, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m93f3050, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {mcccbf224, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -96725,6 +96876,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {m7b73642c, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m26d3bf8a, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m92027577, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, d14bcebe3, NULL }, + {m7bfb4add, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m15392b5b, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m55e659f0, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {meaa66759, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -98594,6 +98746,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mc511521c, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {m6053883b, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {mde824831, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, + {mf8bf28f2, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, {mc964c657, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_WILDCARD | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m43f19cde, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m486741ba, ADBLOCK_FLAG_MATCH_DOMAIN, NULL, NULL }, @@ -99316,6 +99469,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {mf96d0a9, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m294bb912, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m8234b6ee, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, + {m8abcebd0, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m4e760efe, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m80a8e419, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m573c87af, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, @@ -99824,6 +99978,7 @@ struct adblock_entry ADBLOCK_ENTRIES[ADBLOCK_ENTRY_COUNT] = { {md5421f1f, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mced4d353, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mbf416a3c, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, + {mf6fa2da5, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {m53fa3cd1, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mc89cfcb6, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, {mef48b15e, ADBLOCK_FLAG_MATCH_DOMAIN | ADBLOCK_FLAG_HAS_SEPARATOR, NULL, NULL }, diff --git a/patches/BRM023_Added-Google-English-only-engine.patch b/patches/BRM023_Add-Google-English-only-engine.patch similarity index 99% rename from patches/BRM023_Added-Google-English-only-engine.patch rename to patches/BRM023_Add-Google-English-only-engine.patch index cd983ce3..5f94b5f4 100644 --- a/patches/BRM023_Added-Google-English-only-engine.patch +++ b/patches/BRM023_Add-Google-English-only-engine.patch @@ -1,6 +1,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Mon, 11 Dec 2017 22:42:11 +0100 -Subject: Added Google English-only engine +Subject: Add Google English-only engine Add a Google search engine that forces languages to English, disable from all its searches RLZ and field experiments querystring parameters. diff --git a/patches/BRM053_Canvas-fingerprinting-mitigations-for-image-data-font-metrics-and-webGL.patch b/patches/BRM053_Canvas-fingerprinting-mitigations-for-image-data-font-metrics-and-webGL.patch index b604ff05..0d44ddc9 100644 --- a/patches/BRM053_Canvas-fingerprinting-mitigations-for-image-data-font-metrics-and-webGL.patch +++ b/patches/BRM053_Canvas-fingerprinting-mitigations-for-image-data-font-metrics-and-webGL.patch @@ -4,19 +4,21 @@ Subject: Canvas: fingerprinting mitigations for image data, font metrics and webGL Disable webGL renderering info, add shuffling to TextMetrics; -additionally the color data returned by ToBlob and ToDataURL will -contain randomly manipulated pixels (maximum 6) that slightly +additionally, the color data returned by ToBlob and ToDataURL will +contain randomly manipulated pixels (maximum 10) that slightly change the color R,G,B components without visibly altering the rendering. + +Credits to Slaviro (https://github.com/Slaviro) for coming up with a better +approach to change color components. --- .../renderer/core/html/canvas/text_metrics.cc | 20 +++ .../blink/renderer/core/html/canvas/text_metrics.h | 2 + - .../core/offscreencanvas/offscreen_canvas.cc | 1 + .../canvas/canvas2d/base_rendering_context_2d.cc | 3 + .../canvas/canvas2d/canvas_rendering_context_2d.cc | 6 +- .../modules/webgl/webgl_debug_renderer_info.cc | 4 +- - .../platform/graphics/image_data_buffer.cc | 136 +++++++++++++++++++++ + .../platform/graphics/image_data_buffer.cc | 137 +++++++++++++++++++++ .../renderer/platform/graphics/image_data_buffer.h | 2 + - 8 files changed, 171 insertions(+), 3 deletions(-) + 7 files changed, 171 insertions(+), 3 deletions(-) diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third_party/blink/renderer/core/html/canvas/text_metrics.cc --- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc @@ -60,17 +62,6 @@ diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_ private: void Update(const Font&, const TextDirection&, -diff --git a/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc b/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc ---- a/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc -+++ b/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc -@@ -403,6 +403,7 @@ ScriptPromise OffscreenCanvas::convertToBlob(ScriptState* script_state, - CanvasAsyncBlobCreator* async_creator = CanvasAsyncBlobCreator::Create( - snapshot, encoding_mime_type, start_time, - ExecutionContext::From(script_state), resolver); -+ - async_creator->ScheduleAsyncBlobCreation(options.quality()); - return resolver->Promise(); - } else { diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc @@ -79,7 +70,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c scoped_refptr snapshot = GetImage(kPreferNoAcceleration); + //TODO: calculate some random value and use it to shuffle pixel data in 'snapshot' -+ // it should StaticBitmapImage somehow ++ // it should be a StaticBitmapImage somehow + if (!StaticBitmapImage::ConvertToArrayBufferContents( snapshot, contents, image_data_rect, color_params, IsAccelerated())) { @@ -137,14 +128,16 @@ diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b namespace blink { -@@ -116,11 +118,145 @@ const unsigned char* ImageDataBuffer::Pixels() const { +@@ -116,11 +118,146 @@ const unsigned char* ImageDataBuffer::Pixels() const { return static_cast(pixmap_.addr()); } ++#define shuffleComponent(color, max, delta) ((color) >= (max) ? -(delta) : (delta)) ++ +void ImageDataBuffer::shuffleSubchannelColorData() const { + auto w = pixmap_.width(), h = pixmap_.height(); + // generate the first random number here -+ double shuffleX = base::RandDouble(); ++ double shuffleX = 0.5 + base::RandDouble() * 0.5; + + // cap maximum pixels to change + auto pixels = (w + h) / 128; @@ -154,31 +147,29 @@ diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b + pixels = 2; + } + -+ // second random number (for y/height) -+ double shuffleY = base::RandDouble(); -+ -+ // calculate amounts to change per component -+ double shuffleR = shuffleX - 0.5, shuffleG = shuffleY - 0.5, shuffleB = (shuffleX + shuffleY)/2 - 0.5; -+ shuffleR *= 0.03; -+ shuffleG *= 0.03; -+ shuffleB *= 0.03; -+ + auto colorType = pixmap_.colorType(); + ++ // second random number (for y/height) ++ double shuffleY = 0.5 + base::RandDouble() * 0.5; ++ + // calculate random coordinates using bisection + auto currentW = w, currentH = h; + for(;pixels >= 0; pixels--) { + int x = currentW * shuffleX, y = currentH * shuffleY; + ++ // calculate randomisation amounts for each RGB component ++ auto shuffleR = (uint8_t)base::RandInt(0, 4), shuffleG = (uint8_t)base::RandInt(0, 4), shuffleB = (uint8_t)base::RandInt(0, 4); ++ + // manipulate pixel data to slightly change the R, G, B components + switch (colorType) { + case kAlpha_8_SkColorType: + { + uint8_t *pixel = pixmap_.writable_addr8(x, y); + auto r = SkColorGetR(*pixel), g = SkColorGetG(*pixel), b = SkColorGetB(*pixel), a = SkColorGetA(*pixel); -+ r *= shuffleR; -+ g *= shuffleG; -+ b *= shuffleB; ++ ++ r += shuffleComponent(r, UINT8_MAX-1, shuffleR); ++ g += shuffleComponent(g, UINT8_MAX-1, shuffleG); ++ b += shuffleComponent(b, UINT8_MAX-1, shuffleB); + // alpha is left unchanged + + *pixel = SkColorSetARGB(a, r, g, b); @@ -187,7 +178,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b + case kGray_8_SkColorType: + { + uint8_t *pixel = pixmap_.writable_addr8(x, y); -+ *pixel = *pixel * shuffleB; ++ *pixel += shuffleComponent(*pixel, UINT8_MAX-1, shuffleB); + } + break; + case kRGB_565_SkColorType: @@ -196,9 +187,10 @@ diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b + unsigned r = SkPacked16ToR32(*pixel); + unsigned g = SkPacked16ToG32(*pixel); + unsigned b = SkPacked16ToB32(*pixel); -+ r *= shuffleR; -+ g *= shuffleG; -+ b *= shuffleB; ++ ++ r += shuffleComponent(r, 31, shuffleR); ++ g += shuffleComponent(g, 63, shuffleG); ++ b += shuffleComponent(b, 31, shuffleB); + + unsigned r16 = (r & SK_R16_MASK) << SK_R16_SHIFT; + unsigned g16 = (g & SK_G16_MASK) << SK_G16_SHIFT; @@ -212,9 +204,9 @@ diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b + uint16_t *pixel = pixmap_.writable_addr16(x, y); + auto a = SkGetPackedA4444(*pixel), r = SkGetPackedR4444(*pixel), g = SkGetPackedG4444(*pixel), b = SkGetPackedB4444(*pixel); + -+ r *= shuffleR; -+ g *= shuffleG; -+ b *= shuffleB; ++ r += shuffleComponent(r, 15, shuffleR); ++ g += shuffleComponent(g, 15, shuffleG); ++ b += shuffleComponent(b, 15, shuffleB); + // alpha is left unchanged + + unsigned a4 = (a & 0xF) << SK_A4444_SHIFT; @@ -230,9 +222,9 @@ diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b + uint32_t *pixel = pixmap_.writable_addr32(x, y); + auto a = SkGetPackedA32(*pixel), r = SkGetPackedR32(*pixel), g = SkGetPackedG32(*pixel), b = SkGetPackedB32(*pixel); + -+ r *= shuffleR; -+ g *= shuffleG; -+ b *= shuffleB; ++ r += shuffleComponent(r, UINT8_MAX-1, shuffleR); ++ g += shuffleComponent(g, UINT8_MAX-1, shuffleG); ++ b += shuffleComponent(b, UINT8_MAX-1, shuffleB); + // alpha is left unchanged + + *pixel = (a << SK_A32_SHIFT) | (r << SK_R32_SHIFT) | @@ -244,9 +236,9 @@ diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b + uint32_t *pixel = pixmap_.writable_addr32(x, y); + auto a = SkGetPackedA32(*pixel), b = SkGetPackedR32(*pixel), g = SkGetPackedG32(*pixel), r = SkGetPackedB32(*pixel); + -+ r *= shuffleR; -+ g *= shuffleG; -+ b *= shuffleB; ++ r += shuffleComponent(r, UINT8_MAX-1, shuffleR); ++ g += shuffleComponent(g, UINT8_MAX-1, shuffleG); ++ b += shuffleComponent(b, UINT8_MAX-1, shuffleB); + // alpha is left unchanged + + *pixel = (a << SK_BGRA_A32_SHIFT) | (r << SK_BGRA_R32_SHIFT) | diff --git a/patches/BRM059_Add-a-flag-for-DNS-over-HTTPS.patch b/patches/BRM059_Add-a-flag-for-DNS-over-HTTPS.patch index 2c5b395a..a651ab8f 100644 --- a/patches/BRM059_Add-a-flag-for-DNS-over-HTTPS.patch +++ b/patches/BRM059_Add-a-flag-for-DNS-over-HTTPS.patch @@ -2,30 +2,43 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Sat, 28 Apr 2018 08:30:26 +0200 Subject: Add a flag for DNS-over-HTTPS -Specify explicit values for the DNS-over-HTTPS servers (Google experimental DNS). +Allow selection between Google and Cloudflare endpoints. + See also: https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt --- - chrome/browser/about_flags.cc | 6 ++++++ - chrome/browser/flag_descriptions.cc | 3 +++ - chrome/browser/flag_descriptions.h | 3 +++ - chrome/browser/io_thread.cc | 9 +++++---- - chrome/common/chrome_features.cc | 7 +++++++ - chrome/common/chrome_features.h | 4 ++++ - .../network_session_configurator/common/network_features.cc | 3 --- - .../network_session_configurator/common/network_features.h | 4 ---- - 8 files changed, 28 insertions(+), 11 deletions(-) + chrome/browser/about_flags.cc | 12 ++++++++++++ + chrome/browser/flag_descriptions.cc | 3 +++ + chrome/browser/flag_descriptions.h | 3 +++ + chrome/browser/io_thread.cc | 14 +++++++++----- + .../common/network_features.cc | 5 +++-- + .../network_session_configurator/common/network_features.h | 5 +++-- + .../common/network_switch_list.h | 4 ++++ + 7 files changed, 37 insertions(+), 9 deletions(-) diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -3544,6 +3544,12 @@ const FeatureEntry kFeatureEntries[] = { +@@ -395,6 +395,12 @@ const FeatureEntry::Choice kChromeHomeSwipeLogicChoices[] = { + switches::kChromeHomeSwipeLogicType, "velocity"}, + }; + ++const FeatureEntry::Choice kDnsOverHttpsChoices[] = { ++ {features::kDnsOverHttpsChoiceDefault, "", ""}, ++ {features::kDnsOverHttpsChoiceGoogle, switches::kDnsOverHttpsServer, "https://dns.google.com/experimental"}, ++ {features::kDnsOverHttpsChoiceCloudflare, switches::kDnsOverHttpsServer, "https://1.1.1.1/dns-query"}, ++}; ++ + #endif // OS_ANDROID + + const FeatureEntry::Choice kNumRasterThreadsChoices[] = { +@@ -3544,6 +3550,12 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kAsyncDns)}, #endif // defined(OS_ANDROID) +#if defined(OS_ANDROID) + {"enable-dns-over-https", flag_descriptions::kDnsOverHttpsName, + flag_descriptions::kDnsOverHttpsDescription, kOsAndroid, -+ FEATURE_VALUE_TYPE(features::kDnsOverHttps)}, ++ MULTI_VALUE_TYPE(kDnsOverHttpsChoices)}, +#endif // defined(OS_ANDROID) + {"enable-overflow-icons-for-media-controls", @@ -39,7 +52,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti const char kAsyncDnsDescription[] = "Enables the built-in DNS resolver."; +const char kDnsOverHttpsName[] = "DNS over HTTPS"; -+const char kDnsOverHttpsDescription[] = "Enables DNS-over-HTTPS (experimental, non-IETF)."; ++const char kDnsOverHttpsDescription[] = "Enables DNS-over-HTTPS (experimental)."; + const char kAutofillAccessoryViewName[] = "Autofill suggestions as keyboard accessory view"; @@ -60,8 +73,23 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc --- a/chrome/browser/io_thread.cc +++ b/chrome/browser/io_thread.cc -@@ -386,10 +386,11 @@ IOThread::IOThread( - if (base::FeatureList::IsEnabled(features::kDnsOverHttps)) { +@@ -53,6 +53,7 @@ + #include "components/metrics/metrics_service.h" + #include "components/net_log/chrome_net_log.h" + #include "components/network_session_configurator/common/network_features.h" ++#include "components/network_session_configurator/common/network_switches.h" + #include "components/policy/core/common/policy_service.h" + #include "components/policy/policy_constants.h" + #include "components/prefs/pref_registry_simple.h" +@@ -383,13 +384,16 @@ IOThread::IOThread( + base::Unretained(this))); + dns_client_enabled_.MoveToThread(io_thread_proxy); + +- if (base::FeatureList::IsEnabled(features::kDnsOverHttps)) { ++ std::string dnsOverHttpsServer = ++ base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( ++ switches::kDnsOverHttpsServer); ++ if (!dnsOverHttpsServer.empty()) { base::Value specs(base::Value::Type::LIST); base::Value methods(base::Value::Type::LIST); - base::Value spec(variations::GetVariationParamValueByFeature( @@ -69,69 +97,56 @@ diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc - base::Value method(variations::GetVariationParamValueByFeature( - features::kDnsOverHttps, "method")); + -+ // use some hard-coded defaults -+ base::Value spec("https://dns.google.com/experimental"); ++ base::Value spec(dnsOverHttpsServer); + base::Value method("POST"); + if (spec.GetString().size() > 0) { specs.GetList().push_back(std::move(spec)); methods.GetList().push_back(std::move(method)); -diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc ---- a/chrome/common/chrome_features.cc -+++ b/chrome/common/chrome_features.cc -@@ -79,6 +79,13 @@ const base::Feature kAsyncDns { - #endif - }; - -+// Enable DNS over HTTPS -+// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt). -+const base::Feature kDnsOverHttps { -+ "dns-over-https", -+ base::FEATURE_DISABLED_BY_DEFAULT -+}; -+ - #if defined(OS_WIN) || defined(OS_MACOSX) - // Enables automatic tab discarding, when the system is in low memory state. - const base::Feature kAutomaticTabDiscarding{"AutomaticTabDiscarding", -diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h ---- a/chrome/common/chrome_features.h -+++ b/chrome/common/chrome_features.h -@@ -48,6 +48,10 @@ extern const base::Feature kAssetDownloadSuggestionsFeature; - - extern const base::Feature kAsyncDns; - -+// Enable DNS over HTTPS -+// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt). -+extern const base::Feature kDnsOverHttps; -+ - #if defined(OS_WIN) || defined(OS_MACOSX) - extern const base::Feature kAutomaticTabDiscarding; - #endif // defined(OS_WIN) || defined(OS_MACOSX) diff --git a/components/network_session_configurator/common/network_features.cc b/components/network_session_configurator/common/network_features.cc --- a/components/network_session_configurator/common/network_features.cc +++ b/components/network_session_configurator/common/network_features.cc -@@ -9,7 +9,4 @@ namespace features { +@@ -9,7 +9,8 @@ namespace features { const base::Feature kTokenBinding{"token-binding", base::FEATURE_DISABLED_BY_DEFAULT}; -const base::Feature kDnsOverHttps{"dns-over-https", - base::FEATURE_DISABLED_BY_DEFAULT}; -- ++const char kDnsOverHttpsChoiceDefault[] = "Disabled", ++ kDnsOverHttpsChoiceGoogle[] = "Google", ++ kDnsOverHttpsChoiceCloudflare[] = "Cloudflare"; + } // namespace features diff --git a/components/network_session_configurator/common/network_features.h b/components/network_session_configurator/common/network_features.h --- a/components/network_session_configurator/common/network_features.h +++ b/components/network_session_configurator/common/network_features.h -@@ -14,10 +14,6 @@ namespace features { +@@ -14,9 +14,10 @@ namespace features { // (https://www.ietf.org/id/draft-ietf-tokbind-protocol-04.txt). NETWORK_SESSION_CONFIGURATOR_EXPORT extern const base::Feature kTokenBinding; -// Enabled DNS over HTTPS --// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt). ++// DNS over HTTPS server endpoint choices + // (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt). -NETWORK_SESSION_CONFIGURATOR_EXPORT extern const base::Feature kDnsOverHttps; -- ++NETWORK_SESSION_CONFIGURATOR_EXPORT extern const char kDnsOverHttpsChoiceDefault[], ++ kDnsOverHttpsChoiceGoogle[], kDnsOverHttpsChoiceCloudflare[]; + } // namespace features - #endif // COMPONENTS_NETWORK_SESSION_CONFIGURATOR_COMMON_NETWORK_FEATURES_H_ +diff --git a/components/network_session_configurator/common/network_switch_list.h b/components/network_session_configurator/common/network_switch_list.h +--- a/components/network_session_configurator/common/network_switch_list.h ++++ b/components/network_session_configurator/common/network_switch_list.h +@@ -35,6 +35,10 @@ NETWORK_SWITCH(kOriginToForceQuicOn, "origin-to-force-quic-on") + // the server. + NETWORK_SWITCH(kQuicConnectionOptions, "quic-connection-options") + ++// Specifies an IETF DNS-over-HTTPS server endpoint ++// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt). ++NETWORK_SWITCH(kDnsOverHttpsServer, "dns-over-https-server") ++ + // Specifies the maximum length for a QUIC packet. + NETWORK_SWITCH(kQuicMaxPacketLength, "quic-max-packet-length") + -- 2.7.4 diff --git a/patches/BRM060_Always-respect-async-dns-flag-regardless-of-SDK-version.patch b/patches/BRM060_Always-respect-async-dns-flag-regardless-of-SDK-version.patch index 01e56695..9d29fb35 100644 --- a/patches/BRM060_Always-respect-async-dns-flag-regardless-of-SDK-version.patch +++ b/patches/BRM060_Always-respect-async-dns-flag-regardless-of-SDK-version.patch @@ -11,7 +11,7 @@ Do not read experiment value for cronet async DNS configuration diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc --- a/chrome/browser/io_thread.cc +++ b/chrome/browser/io_thread.cc -@@ -257,15 +257,7 @@ void UpdateMetricsUsagePrefsOnUIThread(const std::string& service_name, +@@ -258,15 +258,7 @@ void UpdateMetricsUsagePrefsOnUIThread(const std::string& service_name, // Check the AsyncDns field trial and return true if it should be enabled. On // Android this includes checking the Android version in the field trial. bool ShouldEnableAsyncDns() { diff --git a/patches/BRM063_DNS-over-HTTPS-allow-selection-between-Google-and-CloudFlare.patch b/patches/BRM063_DNS-over-HTTPS-allow-selection-between-Google-and-CloudFlare.patch deleted file mode 100644 index da482871..00000000 --- a/patches/BRM063_DNS-over-HTTPS-allow-selection-between-Google-and-CloudFlare.patch +++ /dev/null @@ -1,156 +0,0 @@ -From: csagan5 <32685696+csagan5@users.noreply.github.com> -Date: Thu, 14 Jun 2018 18:45:31 +0200 -Subject: DNS-over-HTTPS: allow selection between Google and CloudFlare - ---- - chrome/browser/about_flags.cc | 8 +++++++- - chrome/browser/flag_descriptions.cc | 2 +- - chrome/browser/io_thread.cc | 9 ++++++--- - chrome/common/chrome_features.cc | 7 ------- - chrome/common/chrome_features.h | 4 ---- - .../network_session_configurator/common/network_features.cc | 4 ++++ - .../network_session_configurator/common/network_features.h | 5 +++++ - .../network_session_configurator/common/network_switch_list.h | 4 ++++ - 8 files changed, 27 insertions(+), 16 deletions(-) - -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -395,6 +395,12 @@ const FeatureEntry::Choice kChromeHomeSwipeLogicChoices[] = { - switches::kChromeHomeSwipeLogicType, "velocity"}, - }; - -+const FeatureEntry::Choice kDnsOverHttpsChoices[] = { -+ {features::kDnsOverHttpsChoiceDefault, "", ""}, -+ {features::kDnsOverHttpsChoiceGoogle, switches::kDnsOverHttpsServer, "https://dns.google.com/experimental"}, -+ {features::kDnsOverHttpsChoiceCloudFlare, switches::kDnsOverHttpsServer, "https://1.1.1.1/dns-query"}, -+}; -+ - #endif // OS_ANDROID - - const FeatureEntry::Choice kNumRasterThreadsChoices[] = { -@@ -3547,7 +3553,7 @@ const FeatureEntry kFeatureEntries[] = { - #if defined(OS_ANDROID) - {"enable-dns-over-https", flag_descriptions::kDnsOverHttpsName, - flag_descriptions::kDnsOverHttpsDescription, kOsAndroid, -- FEATURE_VALUE_TYPE(features::kDnsOverHttps)}, -+ MULTI_VALUE_TYPE(kDnsOverHttpsChoices)}, - #endif // defined(OS_ANDROID) - - {"enable-overflow-icons-for-media-controls", -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -1850,7 +1850,7 @@ const char kAsyncDnsName[] = "Async DNS resolver"; - const char kAsyncDnsDescription[] = "Enables the built-in DNS resolver."; - - const char kDnsOverHttpsName[] = "DNS over HTTPS"; --const char kDnsOverHttpsDescription[] = "Enables DNS-over-HTTPS (experimental, non-IETF)."; -+const char kDnsOverHttpsDescription[] = "Enables DNS-over-HTTPS (experimental)."; - - const char kAutofillAccessoryViewName[] = - "Autofill suggestions as keyboard accessory view"; -diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc ---- a/chrome/browser/io_thread.cc -+++ b/chrome/browser/io_thread.cc -@@ -53,6 +53,7 @@ - #include "components/metrics/metrics_service.h" - #include "components/net_log/chrome_net_log.h" - #include "components/network_session_configurator/common/network_features.h" -+#include "components/network_session_configurator/common/network_switches.h" - #include "components/policy/core/common/policy_service.h" - #include "components/policy/policy_constants.h" - #include "components/prefs/pref_registry_simple.h" -@@ -375,12 +376,14 @@ IOThread::IOThread( - base::Unretained(this))); - dns_client_enabled_.MoveToThread(io_thread_proxy); - -- if (base::FeatureList::IsEnabled(features::kDnsOverHttps)) { -+ std::string dnsOverHttpsServer = -+ base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( -+ switches::kDnsOverHttpsServer); -+ if (!dnsOverHttpsServer.empty()) { - base::Value specs(base::Value::Type::LIST); - base::Value methods(base::Value::Type::LIST); - -- // use some hard-coded defaults -- base::Value spec("https://dns.google.com/experimental"); -+ base::Value spec(dnsOverHttpsServer); - base::Value method("POST"); - - if (spec.GetString().size() > 0) { -diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc ---- a/chrome/common/chrome_features.cc -+++ b/chrome/common/chrome_features.cc -@@ -79,13 +79,6 @@ const base::Feature kAsyncDns { - #endif - }; - --// Enable DNS over HTTPS --// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt). --const base::Feature kDnsOverHttps { -- "dns-over-https", -- base::FEATURE_DISABLED_BY_DEFAULT --}; -- - #if defined(OS_WIN) || defined(OS_MACOSX) - // Enables automatic tab discarding, when the system is in low memory state. - const base::Feature kAutomaticTabDiscarding{"AutomaticTabDiscarding", -diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h ---- a/chrome/common/chrome_features.h -+++ b/chrome/common/chrome_features.h -@@ -48,10 +48,6 @@ extern const base::Feature kAssetDownloadSuggestionsFeature; - - extern const base::Feature kAsyncDns; - --// Enable DNS over HTTPS --// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt). --extern const base::Feature kDnsOverHttps; -- - #if defined(OS_WIN) || defined(OS_MACOSX) - extern const base::Feature kAutomaticTabDiscarding; - #endif // defined(OS_WIN) || defined(OS_MACOSX) -diff --git a/components/network_session_configurator/common/network_features.cc b/components/network_session_configurator/common/network_features.cc ---- a/components/network_session_configurator/common/network_features.cc -+++ b/components/network_session_configurator/common/network_features.cc -@@ -9,4 +9,8 @@ namespace features { - const base::Feature kTokenBinding{"token-binding", - base::FEATURE_DISABLED_BY_DEFAULT}; - -+const char kDnsOverHttpsChoiceDefault[] = "Disabled", -+ kDnsOverHttpsChoiceGoogle[] = "Google", -+ kDnsOverHttpsChoiceCloudFlare[] = "CloudFlare"; -+ - } // namespace features -diff --git a/components/network_session_configurator/common/network_features.h b/components/network_session_configurator/common/network_features.h ---- a/components/network_session_configurator/common/network_features.h -+++ b/components/network_session_configurator/common/network_features.h -@@ -14,6 +14,11 @@ namespace features { - // (https://www.ietf.org/id/draft-ietf-tokbind-protocol-04.txt). - NETWORK_SESSION_CONFIGURATOR_EXPORT extern const base::Feature kTokenBinding; - -+// DNS over HTTPS server endpoint choices -+// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt). -+NETWORK_SESSION_CONFIGURATOR_EXPORT extern const char kDnsOverHttpsChoiceDefault[], -+ kDnsOverHttpsChoiceGoogle[], kDnsOverHttpsChoiceCloudFlare[]; -+ - } // namespace features - - #endif // COMPONENTS_NETWORK_SESSION_CONFIGURATOR_COMMON_NETWORK_FEATURES_H_ -diff --git a/components/network_session_configurator/common/network_switch_list.h b/components/network_session_configurator/common/network_switch_list.h ---- a/components/network_session_configurator/common/network_switch_list.h -+++ b/components/network_session_configurator/common/network_switch_list.h -@@ -35,6 +35,10 @@ NETWORK_SWITCH(kOriginToForceQuicOn, "origin-to-force-quic-on") - // the server. - NETWORK_SWITCH(kQuicConnectionOptions, "quic-connection-options") - -+// Specifies an IETF DNS-over-HTTPS server endpoint -+// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt). -+NETWORK_SWITCH(kDnsOverHttpsServer, "dns-over-https-server") -+ - // Specifies the maximum length for a QUIC packet. - NETWORK_SWITCH(kQuicMaxPacketLength, "quic-max-packet-length") - --- -2.7.4 - diff --git a/wip/Tune-canvas-randomisation.patch b/wip/Tune-canvas-randomisation.patch deleted file mode 100644 index 01c10b3e..00000000 --- a/wip/Tune-canvas-randomisation.patch +++ /dev/null @@ -1,160 +0,0 @@ -From: csagan5 <32685696+csagan5@users.noreply.github.com> -Date: Mon, 18 Jun 2018 09:03:52 +0200 -Subject: Tune canvas randomisation - -Randomise RGB for each pixel, change value up to to 8% - -Adopt some improvements for RGB randomisation ---- - .../core/offscreencanvas/offscreen_canvas.cc | 1 - - .../canvas/canvas2d/base_rendering_context_2d.cc | 2 +- - .../platform/graphics/image_data_buffer.cc | 53 +++++++++++----------- - 3 files changed, 28 insertions(+), 28 deletions(-) - -diff --git a/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc b/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc ---- a/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc -+++ b/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc -@@ -403,7 +403,6 @@ ScriptPromise OffscreenCanvas::convertToBlob(ScriptState* script_state, - CanvasAsyncBlobCreator* async_creator = CanvasAsyncBlobCreator::Create( - snapshot, encoding_mime_type, start_time, - ExecutionContext::From(script_state), resolver); -- - async_creator->ScheduleAsyncBlobCreation(options.quality()); - return resolver->Promise(); - } else { -diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc ---- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -1621,7 +1621,7 @@ ImageData* BaseRenderingContext2D::getImageData( - scoped_refptr snapshot = GetImage(kPreferNoAcceleration); - - //TODO: calculate some random value and use it to shuffle pixel data in 'snapshot' -- // it should StaticBitmapImage somehow -+ // it should be a StaticBitmapImage somehow - - if (!StaticBitmapImage::ConvertToArrayBufferContents( - snapshot, contents, image_data_rect, color_params, IsAccelerated())) { -diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b/third_party/blink/renderer/platform/graphics/image_data_buffer.cc ---- a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc -+++ b/third_party/blink/renderer/platform/graphics/image_data_buffer.cc -@@ -118,10 +118,12 @@ const unsigned char* ImageDataBuffer::Pixels() const { - return static_cast(pixmap_.addr()); - } - -+#define shuffleComponent(color, max, delta) ((color) >= (max) ? -(delta) : (delta)) -+ - void ImageDataBuffer::shuffleSubchannelColorData() const { - auto w = pixmap_.width(), h = pixmap_.height(); - // generate the first random number here -- double shuffleX = base::RandDouble(); -+ double shuffleX = 0.5 + base::RandDouble() * 0.5; - - // cap maximum pixels to change - auto pixels = (w + h) / 128; -@@ -131,31 +133,29 @@ void ImageDataBuffer::shuffleSubchannelColorData() const { - pixels = 2; - } - -- // second random number (for y/height) -- double shuffleY = base::RandDouble(); -- -- // calculate amounts to change per component -- double shuffleR = shuffleX - 0.5, shuffleG = shuffleY - 0.5, shuffleB = (shuffleX + shuffleY)/2 - 0.5; -- shuffleR *= 0.03; -- shuffleG *= 0.03; -- shuffleB *= 0.03; -- - auto colorType = pixmap_.colorType(); - -+ // second random number (for y/height) -+ double shuffleY = 0.5 + base::RandDouble() * 0.5; -+ - // calculate random coordinates using bisection - auto currentW = w, currentH = h; - for(;pixels >= 0; pixels--) { - int x = currentW * shuffleX, y = currentH * shuffleY; - -+ // calculate randomisation amounts for each RGB component -+ auto shuffleR = (uint8_t)base::RandInt(0, 4), shuffleG = (uint8_t)base::RandInt(0, 4), shuffleB = (uint8_t)base::RandInt(0, 4); -+ - // manipulate pixel data to slightly change the R, G, B components - switch (colorType) { - case kAlpha_8_SkColorType: - { - uint8_t *pixel = pixmap_.writable_addr8(x, y); - auto r = SkColorGetR(*pixel), g = SkColorGetG(*pixel), b = SkColorGetB(*pixel), a = SkColorGetA(*pixel); -- r *= shuffleR; -- g *= shuffleG; -- b *= shuffleB; -+ -+ r += shuffleComponent(r, UINT8_MAX-1, shuffleR); -+ g += shuffleComponent(g, UINT8_MAX-1, shuffleG); -+ b += shuffleComponent(b, UINT8_MAX-1, shuffleB); - // alpha is left unchanged - - *pixel = SkColorSetARGB(a, r, g, b); -@@ -164,7 +164,7 @@ void ImageDataBuffer::shuffleSubchannelColorData() const { - case kGray_8_SkColorType: - { - uint8_t *pixel = pixmap_.writable_addr8(x, y); -- *pixel = *pixel * shuffleB; -+ *pixel += shuffleComponent(*pixel, UINT8_MAX-1, shuffleB); - } - break; - case kRGB_565_SkColorType: -@@ -173,9 +173,10 @@ void ImageDataBuffer::shuffleSubchannelColorData() const { - unsigned r = SkPacked16ToR32(*pixel); - unsigned g = SkPacked16ToG32(*pixel); - unsigned b = SkPacked16ToB32(*pixel); -- r *= shuffleR; -- g *= shuffleG; -- b *= shuffleB; -+ -+ r += shuffleComponent(r, 31, shuffleR); -+ g += shuffleComponent(g, 63, shuffleG); -+ b += shuffleComponent(b, 31, shuffleB); - - unsigned r16 = (r & SK_R16_MASK) << SK_R16_SHIFT; - unsigned g16 = (g & SK_G16_MASK) << SK_G16_SHIFT; -@@ -189,9 +190,9 @@ void ImageDataBuffer::shuffleSubchannelColorData() const { - uint16_t *pixel = pixmap_.writable_addr16(x, y); - auto a = SkGetPackedA4444(*pixel), r = SkGetPackedR4444(*pixel), g = SkGetPackedG4444(*pixel), b = SkGetPackedB4444(*pixel); - -- r *= shuffleR; -- g *= shuffleG; -- b *= shuffleB; -+ r += shuffleComponent(r, 15, shuffleR); -+ g += shuffleComponent(g, 15, shuffleG); -+ b += shuffleComponent(b, 15, shuffleB); - // alpha is left unchanged - - unsigned a4 = (a & 0xF) << SK_A4444_SHIFT; -@@ -207,9 +208,9 @@ void ImageDataBuffer::shuffleSubchannelColorData() const { - uint32_t *pixel = pixmap_.writable_addr32(x, y); - auto a = SkGetPackedA32(*pixel), r = SkGetPackedR32(*pixel), g = SkGetPackedG32(*pixel), b = SkGetPackedB32(*pixel); - -- r *= shuffleR; -- g *= shuffleG; -- b *= shuffleB; -+ r += shuffleComponent(r, UINT8_MAX-1, shuffleR); -+ g += shuffleComponent(g, UINT8_MAX-1, shuffleG); -+ b += shuffleComponent(b, UINT8_MAX-1, shuffleB); - // alpha is left unchanged - - *pixel = (a << SK_A32_SHIFT) | (r << SK_R32_SHIFT) | -@@ -221,9 +222,9 @@ void ImageDataBuffer::shuffleSubchannelColorData() const { - uint32_t *pixel = pixmap_.writable_addr32(x, y); - auto a = SkGetPackedA32(*pixel), b = SkGetPackedR32(*pixel), g = SkGetPackedG32(*pixel), r = SkGetPackedB32(*pixel); - -- r *= shuffleR; -- g *= shuffleG; -- b *= shuffleB; -+ r += shuffleComponent(r, UINT8_MAX-1, shuffleR); -+ g += shuffleComponent(g, UINT8_MAX-1, shuffleG); -+ b += shuffleComponent(b, UINT8_MAX-1, shuffleB); - // alpha is left unchanged - - *pixel = (a << SK_BGRA_A32_SHIFT) | (r << SK_BGRA_R32_SHIFT) | --- -2.7.4 -