diff --git a/.gitignore b/.gitignore index 3d725761b024d751249c39109b359366c6931bc6..2d40710b6499cf6e3b567fd2c009f426f6597f0a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,66 @@ -.DS_Store -.idea \ No newline at end of file +.gradle +.idea +build +logs +.classpath +.project +bin +.settings +*.iml +local.properties +logs +QA.log + +# Java +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* + +# Gradle +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* + +target/** \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..d98734779685521c3304e8f42f57197e274a289e --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,27 @@ +stages: + - test + +stress: + stage: test + image: gradle:4.7-jdk8 + only: + - master + tags: + - amd64-docker + variables: + GRADLE_OPTS: "-Dorg.gradle.daemon=false" + + before_script: + - export GRADLE_USER_HOME=`pwd`/.gradle + - sudo apk update && sudo apk add bash + script: + - pwd + - currentTime=$(date +%H:%M) + - echo $currentTime + - if [[ "$currentTime" < "18:00" ]] || [[ "$currentTime" > "04:00" ]]; then + - echo "Starting tests" + - currentPath=`pwd` + - gradle regressionSuite -PbaseUrl=https://rosengeorgiev.dev.vereign.com -PprojectLocation=$currentPath -Proundcube='https://kolab-qa.vereign.com:444/master/' -ProundcubeUsername='mister.test@kolab-qa.vereign.com' -ProundcubePassword='GknLgWJDuD0wUT6' -PsecondRoundcubeUsername='bb8.droid@kolab-qa.vereign.com' -PsecondRoundcubePassword='AIx-dLbMOBB8Kfj' -PgmailPassword='testVereign' -Dcourgette.threads=10 -Dcourgette.runLevel=Scenario -Dcourgette.rerunFailedScenarios=false -Dcourgette.rerunAttempts=1 -Dcucumber.tags="@rest, not @wip, ~@selenium" + - else + - echo "Skipping tests" + - fi \ No newline at end of file diff --git a/.gitlab/issue_templates/VPO.md b/.gitlab/issue_templates/VPO.md new file mode 100644 index 0000000000000000000000000000000000000000..b91906b2399569a571cb65048d03b2c0e5b447b5 --- /dev/null +++ b/.gitlab/issue_templates/VPO.md @@ -0,0 +1,42 @@ +# Testing Virtual Post Office + +Use:`seal-receipt@vereign.com` + +Active Domains: +- gmail.com +- ~~outlook.com~~ +- vereign.com +- abacus.ch +- yapeal.ch +- mail.com +- abv.bg + +## Gmail +1. * [ ] Cc +1. * [ ] Bcc +1. * [ ] To +1. * [ ] With Seal and Cc/Bcc/To +1. * [ ] Recieve and Reply (All) +1. * [ ] Recieve and Forward +1. * [ ] Use embedded image +1. * [ ] Use embedded image and attachment +1. * [ ] Use complex text with embedded image and attachment +1. * [ ] Use file bigger than 20MB +1. * [ ] Verify email template +1. * [ ] Downloads and hashes on the web-verificaiton-app +1. * [ ] Mobile layout + +## Outlook +1. * [ ] Cc +1. * [ ] Bcc +1. * [ ] To +1. * [ ] With Seal and Cc/Bcc/To +1. * [ ] Recieve and Reply (All) +1. * [ ] Recieve and Forward +1. * [ ] Use embedded image +1. * [ ] Use embedded image and attachment +1. * [ ] Use complex text with embedded image and attachment +1. * [ ] Use file bigger than 20MB +1. * [ ] Verify email template +1. * [ ] Downloads and hashes on the web-verificaiton-app +1. * [ ] Mobile layout diff --git a/.gitlab/issue_templates/regression.md b/.gitlab/issue_templates/regression.md new file mode 100644 index 0000000000000000000000000000000000000000..c08fbebf126ff72e1a571435d7a2bc0eeb038752 --- /dev/null +++ b/.gitlab/issue_templates/regression.md @@ -0,0 +1,195 @@ +# Testing email sending and verification + +`Outlook Desktop - Outlook Web` +1. * [ ] Send email with empty body +2. * [ ] Send email with simple text +3. * [ ] Send email with embedded image +4. * [ ] Send email with embedded image and simple text +5. * [ ] Send email with pasted text which contains formatting (bold/italic/new lines/bullet points etc) +6. * [ ] Send email with multiple attachments +7. * [ ] Send email with attachment via one drive (not going to validate) +8. * [ ] Send email to multiple receivers (cc & bcc) +9. * [ ] Send email with attachment that you have dragged an dropped +10. * [ ] Send an email containing attachments, embedded images and complex text. +11. * [ ] Send email with Cyrillic/Chinese/Arabic(RTL) +12. * [ ] Reply to an email with empty body +13. * [ ] Reply to an email with simple text +14. * [ ] Reply to an email with embedded image +15. * [ ] Reply to an email with embedded image and simple text +16. * [ ] Reply to an email with pasted text which contains formatting (bold/italic/new lines/bullet points etc) +17. * [ ] Reply to an email with multiple attachments +18. * [ ] Reply to an email with attachment via gdrive +19. * [ ] Reply to an email via Reply all +20. * [ ] Reply to an email to 1 person instead to all (when you have multiple recipients) +21. * [ ] Send an email and then reply to it with the same sender (follow up) +23. * [ ] Reply to an email by adding attachments via the drag and drop method +24. * [ ] Reply to an email containing attachments, embedded images and complex text. +25. * [ ] Reply to unsealed email, receive another unsealed email in the loop and reply again +26. * [ ] Forward an email that you have received to a 3rd person +27. * [ ] Forward an email that you have sent initially +28. * [ ] Forward an email to multiple recipients +29. * [ ] Forward an email, but delete the initial body +30. * [ ] Forward an email and add additional text, file attachments and embed an image +31. * [ ] Send via the draft + +`Outlook Web - Outlook Desktop` +1. * [ ] Send email with empty body +2. * [ ] Send email with simple text +3. * [ ] Send email with embedded image +4. * [ ] Send email with embedded image and simple text +5. * [ ] Send email with pasted text which contains formatting (bold/italic/new lines/bullet points etc) +6. * [ ] Send email with multiple attachments +7. * [ ] Send email with attachment via one drive (not going to validate) +8. * [ ] Send email to multiple receivers (cc & bcc) +9. * [ ] Send email with attachment that you have dragged an dropped +10. * [ ] Send an email containing attachments, embedded images and complex text. +11. * [ ] Send email with Cyrillic/Chinese/Arabic(RTL) +12. * [ ] Reply to an email with empty body +13. * [ ] Reply to an email with simple text +14. * [ ] Reply to an email with embedded image +15. * [ ] Reply to an email with embedded image and simple text +16. * [ ] Reply to an email with pasted text which contains formatting (bold/italic/new lines/bullet points etc) +17. * [ ] Reply to an email with multiple attachments +18. * [ ] Reply to an email with attachment via gdrive +19. * [ ] Reply to an email via Reply all +20. * [ ] Reply to an email to 1 person instead to all (when you have multiple recipients) +21. * [ ] Send an email and then reply to it with the same sender (follow up) +23. * [ ] Reply to an email by adding attachments via the drag and drop method +24. * [ ] Reply to an email containing attachments, embedded images and complex text. +25. * [ ] Reply to unsealed email, receive another unsealed email in the loop and reply again +26. * [ ] Forward an email that you have received to a 3rd person +27. * [ ] Forward an email that you have sent initially +28. * [ ] Forward an email to multiple recipients +29. * [ ] Forward an email, but delete the initial body +30. * [ ] Forward an email and add additional text, file attachments and embed an image +31. * [ ] Send via the draft + +`Gmail - Outlook` +1. * [ ] Send email with empty body +2. * [ ] Send emailwith simple text +3. * [ ] Send email with embedded image +4. * [ ] Send email with embedded image and simple text +5. * [ ] Send email with pasted text which contains formatting (bold/italic/new lines/bullet points etc) +6. * [ ] Send email with multiple attachments +7. * [ ] Send email with attachment via gdrive +8. * [ ] Send email to multiple receivers (cc & bcc) +9. * [ ] Send email with attachment that you have dragged an dropped (uses a separate inboxsdk method then clicking the attachment icon) +10. * [ ] Send an email containing attachments, embedded images and complex text. +11. * [ ] Send email with Cyrillic/Chinese/Arabic(RTL) +12. * [ ] Reply to an email with empty body (should show "Vereign Notification - We can not seal empty email. Please add text to your message. +...") +13. * [ ] Reply to an email with simple text +14. * [ ] Reply to an email with embedded image +15. * [ ] Reply to an email with embedded image and simple text +16. * [ ] Reply to an email with pasted text which contains formatting (bold/italic/new lines/bullet points etc) +17. * [ ] Reply to an email with multiple attachments +18. * [ ] Reply to an email with attachment via gdrive +19. * [ ] Reply to an email via Reply all +20. * [ ] Reply to an email to 1 person instead to all (when you have multiple recipients) +21. * [ ] Send an email and then reply to it with the same sender (follow up) +22. * [ ] Reply to an email using Smart reply **[Bug](https://code.vereign.com/seal/clients/chrome-extension/-/issues/47** +23. * [ ] Reply to an email by adding attachments via the drag and drop method +24. * [ ] Reply to an email containing attachments, embedded images and complex text. +25. * [ ] Reply to unsealed email, receive another unsealed email in the loop and reply again +26. * [ ] Forward an email that you have received to a 3rd person +27. * [ ] Forward an email that you have sent initially +28. * [ ] Forward an email to multiple recipients +29. * [ ] Forward an email, but delete the initial body +30. * [ ] Forward an email and add additional text, file attachments and embed an image +31. * [ ] Send an email with newly created gmail email address & reply to another +32. * [ ] Reply to a signed email via mobile phone and then validate it with the web client **[Bug](https://code.vereign.com/seal/clients/chrome-extension/-/issues/78)** + +`Outlook - Gmail` +1. * [ ] Send email with empty body +2. * [ ] Send email with simple text +3. * [ ] Send email with embedded image +4. * [ ] Send email with embedded image and simple text +5. * [ ] Send email with pasted text which contains formatting (bold/italic/new lines/bullet points etc) +6. * [ ] Send email with multiple attachments +7. * [ ] Send email with attachment via One Drive +8. * [ ] Send email to multiple receivers (cc & bcc) +9. * [ ] Send an email containing attachments, embedded images and complex text. +10. * [ ] Send email with Cyrillic/Chinese/Arabic(RTL) +11. * [ ] Reply to an email with empty body +12. * [ ] Reply to an email with simple text +13. * [ ] Reply to an email with embedded image +14. * [ ] Reply to an email with embedded image and simple text +15. * [ ] Reply to an email with pasted text which contains formatting (bold/italic/new lines/bullet points etc) +16. * [ ] Reply to an email with multiple attachments +17. * [ ] Reply to an email with attachment via One Drive +18. * [ ] Reply to an email via Reply all +19. * [ ] Reply to an email to 1 person instead to all (when you have multiple recipients) +20. * [ ] Send an email and then reply to it with the same sender (follow up) +21. * [ ] Reply to an email containing attachments, embedded images and complex text. +22. * [ ] Reply to unsealed email, receive another unsealed email in the loop and reply again +23. * [ ] Forward an email that you have received to a 3rd person +24. * [ ] Forward an email that you have sent initially +25. * [ ] Forward an email to multiple recipients +26. * [ ] Forward an email, but delete the initial body +27. * [ ] Forward an email and add additional text, file attachments and embed an image +28. * [ ] Send an email with newly created outlook email address & reply to another +29. * [ ] Reply to a signed email via mobile phone and then validate it with the web client + +`Outlook 365 - Outlook.com` +1. * [ ] Send email with empty body +2. * [ ] Send email with simple text +3. * [ ] Send email with embedded image +4. * [ ] Send email with embedded image and simple text +5. * [ ] Send email with pasted text which contains formatting (bold/italic/new lines/bullet points etc) +6. * [ ] Send email with multiple attachments +7. * [ ] Send email with attachment via One Drive +8. * [ ] Send email to multiple receivers (cc & bcc) +9. * [ ] Send an email containing attachments, embedded images and complex text. +10. * [ ] Send email with Cyrillic/Chinese/Arabic(RTL) +11. * [ ] Reply to an email with empty body +12. * [ ] Reply to an email with simple text +13. * [ ] Reply to an email with embedded image +14. * [ ] Reply to an email with embedded image and simple text +15. * [ ] Reply to an email with pasted text which contains formatting (bold/italic/new lznes/bullet points etc) +16. * [ ] Reply to an email with multiple attachments +17. * [ ] Reply to an email with attachment via One Drive +18. * [ ] Reply to an email via Reply all +19. * [ ] Reply to an email to 1 person instead to all (when you have multiple recipients) +20. * [ ] Reply to unsealed email, receive another unsealed email in the loop and reply again +21. * [ ] Send an email and then reply to it with the same sender (follow up) +22. * [ ] Reply to an email containing attachments, embedded images and complex text. +23. * [ ] Forward an email that you have received to a 3rd person +24. * [ ] Forward an email that you have sent initially +25. * [ ] Forward an email to multiple recipients +26. * [ ] Forward an email, but delete the initial body +27. * [ ] Forward an email and add additional text, file attachments and embed an image + +# Chrome Addon +1. * [ ] Validate the addon works on Chrome +2. * [ ] Validate the addon works on Edge - BUG - https://code.vereign.com/seal/clients/chrome-extension/-/issues/79 +3. * [ ] Validate the addon works on Brave +4. * [ ] Validate the addon works on Vivaldi +5. * [ ] Check the permissions needed + +# Outlook tests related to the addon not sending of email +1. * [ ] Verify you can login/logout +2. * [ ] Verify the blockchain links work +3. * [ ] Verify the Pin functionality works (none existent feature for outlook.com) +4. * [ ] Validate the addon works on Outlook desktop client +5. * [ ] Validate the addon works on Office 365 web client +6. * [ ] Validate the addon works on outlook.com +7. * [ ] Validate the addon works on Firefox (outlook.com) +8. * [ ] Validate the addon works on Chrome (outlook.com) +9. * [ ] Validate the addon works on Edge (outlook.com) +10. * [ ] Validate the addon works on Safari (outlook.com) +11. * [ ] Validate the addon works on Brave (outlook.com) +12. * [ ] Check the permissions needed +13. * [ ] Outlook iOS - reading of emails +14. * [ ] Outlook Android app - reading of emails + +# Web Verification App +1. * [ ] Send an email and open quickly to validate it shows its still pending +2. * [ ] Validate an email sent via Outlook +3. * [ ] Validate an email sent via Gmail extension +4. * [ ] Mobile view +5. * [ ] Validate the landing is properly displayed on Chrome +6. * [ ] Validate the landing is properly displayed on Edge +7. * [ ] Validate the landing is properly displayed on Firefox +8. * [ ] Validate the landing is properly displayed on Safari +9. * [ ] Check the Email Content +10. * [ ] Check if the attachments can be downloaded diff --git a/README.md b/README.md index 9f9c49e7372993e24dcb795ff84289c7b5226051..4765231c63b286da2fb263d5c787d25fba1233e4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,37 @@ -# tests +# Testing framework +1. [Introduction](#introduction) +1. [Setup](#setup) +1. [Description](#description) +1. [License](#license) + +# Introduction + +This repository holds the test automation framework based on Java and used for testing of [Dashboard]() and [RESTful API](). + +# Setup + +### Prerequisites + +- Install Java > 8 - https://www.java.com/en/download/help/download_options.xml + +- Install gradle - https://gradle.org/install/ + +- Favorite IDE (I recommend IntelliJ IDEA - https://www.jetbrains.com/idea/) + +- If using IntelliJ - Install Cucumber for Java & Gherkin addons + +### Running + +- Run configuration for local example: + ```-Ptags=@test,~@wip``` + ```-Penv="local"``` +- Run the tests on a remote env: ```gradle cucumber -Penv=local -Ptags=@rest,~@wip``` + +# Contributions + +Big up for rosen.georgiev@vereign.com + +## License + +This project is licensed under the AGPL License - see the [LICENSE](/code/Documentation/wikis/LICENSE) file for details. \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000000000000000000000000000000000000..41beeeb63988debfc71d25026adc3ff4a180bcad --- /dev/null +++ b/build.gradle @@ -0,0 +1,93 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +plugins { + // id "com.github.spacialcircumstances.gradle-cucumber-reporting" version "0.0.8" +} + +apply plugin: 'java' +compileJava {options.encoding = "UTF-8"} +apply plugin: 'eclipse' + +repositories { + mavenCentral() + mavenLocal() + gradlePluginPortal() + jcenter() +} + +configurations { + cucumberRuntime { + extendsFrom testRuntimeOnly + } +} + +def buildTags = '~@test,not @wip' +if (project.hasProperty("tags")) { + buildTags = tags + ',not @wip' +} + +def baseUrl +if (project.hasProperty("baseUrl")) { + baseUrl = project.property("baseUrl") +} + + +tasks.withType(Test) { + systemProperties = System.getProperties() + + systemProperties.remove("java.endorsed.dirs") // needs to be removed from Java 9 +} + +task regressionSuite(type: Test) { + + if (System.getProperty('env') == null) { + systemProperty "env", "${baseUrl}" + } + systemProperty "file.encoding", "utf-8" + systemProperty "baseUrl", "${baseUrl}" + + systemProperties System.getProperties() + + include '**/RegressionTestSuite.class' + + outputs.upToDateWhen { false } +} + +dependencies { + configurations.all { + resolutionStrategy.cacheDynamicVersionsFor 0, 'seconds' + } + + testImplementation group: 'io.cucumber', name: 'cucumber-picocontainer', version: '4.3.0' + testImplementation group: 'junit', name: 'junit', version: '4.+' + implementation 'org.apache.commons:commons-lang3:3.4' + implementation 'joda-time:joda-time:2.8.+' + implementation 'org.easytesting:fest-assert:1.4' + implementation 'org.codehaus.jackson:jackson-mapper-asl:1.9.+' + implementation(group: "com.github.fge", name: "json-schema-validator", version: "2.2.+") + implementation(group: "com.google.code.gson", name: "gson", version: "+") + implementation(group: "io.rest-assured", name: "rest-assured", version: "4.+") + implementation(group: "com.jayway.jsonpath", name: "json-path", version: "+") + implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.5' + implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.5' + implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.60' + implementation 'org.bouncycastle:bcpkix-jdk15on:1.51' + implementation group: 'net.sourceforge.tess4j', name: 'tess4j', version: '4.4.1' + implementation 'io.github.prashant-ramcharan:courgette-jvm:3.+' + +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100755 index 0000000000000000000000000000000000000000..42d9b0e9c5872910311a1d035995ab8ec466e7ac Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100755 index 0000000000000000000000000000000000000000..f9731441171dcd65beb59eeb112b1a9a9dc39bd9 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +#Mon Jul 21 13:46:51 EEST 2014 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +# distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip diff --git a/gradlew b/gradlew new file mode 100755 index 0000000000000000000000000000000000000000..91a7e269e19dfc62e27137a0b57ef3e430cee4fd --- /dev/null +++ b/gradlew @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100755 index 0000000000000000000000000000000000000000..aec99730b4e8fcd90b57a0e8e01544fea7c31a89 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/out/production/classes/META-INF/api_framework_java.main.kotlin_module b/out/production/classes/META-INF/api_framework_java.main.kotlin_module new file mode 100644 index 0000000000000000000000000000000000000000..8fb60192d378759239a3ecbf60eac8c8de446e9c Binary files /dev/null and b/out/production/classes/META-INF/api_framework_java.main.kotlin_module differ diff --git a/out/production/classes/api/test/rest/RestSessionContainer.class b/out/production/classes/api/test/rest/RestSessionContainer.class new file mode 100644 index 0000000000000000000000000000000000000000..5fae4a72cd98aaaa505c16d0d6fe7492e6c295ec Binary files /dev/null and b/out/production/classes/api/test/rest/RestSessionContainer.class differ diff --git a/out/production/classes/api/test/rest/pojo/Member.class b/out/production/classes/api/test/rest/pojo/Member.class new file mode 100644 index 0000000000000000000000000000000000000000..f41459c9ed078dfe7a12750e29356a5bc5b2ab9c Binary files /dev/null and b/out/production/classes/api/test/rest/pojo/Member.class differ diff --git a/out/production/classes/core/DataContainer.class b/out/production/classes/core/DataContainer.class new file mode 100644 index 0000000000000000000000000000000000000000..52e8027b92365e5db50cbeb62f983619417ca5ef Binary files /dev/null and b/out/production/classes/core/DataContainer.class differ diff --git a/out/production/classes/core/JsonUtils$1.class b/out/production/classes/core/JsonUtils$1.class new file mode 100644 index 0000000000000000000000000000000000000000..de8a8982d760245d8b4c6c1e006db0da9967c382 Binary files /dev/null and b/out/production/classes/core/JsonUtils$1.class differ diff --git a/out/production/classes/core/JsonUtils$2.class b/out/production/classes/core/JsonUtils$2.class new file mode 100644 index 0000000000000000000000000000000000000000..77f1b17d1addbb0ad031dab4a8849ba463fa796b Binary files /dev/null and b/out/production/classes/core/JsonUtils$2.class differ diff --git a/out/production/classes/core/JsonUtils.class b/out/production/classes/core/JsonUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..e97a6a5dda82785828d9062201907e5b4803a6dc Binary files /dev/null and b/out/production/classes/core/JsonUtils.class differ diff --git a/out/production/classes/core/Request.class b/out/production/classes/core/Request.class new file mode 100644 index 0000000000000000000000000000000000000000..3747d7991e90f2aaa4a616e629019f0747390101 Binary files /dev/null and b/out/production/classes/core/Request.class differ diff --git a/out/production/classes/core/RequestContainer.class b/out/production/classes/core/RequestContainer.class new file mode 100644 index 0000000000000000000000000000000000000000..cb463318a1ed777031ce2aa2668f5d240779d0d4 Binary files /dev/null and b/out/production/classes/core/RequestContainer.class differ diff --git a/out/production/classes/core/Response.class b/out/production/classes/core/Response.class new file mode 100644 index 0000000000000000000000000000000000000000..a0b886f68ee3edfa769034096325cf442ced17ce Binary files /dev/null and b/out/production/classes/core/Response.class differ diff --git a/out/production/classes/core/ResponseContainer.class b/out/production/classes/core/ResponseContainer.class new file mode 100644 index 0000000000000000000000000000000000000000..e9b5f201dc64f93744d51033fdc03c0b0f5c2b8f Binary files /dev/null and b/out/production/classes/core/ResponseContainer.class differ diff --git a/out/production/classes/core/RestClient.class b/out/production/classes/core/RestClient.class new file mode 100644 index 0000000000000000000000000000000000000000..a9f325d4c9861b233a2b17130b88efeb2aa91b8e Binary files /dev/null and b/out/production/classes/core/RestClient.class differ diff --git a/out/production/classes/exceptions/RAFException.class b/out/production/classes/exceptions/RAFException.class new file mode 100644 index 0000000000000000000000000000000000000000..7c59feefbfe40c606664fbaa55763e14c8726361 Binary files /dev/null and b/out/production/classes/exceptions/RAFException.class differ diff --git a/out/production/classes/exceptions/RAFIllegalState.class b/out/production/classes/exceptions/RAFIllegalState.class new file mode 100644 index 0000000000000000000000000000000000000000..174f133ed946509421fd02bb85d8bd81cad39013 Binary files /dev/null and b/out/production/classes/exceptions/RAFIllegalState.class differ diff --git a/out/production/classes/pdfValidation/CertificateValidation.class b/out/production/classes/pdfValidation/CertificateValidation.class new file mode 100644 index 0000000000000000000000000000000000000000..9a334a74e4c3aab26a7277d7fe1b245c3059a41c Binary files /dev/null and b/out/production/classes/pdfValidation/CertificateValidation.class differ diff --git a/out/production/classes/pdfValidation/SignatureInfo.class b/out/production/classes/pdfValidation/SignatureInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..d28a9ec68af41f63609f6b5411c3765004e626b9 Binary files /dev/null and b/out/production/classes/pdfValidation/SignatureInfo.class differ diff --git a/out/production/classes/pdfValidation/SignatureIntegrity.class b/out/production/classes/pdfValidation/SignatureIntegrity.class new file mode 100644 index 0000000000000000000000000000000000000000..bd34b703db515a052aee857f4b01667aecb31e7d Binary files /dev/null and b/out/production/classes/pdfValidation/SignatureIntegrity.class differ diff --git a/out/production/classes/selenium/chromeExtension/ChromeExtensionPage.class b/out/production/classes/selenium/chromeExtension/ChromeExtensionPage.class new file mode 100644 index 0000000000000000000000000000000000000000..b18315c72fb283aa1030cfda7c67a615953cff26 Binary files /dev/null and b/out/production/classes/selenium/chromeExtension/ChromeExtensionPage.class differ diff --git a/out/production/classes/selenium/dashboard/ActivityPage.class b/out/production/classes/selenium/dashboard/ActivityPage.class new file mode 100644 index 0000000000000000000000000000000000000000..101bd2821bc2be6bbfbb3502b27c097c302e896c Binary files /dev/null and b/out/production/classes/selenium/dashboard/ActivityPage.class differ diff --git a/out/production/classes/selenium/dashboard/ContactPage.class b/out/production/classes/selenium/dashboard/ContactPage.class new file mode 100644 index 0000000000000000000000000000000000000000..acc5f4801b6da60c4fbdd1982c6c5e3df3ec4e16 Binary files /dev/null and b/out/production/classes/selenium/dashboard/ContactPage.class differ diff --git a/out/production/classes/selenium/dashboard/DashboardPage.class b/out/production/classes/selenium/dashboard/DashboardPage.class new file mode 100644 index 0000000000000000000000000000000000000000..966dda7da7895d7bac6cf463b0af33e4d8b32dec Binary files /dev/null and b/out/production/classes/selenium/dashboard/DashboardPage.class differ diff --git a/out/production/classes/selenium/dashboard/DeviceManagerPage.class b/out/production/classes/selenium/dashboard/DeviceManagerPage.class new file mode 100644 index 0000000000000000000000000000000000000000..d2e990ceed35123e4e2294affa45521a78caea2a Binary files /dev/null and b/out/production/classes/selenium/dashboard/DeviceManagerPage.class differ diff --git a/out/production/classes/selenium/dashboard/DocumentPage.class b/out/production/classes/selenium/dashboard/DocumentPage.class new file mode 100644 index 0000000000000000000000000000000000000000..fcba0a7e83eb9decdba6ba4546f0564b02da250f Binary files /dev/null and b/out/production/classes/selenium/dashboard/DocumentPage.class differ diff --git a/out/production/classes/selenium/dashboard/EmailPage.class b/out/production/classes/selenium/dashboard/EmailPage.class new file mode 100644 index 0000000000000000000000000000000000000000..52e2c4ff847d73cab344a110cccb64fc3b081601 Binary files /dev/null and b/out/production/classes/selenium/dashboard/EmailPage.class differ diff --git a/out/production/classes/selenium/dashboard/IdentityPage.class b/out/production/classes/selenium/dashboard/IdentityPage.class new file mode 100644 index 0000000000000000000000000000000000000000..6bde21137b93336c8501288c1d2809afcf131160 Binary files /dev/null and b/out/production/classes/selenium/dashboard/IdentityPage.class differ diff --git a/out/production/classes/selenium/dashboard/InboxPage.class b/out/production/classes/selenium/dashboard/InboxPage.class new file mode 100644 index 0000000000000000000000000000000000000000..99057026845b298fb2f937f2de65360fc005163f Binary files /dev/null and b/out/production/classes/selenium/dashboard/InboxPage.class differ diff --git a/out/production/classes/selenium/dashboard/LoginPage.class b/out/production/classes/selenium/dashboard/LoginPage.class new file mode 100644 index 0000000000000000000000000000000000000000..568187bc8b025d35856802a00a36c2a4691838f5 Binary files /dev/null and b/out/production/classes/selenium/dashboard/LoginPage.class differ diff --git a/out/production/classes/selenium/dashboard/NotificationPage.class b/out/production/classes/selenium/dashboard/NotificationPage.class new file mode 100644 index 0000000000000000000000000000000000000000..05ab8c68ec4a65f9f18713eeefdf0b5fed8b1d01 Binary files /dev/null and b/out/production/classes/selenium/dashboard/NotificationPage.class differ diff --git a/out/production/classes/selenium/dashboard/PluginsPage.class b/out/production/classes/selenium/dashboard/PluginsPage.class new file mode 100644 index 0000000000000000000000000000000000000000..5a369e6d39d18f6954d4d1b0e99a918acb89b77e Binary files /dev/null and b/out/production/classes/selenium/dashboard/PluginsPage.class differ diff --git a/out/production/classes/selenium/dashboard/ProfilePage.class b/out/production/classes/selenium/dashboard/ProfilePage.class new file mode 100644 index 0000000000000000000000000000000000000000..655d9b119efbf46514443bae31c01f23a21d5bac Binary files /dev/null and b/out/production/classes/selenium/dashboard/ProfilePage.class differ diff --git a/out/production/classes/selenium/dashboard/RegisterPage.class b/out/production/classes/selenium/dashboard/RegisterPage.class new file mode 100644 index 0000000000000000000000000000000000000000..4e9a391f61a2fe14c0139ac3d5d513d8a5957db6 Binary files /dev/null and b/out/production/classes/selenium/dashboard/RegisterPage.class differ diff --git a/out/production/classes/selenium/gmail/GmailPage.class b/out/production/classes/selenium/gmail/GmailPage.class new file mode 100644 index 0000000000000000000000000000000000000000..521db4d10f82ab9ff1c8cfe531e2263ef0e6a9b8 Binary files /dev/null and b/out/production/classes/selenium/gmail/GmailPage.class differ diff --git a/out/production/classes/selenium/gmailPlugin/ChromeAuthenticationPage.class b/out/production/classes/selenium/gmailPlugin/ChromeAuthenticationPage.class new file mode 100644 index 0000000000000000000000000000000000000000..044f04b22a79b490423855208b5623459431f2d6 Binary files /dev/null and b/out/production/classes/selenium/gmailPlugin/ChromeAuthenticationPage.class differ diff --git a/out/production/classes/selenium/roundcube/RoundcubePage.class b/out/production/classes/selenium/roundcube/RoundcubePage.class new file mode 100644 index 0000000000000000000000000000000000000000..0f47a849d7671676b65a474e78f055d3e4917294 Binary files /dev/null and b/out/production/classes/selenium/roundcube/RoundcubePage.class differ diff --git a/out/production/classes/selenium/utils/Browser.class b/out/production/classes/selenium/utils/Browser.class new file mode 100644 index 0000000000000000000000000000000000000000..d2f2c6832840fb19fac6bb6d2cd5537492d7b86e Binary files /dev/null and b/out/production/classes/selenium/utils/Browser.class differ diff --git a/out/production/classes/selenium/utils/ChangeWindow.class b/out/production/classes/selenium/utils/ChangeWindow.class new file mode 100644 index 0000000000000000000000000000000000000000..6930abced243bbf7a636d03d152645422c932d2e Binary files /dev/null and b/out/production/classes/selenium/utils/ChangeWindow.class differ diff --git a/out/production/classes/utils/JSONBuilder$1.class b/out/production/classes/utils/JSONBuilder$1.class new file mode 100644 index 0000000000000000000000000000000000000000..3567c6660b5cfe2bb000964b27af30a0c137c8d3 Binary files /dev/null and b/out/production/classes/utils/JSONBuilder$1.class differ diff --git a/out/production/classes/utils/JSONBuilder$JsonItem.class b/out/production/classes/utils/JSONBuilder$JsonItem.class new file mode 100644 index 0000000000000000000000000000000000000000..26230c6cd058c74854f1c8cbd3aaaf3d31d9cd28 Binary files /dev/null and b/out/production/classes/utils/JSONBuilder$JsonItem.class differ diff --git a/out/production/classes/utils/JSONBuilder.class b/out/production/classes/utils/JSONBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..c091fc6e1a620c5c8323cae2157e8dce116ed865 Binary files /dev/null and b/out/production/classes/utils/JSONBuilder.class differ diff --git a/out/production/classes/utils/JSONBuilderAware.class b/out/production/classes/utils/JSONBuilderAware.class new file mode 100644 index 0000000000000000000000000000000000000000..2ff9fbb03edf41dba7d0130e939d1a68257d8ef8 Binary files /dev/null and b/out/production/classes/utils/JSONBuilderAware.class differ diff --git a/out/production/classes/utils/JSONParser.class b/out/production/classes/utils/JSONParser.class new file mode 100644 index 0000000000000000000000000000000000000000..3aa6b300abb0ecaf4d097a88121341a9cc44edf6 Binary files /dev/null and b/out/production/classes/utils/JSONParser.class differ diff --git a/out/production/classes/utils/RAFProperties.class b/out/production/classes/utils/RAFProperties.class new file mode 100644 index 0000000000000000000000000000000000000000..f21bdc215956f44b1b902a06f15ce07de8e93237 Binary files /dev/null and b/out/production/classes/utils/RAFProperties.class differ diff --git a/out/production/classes/utils/RAFRandomize.class b/out/production/classes/utils/RAFRandomize.class new file mode 100644 index 0000000000000000000000000000000000000000..621a15681054cfdf2f57c49bc101530f34d0a2f7 Binary files /dev/null and b/out/production/classes/utils/RAFRandomize.class differ diff --git a/out/production/classes/utils/RsaGenerator.class b/out/production/classes/utils/RsaGenerator.class new file mode 100644 index 0000000000000000000000000000000000000000..ac5b180b6b3fb97defbda21c10ffdb497fc0bcf6 Binary files /dev/null and b/out/production/classes/utils/RsaGenerator.class differ diff --git a/out/production/resources/REST/json/Child.json b/out/production/resources/REST/json/Child.json new file mode 100644 index 0000000000000000000000000000000000000000..7da462ae865f3f4145b7f35a8fe41c01dd3e39f9 --- /dev/null +++ b/out/production/resources/REST/json/Child.json @@ -0,0 +1,28 @@ +{ + "missing_child": { + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_child": { + "childUUID": "", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "invalid_uuid_child": { + "childUUID": "80e41b47-d8cc-44a2-b696", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "missing_entityuuid": { + "childUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_entityuuid": { + "childUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "" + }, + "invalid_uuid_entityuuid": { + "childUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "80e41b47-d8cc-44a2-b696" + }, + "non_existing_uuid": { + "childUUID": "5fa2c680-850b-11e8-adc0-fa7ae01bbebc", + "entityUUID": "5fa2cb76-850b-11e8-adc0-fa7ae01bbebc" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/Claims.json b/out/production/resources/REST/json/Claims.json new file mode 100644 index 0000000000000000000000000000000000000000..0917bcb43e6faab55e2f5b00cec36b9ad8f86849 --- /dev/null +++ b/out/production/resources/REST/json/Claims.json @@ -0,0 +1,141 @@ +{ + "create_private": { + "claim": "age", + "value": "23", + "tag": "ageValue", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + }, + "create_invitational": { + "claim": "age", + "value": "23", + "tag": "ageValue", + "access": "ACCESS_TYPE_INVITATIONAL", + "valueType": "non-composite", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + }, + "valueType_composite": { + "claim": "age", + "value": "{\"age\":\"25\",\"olderThen\":\"18\"}", + "tag": "ageValue", + "access": "ACCESS_TYPE_INVITATIONAL", + "valueType": "composite", + "entityuuid": "1f4f0f01-07cd-47aa-aa8e-1ff1797a7733" + }, + "valueType_updated_composite": { + "claim": "age", + "value": "{\"age\":\"33\",\"olderThen\":\"18\"}", + "tag": "ageValue", + "access": "ACCESS_TYPE_INVITATIONAL", + "valueType": "composite", + "entityuuid": "1f4f0f01-07cd-47aa-aa8e-1ff1797a7733" + }, + "missing_tag": { + "claim": "age", + "value": "23", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + }, + "nonexistent_claim": { + "claim": "gender", + "value": "male", + "tag": "genderValue", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + }, + "missing_claim": { + "value": "23", + "tag": "ageValue", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + }, + "missing_value": { + "claim": "age", + "tag": "ageValue", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + }, + "missing_access": { + "claim": "age", + "value": "23", + "tag": "ageValue", + "valueType": "non-composite", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + }, + "missing_entityuuid": { + "claim": "age", + "value": "23", + "tag": "ageValue", + "valueType": "non-composite", + "access": "ACCESS_TYPE_PRIVATE" + }, + "missing_valueType": { + "claim": "age", + "value": "23", + "tag": "ageValue", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8", + "access": "ACCESS_TYPE_PRIVATE" + }, + "invalid_access": { + "claim": "age", + "value": "23", + "tag": "ageValue", + "access": "ACCESS_TYPE_INVALID", + "valueType": "non-composite" + }, + "passportName": { + "claim": "passportName", + "value": "TestPassportName", + "tag": "passportNameTag", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + }, + "selenium_notValidated_email": { + "claim": "emails", + "tag": "addedEmail", + "value": "notValidated@example.com", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite" + }, + "selenium_date_of_birth": { + "claim": "date of birth", + "tag": "addedDateOfBirth", + "value": "1546300800", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite" + }, + "selenium_not_validated_email_profile": { + "claim": "passportName", + "tag": "notag", + "value": "NotValidatedEmail", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite" + }, + "selenium_no_claims_profile": { + "claim": "passportName", + "tag": "notag", + "value": "No Claims", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite" + }, + "selenium_name_only_profile": { + "claim": "passportName", + "tag": "notag", + "value": "Name Only", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite" + }, + "selenium_contacts_profile": { + "claim": "passportName", + "tag": "notag", + "value": "Contacts", + "access": "ACCESS_TYPE_PRIVATE", + "valueType": "non-composite" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/Company.json b/out/production/resources/REST/json/Company.json new file mode 100644 index 0000000000000000000000000000000000000000..8a786078f8952dda2ff03d77a14056e97a6f7ca6 --- /dev/null +++ b/out/production/resources/REST/json/Company.json @@ -0,0 +1,129 @@ +{ + "create": { + "companyContactEmail": "hr@vereign.com", + "companyName": "Vereign", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "+359999" + }, + "empty_email": { + "companyContactEmail": "", + "companyName": "Vereign", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "+359999" + }, + "missing_email": { + "companyName": "Vereign", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "+359999" + }, + "empty_name": { + "companyContactEmail": "hr@vereign.com", + "companyName": "", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "+359999" + }, + "missing_name": { + "companyContactEmail": "hr@vereign.com", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "+359999" + }, + "empty_billingAddress": { + "companyContactEmail": "hr@vereign.com", + "companyName": "Vereign", + "companyBillingAddress": "", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "+359999" + }, + "missing_billingAddress": { + "companyContactEmail": "hr@vereign.com", + "companyName": "Vereign", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "+359999" + }, + "empty_address": { + "companyContactEmail": "hr@vereign.com", + "companyName": "Vereign", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyAddress": "", + "companyVATNumber": "BG123456789", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "+359999" + }, + "missing_address": { + "companyContactEmail": "hr@vereign.com", + "companyName": "Vereign", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "+359999" + }, + "empty_VAT": { + "companyContactEmail": "hr@vereign.com", + "companyName": "Vereign", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "emptyVAT": "", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "+359999" + }, + "missing_VAT": { + "companyContactEmail": "hr@vereign.com", + "companyName": "Vereign", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "+359999" + }, + "empty_contactName": { + "companyContactEmail": "hr@vereign.com", + "companyName": "Vereign", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactName": "", + "companyContactNumber": "+359999" + }, + "missing_contactName": { + "companyContactEmail": "hr@vereign.com", + "companyName": "Vereign", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactNumber": "+359999" + }, + "empty_contactNumber": { + "companyContactEmail": "hr@vereign.com", + "companyName": "Vereign", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactName": "Ivan Djeferov", + "companyContactNumber": "" + }, + "missing_contactNumber": { + "companyContactEmail": "hr@vereign.com", + "companyName": "Vereign", + "companyBillingAddress": "Google Ave. Seattle, WA, USA", + "companyAddress": "Google Ave. Seattlt, WA, USA", + "companyVATNumber": "BG123456789", + "companyContactName": "Ivan Djeferov" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/DeleteClaims.json b/out/production/resources/REST/json/DeleteClaims.json new file mode 100644 index 0000000000000000000000000000000000000000..e88fb7a7a6ddeef02ed1123d7e69d42a18ae0983 --- /dev/null +++ b/out/production/resources/REST/json/DeleteClaims.json @@ -0,0 +1,29 @@ +{ + "empty_claim": { + "claim": "", + "tag":"ageValue", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + }, + "empty_entityuuid": { + "claim": "age", + "tag":"ageValue", + "entityuuid": "" + }, + "missing_claim": { + "tag":"ageValue", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + }, + "missing_entityuuid": { + "tag":"ageValue", + "claim": "age" + }, + "empty_tag": { + "claim": "age", + "tag":"", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + }, + "missing_tag": { + "claim": "age", + "entityuuid": "d5a7c5c4-75cc-43ae-95d0-c2d0eead21d8" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/Employees.json b/out/production/resources/REST/json/Employees.json new file mode 100644 index 0000000000000000000000000000000000000000..ca8e3181a245a7b6407e3d09c2e429c193bc3e6d --- /dev/null +++ b/out/production/resources/REST/json/Employees.json @@ -0,0 +1,227 @@ +{ + "create": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "empty_firstName": { + "firstName": "", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "missing_firstName": { + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "empty_lastName": { + "firstName": "John", + "lastName": "", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "missing_lastName": { + "firstName": "John", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "empty_email": { + "firstName": "John", + "lastName": "Smith", + "email": "", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "missing_email": { + "firstName": "John", + "lastName": "Smith", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "empty_phone": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "missing_phone": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "empty_employeeNumber": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "missing_employeeNumber": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "missing_roles": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "missing_permissions": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "empty_companyUUID": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "missing_companyUUID": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "nonexistent_companyUUID": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bfb", + "jobTitle": "Software Developer", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "empty_jobTitle": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "jobTitle": "", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + }, + "missing_jobTitle": { + "firstName": "John", + "lastName": "Smith", + "email": "john.smith@bestbk.commm", + "phone": "+3123123", + "employeeNumber": "112233", + "roles":["Senior Software Developer"], + "permissions":["user"], + "companyUUID": "4fadfa40-9f23-4048-87a2-9a8b78135bff", + "location": "Bulgaria", + "address": "Sofia, Bulgaria" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/Entity.json b/out/production/resources/REST/json/Entity.json new file mode 100644 index 0000000000000000000000000000000000000000..bd827a9b526c95be3dc407c40819550ed4e2b223 --- /dev/null +++ b/out/production/resources/REST/json/Entity.json @@ -0,0 +1,13 @@ +{ + "empty_type": { + "type": "", + "uuid": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "missing_type": { + "uuid": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "type_7": { + "type": 7, + "uuid": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/Guarded.json b/out/production/resources/REST/json/Guarded.json new file mode 100644 index 0000000000000000000000000000000000000000..9842292fcf95e4304b687b124878b735fb2d2726 --- /dev/null +++ b/out/production/resources/REST/json/Guarded.json @@ -0,0 +1,28 @@ +{ + "missing_guarded": { + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_guarded": { + "guardedUUID": "", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "invalid_uuid_guarded": { + "guardedUUID": "80e41b47-d8cc-44a2-b696", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "missing_entityuuid": { + "guardedUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_entityuuid": { + "guardedUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "" + }, + "invalid_uuid_entityuuid": { + "guardedUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "80e41b47-d8cc-44a2-b696" + }, + "non_existing_uuid": { + "guardedUUID": "5fa2c680-850b-11e8-adc0-fa7ae01bbebc", + "entityUUID": "5fa2cb76-850b-11e8-adc0-fa7ae01bbebc" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/Guardian.json b/out/production/resources/REST/json/Guardian.json new file mode 100644 index 0000000000000000000000000000000000000000..3040874da0067040b9788495eb90447de96ddfbb --- /dev/null +++ b/out/production/resources/REST/json/Guardian.json @@ -0,0 +1,24 @@ +{ + "missing_guardian": { + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_guardian": { + "guardianUUID": "", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "invalid_uuid_guardian": { + "guardianUUID": "80e41b47-d8cc-44a2-b696", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "missing_entityuuid": { + "guardianUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_entityuuid": { + "guardianUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "" + }, + "invalid_uuid_entityuuid": { + "guardianUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "80e41b47-d8cc-44a2-b696" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/Logout.json b/out/production/resources/REST/json/Logout.json new file mode 100644 index 0000000000000000000000000000000000000000..43a62acbe3cf575431b2e6d54156917528b8e7b9 --- /dev/null +++ b/out/production/resources/REST/json/Logout.json @@ -0,0 +1,16 @@ +{ + "empty_token": { + "token": "", + "useruuid": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_uuid": { + "token": "9hcVHdjEaLZoABH7BVmMkVqUTCW93w7eoa5TauNwIoaklCuG_b9PZ1v9r6_k5y6Wkr9TsLuFcF1BS6v4-kZ1rsiOlKHjvgkIz0KwQRaHpY2vdO3_UXB4dGpTDPtGcmnjOYbDmSjwTV33MeIP8aKXwdr77q47GcEc92gZe2tkDbb05cfe58ga7cBfl9l1vhS6pjJnYw5R25Rkb9PEzyg77_N1tnJWgCC-Rs78mGfRcgrurSxXxul8vY8f_xZ8qWyRZhicTt081H4TOfh_GZrScJR2qc1NIJ6bI0qfmk1KHmvC6kfDv5oZitAIFETpnPA7Oi8862GGcGZD0NSU4gmiYg==", + "useruuid": "" + }, + "missing_token": { + "useruuid": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "missing_uuid": { + "token": "9hcVHdjEaLZoABH7BVmMkVqUTCW93w7eoa5TauNwIoaklCuG_b9PZ1v9r6_k5y6Wkr9TsLuFcF1BS6v4-kZ1rsiOlKHjvgkIz0KwQRaHpY2vdO3_UXB4dGpTDPtGcmnjOYbDmSjwTV33MeIP8aKXwdr77q47GcEc92gZe2tkDbb05cfe58ga7cBfl9l1vhS6pjJnYw5R25Rkb9PEzyg77_N1tnJWgCC-Rs78mGfRcgrurSxXxul8vY8f_xZ8qWyRZhicTt081H4TOfh_GZrScJR2qc1NIJ6bI0qfmk1KHmvC6kfDv5oZitAIFETpnPA7Oi8862GGcGZD0NSU4gmiYg==" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/Member.json b/out/production/resources/REST/json/Member.json new file mode 100644 index 0000000000000000000000000000000000000000..db2da3bc5dd9644acfdfaefb616e43ee436b343e --- /dev/null +++ b/out/production/resources/REST/json/Member.json @@ -0,0 +1,28 @@ +{ + "missing_member": { + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_member": { + "memberUUID": "", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "invalid_uuid_member": { + "memberUUID": "80e41b47-d8cc-44a2-b696", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "missing_entityuuid": { + "memberUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_entityuuid": { + "memberUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "" + }, + "invalid_uuid_entityuuid": { + "memberUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "80e41b47-d8cc-44a2-b696" + }, + "non_existing_uuid": { + "memberUUID": "5fa2c680-850b-11e8-adc0-fa7ae01bbebc", + "entityUUID": "5fa2cb76-850b-11e8-adc0-fa7ae01bbebc" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/MemberOf.json b/out/production/resources/REST/json/MemberOf.json new file mode 100644 index 0000000000000000000000000000000000000000..0490e3f488f956e48cb7e8b57eea526884791912 --- /dev/null +++ b/out/production/resources/REST/json/MemberOf.json @@ -0,0 +1,28 @@ +{ + "missing_memberOf": { + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_memberOf": { + "memberOfUUID": "", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "invalid_uuid_memberOf": { + "memberOfUUID": "80e41b47-d8cc-44a2-b696", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "missing_entityuuid": { + "memberOfUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_entityuuid": { + "memberOfUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "" + }, + "invalid_uuid_entityuuid": { + "memberOfUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "80e41b47-d8cc-44a2-b696" + }, + "non_existing_uuid": { + "memberOfUUID": "5fa2c680-850b-11e8-adc0-fa7ae01bbebc", + "entityUUID": "5fa2cb76-850b-11e8-adc0-fa7ae01bbebc" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/Parent.json b/out/production/resources/REST/json/Parent.json new file mode 100644 index 0000000000000000000000000000000000000000..8c3ef77a2317246b81de91b926a7cd503bbededa --- /dev/null +++ b/out/production/resources/REST/json/Parent.json @@ -0,0 +1,28 @@ +{ + "missing_parent": { + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_parent": { + "parentUUID": "", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "invalid_uuid_parent": { + "parentUUID": "80e41b47-d8cc-44a2-b696", + "entityUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "missing_entityuuid": { + "parentUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60" + }, + "empty_entityuuid": { + "parentUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "" + }, + "invalid_uuid_entityuuid": { + "parentUUID": "80e41b47-d8cc-44a2-b696-59a0e1d19a60", + "entityUUID": "80e41b47-d8cc-44a2-b696" + }, + "non_existing_uuid": { + "parentUUID": "5fa2c680-850b-11e8-adc0-fa7ae01bbebc", + "entityUUID": "5fa2cb76-850b-11e8-adc0-fa7ae01bbebc" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/json/Register.json b/out/production/resources/REST/json/Register.json new file mode 100644 index 0000000000000000000000000000000000000000..fb991132e51cee8920d1acfa1d286b01f1d119e2 --- /dev/null +++ b/out/production/resources/REST/json/Register.json @@ -0,0 +1,74 @@ +{ + "create": { + "email": "testEmail@example.com", + "givenname": "testFirstname", + "familyname": "testFamilyname", + "phonenumber": "+1111111111" + }, + "empty_email": { + "email": "", + "givenname": "testFirstname", + "familyname": "testFamilyname", + "phonenumber": "+1111111111" + }, + "empty_name": { + "email": "testEmail@example.com", + "givenname": "", + "familyname": "testFamilyname", + "phonenumber": "+1111111111" + }, + "empty_phone": { + "email": "testEmail@example.com", + "givenname": "testFirstname", + "familyname": "testFamilyname", + "phonenumber": "" + }, + "empty_familyname": { + "email": "testEmail@example.com", + "givenname": "testFirstname", + "familyname": "", + "phonenumber": "+1111111111" + }, + "create_selenium": { + "email": "testEmail@example.com", + "givenname": "Boris", + "familyname": "Dimitrov", + "phonenumber": "+359884045187" + }, + "create_selenium_phone": { + "email": "testEmail@example.com", + "givenname": "Test", + "familyname": "Vereign", + "phonenumber": "+359884045187" + }, + "gmail": { + "email": "vereign.automation@gmail.com", + "givenname": "Vereign", + "familyname": "Automation", + "phonenumber": "+359884045187" + }, + "roundcube": { + "email": "mister.test@kolab-qa.vereign.com", + "givenname": "Roundcube", + "familyname": "Robot", + "phonenumber": "+359884045187" + }, + "testing": { + "email": "tested23@abv.bg", + "givenname": "Boris", + "familyname": "Dimitrov", + "phonenumber": "+359884045187" + }, + "gravatar": { + "email": "automation.vereign@gmail.com", + "givenname": "Gravatar", + "familyname": "User", + "phonenumber": "+359884045187" + }, + "second roundcube": { + "email": "bb8.droid@kolab-qa.vereign.com", + "givenname": "Roundcube", + "familyname": "Test", + "phonenumber": "+359884045187" + } +} \ No newline at end of file diff --git a/out/production/resources/REST/schemas/Hyperledger_getinfo_schema.json b/out/production/resources/REST/schemas/Hyperledger_getinfo_schema.json new file mode 100644 index 0000000000000000000000000000000000000000..29762646b593e51b6266dce99b73d3c13f93f4f1 --- /dev/null +++ b/out/production/resources/REST/schemas/Hyperledger_getinfo_schema.json @@ -0,0 +1,61 @@ +{ + "definitions": {}, + "$schema": "http://json-schema.org/draft-06/schema#", + "type": "object", + "required": [ + "status", + "code", + "data" + ], + "properties": { + "status": { + "type": "string" + }, + "code": { + "type": "string" + }, + "data": { + "type": "object", + "required": [ + "channelname", + "currentBlockHash", + "err", + "nbBlocks", + "peers", + "previousBlockHash" + ], + "properties": { + "channelname": { + "type": "string" + }, + "currentBlockHash": { + "type": "string" + }, + "nbBlocks": { + "type": "string" + }, + "peers": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "url" + ], + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + }, + "previousBlockHash": { + "type": "string" + } + } + } + } +} \ No newline at end of file diff --git a/out/production/resources/REST/schemas/ListFunctions_schema.json b/out/production/resources/REST/schemas/ListFunctions_schema.json new file mode 100644 index 0000000000000000000000000000000000000000..d1dfebdff8be8d3f47e33ce66d2851721634f4e2 --- /dev/null +++ b/out/production/resources/REST/schemas/ListFunctions_schema.json @@ -0,0 +1,55 @@ +{ + "type": "object", + "definitions": {}, + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "http://example.com/root.json", + "required": [ + "status", + "code", + "data" + ], + "properties": { + "status": { + "type": "string" + }, + "code": { + "type": "string" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "required": [ + "Name", + "Description", + "InputTypes", + "OutputTypes", + "ClaimName" + ], + "properties": { + "Name": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InputTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "OutputTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "ClaimName": { + "type": "string" + } + } + } + } + } +} \ No newline at end of file diff --git a/out/production/resources/REST/schemas/Register_schema.json b/out/production/resources/REST/schemas/Register_schema.json new file mode 100644 index 0000000000000000000000000000000000000000..ddf007e9138dc7b20b902f85f6c7997b65b3e5f1 --- /dev/null +++ b/out/production/resources/REST/schemas/Register_schema.json @@ -0,0 +1,29 @@ +{ + "type": "object", + "definitions": {}, + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "family": { + "type": "string" + }, + "phone_number": { + "type": "string" + } + }, + "required": [ + "username", + "email", + "name", + "phone_number" + ] +} \ No newline at end of file diff --git a/out/production/resources/REST/testFiles/apple_ex.png b/out/production/resources/REST/testFiles/apple_ex.png new file mode 100644 index 0000000000000000000000000000000000000000..3115639b4ccf9f2ec1252e906157678523de21c8 Binary files /dev/null and b/out/production/resources/REST/testFiles/apple_ex.png differ diff --git a/out/production/resources/REST/testFiles/pgindex.gif b/out/production/resources/REST/testFiles/pgindex.gif new file mode 100644 index 0000000000000000000000000000000000000000..a08c6ec5bc01ccc561c9712ba5eebaab16208cdf Binary files /dev/null and b/out/production/resources/REST/testFiles/pgindex.gif differ diff --git a/out/production/resources/REST/testFiles/test.txt b/out/production/resources/REST/testFiles/test.txt new file mode 100644 index 0000000000000000000000000000000000000000..86ccb42a69c5cba8e460fd548098d775c201940a --- /dev/null +++ b/out/production/resources/REST/testFiles/test.txt @@ -0,0 +1 @@ +Test text diff --git a/out/production/resources/REST/testFiles/testOOXML.docx b/out/production/resources/REST/testFiles/testOOXML.docx new file mode 100644 index 0000000000000000000000000000000000000000..93664cea721161c853bf4c9503a60ac807f94cac Binary files /dev/null and b/out/production/resources/REST/testFiles/testOOXML.docx differ diff --git a/out/production/resources/REST/testFiles/testOdf.odt b/out/production/resources/REST/testFiles/testOdf.odt new file mode 100644 index 0000000000000000000000000000000000000000..ae1dbabf3aad4595f5a6ed7ec16f9f6cbb06c78c Binary files /dev/null and b/out/production/resources/REST/testFiles/testOdf.odt differ diff --git a/out/production/resources/REST/testFiles/testpdf.pdf b/out/production/resources/REST/testFiles/testpdf.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d26695444dda9039229f61a1effe35c50f492f35 Binary files /dev/null and b/out/production/resources/REST/testFiles/testpdf.pdf differ diff --git a/out/production/resources/REST/testFiles/vereign_ca.cer b/out/production/resources/REST/testFiles/vereign_ca.cer new file mode 100644 index 0000000000000000000000000000000000000000..a31db3f657ab135aa4713dd655b0dd8e424a93ca --- /dev/null +++ b/out/production/resources/REST/testFiles/vereign_ca.cer @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIEdjCCA16gAwIBAgIEW7HqGDANBgkqhkiG9w0BAQsFADBqMQswCQYDVQQGEwJD +SDEMMAoGA1UECAwDWnVnMQwwCgYDVQQHDANadWcxEzARBgNVBAoMClZlcmVpZ24g +QUcxFTATBgNVBAsMDEJ1c3NpbmVzIERlcDETMBEGA1UEAwwKdmVyZWlnbi1jYTAe +Fw0xODEwMDEwOTM0MTZaFw0xOTEwMDEwOTM0MTZaMGoxCzAJBgNVBAYTAkNIMQww +CgYDVQQIDANadWcxDDAKBgNVBAcMA1p1ZzETMBEGA1UECgwKVmVyZWlnbiBBRzEV +MBMGA1UECwwMQnVzc2luZXMgRGVwMRMwEQYDVQQDDAp2ZXJlaWduLWNhMIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsfpPjrblQuxrHiSLAAyyDgRd66gY +PRo7lgKZH5NYcBO9VhJNwnvV+fBIVeJI49b+a12TPHjRzJYrkaBAcUxMM8FkZ01A +mv6JSG4o2ZXV+GWpnWzEJzt9ZXmNZ1MSUlqIGzVZ/eUlXIj4gy57+SZoJURcQGhs +jpoRgUpYnFsDJk2x77jiOa5ym/N+8HKsOabASMU6VkbIFvUqf62RXWpnQlOhFjGo +0jvheRGBWbaYKHM3/d+u78w4tmvHqGVDDbsuOluZ39p2jCic9S7CnDkauZB0Afd/ +xgQ0CglpAgY8g4cfMl2zwRmm616PtutqjcE/NoA2JEVN5vP9QZsuXeRpJwIDAQAB +o4IBIjCCAR4wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwLwYDVR0R +BCgwJoIPd3d3LnZlcmVpZ24uY29tgRNjb250YWN0QHZlcmVpZ24uY29tMBEGA1Ud +IAQKMAgwBgYEVR0gADCBlwYDVR0jBIGPMIGMgBQlN+K7lesKXsDZYQUu4zkqtNBw +rqFupGwwajELMAkGA1UEBhMCQ0gxDDAKBgNVBAgMA1p1ZzEMMAoGA1UEBwwDWnVn +MRMwEQYDVQQKDApWZXJlaWduIEFHMRUwEwYDVQQLDAxCdXNzaW5lcyBEZXAxEzAR +BgNVBAMMCnZlcmVpZ24tY2GCBFux6hgwHQYDVR0OBBYEFCU34ruV6wpewNlhBS7j +OSq00HCuMA0GCSqGSIb3DQEBCwUAA4IBAQCG3tf8/tuCNJXby4B7decDNE6bff40 +1ybO17kzekrKj0IO2TatFIG+UDlxDfm2iydEQVoPuRTAgmJD1aq5g4C0ZLyUqmOg +75Dve6W9+zzxbdI711WKxH+uSj4mTRkFD4Tb7r3VZ1ZyZYnCOMIGB4/lqUK6Ok3a +2v8XaFcxHt5XhrQtgqd5bBGokQfwYPNVZW9FwXf/8cd59prEOnqlMbZJ7copgwYO +97abhpy2FUoRWtvDjDLLfdiFQhVY8meDcS/h5mw2aEugew8hnfSEaD5ZcbOf0ZQe +MOVxKbIzSeUDAFyRY6BPpGVPuJD6QAXRMW6KIWiGoF1taKp5G/nzbzJC +-----END CERTIFICATE----- diff --git a/out/test/classes/META-INF/api_framework_java.main.kotlin_module b/out/test/classes/META-INF/api_framework_java.main.kotlin_module new file mode 100644 index 0000000000000000000000000000000000000000..8fb60192d378759239a3ecbf60eac8c8de446e9c Binary files /dev/null and b/out/test/classes/META-INF/api_framework_java.main.kotlin_module differ diff --git a/out/test/classes/RegressionTestSuite.class b/out/test/classes/RegressionTestSuite.class new file mode 100644 index 0000000000000000000000000000000000000000..5c8bee7bbbf9e58e8bb1624b25c40d6e6b988917 Binary files /dev/null and b/out/test/classes/RegressionTestSuite.class differ diff --git a/out/test/classes/api/test/core/BaseStepDefinitions$1.class b/out/test/classes/api/test/core/BaseStepDefinitions$1.class new file mode 100644 index 0000000000000000000000000000000000000000..255ecd788dc5c6ce822b3bf1423567de9406d284 Binary files /dev/null and b/out/test/classes/api/test/core/BaseStepDefinitions$1.class differ diff --git a/out/test/classes/api/test/core/BaseStepDefinitions.class b/out/test/classes/api/test/core/BaseStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..350d1d0512e7ba14abe6b52779b26d09bbf19ca7 Binary files /dev/null and b/out/test/classes/api/test/core/BaseStepDefinitions.class differ diff --git a/out/test/classes/api/test/core/GeneralStepDefinitions.class b/out/test/classes/api/test/core/GeneralStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..7f8cc6a9b8cfa4dfe7e121a76a8064d1ae4fbc3a Binary files /dev/null and b/out/test/classes/api/test/core/GeneralStepDefinitions.class differ diff --git a/out/test/classes/api/test/core/SeleniumStepDefinitions.class b/out/test/classes/api/test/core/SeleniumStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..c9d083b66701fd8e19d603b47c16a8d97a52ed14 Binary files /dev/null and b/out/test/classes/api/test/core/SeleniumStepDefinitions.class differ diff --git a/out/test/classes/api/test/core/TestData.class b/out/test/classes/api/test/core/TestData.class new file mode 100644 index 0000000000000000000000000000000000000000..f5c12cdb132882e451d6b6de113ed46b21f63d18 Binary files /dev/null and b/out/test/classes/api/test/core/TestData.class differ diff --git a/out/test/classes/api/test/rest/RestGeneralStepDefinitions.class b/out/test/classes/api/test/rest/RestGeneralStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..555c462ad96331e82d827977fb79b3b353449d77 Binary files /dev/null and b/out/test/classes/api/test/rest/RestGeneralStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/carddav/CardDavStepDefinitions.class b/out/test/classes/api/test/rest/carddav/CardDavStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..6f1a16c3fd6a30cee906358cd69c8492cb1ee27b Binary files /dev/null and b/out/test/classes/api/test/rest/carddav/CardDavStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/ActionsStepDefinitions.class b/out/test/classes/api/test/rest/viam/ActionsStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..2d400e0421a67c5a4b5b9b36dcdeee38a7935ad7 Binary files /dev/null and b/out/test/classes/api/test/rest/viam/ActionsStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/ChildStepDefinitions.class b/out/test/classes/api/test/rest/viam/ChildStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..e994e37a9c115c09199edbf367209e49460ccf8d Binary files /dev/null and b/out/test/classes/api/test/rest/viam/ChildStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/DeviceManagerStepDefinitions.class b/out/test/classes/api/test/rest/viam/DeviceManagerStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..7a78421abc564b3a051112ca2184670a32f22841 Binary files /dev/null and b/out/test/classes/api/test/rest/viam/DeviceManagerStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/DocumentStepDefinitions.class b/out/test/classes/api/test/rest/viam/DocumentStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..4e3148aed3900e84e38d162ff6f2a413a7956a0e Binary files /dev/null and b/out/test/classes/api/test/rest/viam/DocumentStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/EntityStepDefinitions.class b/out/test/classes/api/test/rest/viam/EntityStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..4722f2bb8e052ef8bc3811bef9e07ca15ee22201 Binary files /dev/null and b/out/test/classes/api/test/rest/viam/EntityStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/EventsStepDefinitions.class b/out/test/classes/api/test/rest/viam/EventsStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..e44cf58fca4c769c35a972c5b04b714b742d04e1 Binary files /dev/null and b/out/test/classes/api/test/rest/viam/EventsStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/GuardianStepDefinitions.class b/out/test/classes/api/test/rest/viam/GuardianStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..4548272a87ae84286610e89b040e8c2b20914f3c Binary files /dev/null and b/out/test/classes/api/test/rest/viam/GuardianStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/HyperledgerStepDefinitions.class b/out/test/classes/api/test/rest/viam/HyperledgerStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..ddeb046b694d4bbf5600b99d4cf376528bac18b1 Binary files /dev/null and b/out/test/classes/api/test/rest/viam/HyperledgerStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/IdentityDevicesStepDefinitions.class b/out/test/classes/api/test/rest/viam/IdentityDevicesStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..6f44e6a95d311a3f3de2a0ea9c506503848fb15e Binary files /dev/null and b/out/test/classes/api/test/rest/viam/IdentityDevicesStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/LoginStepDefinitions.class b/out/test/classes/api/test/rest/viam/LoginStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..554e3af18a4be4a3231c933a58e0382efa2753b5 Binary files /dev/null and b/out/test/classes/api/test/rest/viam/LoginStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/MemberStepDefinitions.class b/out/test/classes/api/test/rest/viam/MemberStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..da775378426041bacc71096aba3291bff6cbee72 Binary files /dev/null and b/out/test/classes/api/test/rest/viam/MemberStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/PassportStepDefinitions.class b/out/test/classes/api/test/rest/viam/PassportStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..8bdc7b7da71cf5f2d27968a9da8cb7a7fd7a7e5f Binary files /dev/null and b/out/test/classes/api/test/rest/viam/PassportStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/RegisterStepDefinitions.class b/out/test/classes/api/test/rest/viam/RegisterStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..d80479de50b935a56e70ae775c4c82f371a01119 Binary files /dev/null and b/out/test/classes/api/test/rest/viam/RegisterStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/viam/ViewerStepDefinitions.class b/out/test/classes/api/test/rest/viam/ViewerStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..056476bf4d8188b68f97efcaa82461568bef8d04 Binary files /dev/null and b/out/test/classes/api/test/rest/viam/ViewerStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/webdav/WebDavStepDefinitions.class b/out/test/classes/api/test/rest/webdav/WebDavStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..44624175c841aceb2589d349916e6e366839da06 Binary files /dev/null and b/out/test/classes/api/test/rest/webdav/WebDavStepDefinitions.class differ diff --git a/out/test/classes/api/test/rest/wopi/WopiStepDefinitions.class b/out/test/classes/api/test/rest/wopi/WopiStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..63205f313ff2248e5e4f4e5514762419e6fb409d Binary files /dev/null and b/out/test/classes/api/test/rest/wopi/WopiStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/chromeExtension/ChromeExtensionStepDefinitions.class b/out/test/classes/api/test/selenium/chromeExtension/ChromeExtensionStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..ec085e8aa26ff1b9b3aefc72653abf63fc32d91f Binary files /dev/null and b/out/test/classes/api/test/selenium/chromeExtension/ChromeExtensionStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/ActivityStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/ActivityStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..c509f9f3ba7a938893ce3be7b044caf8154fd1b3 Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/ActivityStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/ContactStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/ContactStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..9a9250dff51e578bc7510379b867851c0117915f Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/ContactStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/DeviceManagerStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/DeviceManagerStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..9d964020039f2a1cd320fc5195af2cf3b8a826a8 Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/DeviceManagerStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/DocumentStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/DocumentStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..a9e63ec9a4538df9b2e5a376aabb5458fc1f8684 Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/DocumentStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/EmailStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/EmailStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..403f1514ed53025c6e18c9b80afddba605cd6eb2 Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/EmailStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/GeneralDashboardStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/GeneralDashboardStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..340efbeebee9e3bb2723e8e04fbbb7efd44239d6 Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/GeneralDashboardStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/IdentityStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/IdentityStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..9c0eee4cb886e489fe8f1ca92215d7146dc2ea26 Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/IdentityStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/InboxStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/InboxStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..1292aafb7646d0a9768ff84cbe88719ac2cd1b1b Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/InboxStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/LoginStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/LoginStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..81e3eb91143d1b9dca3b8af251e04732b9d344c6 Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/LoginStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/NavigationStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/NavigationStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..1434a83682bf11eed857a35f158d55f87611097c Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/NavigationStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/NotificationsStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/NotificationsStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..7716ad03267b7857c0e14c4723453716492a6ebf Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/NotificationsStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/PluginsStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/PluginsStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..2987368f2e13c776851ea51df7e62d044a75e189 Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/PluginsStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/ProfileStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/ProfileStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..28e1b0a6a2cb2911bef82594d6ac946cda644b70 Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/ProfileStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/dashboard/RegisterStepDefinitions.class b/out/test/classes/api/test/selenium/dashboard/RegisterStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..4cc1245a2b79056733e4281cdc2e627a69125f6d Binary files /dev/null and b/out/test/classes/api/test/selenium/dashboard/RegisterStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/gmail/GmailPluginStepDefinitions.class b/out/test/classes/api/test/selenium/gmail/GmailPluginStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..ae343e3f99aafa1894e6604e772ac5c06a8d146d Binary files /dev/null and b/out/test/classes/api/test/selenium/gmail/GmailPluginStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/gmail/GmailStepDefinitions.class b/out/test/classes/api/test/selenium/gmail/GmailStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..651c70a2766e6a7bcc2de904e74fd2ae06000260 Binary files /dev/null and b/out/test/classes/api/test/selenium/gmail/GmailStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/jsProxy/JSproxyStepDefinitions.class b/out/test/classes/api/test/selenium/jsProxy/JSproxyStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..47fdd6d1707b42756b1fda646256b6f507bae1bb Binary files /dev/null and b/out/test/classes/api/test/selenium/jsProxy/JSproxyStepDefinitions.class differ diff --git a/out/test/classes/api/test/selenium/roundcube/RoundcubeStepDefinitions.class b/out/test/classes/api/test/selenium/roundcube/RoundcubeStepDefinitions.class new file mode 100644 index 0000000000000000000000000000000000000000..61474bfec7c1b01ebdf9528d65556ce9adde670d Binary files /dev/null and b/out/test/classes/api/test/selenium/roundcube/RoundcubeStepDefinitions.class differ diff --git a/out/test/resources/features/carddav/GET.feature b/out/test/resources/features/carddav/GET.feature new file mode 100644 index 0000000000000000000000000000000000000000..5724d789a6602b73f9e3c8bec29977da63f78657 --- /dev/null +++ b/out/test/resources/features/carddav/GET.feature @@ -0,0 +1,129 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@carddav @getVcard @all +Feature: CARDDAV - GET + Get a specific Vcard of a passport via CardDav + + Background: + Given we are testing the VIAM Api + + @getVcard @wip + Scenario Outline: Get a Specific vCard via CardDav with claim [<claim>] - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.phonenumber} from the last Request Body and store it in the DataContainer with key {phonenumber} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} + And I get the value of the {publicKey} HEADER from the last request and store it in DataContainer using key {publicKey} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Then I link the passport entity to person Claim + Given I clear the request body + Then I link the current entity claim {<claim>} with tag {<tag>} to the passport entity via VIAM API + And the field {status} has the value {OK} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Then I add a function to the current claim passport + Given I clear the request body + Then I attach function {exists} to the current claim {<claim>} with tag {<tag>} passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Create new credentials for the current entity + Given I set the following request body {{}} + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {OK} +#I call the CardDav with the new credentials to trigger the process + Given we are testing the CardDav + Then I get all the passports for the current logged user via CardDav + And the status code should be {401} +#Login the new member with previousaddeddevice mode + Given I clear the request body + Given we are testing the VIAM Api + And I load object with key {publicKey} from DataContainer into currentRequest HEADER {publicKey} + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Get Action and QRcode + Given I clear the request body + Then I get the actions with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And I get the value of {$.data[0].qrCode} from the last response and store it in the DataContainer with key {qrCode} + And I get the value of {$.data[0].actionID} from the last response and store it in the DataContainer with key {actionId} +#Then I confirm the new cardDav publicKey + Given I clear the request body + And I load object with key {publicKey} from DataContainer into currentRequest HEADER {publicKey} + Then I load object with key {qrCode} from DataContainer into currentRequest Body with key {code} + Then I load object with key {actionId} from DataContainer into currentRequest Body with key {actionID} + Then I confirm CardDav publicKey via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {secondPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Then I add a new viewer + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {viewerUUID} + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new viewer link via VIAM API + And the field {status} has the value {OK} +#Then I get the passports info via CardDav + Given we are testing the CardDav + Then I get all the passports for the current logged user via CardDav + And the status code should be {207} +#Then I get get the vCard data of the passport via CardDav + Then I get the current passport vCard data via CardDav + And the status code should be {200} + And I validate the headers in the response with the following data + | Content-Type | text/vcard | + | Dav | 1, 2, addressbook | + Then the response body contains {BEGIN:VCARD} + Then the response body contains {VERSION:4.0} + Then the response body contains {<result>} + Then the response body contains {END:VCARD} + And the field {$} is containing the value stored in DataContainer with key {phonenumber} + Examples: + | claim | tag | result | + # | name | personalName | X-Vereign-personalName-name::testFirstname | + | phoneNumbers | registration | X-Vereign-registration-phoneNumbers: | \ No newline at end of file diff --git a/out/test/resources/features/carddav/PROPFIND.feature b/out/test/resources/features/carddav/PROPFIND.feature new file mode 100644 index 0000000000000000000000000000000000000000..3de8807eef135131b484601adfbba8f587fa66b2 --- /dev/null +++ b/out/test/resources/features/carddav/PROPFIND.feature @@ -0,0 +1,126 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@carddav @propfind @all +Feature: CARDDAV - PROPFIND + Checking the cards for a specific entity via CardDav + + Background: + Given we are testing the VIAM Api + + @getCardDavPassports @bug-rest-317 @wip + Scenario: Check the passports for specific entity via CardDav - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.phonenumber} from the last Request Body and store it in the DataContainer with key {phonenumber} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} + And I get the value of the {publicKey} HEADER from the last request and store it in DataContainer using key {publicKey} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Then I link the passport entity to person Claim + Given I clear the request body + Then I link the current entity claim {phoneNumbers} with tag {registration} to the passport entity via VIAM API + And the field {status} has the value {OK} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Then I add a function to the current claim passport + Given I clear the request body + Then I attach function {exists} to the current claim {phoneNumbers} with tag {registration} passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Create new credentials for the current entity + Given I set the following request body {{}} + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {OK} +#I call the CardDav with the new credentials to trigger the process + Given we are testing the CardDav + Then I get all the passports for the current logged user via CardDav + And the status code should be {401} +#Login the new member with previousaddeddevice mode + Given I clear the request body + Given we are testing the VIAM Api + And I load object with key {publicKey} from DataContainer into currentRequest HEADER {publicKey} + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Get Action and QRcode + Given I clear the request body + Then I get the actions with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And I get the value of {$.data[0].qrCode} from the last response and store it in the DataContainer with key {qrCode} + And I get the value of {$.data[0].actionID} from the last response and store it in the DataContainer with key {actionId} +#Then I confirm the new cardDav publicKey + Given I clear the request body + And I load object with key {publicKey} from DataContainer into currentRequest HEADER {publicKey} + Then I load object with key {qrCode} from DataContainer into currentRequest Body with key {code} + Then I load object with key {actionId} from DataContainer into currentRequest Body with key {actionID} + Then I confirm CardDav publicKey via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {secondPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Then I add a new viewer + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {viewerUUID} + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new viewer link via VIAM API + And the field {status} has the value {OK} +#Then I get the passports info via CardDav + Given we are testing the CardDav + Then I get all the passports for the current logged user via CardDav + And the status code should be {207} + And I validate the headers in the response with the following data + | Content-Type | application/xml | + | Dav | 1, 2, addressbook | + + @getCardDavPassports @negative + Scenario: Try to get passport info via CardDav with invalid authorization - Negative + Given we are testing the CardDav + Then I set the headers + | Authorization | Basic 2131231331 | + Then I get all the passports via CardDav + And the status code should be {401} + And the response body contains {Unauthorized} \ No newline at end of file diff --git a/out/test/resources/features/rest/action/getActions/POST.feature b/out/test/resources/features/rest/action/getActions/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..3906813a05b771f5250afb6eb6a9e5ed4f3ecbbc --- /dev/null +++ b/out/test/resources/features/rest/action/getActions/POST.feature @@ -0,0 +1,180 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/action/getActions +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @action @all +Feature: VIAM - action - getActions POST + Get all actions for given entity or device key + + Background: + Given we are testing the VIAM Api + + @getActions + Scenario: Get all the actions of the current entity that has unconfirmed new device - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {publicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {entityUuid} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.QrCode} from the last response and store it in the DataContainer with key {qrCode} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} +#Get the actions + Given I get the actions with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data[0].status} has the value {1} + And the field {$.data[0].type} has the value {1} + And the field {$.data[0].functionName} has the value {ConfirmDevice} + And the field {$.data[0].createdByEntityUUID} has the value stored in DataContainer with key {entityUuid} + And the field {$.data[0].confirmedByEntityUUId} has the value stored in DataContainer with key {entityUuid} + And the field {$.data[0].appliedOnEntityUUID} has the value stored in DataContainer with key {entityUuid} + And the field {$.data[0].qrCode} has the value stored in DataContainer with key {qrCode} + And the field {$.data[0].actionID} has the value stored in DataContainer with key {actionId} + And the field {$.data[0].authenticationPublicKey} has the value stored in DataContainer with key {publicKey} + + @getActions + Scenario: Get an confirmed action for adding a new device - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} + And I get the value of {$.data.QrCode} from the last response and store it in the DataContainer with key {qrCode} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Succesfully executed} +#Get the actions + Given I clear the request body + Given I get the actions with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data[0].status} has the value {4} + And the field {$.data[0].type} has the value {1} + And the field {$.data[0].functionName} has the value {ConfirmComputerDevice} + And the field {$.data[0].createdByEntityUUID} has the value stored in DataContainer with key {entityUuid} + And the field {$.data[0].confirmedByEntityUUId} has the value stored in DataContainer with key {entityUuid} + And the field {$.data[0].appliedOnEntityUUID} has the value stored in DataContainer with key {entityUuid} + And the field {$.data[0].qrCode} has the value stored in DataContainer with key {qrCode} + And the field {$.data[0].actionID} has the value stored in DataContainer with key {actionId} + And the field {$.data[0].authenticationPublicKey} has the value stored in DataContainer with key {secondPublicKey} + + @getActions + Scenario: Try to Get all the actions of the current publicKey when he doesnt have any - Positive + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} +#Get the actions + Given I get the actions with mode devicekey and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {[]} + + @getActions + Scenario: Get canceled actions of an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {publicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {entityUuid} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.QrCode} from the last response and store it in the DataContainer with key {qrCode} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} +#Then I cancel the action + Then I cancel the current action via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Get the actions for the current entity + And I clear the request body + Given I get the actions with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data[0].status} has the value {5} + And the field {$.data[0].type} has the value {1} + And the field {$.data[0].functionName} has the value {ConfirmDevice} + And the field {$.data[0].createdByEntityUUID} has the value stored in DataContainer with key {entityUuid} + And the field {$.data[0].confirmedByEntityUUId} has the value stored in DataContainer with key {entityUuid} + And the field {$.data[0].appliedOnEntityUUID} has the value stored in DataContainer with key {entityUuid} + And the field {$.data[0].qrCode} has the value stored in DataContainer with key {qrCode} + And the field {$.data[0].actionID} has the value stored in DataContainer with key {actionId} + And the field {$.data[0].authenticationPublicKey} has the value stored in DataContainer with key {publicKey} + + @getActions @negative + Scenario Outline: Try to Get actions with invalid from [<from>] and to[<to>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {publicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {entityUuid} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.QrCode} from the last response and store it in the DataContainer with key {qrCode} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} +#Get the actions + Given I get the actions with mode entity and from {<from>} and to {<to>} filters via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | from | to | status | data | + | | +inf | There was an error with the input fields | There was an error with the input fields: From is required | + | 0 | | There was an error with the input fields | There was an error with the input fields: To is required | + | asd | +inf | Error during getting actions | ERR min or max is not a float | + | 0 | asd | Error during getting actions | ERR min or max is not a float | \ No newline at end of file diff --git a/out/test/resources/features/rest/action/getActionsWithoutSession/POST.feature b/out/test/resources/features/rest/action/getActionsWithoutSession/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..676ea26d46df17661e9a582f59b8e684c303e8aa --- /dev/null +++ b/out/test/resources/features/rest/action/getActionsWithoutSession/POST.feature @@ -0,0 +1,65 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/action/getActionsWithoutSession +#Author: Rosen Georgiev rosen.georgiev@vereign.com +#Spec: https://code.vereign.com/code/restful-api/blob/master/docs/actionGetActionsWithoutSession.md + +@rest @action @all +Feature: VIAM - action - getActionsWithoutSession POST + Get all actions for given anonymous device key + + Background: + Given we are testing the VIAM Api + + @getActionWithoutSession + Scenario: Get an login action without a session - Positive + Given I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.QrCode} from the last response and store it in the DataContainer with key {qrCode} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {publicKey} +#Get the actions + And I clear the request body + Given I get the actions without session for a devicekey and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data[0].status} has the value {1} + And the field {$.data[0].type} has the value {1} + And the field {$.data[0].functionName} has the value {ConfirmComputerDevice} + And the field {$.data[0].qrCode} has the value stored in DataContainer with key {qrCode} + And the field {$.data[0].actionID} has the value stored in DataContainer with key {actionId} + And the field {$.data[0].authenticationPublicKey} has the value stored in DataContainer with key {publicKey} + + @getActionWithoutSession @negative + Scenario Outline: Try to Get an action without a session with invalid from [<from>] and to [<to>] filters - Negative + Given I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} +#Get the actions + Then I get the actions without session for a devicekey and from {<from>} and to {<to>} filters via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | from | to | status | data | + | | +inf | There was an error with the input fields | There was an error with the input fields: From is required | + | 0 | | There was an error with the input fields | There was an error with the input fields: To is required | + + @getActionWithoutSession @negative + Scenario: Try to Get an action without a session without publicKey - Negative + Then I get the actions without session for a devicekey and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {Not provided public key} + And the field {code} has the value {400} + And the field {data} has the value {{}} \ No newline at end of file diff --git a/out/test/resources/features/rest/document/createDocument/POST.feature b/out/test/resources/features/rest/document/createDocument/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..51a08223fd045fd546c04306b73969c9456b033b --- /dev/null +++ b/out/test/resources/features/rest/document/createDocument/POST.feature @@ -0,0 +1,118 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/document/createDocument +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @document @all +Feature: VIAM - document - createDocument POST + This endpoint is for creating new file entry. + + Background: + Given we are testing the VIAM Api + + @createDocument + Scenario: Create a new document - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | 123456.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @createDocument @negative @bug-rest-324 @wip + Scenario: Try to Create a new document without providing a passportuuid header - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | 123456.pdf | + Then I create a new document via VIAM API + And the field {status} has the value {No passport UUID provided} + And the field {code} has the value {401} + + @createDocument @negative @bug-rest-323 + Scenario Outline: Try to Create a new document with missing required header [<header>]- Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | 123456.pdf | + And I delete the headers + | <header> | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + Examples: + | header | status | code | + | token | No authentication values | 400 | + | uuid | No authentication values | 400 | + # @bug-rest-323 | contenttype | No content type provided | 401 | + | path | No path provided | 401 | + + @createDocument @negative + Scenario: Try to Create a new document with invalid passportuuid - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | 123456.pdf | + | passportuuid | b55f283c-919c-11e8-9eb6-529269fb1459 | + Then I create a new document via VIAM API + And the field {status} has the value {Cannot get passport entity} + And the field {code} has the value {401} \ No newline at end of file diff --git a/out/test/resources/features/rest/document/getDocument/POST.feature b/out/test/resources/features/rest/document/getDocument/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..01d9914ddbfd3564c3815aa2781b3a86dbb89629 --- /dev/null +++ b/out/test/resources/features/rest/document/getDocument/POST.feature @@ -0,0 +1,226 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/document/getDocument +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @document @all +Feature: VIAM - document - getDocument POST + This endpoint is for getting data of file entry. + + Background: + Given we are testing the VIAM Api + + @getDocument + Scenario: Create a new document and then get it- Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} +#Put document + Then I delete the headers + | path | + Then I update the current document with pdf {testpdf.pdf} via VIAM API + And the field {status} has the value {OK} +#Get the document + Then I get the current document via VIAM API + And the status code should be {200} + And the response {Content-Type} header contains the text {application/pdf} + And the response body contains {PDF-1.4} + + @getDocument + Scenario: Update a file version with txt file and get it - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} +#Put document + Then I delete the headers + | path | + And I set the headers + | contenttype | text/plain | + Then I update the current document with pdf {test.txt} via VIAM API + And the field {status} has the value {OK} +#Get the txt file and verify the text + Then I get the current document via VIAM API + And the response body contains {Test text} + + @putDocument + Scenario: Update 2 file versions and then get it- Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Put document + Then I delete the headers + | path | + Then I update the current document with pdf {testpdf.pdf} via VIAM API + And the field {status} has the value {OK} +#Try to put it a second time + And I set the headers + | contenttype | text/plain | + Then I update the current document with pdf {test.txt} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Get the txt file and verify the text + Then I get the current document via VIAM API + And the response body contains {Test text} + + @getDocument @negative + Scenario Outline: Try to Get a document with missing required header [<header>]- Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} +#Put document + Then I delete the headers + | path | + Then I update the current document with pdf {testpdf.pdf} via VIAM API + And the field {status} has the value {OK} + #Get the document + And I delete the headers + | <header> | + Then I get the current document via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + Examples: + | header | status | code | + | token | No authentication values | 400 | + | uuid | No authentication values | 400 | + | passportuuid | No passport UUID provided | 401 | + +#no validations for resourceid at all + @getDocument @negative @wip + Scenario Outline: Try to Get a document with invalid resourceid [<resourceid>]- Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} +#Put document + Then I delete the headers + | path | + | contenttype | + Then I update the current document with pdf {testpdf.pdf} via VIAM API + And the field {status} has the value {OK} +#Get the document + Given I set the headers + | resourceid | <resourceid> | + Then I get a document via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {401} + Examples: + | resourceid | status | + | | No resource ID provided | + | f8379b88-88ed-11e8-a812-a6cf71072f73 | Resource does not exist | + | f8379b88 | Resource does not exist | + + @getDocument @negative + Scenario: Try to get a document without updating it first - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} +#Get the document + Then I get the current document via VIAM API + And the field {status} has the value {Can not get document} + And the field {code} has the value {401} \ No newline at end of file diff --git a/out/test/resources/features/rest/document/getFileInfo/POST.feature b/out/test/resources/features/rest/document/getFileInfo/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..19fd7cda1cede91508533c698c4dcdb8b2e1840c --- /dev/null +++ b/out/test/resources/features/rest/document/getFileInfo/POST.feature @@ -0,0 +1,199 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/document/getFileInfo +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @document @all +Feature: VIAM - document - getFileInfo POST + This endpoint is for getting the file info. + + Background: + Given we are testing the VIAM Api + + @getFileInfo + Scenario: Create a new document and then Get the file info - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {entityUUID} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | 123456.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} +#Get the file info of the new document + Given I get the file info of the current document via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data.GetContentType} has the value {application/pdf} + And the field {$.data.GetContentLength} has the value {0} + And the field {$.data.BoxType} has the value {A} + And the field {$.data.DisplayName} has the value {123456} + And the field {$.data.Author} has the value stored in DataContainer with key {entityUUID} + + @getFileInfo @negative + Scenario Outline: Try to get the file info without required headers [<header>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | 123456.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} +#Get the file info of the new document + And I delete the headers + | <header> | + Given I get the file info of the current document via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + Examples: + | header | status | code | + | token | No authentication values | 400 | + | uuid | No authentication values | 400 | + | passportuuid | No passport UUID provided | 401 | + + @getFileInfo + Scenario: Update a document and then Get the file info - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {entityUUID} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | createdpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} +#Get the document + Given I get the file info of the current document via VIAM API + And the field {status} has the value {OK} +#Put document + Then I delete the headers + | path | + Then I update the current document with pdf {testpdf.pdf} via VIAM API + And the field {status} has the value {OK} +#Then I get the file + Given I get the file info of the current document via VIAM API + And the field {status} has the value {OK} + And the field {$.data.GetContentType} has the value {application/pdf} + And the field {$.data.GetContentLength} has the value {7125} + And the field {$.data.BoxType} has the value {A} + # And the field {$.data.DisplayName} has the value {testpdf.pdf} + And the field {$.data.Author} has the value stored in DataContainer with key {entityUUID} + + @getFileInfo @bug-rest-51 @wip + Scenario: Update 2 file versions and then get the file info - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | createdPdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Put document + Then I delete the headers + | path | + Then I update the current document with pdf {testpdf.pdf} via VIAM API + And the field {status} has the value {OK} +#Then I get the file + Given I get the file info of the current document via VIAM API + And the field {status} has the value {OK} + And the field {$.data.GetContentType} has the value {application/pdf} +#Try to put it a second time + And I set the headers + | contenttype | text/plain | + Then I update the current document with pdf {test.txt} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Then I get the file + Given I get the file info of the current document via VIAM API + And the field {status} has the value {OK} + And the field {$.data.GetContentType} has the value {text/plain} + + @getFileInfo + Scenario: Update a file version with txt file and get the file info - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | text/plain | + | path | createdtxt.txt | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} +#Put document + Then I delete the headers + | path | + Then I update the current document with pdf {test.txt} via VIAM API + And the field {status} has the value {OK} +#Get the file info + Given I get the file info of the current document via VIAM API + And the field {status} has the value {OK} + And the field {$.data.GetContentType} has the value {text/plain} + And the field {$.data.GetContentLength} has the value {13} \ No newline at end of file diff --git a/out/test/resources/features/rest/document/listDocuments/POST.feature b/out/test/resources/features/rest/document/listDocuments/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..eeff8c148bea271d49e158c120061a824f177f58 --- /dev/null +++ b/out/test/resources/features/rest/document/listDocuments/POST.feature @@ -0,0 +1,156 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/document/listDocuments +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @document @all +Feature: VIAM - document - listDocuments POST + This endpoint is for getting all documents in container documents + + Background: + Given we are testing the VIAM Api + + @listDocuments + Scenario: List all the documents a member has - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {entityUUID} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | 123456.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} +#List the documents that the entity has + Given I get the list of all documents the logged member has via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data} contains {2} elements + + @listDocuments + Scenario: Update a document and then Get the list of the documents for that entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf1.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Get the document + Given I get the file info of the current document via VIAM API + And the field {status} has the value {OK} +#Put document + Then I delete the headers + | path | + Then I update the current document with pdf {testpdf.pdf} via VIAM API + And the field {status} has the value {OK} +#List the documents that the entity has + Given I get the list of all documents the logged member has via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @listDocuments + Scenario: Update a document and then Get the list of the documents for that entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf1.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Put document + Then I delete the headers + | path | + Then I update the current document with pdf {testpdf.pdf} via VIAM API + And the field {status} has the value {OK} +#Put another document version + And I set the headers + | contenttype | text/plain | + Then I update the current document with pdf {test.txt} via VIAM API + And the field {status} has the value {OK} +#List the documents that the entity has + Given I get the list of all documents the logged member has via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @listDocuments @negative + Scenario Outline: Try to List all the documents an entity has without providing required header [<haeder>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {entityUUID} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | 123456.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} +#List the documents that the entity has + And I delete the headers + | <header> | + Given I get the list of all documents the logged member has via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + Examples: + | header | status | code | + | token | No authentication values | 400 | + | uuid | No authentication values | 400 | + | passportuuid | No passport UUID provided | 401 | \ No newline at end of file diff --git a/out/test/resources/features/rest/document/putDocument/POST.feature b/out/test/resources/features/rest/document/putDocument/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..950550c8dabeda6f7bbda438d05b5e0f03041d3e --- /dev/null +++ b/out/test/resources/features/rest/document/putDocument/POST.feature @@ -0,0 +1,181 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/document/putDocument +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @document @all +Feature: VIAM - document - putDocument POST + This endpoint is for putting new file version for file entry. + + Background: + Given we are testing the VIAM Api + + @putDocument + Scenario: Putting a new document file version - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Put document + Then I delete the headers + | path | + Then I update the current document with pdf {testpdf.pdf} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @putDocument @negative + Scenario Outline: Try to Update document version with missing Auth headers [<header>]- Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Put document + Then I delete the headers + | path | + And I delete the headers + | <header> | + Then I update the current document with pdf {testpdf.pdf} via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + Examples: + | header | status | code | + | token | No authentication values | 400 | + | uuid | No authentication values | 400 | + | passportuuid | No passport UUID provided | 401 | + + @putDocument @negative + Scenario Outline: Try to Update document version with invalid resourceid [<resourseid>]- Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Put document + Then I delete the headers + | path | + Then I update a document with resourceid {<resourseid>} and pdf {testpdf.pdf} via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {401} + Examples: + | resourseid | status | + | | No resource ID provided | + | f8379b88-88ed-11e8-a812-a6cf71072f73 | Resource does not exist | + | f8379b88 | Resource does not exist | + + @putDocument @negative @wip + Scenario: Try Updating a new document file version without providing a file - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Put document + Then I delete the headers + | path | + Then I try to update the current document without providing pdf via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @putDocument + Scenario: Update a file version with txt file - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Create new document + Given I clear the request body + And I set the headers + | contenttype | application/pdf | + | path | testpdf.pdf | + Then I create a new document with the current passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Put document + Then I delete the headers + | path | + And I set the headers + | contenttype | text/plain | + Then I update the current document with pdf {test.txt} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + diff --git a/out/test/resources/features/rest/entity/addChild/POST.feature b/out/test/resources/features/rest/entity/addChild/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..b9c50099e34629df93c185209d58e895dbb8904b --- /dev/null +++ b/out/test/resources/features/rest/entity/addChild/POST.feature @@ -0,0 +1,107 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/addChild +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @child @all +Feature: VIAM - entity - addChild POST + Add a new child link between entities + + Background: + Given we are testing the VIAM Api + + @addChild + Scenario: Add child link to an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new child to the new entity + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {childUUID} + Then I create new child link via VIAP API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @addChild @negative @bug-rest-45 @wip + Scenario: Try to add the same link a second time - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new child to the new entity + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {childUUID} + Then I create new child link via VIAP API + And the field {status} has the value {OK} +#Try to add it a second time + Then I create new child link via VIAP API + And the field {status} has the value {Some error} + And the field {code} has the value {400} + And the field {data} has the value {Some error} + + @addChild @negative + Scenario Outline: Try to add a child link to an entity with invalid params [<profile>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new child to the new entity + Given I clear the request body + And I load the REST request {Child.json} with profile {<profile>} + Then I create new child link via VIAP API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | profile | status | code | data | + | missing_child | There was an error with the input fields | 400 | There was an error with the input fields: childUUID is required | + | empty_child | There was an error with the input fields | 400 | There was an error with the input fields: childUUID is required | + | invalid_uuid_child | Access denied | 401 | Can't get entity childUUID | + | missing_entityuuid | There was an error with the input fields | 400 | There was an error with the input fields: entityUUID is required | + | empty_entityuuid | There was an error with the input fields | 400 | There was an error with the input fields: entityUUID is required | + | invalid_uuid_entityuuid | Access denied | 401 | Can't get entity childUUID | + | non_existing_uuid | Access denied | 401 | Can't get entity childUUID | diff --git a/out/test/resources/features/rest/entity/addClaim/POST.feature b/out/test/resources/features/rest/entity/addClaim/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..fc2f869836961469e1e7f7a0c5632013d49b5bd7 --- /dev/null +++ b/out/test/resources/features/rest/entity/addClaim/POST.feature @@ -0,0 +1,142 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/addClaim +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @all +Feature: VIAM - entity - addClaim POST + Adding a new claim to an entity + + Background: + Given we are testing the VIAM Api + + @addClaim @smoke + Scenario Outline: Create a new user and add claim - [<profile>]- Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {<profile>} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} + Examples: + | profile | + | create_private | + | create_invitational | + | valueType_composite | + + @createEntity + Scenario Outline: Add a claim to a guarded entity - [<type>] - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity + Given I clear the request body + Then I create a new entity with type {<type>} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the child entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + Examples: + | type | + | 1 | + | 2 | + | 3 | + | 4 | + | 5 | + + @addClaim @negative @bug-rest-20 + Scenario Outline: Try to add a new claim to an entity with invalid value [<profile>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + # And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {UserUUID_1} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {<profile>} + #And I load object with key {UserUUID_1} from DataContainer into currentRequest Body with key {entityuuid} + Then I add a new claim to an entity via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | profile | status | code | data | + | missing_claim | There was an error with the input fields | 400 | There was an error with the input fields: claim is required | + | missing_value | There was an error with the input fields | 400 | There was an error with the input fields: value is required | + | missing_access | There was an error with the input fields | 400 | There was an error with the input fields: access is required | + | missing_entityuuid | There was an error with the input fields | 400 | There was an error with the input fields: entityuuid is required | + | missing_tag | There was an error with the input fields | 400 | There was an error with the input fields: tag is required | + | missing_valueType | There was an error with the input fields | 400 | There was an error with the input fields: valueType is required | + # | invalid_access | There was an error during addition of claim | 400 | There was an error with the input fields: entityuuid is required | + + @addClaim @negative + Scenario Outline: Try to create a new claim with missing header [<header>] - negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + And I delete the headers + | <header> | + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | token | + | uuid | + | publicKey | + + @logout @addClaim @negative + Scenario: Logout a new member and then try to add new claim - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Logout + Given I clear the request body + Then I call POST /logout via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {Bad session} + And the field {code} has the value {400} \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/addGuarded/POST.feature b/out/test/resources/features/rest/entity/addGuarded/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..510444b95b4a6509914c7b2077d55047cb5646c3 --- /dev/null +++ b/out/test/resources/features/rest/entity/addGuarded/POST.feature @@ -0,0 +1,105 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/addGuarded +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @guardian @all +Feature: VIAM - entity - addGuarded POST + Add a new guarded link to an entity + + Background: + Given we are testing the VIAM Api + + @addGuarded + Scenario: Add a guarded link to an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport to the user + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new guarded link to the first entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {guardedUUID} + Then I create a new guarded link via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @addGuarded @negative @wip @bug-rest-45 + Scenario: Try to add a guarded link to an entity a second time - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport to the user + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new guarded link to the first entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {guardedUUID} + Then I create a new guarded link via VIAM API + And the field {status} has the value {OK} +#Try to add the link a second time + Then I create a new guarded link via VIAM API + And the field {status} has the value {Some error} + + @addGuarded @negative + Scenario Outline: Try to add a guarded link to an entity with invalid params [<profile>]- Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport to the user + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Try to add a new guarded link with invalid params + Given I clear the request body + And I load the REST request {Guarded.json} with profile {<profile>} + Then I create a new guarded link via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | profile | status | code | data | + | missing_guarded | There was an error with the input fields | 400 | There was an error with the input fields: guardedUUID is required | + | empty_guarded | There was an error with the input fields | 400 | There was an error with the input fields: guardedUUID is required | + | invalid_uuid_guarded | Access denied | 401 | Can't get entity guardedUUID | + | missing_entityuuid | There was an error with the input fields | 400 | There was an error with the input fields: entityUUID is required | + | empty_entityuuid | There was an error with the input fields | 400 | There was an error with the input fields: entityUUID is required | + | invalid_uuid_entityuuid | Access denied | 401 | Can't get entity guardedUUID | + | non_existing_uuid | Access denied | 401 | Can't get entity guardedUUID | \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/addGuardian/POST.feature b/out/test/resources/features/rest/entity/addGuardian/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..9eaa694a32f668214125cb92b17268fb10479185 --- /dev/null +++ b/out/test/resources/features/rest/entity/addGuardian/POST.feature @@ -0,0 +1,144 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/addGuardian +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @guardian @bug-rest-32 @all +Feature: VIAM - entity - deleteClaim POST + Add a new guarding to an entity + + Background: + Given we are testing the VIAM Api + + @addGuardian + Scenario: Add a new Guardian to a main entity - Positive +#Create a new member that will be the guardian + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member to get the data + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @addGuardian + Scenario: Add a Guardian link to an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @addGuardian @negative @wip + Scenario: Try to make an entity be guardian of it self - Negative +#Create a new member that will be the guardian + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member to get the data + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {uuid} +#Try to add guardian on its self + Given I clear the request body + Then I load object with key {uuid} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {uuid} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {Some error} + And the field {code} has the value {400} + + @addGuardian @negative + Scenario Outline: Try to Add a Guardian with an invalid params [<profile>]- Negative +#Create a new member that will be the guardian + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member to get the data + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Try to add a guardian + Given I clear the request body + Given I load the REST request {Guardian.json} with profile {<profile>} + Then I add a new guardian via VIAM API + And the field {status} has the value {There was an error with the input fields} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | profile | data | + | missing_guardian | There was an error with the input fields: guardianUUID is required | + | empty_guardian | There was an error with the input fields: guardianUUID is required | + # | invalid_uuid_guardian | There was an error with the input fields: guardianUUID is required | + | missing_entityuuid | There was an error with the input fields: entityUUID is required | + | empty_entityuuid | There was an error with the input fields: entityUUID is required | +# | invalid_uuid_entityuuid | There was an error with the input fields: entityUUIDis required | + + @addGuardian @negative + Scenario Outline: Try to add a guardian with missing auth header [<header>] - Negative +#Create a new member that will be the guardian + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member to get the data + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {guardianUuid} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a guardian on this entity + Given I clear the request body + Then I load object with key {guardianUuid} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + And I delete the headers + | <header> | + Then I add a new guardian via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | token | + | uuid | \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/addMember/POST.feature b/out/test/resources/features/rest/entity/addMember/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..78960e3e0516513100edddcae46e06ebcee22b7b --- /dev/null +++ b/out/test/resources/features/rest/entity/addMember/POST.feature @@ -0,0 +1,106 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/addMember +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @member @all +Feature: VIAM - entity - addMember POST + Add a new member link between entities + + Background: + Given we are testing the VIAM Api + + @addMember + Scenario: Add member link to an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {member} +#Then I create member link + Given I clear the request body + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {member} from DataContainer into currentRequest Body with key {memberUUID} + Then I create new member link via VIAP API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @addMember @negative @bug-rest-45 @wip + Scenario: Try to add member link to an entity a second time - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {member} +#Then I create member link + Given I clear the request body + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {member} from DataContainer into currentRequest Body with key {memberUUID} + Then I create new member link via VIAP API + And the field {status} has the value {OK} +#Try to add the same link a second time + Then I create new member link via VIAP API + And the field {status} has the value {Some error} + + @addMember @negative + Scenario Outline: Try to add a member link to an entity with invalid params [<profile>] - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Then I try to create member link + Given I clear the request body + And I load the REST request {Member.json} with profile {<profile>} + Then I create new member link via VIAP API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | profile | status | data | + | missing_member | There was an error with the input fields | There was an error with the input fields: memberUUID is required | + | empty_member | There was an error with the input fields | There was an error with the input fields: memberUUID is required | + # | invalid_uuid_member | Error adding member | Error adding opposite relation:Error adding a relation: could not find entity. | + | missing_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | empty_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | invalid_uuid_entityuuid | Error adding member | Error adding a relation: could not find entity | + | non_existing_uuid | Error adding member | Error adding a relation: could not find entity | + diff --git a/out/test/resources/features/rest/entity/addMemberOf/POST.feature b/out/test/resources/features/rest/entity/addMemberOf/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..dd43c8aaa88cab275142c6d2a5b984a4c6c67d60 --- /dev/null +++ b/out/test/resources/features/rest/entity/addMemberOf/POST.feature @@ -0,0 +1,112 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/addMemberOf +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @memberOf @all +Feature: VIAM - entity - addMemberOf POST + Add a new memberOf link between entities + + Background: + Given we are testing the VIAM Api + + @addMemberOf + Scenario: Add memberOf link to an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {member} +#Then I add a new memberOf link to the new entity + Given I clear the request body + Then I load object with key {member} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {memberOfUUID} + Then I create new memberOf link via VIAP API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @addMemberOf @negative @bug-rest-45 @wip + Scenario: Try to get add memberOf link to an entity a second time - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {member} +#Then I add a new memberof link to the new entity + Given I clear the request body + Then I load object with key {member} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {memberOfUUID} + Then I create new memberOf link via VIAP API + And the field {status} has the value {OK} +#Try to add the same memberOf link a second time + Then I create new memberOf link via VIAP API +# And the field {status} has the value {Some error} +# And the field {code} has the value {400} + #Get the data of current entity + Given I clear the request body + Then I get the current entity via the VIAM API + + @addMemberOf @negative + Scenario Outline: Try to add a memberOf link to an entity with invalid params [<profile>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Then I add a new memberOf link to the new entity + Given I clear the request body + And I load the REST request {MemberOf.json} with profile {<profile>} + Then I create new memberOf link via VIAP API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | profile | status | data | + | missing_memberOf | There was an error with the input fields | There was an error with the input fields: memberOfUUID is required | + | empty_memberOf | There was an error with the input fields | There was an error with the input fields: memberOfUUID is required | + # | invalid_uuid_memberOf | Error adding memberOf | Error adding opposite relation:Error adding a relation: could not find entity. | + | missing_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | empty_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | invalid_uuid_entityuuid | Error adding memberOf | Error adding a relation: could not find entity | + | non_existing_uuid | Error adding memberOf | Error adding a relation: could not find entity | + + diff --git a/out/test/resources/features/rest/entity/addParent/POST.feature b/out/test/resources/features/rest/entity/addParent/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..323a1c01a1dc65094d22bde92f4a107aede1a4d1 --- /dev/null +++ b/out/test/resources/features/rest/entity/addParent/POST.feature @@ -0,0 +1,104 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/addParent +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @parent @all +Feature: VIAM - entity - addParent POST + Add a new parent link between entities + + Background: + Given we are testing the VIAM Api + + + @addParent + Scenario: Add Parent link to an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a parent link + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {parentUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I create new parent link via VIAP API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @addParent @negative @wip + Scenario: Try to add Parent link to an entity a second time - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a parent link + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {parentUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I create new parent link via VIAP API + And the field {status} has the value {OK} +#Try to create a the same link a second time + Then I create new parent link via VIAP API + And the field {status} has the value {Some error} + + @addParent @negative + Scenario Outline: Try to Add Parent link to an entity with invalid params [<profile>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Then I add a parent link + Given I clear the request body + And I load the REST request {Parent.json} with profile {<profile>} + Then I create new parent link via VIAP API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | profile | status | data | + | missing_parent | There was an error with the input fields | There was an error with the input fields: parentUUID is required | + | empty_parent | There was an error with the input fields | There was an error with the input fields: parentUUID is required | + # | invalid_uuid_parent | Error adding parent | Error adding opposite relation:Error adding a relation: could not find entity. | + | missing_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | empty_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + # | invalid_uuid_entityuuid | Error adding parent | Error adding a relation: could not find entity | + # | non_existing_uuid | Error adding parent | Error adding a relation: could not find entity | \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/addViewer/POST.feature b/out/test/resources/features/rest/entity/addViewer/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..bd1169e70ad2f1d90c0fc3a186eb6af012178e9a --- /dev/null +++ b/out/test/resources/features/rest/entity/addViewer/POST.feature @@ -0,0 +1,226 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/addViewer +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @viewer @all +Feature: VIAM - entity - addViewer POST + Add a new viewer link between 2 entities + + Background: + Given we are testing the VIAM Api + + @addViewer + Scenario: Add a new viewer link between 2 entities - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Create a new second passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {secondPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Then I add a new viewer + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {viewerUUID} + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new viewer link via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @addViewer @negative + Scenario Outline: Try to Add a new viewer link with invalid viewerUUID [<value>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Create a new second passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {secondPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Then I add a new viewer + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {viewerUUID} + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + And I set the request fields + | viewerUUID | <value> | + Then I add a new viewer link via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | value | status | code | data | + | | There was an error with the input fields | 400 | There was an error with the input fields: viewUUID is required | + | 9e3d1f32-8fdb-11e8-9eb6-529269fb1459 | Access denied | 401 | Can't get entity viewerUUID | + + @addViewer @negative @bug-rest-58 + Scenario Outline: Try to Add a new viewer link with invalid entityUUID [<value>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Then I add a new viewer + Given I clear the request body + And I set the request fields + | entityUUID | <value> | + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {viewerUUID} + Then I add a new viewer link via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | value | status | code | data | + | | There was an error with the input fields | 400 | There was an error with the input fields: entityUUID is required | + # | 9e3d1f32-8fdb-11e8-9eb6-529269fb1459 | Error adding viewer | 400 | Error adding a relation: could not find entity | + + @addViewer @entity + Scenario: Get an entity that is being viewed - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Create a new second passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {secondPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Then I add a new viewer + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {viewerUUID} + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new viewer link via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the field {@.data[0].viewed} is containing the value stored in DataContainer with key {secondPassportUUID} + + @addViewer @entity + Scenario: Get an entity that can view another - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Create a new second passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {secondPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Then I add a new viewer + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {viewerUUID} + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new viewer link via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the field {@.data[0].viewers} is containing the value stored in DataContainer with key {secondPassportUUID} \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/createEntity/POST.feature b/out/test/resources/features/rest/entity/createEntity/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..0d93787ab930577444d1eaa5443e2b5513c59088 --- /dev/null +++ b/out/test/resources/features/rest/entity/createEntity/POST.feature @@ -0,0 +1,70 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/createEntity +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @guardian @all +Feature: VIAM - entity - createEntity POST + Create a new entity + + Background: + Given we are testing the VIAM Api + + @createEntity + Scenario Outline: Create a new entity with Type [<type>] - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity + Given I clear the request body + Then I create a new entity with type {<type>} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} is present and not empty + Examples: + | type | + | 1 | + | 2 | + | 3 | + | 4 | + | 5 | + | 6 | + + @createEntity @negative @bug-rest-30 + Scenario Outline: Try to create a new entity with invalid data [<profile>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity + Given I clear the request body + Then I load the REST request {Entity.json} with profile {<profile>} + Then I create a new entity via VIAM API + And the field {status} has the value {There was an error with the input fields} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | profile | data | + #bug-rest-30 | empty_type | There was an error with the input fields: type is required | + | missing_type | There was an error with the input fields: type is required | + | type_7 | There was an error with the input fields: type has incorrect value | \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/deleteClaim/POST.feature b/out/test/resources/features/rest/entity/deleteClaim/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..92899bb06e5d01946f3abf6b78a62a89bf6ee5a8 --- /dev/null +++ b/out/test/resources/features/rest/entity/deleteClaim/POST.feature @@ -0,0 +1,187 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/deleteClaim +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @all +Feature: VIAM - entity - deleteClaim POST + Delete a claim to an entity + + Background: + Given we are testing the VIAM Api + + @deleteClaim + Scenario: Delete an existing claim to an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Delete an existing claim + Given I clear the request body + Then I delete a claim {age} with tag {ageValue} of the current member via VIAM API + And the field {status} has the value {OK} + + @deleteClaim @negative + Scenario Outline: Try to Delete a claims that were required for the registration - [<claim>]- Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + #Get the data of current entity + Given I clear the request body + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} +#Delete an existing claim + Given I clear the request body + Then I delete a claim {<claim>} with tag {<tag>} of the current member via VIAM API + And the field {status} has the value {Cannot delete default claim} + And the field {code} has the value {400} + Examples: + | claim | tag | + | name | personalName | + | emails | registration | + | phoneNumbers | registration | + + @deleteClaim @negative + Scenario: Try to Delete a non existing claim to an entity - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Delete an existing claim + Given I clear the request body + Then I delete a claim {nonExistingClaim} with tag {ageValue} of the current member via VIAM API + And the field {status} has the value {Cannot delete claim. Missing claim: nonExistingClaim} + And the field {code} has the value {400} + + @deleteClaim @negative + Scenario Outline: Try to Delete a claim with invalid params [<profile>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Delete an existing claim + Given I clear the request body + Given I load the REST request {DeleteClaims.json} with profile {<profile>} + Then I delete a claim of an entity via VIAM API + And the field {status} has the value {<error>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | profile | error | data | + | missing_claim | There was an error with the input fields | There was an error with the input fields: claim is required | + | empty_claim | There was an error with the input fields | There was an error with the input fields: claim is required | + | missing_entityuuid | There was an error with the input fields | There was an error with the input fields: entityuuid is required | + | empty_entityuuid | There was an error with the input fields | There was an error with the input fields: entityuuid is required | + | empty_tag | There was an error with the input fields | There was an error with the input fields: tag is required | + | missing_tag | There was an error with the input fields | There was an error with the input fields: tag is required | + + @deleteClaim @negative + Scenario: Try to Delete an already deleted claim - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Delete the new claim + Given I clear the request body + Then I delete a claim {age} with tag {ageValue} of the current member via VIAM API + And the field {status} has the value {OK} +#Try to Delete the same claim a second time + Given I clear the request body + Then I delete a claim {age} with tag {ageValue} of the current member via VIAM API + And the field {status} has the value {Cannot delete claim. Missing claim: age} + And the field {code} has the value {400} + + @deleteClaim @negative + Scenario Outline: Try to Delete a claim without proper authorization - [header] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Delete an existing claim + Given I clear the request body + And I delete the headers + | <header> | + Then I delete a claim {name} with tag {ageValue} of the current member via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | token | + | uuid | + | publicKey | + + @deleteClaim @negative @bug-rest-6 @wip + Scenario: Try to Delete an existing claim to an another entity - Neggative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Session} from the last response and store it in the DataContainer with key {UserToken_1} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {UserUUID_1} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.claim} from the last Request Body and store it in the DataContainer with key {claim_1} +#Create a second member + Given I clear the request body + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the second member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Try to Delete a claim of the first user while logged as the second + Given I clear the request body + Then I load object with key {claim_1} from DataContainer into currentRequest Body with key {claim} + Then I load object with key {UserUUID_1} from DataContainer into currentRequest Body with key {entityuuid} + And I set the request fields + | tag | ageValue | + Then I delete a claim of an entity via VIAM API + And the field {status} has the value {Some error} \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/deleteEntity/POST.feature b/out/test/resources/features/rest/entity/deleteEntity/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..b09d21684bed37593e2a59082a7bb42d9070d482 --- /dev/null +++ b/out/test/resources/features/rest/entity/deleteEntity/POST.feature @@ -0,0 +1,94 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/deleteEntity +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @all @wip +Feature: VIAM - entity - deleteEntity POST + Delete an entity + + Background: + Given we are testing the VIAM Api + + @deleteEntity + Scenario Outline: Create a new child entity with type [<type>] and then delete it - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add a child entity + Given I clear the request body + Then I create a new entity with type {<type>} via VIAM API + And the field {status} has the value {OK} +#Delete the child entity + Given I clear the request body + Then I delete the current guarded entity via VIAM API + And the field {status} has the value {OK} + Examples: + | type | + | 1 | + | 2 | + | 3 | + | 4 | + + @deleteEntity @bug-rest-33 @wip + Scenario: Delete a new parent entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {entityuuid} +#Try to Delete the entity + Given I clear the request body + And I load object with key {entityuuid} from DataContainer into currentRequest Body with key {entityuuid} + Then I delete an entity via VIAM API + And the field {status} has the value {Could not find entity:} + And the field {code} has the value {400} + + @deleteEntity @negative + Scenario: Try to delete an child entity of another entity - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add a guarded entity by creating one + Given I clear the request body + Then I create a new entity with type {1} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {createdEntityUuid} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the second member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Try to Delete the child entity of the first user + Given I clear the request body + And I load object with key {createdEntityUuid} from DataContainer into currentRequest Body with key {entityuuid} + Then I delete an entity via VIAM API + And the field {status} has the value {Access denied} + And the field {code} has the value {401} + And the field {data} has the value {Access denied to entity entityuuid} diff --git a/out/test/resources/features/rest/entity/getEntity/POST.feature b/out/test/resources/features/rest/entity/getEntity/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..13c04297e337e3a95c3bc912c75c14e2a2030652 --- /dev/null +++ b/out/test/resources/features/rest/entity/getEntity/POST.feature @@ -0,0 +1,613 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/getEntity +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @all +Feature: VIAM - entity - getEntity POST + Get the data of an entity + + Background: + Given we are testing the VIAM Api + + @entity + Scenario: Create a new entity and get his data with filter - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + And I set the request fields + | from | -1 | + | to | -1 | + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} + + @entity + Scenario: Create a new entity and get his data - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} + And I assert that the entity data matches the data of the current member via VIAM API + + @entity @bug-rest-215 + Scenario Outline: Create a new entity with Type [<type>] and then Get it- Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity + Given I clear the request body + Then I create a new entity with type {<type>} via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I get the guarded entity via the VIAM API + And the field {status} has the value {OK} + Examples: + | type | + | 1 | + | 2 | + | 3 | + | 4 | + | 5 | + | 6 | + + @entity @negative + Scenario Outline: Try to get an entity with invalid data - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + And I set the request fields + | from | <from> | + | to | <to> | + | entityuuid | <entityuuid> | + Then I get an entity via the VIAM API + And the field {status} has the value {There was an error with the input fields} + Examples: + | from | to | entityuuid | + | | | | + + @entity @negative + Scenario: Try to Get the data of another user - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {UserUUID_1} +#Create a second member + Given I clear the request body + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the second member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Get the data of the first entity + Given I clear the request body + Then I load object with key {UserUUID_1} from DataContainer into currentRequest Body with key {entityuuid} + Then I get an entity via the VIAM API + And the field {status} has the value {Access denied} + And the field {code} has the value {401} + And the field {data} has the value {Access denied to entity entityuuid} + + @entity @negative + Scenario Outline: Try to Get the data of an entity with invalid authorization [<header>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + And I delete the headers + | <header> | + Then I get the current entity via the VIAM API + And the field {status} has the value {No authentication values} + Examples: + | header | + | token | + | uuid | + + @addClaim @entity + Scenario Outline: Add a new claim to an entity and then Get the entity - [<profile>]- Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {<profile>} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Get the entity and verify the new claim is added + Given I clear the request body + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} + And the field {$..age..value.value} has the value {["23"]} + #bug-173 And I assert that the entity data matches the data of the current member via VIAM API + Examples: + | profile | + | create_private | + | create_invitational | + + @deleteClaim @entity + Scenario Outline: Delete a new claim to an entity and then Get the entity to verify its really deleted - [<profile>]- Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {<profile>} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Delete the new claim + Given I clear the request body + Then I delete a claim {age} with tag {ageValue} of the current member via VIAM API + And the field {status} has the value {OK} +#Get the entity and verify the new claim is added + Given I clear the request body + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} + And the field {$..age..value.value} is not containing the value {["23"]} + #bug-173 And I assert that the entity data matches the data of the current member via VIAM API + Examples: + | profile | + | create_private | + | create_invitational | + + @createEntity @guardian @bug-rest-39 + Scenario: Create entity by calling /entity/createEntity then get it and verify its guarded - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new guarded entity by calling /entity/createEntity + Given I clear the request body + Then I create a new entity with type {1} via VIAM API + And the field {status} has the value {OK} +#Get the data of current main entity + Given I clear the request body + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} + + @entity @negative + Scenario: Try to get an entity with invalid from & to filter - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {entityUuid} +#Get the data of current entity + Given I clear the request body + And I set the request fields + | from | 10 | + | to | 12 | + Then I get the current entity via the VIAM API + And the value of field {status} should contain the text {Could not find entity:} + And the field {status} is containing the value stored in DataContainer with key {entityUuid} + And the field {code} has the value {400} + + @child @entity + Scenario: Get a child entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new child to the new entity + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {childUUID} + Then I create new child link via VIAP API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityuuid} + And I get an entity via the VIAM API + And the field {status} has the value {OK} +# And Verify the response value with the value in the datacontainer +# | @.data[0].parents[0] | EntityUUID | + And the field {@.data[0].parents[0]} has the value stored in DataContainer with key {} + + @removeChild + Scenario: Remove a child link of an entity and then Get the entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new child to the new entity + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {childUUID} + Then I create new child link via VIAP API + And the field {status} has the value {OK} +#Then I remove the child link + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {childUUID} + Then I remove a child link via VIAP API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityuuid} + And I get an entity via the VIAM API + And the field {status} has the value {OK} + And the field {$.data[0].parents} contains the value {=1} + + @parent @entity + Scenario: Get Parent entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a parent link + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {parentUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I create new parent link via VIAP API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the array {$.data[0].children} contains the value stored in DataContainer with key {PassportUUID} + + @removeParent + Scenario: Remove a Parent link from an entity and then Get the entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a parent link + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {parentUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I create new parent link via VIAP API + And the field {status} has the value {OK} +#Then I remove a parent link + Then I remove a parent link from an entity via VIAP API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the field {@.data[0].children} contains the value {=1} + + @guarded @entity + Scenario: Get a guardian entity - Positive +#Create a new member that will be the guardian + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member to get the data + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the array {@.data[0].guarded} contains the value stored in DataContainer with key {EntityUUID} + + @removeGuardian + Scenario: Remove a guardian from an child entity and then Get it - Positive +#Create a new member that will be the guardian + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member to get the data + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Remove the Guardian + Then I remove a guardian via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity and verify guarded is not present + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the field {@.data[0].guarded} contains the value {=1} + + @guardian @entity + Scenario: Get a guarded entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport to the user + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new guarded link to the first entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {guardedUUID} + Then I create a new guarded link via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the array {@.data[0].guardians} contains the value stored in DataContainer with key {PassportUUID} + + @removeGuarded @entity + Scenario: Remove a guarded link from an entity and then get it - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport to the user + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new guarded link to the first entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {guardedUUID} + Then I create a new guarded link via VIAM API + And the field {status} has the value {OK} +#Remove the guarded link + Then I remove a guarded link via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the field {@.data[0].guardians} contains the value {=1} + + @member @entity @wip + Scenario: Get memberOf entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {member} +#Then I add a new memberOf link to the new entity + Given I clear the request body + Then I load object with key {member} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {memberOfUUID} + Then I create new memberOf link via VIAP API + And the field {status} has the value {OK} +#Get memberOf entity + Given I clear the request body + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And Verify the response value with the value in the datacontainer + | @.data[0].members[0] | member | + + @member @entity + Scenario: Remove a member link and then get the organisation - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {member} +#Then I create member link + Given I clear the request body + Then I load object with key {member} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {memberUUID} + Then I create new member link via VIAP API + And the field {status} has the value {OK} +#Then I remove a member link + Then I remove a member link from an entity via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {member} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the field {@.data[0].members} contains the value {=1} + + @memberOf @entity + Scenario: Get member entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {member} +#Then I add a new child to the new entity + Given I clear the request body + Then I load object with key {member} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {memberOfUUID} + Then I create new memberOf link via VIAP API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {member} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the array {@.data[0].memberOf} contains the value stored in DataContainer with key {firstEntityUUID} + + @member @entity + Scenario: Remove memberOf link and the Get the member - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {member} +#Then I add a new child to the new entity + Given I clear the request body + Then I load object with key {member} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {memberOfUUID} + Then I create new memberOf link via VIAP API + And the field {status} has the value {OK} +#Then I remove a memberOf link + Then I remove a memberOf link from an entity via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {member} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the field {@.data[0].memberOf} contains the value {=1} \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/removeChild/POST.feature b/out/test/resources/features/rest/entity/removeChild/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..a7b74e49fde51922aa4c72c89de92c726724721e --- /dev/null +++ b/out/test/resources/features/rest/entity/removeChild/POST.feature @@ -0,0 +1,90 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/removeChild +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @child @all +Feature: VIAM - entity - removeChild POST + Remove a child link from an entity + + Background: + Given we are testing the VIAM Api + + + @removeChild + Scenario: Remove a child link of an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new child to the new entity + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {childUUID} + Then I create new child link via VIAP API + And the field {status} has the value {OK} +#Then I remove the child link + Then I remove a child link via VIAP API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @removeChild @negative + Scenario Outline: Try to Remove a child link of an entity with invalid params [<profile>]- Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new child to the new entity + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {childUUID} + Then I create new child link via VIAP API + And the field {status} has the value {OK} +#Then I remove the child link + Given I clear the request body + And I load the REST request {Child.json} with profile {<profile>} + Then I remove a child link via VIAP API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | profile | status | data | + | missing_child | There was an error with the input fields | There was an error with the input fields: childUUID is required | + | empty_child | There was an error with the input fields | There was an error with the input fields: childUUID is required | + # | invalid_uuid_child | Error removing child | Error removing relation:Error removing a relation: could not find entity. | + | missing_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | empty_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + # | invalid_uuid_entityuuid | Error removing child | Error removing relation:Error removing a relation: could not find entity. | + # | non_existing_uuid | Error removing child | Error removing relation:Error removing a relation: could not find entity. | \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/removeGuarded/POST.feature b/out/test/resources/features/rest/entity/removeGuarded/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..8b0d010a638cc6b12e2d2ee0da2152ac01c4ebb2 --- /dev/null +++ b/out/test/resources/features/rest/entity/removeGuarded/POST.feature @@ -0,0 +1,90 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/removeGuarded +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @guardian @all +Feature: VIAM - entity - removeGuarded POST + Remove a guarded link from an entity + + Background: + Given we are testing the VIAM Api + + @removeGuarded + Scenario: Remove a guarded link from an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport to the user + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new guarded link to the first entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {guardedUUID} + Then I create a new guarded link via VIAM API + And the field {status} has the value {OK} +#Remove the guarded link + Then I remove a guarded link via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @removeGuarded @negative + Scenario Outline: Try to Remove a guarded link from an entity with invalid params [<profile>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport to the user + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a new guarded link to the first entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {guardedUUID} + Then I create a new guarded link via VIAM API + And the field {status} has the value {OK} +#Remove the guarded link + Given I clear the request body + And I load the REST request {Guarded.json} with profile {<profile>} + Then I remove a guarded link via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | profile | status | code | data | + | missing_guarded | There was an error with the input fields | 400 | There was an error with the input fields: guardedUUID is required | + | empty_guarded | There was an error with the input fields | 400 | There was an error with the input fields: guardedUUID is required | + #| invalid_uuid_guarded | Error removing guarded | 400 | Error removing relation: could not find entity | + | missing_entityuuid | There was an error with the input fields | 400 | There was an error with the input fields: entityUUID is required | + | empty_entityuuid | There was an error with the input fields | 400 | There was an error with the input fields: entityUUID is required | + | invalid_uuid_entityuuid | Access denied | 401 | Can't get entity guardedUUID | + | non_existing_uuid | Access denied | 401 | Can't get entity guardedUUID | + diff --git a/out/test/resources/features/rest/entity/removeGuardian/POST.feature b/out/test/resources/features/rest/entity/removeGuardian/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..97a93d7cebea2d99eab247374a761700afb0d9da --- /dev/null +++ b/out/test/resources/features/rest/entity/removeGuardian/POST.feature @@ -0,0 +1,118 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/removeGuardin +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @guardian @all +Feature: VIAM - entity - removeGuardian POST + Remove a Guardian from an entity + + Background: + Given we are testing the VIAM Api + + + @removeGuardian + Scenario: Remove a guardian from an child entity - Positive +#Create a new member that will be the guardian + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member to get the data + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Remove the Guardian + Then I remove a guardian via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @removeGuardian @negativе + Scenario Outline: Try to remove a guardian with missing param - [<param>]- Negative +#Create a new member that will be the guardian + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member to get the data + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Remove the Guardian + Given I remove the following Keys from current request Body: + | <param> | + Then I remove a guardian via VIAM API + And the field {status} has the value {There was an error with the input fields} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | param | data | + | entityUUID | There was an error with the input fields: entityUUID is required | + | guardianUUID | There was an error with the input fields: guardianUUID is required | + + @removeGuardian @negative + Scenario Outline: Try to remove a guardian without auth header [<header>] - Negative +#Create a new member that will be the guardian + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member to get the data + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Remove the Guardian + And I delete the headers + | <header> | + Then I remove a guardian via VIAM API + Then I delete a claim {name} with tag {personalName} of the current member via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | token | + | uuid | \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/removeMember/POST.feature b/out/test/resources/features/rest/entity/removeMember/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..bae673a2606f57a083feccf85fee7e0bbb5d7097 --- /dev/null +++ b/out/test/resources/features/rest/entity/removeMember/POST.feature @@ -0,0 +1,81 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/removeMember +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @member @all +Feature: VIAM - entity - removeMember POST + Remove a new member link between entities + + Background: + Given we are testing the VIAM Api + + @removeMember + Scenario: Remove a member link from an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {member} +#Then I create member link + Given I clear the request body + Then I load object with key {member} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {memberUUID} + Then I create new member link via VIAP API + And the field {status} has the value {OK} +#Then I remove a member link + Then I remove a member link from an entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @removeMember @negative + Scenario Outline: Try to Remove a member link from an entity when providing invalid params [<profile>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Then I remove a member link + Given I clear the request body + And I load the REST request {Member.json} with profile {<profile>} + Then I remove a member link from an entity via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | profile | status | data | + | missing_member | There was an error with the input fields | There was an error with the input fields: memberUUID is required | + | empty_member | There was an error with the input fields | There was an error with the input fields: memberUUID is required | + # | invalid_uuid_member | Error removing member | Error removing relation:Error removing a relation: could not find entity 80e41b47-d8cc-44a2-b696 | + | missing_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | empty_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | invalid_uuid_entityuuid | Error removing member | Error removing relation: could not find entity | + | non_existing_uuid | Error removing member | Error removing relation: could not find entity | \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/removeMemberOf/POST.feature b/out/test/resources/features/rest/entity/removeMemberOf/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..877928ce31f7be4854d116e244de0d8d91d376c3 --- /dev/null +++ b/out/test/resources/features/rest/entity/removeMemberOf/POST.feature @@ -0,0 +1,84 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/removeMemberOf +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @member @all +Feature: VIAM - entity - removeMemberOf POST + Remove a new memberOf link between entities + + Background: + Given we are testing the VIAM Api + + @removeMemberOf + Scenario: Remove a memberOf link from an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {member} +#Then I add a new memberOf link to the new entity + Given I clear the request body + Then I load object with key {member} from DataContainer into currentRequest Body with key {entityUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {memberOfUUID} + Then I create new memberOf link via VIAP API + And the field {status} has the value {OK} +#Then I remove a memberOf link + Then I remove a memberOf link from an entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @removeMemberOf @negative + Scenario Outline: Try to Remove a memberOf link from an entity with invalid params [<profile>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Then I remove a memberOf link + Given I clear the request body + And I load the REST request {MemberOf.json} with profile {<profile>} + Then I remove a memberOf link from an entity via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | profile | status | data | + | missing_memberOf | There was an error with the input fields | There was an error with the input fields: memberOfUUID is required | + | empty_memberOf | There was an error with the input fields | There was an error with the input fields: memberOfUUID is required | +# | invalid_uuid_memberOf | Error removing memberOf | Error removing relation:Error removing a relation: could not find entity 80e41b47-d8cc-44a2-b696 | + | missing_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | empty_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | invalid_uuid_entityuuid | Error removing memberOf | Error removing relation: could not find entity | + | non_existing_uuid | Error removing memberOf | Error removing relation: could not find entity | + + + diff --git a/out/test/resources/features/rest/entity/removeParent/POST.feature b/out/test/resources/features/rest/entity/removeParent/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..df4fb4ab7d590415b2ad3b3423034e12ff8ed3f0 --- /dev/null +++ b/out/test/resources/features/rest/entity/removeParent/POST.feature @@ -0,0 +1,78 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/removeParent +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @parent @all +Feature: VIAM - entity - removeParent POST + Remove a new parent link between entities + + Background: + Given we are testing the VIAM Api + + @removeParent + Scenario: Remove a Parent link from an entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {EntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {PassportUUID} +#Then I add a parent link + Given I clear the request body + Then I load object with key {EntityUUID} from DataContainer into currentRequest Body with key {parentUUID} + Then I load object with key {PassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I create new parent link via VIAP API + And the field {status} has the value {OK} +#Then I remove a parent link + Then I remove a parent link from an entity via VIAP API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @removeParent @negative @bug-rest-41 @wip + Scenario Outline: Try to Remove a Parent link from an entity with invalid params [<profile>]- Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Then I remove a parent link + Given I clear the request body + And I load the REST request {Parent.json} with profile {<profile>} + Then I remove a parent link from an entity via VIAP API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data> } + Examples: + | profile | status | data | + | missing_parent | There was an error with the input fields | There was an error with the input fields: parentUUID is required | + | empty_parent | There was an error with the input fields | There was an error with the input fields: parentUUID is required | + | invalid_uuid_parent | Error removing parent | Error removing relation: could not find entity | + | missing_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | empty_entityuuid | There was an error with the input fields | There was an error with the input fields: entityUUID is required | + | invalid_uuid_entityuuid | Error removing parent | Error removing relation: could not find entity | + | non_existing_uuid | Error removing parent | Error removing relation: could not find entity | \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/removeViewer/POST.feature b/out/test/resources/features/rest/entity/removeViewer/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..2ee3092319dc4732fd292803e81697a7a32b1f24 --- /dev/null +++ b/out/test/resources/features/rest/entity/removeViewer/POST.feature @@ -0,0 +1,216 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/removeViewer +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @viewer @all +Feature: VIAM - entity - removeViewer POST + Remove a viewer link between 2 entities + + Background: + Given we are testing the VIAM Api + + @removeViewer + Scenario: Remove the new viewer link between 2 entities - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Create a new second passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {secondPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Then I add a new viewer + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {viewerUUID} + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new viewer link via VIAM API + And the field {status} has the value {OK} +#Then I remove the viewer link + Then I remove a viewer link via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {ok } + + @removeViewer + Scenario: Remove the new viewer link between 2 entities and then get it to verify - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Create a new second passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {secondPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Then I add a new viewer + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {viewerUUID} + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new viewer link via VIAM API + And the field {status} has the value {OK} +#Then I remove the viewer link + Then I remove a viewer link via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the field {@.data[0].viewed} contains the value {=1} + + @removeViewer + Scenario: Remove the new viewed link between 2 entities and then get it to verify - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Create a new second passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {secondPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Then I add a new viewer + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {viewerUUID} + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new viewer link via VIAM API + And the field {status} has the value {OK} +#Then I remove the viewer link + Then I remove a viewer link via VIAM API + And the field {status} has the value {OK} +#Get the data of current entity + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I get an entity via the VIAM API + And the field {status} has the value {OK} + And the field {@.data[0].viewers} contains the value {=1} + + @removeViewer @negative + Scenario Outline: Try to Remove a viewer link with invalid [<key>] - [<value>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login that member to get the uuid + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstEntityUUID} +#Create a new passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Create a new second passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {secondPassportUUID} +#Then I make the new passport a guardian the entity + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {guardianUUID} + Then I load object with key {firstEntityUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new guardian via VIAM API + And the field {status} has the value {OK} +#Then I add a new viewer + Given I clear the request body + Then I load object with key {secondPassportUUID} from DataContainer into currentRequest Body with key {viewerUUID} + Then I load object with key {firstPassportUUID} from DataContainer into currentRequest Body with key {entityUUID} + Then I add a new viewer link via VIAM API + And the field {status} has the value {OK} +#Then I remove the viewer link + And I set the request fields + | <key> | <value> | + Then I remove a viewer link via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | key | value | status | code | data | + | entityUUID | | There was an error with the input fields | 400 | There was an error with the input fields: entityUUID is required | + | entityUUID | 9e3d1f32-8fdb-11e8-9eb6-529269fb1459 | Access denied | 401 | Can't get entity entityUUID | + | viewerUUID | | There was an error with the input fields | 400 | There was an error with the input fields: viewerUUID is required | + | viewerUUID | 9e3d1f32-8fdb-11e8-9eb6-529269fb1459 | Error removing viewer | 400 | Error removing opposite relation: could not find entity | \ No newline at end of file diff --git a/out/test/resources/features/rest/entity/updateClaim/POST.feature b/out/test/resources/features/rest/entity/updateClaim/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..0523de155e1372b84b63ec37130a5fecb9d3b2a9 --- /dev/null +++ b/out/test/resources/features/rest/entity/updateClaim/POST.feature @@ -0,0 +1,266 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/entity/updateClaim +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @all +Feature: VIAM - entity - updateClaim POST + This endpoint is for updating claim operation of users. + + Background: + Given we are testing the VIAM Api + + @updateClaim + Scenario: Update a claim and then Get the entity to verify its updated - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I update the claim + Given I set the request fields + | value | 33 | + Then I update a claim to the current entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @updateClaim + Scenario Outline: Update a claim and then Get the entity to verify its updated - [<profile>]- Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {<profile>} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I update the claim + Given I set the request fields + | value | 33 | + Then I update a claim to the current entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Get the data of current entity + Given I clear the request body + And I set the request fields + | from | -1 | + | to | -1 | + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$..claims.age..value.value} has the value {["33"]} + Examples: + | profile | + | create_private | + | create_invitational | + + @updateClaim + Scenario: Update a claim and then Get the entity to verify its updated - [valueType_updated_composite]- Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {valueType_composite} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I update the claim + Given I load the REST request {Claims.json} with profile {valueType_updated_composite} + Then I update a claim to the current entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Get the data of current entity + Given I clear the request body + And I set the request fields + | from | -1 | + | to | -1 | + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$..claims.age..value.age} has the value {["33"]} + And the field {$..claims.age..value.olderThen} has the value {["18"]} + + @updateEntity + Scenario Outline: Add a claim to a guarded entity and then update it - [<type>] - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity + Given I clear the request body + Then I create a new entity with type {<type>} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the child entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Then I update the claim + Given I set the request fields + | value | 33 | + Then I update a claim to an entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Get the data of guarded entity + Given I clear the request body + And I set the request fields + | from | -1 | + | to | -1 | + Then I get the guarded entity via the VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$..claims.age..value.value} has the value {["33"]} + Examples: + | type | + | 1 | + | 2 | + | 3 | + | 4 | + | 5 | + + @updateEntity + Scenario Outline: Add a claim to a guarded entity and then update it- [<type>] - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity + Given I clear the request body + Then I create a new entity with type {<type>} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the child entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Then I update the claim + Given I set the request fields + | value | 33 | + Then I update a claim to an entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + Examples: + | type | + | 1 | + | 2 | + | 3 | + | 4 | + | 5 | + + @updateClaim @negative @bug-rest-20 + Scenario Outline: Try to update a claim with invalid value [<profile>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Try to update a claim + Given I clear the request body + And I load the REST request {Claims.json} with profile {<profile>} + Then I update a claim to the current entity via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | profile | status | code | data | + # | nonexistent_claim | There was an error with the input fields | 400 | There was an error with the input fields: claim is required | + | missing_claim | There was an error with the input fields | 400 | There was an error with the input fields: claim is required | + | missing_value | There was an error with the input fields | 400 | There was an error with the input fields: value is required | + | missing_access | There was an error with the input fields | 400 | There was an error with the input fields: access is required | + | missing_tag | There was an error with the input fields | 400 | There was an error with the input fields: tag is required | + | missing_valueType | There was an error with the input fields | 400 | There was an error with the input fields: valueType is required | + # | invalid_access | There was an error during addition of claim | 400 | There was an error with the input fields: entityuuid is required | + + @updateClaim @negative @bug-rest-20 + Scenario Outline: Try to update a claim with invalid value [<profile>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Try to update a claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {<profile>} + Then I update a claim to an entity via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | profile | status | code | data | + | missing_entityuuid | There was an error with the input fields | 400 | There was an error with the input fields: entityuuid is required | + + @updateClaim @negative + Scenario Outline: Try to update a claim with missing header [<header>] - negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new claim + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Try to Update the claim + And I delete the headers + | <header> | + Then I update a claim to an entity via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | token | + | uuid | + | publicKey | \ No newline at end of file diff --git a/out/test/resources/features/rest/event/getEvents/POST.feature b/out/test/resources/features/rest/event/getEvents/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..e4f5a3f48139b1e0c332e6e642d99069d824409e --- /dev/null +++ b/out/test/resources/features/rest/event/getEvents/POST.feature @@ -0,0 +1,92 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/event/getEvents +#Author: Rosen Georgiev rosen.georgiev@vereign.com +#Spec: https://code.vereign.com/code/restful-api/blob/master/docs/eventGetEvents.md + +@rest @event @all +Feature: VIAM - event - getEvents POST + Calls historically events for entity or for given device per its public key + + Background: + Given we are testing the VIAM Api + + @getEvents + Scenario: Get all the events of the current entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} +#Get the events + Given I get the events with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data[0].actionID} has the value stored in DataContainer with key {actionId} + And the field {$.data[0].type} has the value {ActionConfirmedAndExecuted} + + @getEvents + Scenario: Get all the events of the current publicKey - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} +#Then I list the devices + Given I clear the request body + Then I set the following request body {{}} + Given I list the devices via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} +#Then I authorize the new device with the first Device + Given I clear the request body + Given I authorize the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} +#Get the events + Given I clear the request body + And I load object with key {eventStamp} from DataContainer into currentRequest Body with key {lastViewed} + And I load object with key {secondPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Then I get the events with mode devicekey and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} \ No newline at end of file diff --git a/out/test/resources/features/rest/event/getNewEvents/POST.feature b/out/test/resources/features/rest/event/getNewEvents/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..4a317a83a14aabecb70e6c9c6662af7967937a1d --- /dev/null +++ b/out/test/resources/features/rest/event/getNewEvents/POST.feature @@ -0,0 +1,158 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/event/getNewEvents +#Author: Rosen Georgiev rosen.georgiev@vereign.com +#Spec: https://code.vereign.com/code/restful-api/blob/master/docs/eventGetNewEvents.md + +@rest @event @all +Feature: VIAM - event - getNewEvents POST + Calls historically events for entity or for given device per its public key + + Background: + Given we are testing the VIAM Api + + @getNewEvents + Scenario: Get all the new events of the current entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} +#Get the events + And I clear the request body + Given I get the new events with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data[0].actionID} has the value stored in DataContainer with key {actionId} + And the field {$.data[0].type} has the value {ActionConfirmedAndExecuted} + + @getNewEvents + Scenario: Call getNewEvents to get a cancled event of the current entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} + And the field {$.data.ActionID} is present and not empty + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} +#Then I cancel the action + Then I cancel the current action via VIAM API + And the field {status} has the value {OK} +#Get the events + And I clear the request body + Given I get the new events with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data[0].actionID} has the value stored in DataContainer with key {actionId} + And the field {$.data[0].type} has the value {Cancelled} + + @getNewEvents + Scenario: Get all the new events of the current publicKey - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} +#Get the events + And I clear the request body + Given I get the new events with mode devicekey and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @updateLastViewed @getNewEvents + Scenario: Update the last viewed timestamp of the current entity and then Get it - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} +#Get the events + Given I clear the request body + Then I get the new events with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data[0].actionID} has the value stored in DataContainer with key {actionId} + And the field {$.data[0].type} has the value {ActionConfirmedAndExecuted} + And I get the value of {$.data[0].stamp} from the last response and store it in the DataContainer with key {eventStamp} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId2} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} +#I update the event viewed timestamp + Given I clear the request body + And I load object with key {eventStamp} from DataContainer into currentRequest Body with key {lastViewed} + Then I update the last viewed event with mode entity via VIAM API + And the field {status} has the value {OK} +#Get the events + Given I clear the request body + Then I get the new events with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data[0].actionID} has the value stored in DataContainer with key {actionId2} + And the field {$.data[0].type} has the value {ActionConfirmedAndExecuted} + diff --git a/out/test/resources/features/rest/event/getNewEventsWithoutSession/POST.feature b/out/test/resources/features/rest/event/getNewEventsWithoutSession/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..3247987f5be7a35665f1f72001f6c046230138e5 --- /dev/null +++ b/out/test/resources/features/rest/event/getNewEventsWithoutSession/POST.feature @@ -0,0 +1,55 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/event/getNewEventsWithoutSession +#Author: Rosen Georgiev rosen.georgiev@vereign.com +#Spec: https://code.vereign.com/code/restful-api/blob/master/docs/eventGetNewEventsWithoutSession.md + +@rest @event @all +Feature: VIAM - event - getNewEventsWithoutSession POST + Returns all events from update time from UpdateLastViewedWithoutSession. This method works + anynomously only for given public key, that is not attached to entity. It shows only events for last hour + + Background: + Given we are testing the VIAM Api + + @getNewEventsWithoutSession + Scenario: Get all the new events of the current devicyKey without session - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} +#Get the events + Given I clear the request body + Then I delete the headers + | uuid | + | token | + Given I get the new events without session with devicyKey via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} \ No newline at end of file diff --git a/out/test/resources/features/rest/event/updateLastViewed/POST.feature b/out/test/resources/features/rest/event/updateLastViewed/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..10aebc34ae5e63d473439261a33229063bbb4ae5 --- /dev/null +++ b/out/test/resources/features/rest/event/updateLastViewed/POST.feature @@ -0,0 +1,105 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/event/updateLastViewed +#Author: Rosen Georgiev rosen.georgiev@vereign.com +#Spec: https://code.vereign.com/code/restful-api/blob/master/docs/eventUpdateLastViewed.md + +@rest @event @all +Feature: VIAM - event - updateLastViewed POST + Updates the last viewed timestamp. This method is used to tell the server that client for + given entity or user device has viewed and shown all the events for that mode. + + Background: + Given we are testing the VIAM Api + + @updateLastViewed + Scenario: Update the last viewed timestamp of the current entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} +#Get the events + And I clear the request body + Given I get the new events with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data[0].stamp} from the last response and store it in the DataContainer with key {eventStamp} +#I update the event viewed timestamp + Given I clear the request body + And I load object with key {eventStamp} from DataContainer into currentRequest Body with key {lastViewed} + Then I update the last viewed event with mode entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Successfully updated} + + @updateLastViewed + Scenario: Update the last viewed timestamp of the current devicyKey - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} +#Then I list the devices + Given I clear the request body + Then I set the following request body {{}} + Given I list the devices via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} +#Then I authorize the new device with the first Device + Given I clear the request body + Given I authorize the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} +#Get the events + And I clear the request body + Given I get the new events with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data[0].stamp} from the last response and store it in the DataContainer with key {eventStamp} +#I update the event viewed timestamp + Given I clear the request body + And I load object with key {eventStamp} from DataContainer into currentRequest Body with key {lastViewed} + And I load object with key {secondPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Then I update the last viewed event with mode devicekey via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {} \ No newline at end of file diff --git a/out/test/resources/features/rest/event/updateLastViewedWithoutSession/POST.feature b/out/test/resources/features/rest/event/updateLastViewedWithoutSession/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..34e086e652d430fee010b63912584160a55c1c67 --- /dev/null +++ b/out/test/resources/features/rest/event/updateLastViewedWithoutSession/POST.feature @@ -0,0 +1,70 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/event/updateLastViewedWithoutSession +#Author: Rosen Georgiev rosen.georgiev@vereign.com +#Spec: https://code.vereign.com/code/restful-api/blob/master/docs/eventUpdateLastViewedWithoutSession.md + +@rest @event @all +Feature: VIAM - event - updateLastViewedWithoutSession POST + Updates the last viewed timestamp without a session. This method is used to tell the server that client for + given anonymous user device has viewed and shown all the events for that mode. + + Background: + Given we are testing the VIAM Api + + @updateLastViewedWithoutSession + Scenario: Update the last viewed timestamp of the current devicyKey without a session - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {actionId} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} +#Get the events + And I clear the request body + Given I get the new events with mode entity and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data[0].stamp} from the last response and store it in the DataContainer with key {eventStamp} +#I update the event viewed timestamp + Given I clear the request body + Then I delete the headers + | uuid | + | token | + And I load object with key {eventStamp} from DataContainer into currentRequest Body with key {lastViewed} + And I load object with key {secondPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Then I update the last viewed event with mode devicekey without a session via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {} + + @updateLastViewedWithoutSession @negative + Scenario: Try to update the last viewed without a session and without a publicKey - Negative + Then I update the last viewed event with mode devicekey without a session via VIAM API + And the field {status} has the value {Not provided public key} + And the field {code} has the value {400} \ No newline at end of file diff --git a/out/test/resources/features/rest/hyperledger/getInfo/POST.feature b/out/test/resources/features/rest/hyperledger/getInfo/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..d55849dcdd6486c95608293aaf14a76c5645afcb --- /dev/null +++ b/out/test/resources/features/rest/hyperledger/getInfo/POST.feature @@ -0,0 +1,53 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/hyperledger/getInfo +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @hyperledger @all @wip +Feature: VIAM - hyperledger - getInfo POST + This endpoint is for getting the HyperLedger blockchain information. + + Background: + Given we are testing the VIAM Api + + @getInfo + Scenario: Get the current hyperledger blockchain info - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Then I get the current blockchain info + Given I set the following request body {{}} + Then I get the hyperledger blockchain info via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data.err} has the value {null} + And the response is valid according to the {Hyperledger_getinfo_schema.json} REST schema + And the field {$.data.channelname} has the value {defaultchannel} + And the field {$.data.nbBlocks} is present and not empty + + @getInfo @negative + Scenario: Try to Get the current hyperledger blockchain info without authentication - Positive +#Then I get the current blockchain info + Given I set the following request body {{}} + Then I get the hyperledger blockchain info via VIAM API + And the field {status} has the value {Not provided public key} + And the field {code} has the value {400} + And the field {$.data} has the value {{}} + diff --git a/out/test/resources/features/rest/hyperledger/transactionsHistory/POST.feature b/out/test/resources/features/rest/hyperledger/transactionsHistory/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..af4e434374b168b4d3a8d8b11637bcde09fb6be1 --- /dev/null +++ b/out/test/resources/features/rest/hyperledger/transactionsHistory/POST.feature @@ -0,0 +1,108 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/hyperledger/transactionsHistory +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @hyperledger @all @wip +Feature: VIAM - hyperledger - transactionsHistory POST + This endpoint is for getting transaction history in the HyperLedger for given passport + + Background: + Given we are testing the VIAM Api + + @transactionsHistory + Scenario: Get the transaction history of a passport in the hyperledger - Positive + Given I set the headers + | publicKey | lQ6eTBloJINOxKoOfFjvtO0qP4NFsD8sOHIgI+/qhafaY2HmzRAufu2iUSh0OcuxDVwqbkc1ztwCl1CR2JPE6owmtaR9+6Ku+D1Jh7VvbljlkiX9+0A5CXdTlhV7bwK7yD12D+P0EYflwQqxplcotmWyr1HQxW+VQVr/VjXA2Q3AbCsS27m3n3nSE7YH2tw+QN6Ix71ozI2RXQ9rQHIBHpwCLDAz/n+VuI2MaYfAlD5lc/qXUxDVzzyl8idU3b39X3bBcg0Q0v+qt+gGYYBc3pJjSmqV6EfU6uFLfj80/G7qGSCOKy8aSnRbpMEr4NZre5KN92SG3bBCBETMFZlEFQ== | + Then I login member with mode previousaddeddevice via VIAM API +#Then I generate the DID + Given I clear the request body + Then I set the request fields + | passportUUID | 704cc39a-b2db-4df2-a87e-3829997e9dcb | + Then I generate a DID for a passport via VIAM API + And the field {status} has the value {OK} +#Then I get the transaction history + Then I get the transaction history of a passport in the hyperledger via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data} contains the value {did:vereign:704cc39a-b2db-4df2-a87e-3829997e9dcb} + And the field {$.data} contains the value {-----BEGIN CERTIFICATE-----} + And the field {$.data} contains the value {-----END CERTIFICATE-----} + + @transactionsHistory @negative + Scenario: Try to get the transaction history of a passport that doesnt have history in the hyperledger - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current passport + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Then I add a function to the current claim passport + Given I clear the request body + Then I attach function {exists} to the current claim {passportName} with tag {passportNameTag} passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Then I get the transaction history of the passport + Then I get the transaction history of the current passport in the hyperledger via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {[]} + + @transactionsHistory @negative + Scenario: Try to Get the transaction history of a passport in the hyperledger with non associated user - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Then I get the transaction history. + Given I clear the request body + Then I set the request fields + | passportUUID | 704cc39a-b2db-4df2-a87e-3829997e9dcb | + Then I get the transaction history of a passport in the hyperledger via VIAM API + And the field {status} has the value {access denied} + And the field {code} has the value {400} + + @transactionsHistory @negative + Scenario Outline: Try to Get a transaction history of a passport in the hyperledger with invalid passportUUID [<value>] - Positive + Given I set the headers + | publicKey | lQ6eTBloJINOxKoOfFjvtO0qP4NFsD8sOHIgI+/qhafaY2HmzRAufu2iUSh0OcuxDVwqbkc1ztwCl1CR2JPE6owmtaR9+6Ku+D1Jh7VvbljlkiX9+0A5CXdTlhV7bwK7yD12D+P0EYflwQqxplcotmWyr1HQxW+VQVr/VjXA2Q3AbCsS27m3n3nSE7YH2tw+QN6Ix71ozI2RXQ9rQHIBHpwCLDAz/n+VuI2MaYfAlD5lc/qXUxDVzzyl8idU3b39X3bBcg0Q0v+qt+gGYYBc3pJjSmqV6EfU6uFLfj80/G7qGSCOKy8aSnRbpMEr4NZre5KN92SG3bBCBETMFZlEFQ== | + Then I login member with mode previousaddeddevice via VIAM API +#Then I get the transaction history + Given I clear the request body + Then I set the request fields + | passportUUID | <value> | + Then I get the transaction history of a passport in the hyperledger via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | value | status | data | + | | There was an error with the input fields | There was an error with the input fields: passportuuid is required | + | d37388e2-73ce-4d59-8512-fda5f0168f35 | access denied | {} | + | d37388e2-73ce-4d59-8512 | access denied | {} | diff --git a/out/test/resources/features/rest/identity/addNewDevice/POST.feature b/out/test/resources/features/rest/identity/addNewDevice/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..f53ac6347edd058c7a5c16bdbc80ac327f873496 --- /dev/null +++ b/out/test/resources/features/rest/identity/addNewDevice/POST.feature @@ -0,0 +1,76 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/addNewDevice +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - addNewDevice POST + Add a new device to an authenticated user + + Background: + Given we are testing the VIAM Api + + @addNewDevice + Scenario: Add a new device to an authententicated user - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data.QrCode} is present and not empty + And the field {$.data.ActionID} is present and not empty + + @addNewDevice @negative + Scenario: Try to add a new device with unauthenticated device - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + + @addNewDevice @negative + Scenario Outline: Try to Add a new device without auth header [<header>] - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Add new device to the current user + Then I delete the headers + | <header> | + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | uuid | + | token | + | publicKey | diff --git a/out/test/resources/features/rest/identity/agreeOnRegistration/POST.feature b/out/test/resources/features/rest/identity/agreeOnRegistration/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..08846220b0978342e84912eb7f103c8ce8f2d648 --- /dev/null +++ b/out/test/resources/features/rest/identity/agreeOnRegistration/POST.feature @@ -0,0 +1,86 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://env/api/identity/agreeOnRegistration +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - agreeOnRegistration POST + This call adds register claims to an identity + + Background: + Given we are testing the VIAM Api + + @agreeOnRegistration + Scenario: Confirm the privacy policy and create new member with Email identificator - Positive + #Add identificator + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the sms/email code + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Add register claims + Given I load the REST request {Register.json} with profile {create} + Then I submit registration claims with identificator email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the Privacy Policy + Given I confirm the privacy policy via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} + + @agreeOnRegistration + Scenario: Confirm the privacy policy and create new member with Phone identificator - Positive + #Add identificator + Given I submit a new identificator with random phoneNumber via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the sms/email code + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Add register claims + Given I load the REST request {Register.json} with profile {create} + Then I submit registration claims with identificator phonenumber via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the Privacy Policy + Given I confirm the privacy policy via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} + + @submitRegisterClaims @negative + Scenario: Try to confirm the privacy policy without publickey - Negative + #Add identificator + Given I submit a new identificator with random phoneNumber via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the sms/email code + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Add register claims + Given I load the REST request {Register.json} with profile {create} + Then I submit registration claims with identificator phonenumber via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the Privacy Policy + Then I delete the headers + | publicKey | + Given I confirm the privacy policy via VIAM API + And the field {status} has the value {Not provided public key} + And the field {code} has the value {400} \ No newline at end of file diff --git a/out/test/resources/features/rest/identity/authorizeDevice/POST.feature b/out/test/resources/features/rest/identity/authorizeDevice/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..4ad9a8998c74f8cd8761a58f58d1c0bd54604861 --- /dev/null +++ b/out/test/resources/features/rest/identity/authorizeDevice/POST.feature @@ -0,0 +1,58 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/authorizeDevice +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - authorizeDevice POST + This endpoints is for authorizing new mobile & desktop devices after they have been added. + + Background: + Given we are testing the VIAM Api + + @authorizeDevice + Scenario: Authorize a new device - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} +#Then I list the devices + Given I clear the request body + Then I set the following request body {{}} + Given I list the devices via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} +#Then I authorize the new device with the first Device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I authorize the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} \ No newline at end of file diff --git a/out/test/resources/features/rest/identity/cancelAction/POST.feature b/out/test/resources/features/rest/identity/cancelAction/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..7eb6e1eb7959159d824ba52ec0df035949b2d93b --- /dev/null +++ b/out/test/resources/features/rest/identity/cancelAction/POST.feature @@ -0,0 +1,140 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/cancelAction +#Author: Rosen Georgiev rosen.georgiev@vereign.com +#Spec: https://code.vereign.com/code/restful-api/blob/master/docs/identityCancelAction.md + +@rest @identity @all +Feature: VIAM - identity - cancelAction POST + Cancels previously created action. Event is sent to entity + + Background: + Given we are testing the VIAM Api + + @cancelAction + Scenario: Cancel a newly created action - Positive + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} + And the field {$.data.ActionID} is present and not empty +#Then I cancel the action + Then I cancel the current action via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Action cancelled} + + @cancelAction @negative @bug-rest-70 + Scenario: Try to cancel an non existent Action - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Then I cancel the action + Given I clear the request body + And I set the request fields + | actionID | 67076864-9f9a-11e8-98d0-529269fb1459 | + Then I cancel an action via VIAM API + And the field {status} has the value {Error during getting action} + And the field {code} has the value {400} + #And the field {data} has the value {?} + + @cancelAction @negative + Scenario Outline: Try to Cancel a newly created action without auth headers [<header>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} + And the field {$.data.ActionID} is present and not empty +#Then I cancel the action + Then I delete the headers + | <header> | + Then I cancel the current action via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | uuid | + | token | + | publicKey | + + @cancelAction @negative + Scenario Outline: Try to Cancel a newly created action with invalid auth headers [<header>] - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} + And the field {$.data.ActionID} is present and not empty +#Then I cancel the action + Then I set the headers + | <header> | <value> | + Then I cancel the current action via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + Examples: + | header | value | status | + | uuid | dasda | No authentication values | + | token | dasda | Bad session | + | publicKey | dasda | No authentication values | + + @cancelAction @negative + Scenario: Try to Cancel an action with unverified publicKey - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} + And the field {$.data.ActionID} is present and not empty +#Then I cancel the action + Then I add a new publicKey header to the currentRequest + Then I cancel the current action via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} \ No newline at end of file diff --git a/out/test/resources/features/rest/identity/confirmAction/POST.feature b/out/test/resources/features/rest/identity/confirmAction/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..9629084676054df36ba4d56df6a32f54b60d267e --- /dev/null +++ b/out/test/resources/features/rest/identity/confirmAction/POST.feature @@ -0,0 +1,236 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/confirmAction +#Author: Rosen Georgiev rosen.georgiev@vereign.com +#Spec: https://code.vereign.com/code/restful-api/blob/master/docs/identityConfirmAction.md + +@rest @identity @all +Feature: VIAM - identity - confirmAction POST + Confirms previously created action. Event is sent to both devices and entity + + Background: + Given we are testing the VIAM Api + +## DESTROYMENT NO LONGER NEEDS TO BE CONFIRMED. TBH WHAT ELSE NEEDS TO BE CONFIRMED +# @destroyKeysForDevice @confirmAction @bug-rest-71 +# Scenario: Confirm action to Destroy a key associated with a device - Positive +##Create a new member +# Then I register a new random member via VIAM API +# And the field {status} has the value {OK} +# And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +##login with sms +# Given I clear the request body +# Then I login member with mode previousaddeddevice via VIAM API +# And the field {status} has the value {OK} +# And the field {code} has the value {200} +##Login the new member +# Given I clear the request body +# Then I login member with mode newdevice via VIAM API +# And the field {status} has the value {OK} +# And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +##Confirm the new device +# Given I clear the request body +# And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} +# Given I confirm the current new device via VIAM API +# Then the field {status} has the value {OK} +# And the field {code} has the value {200} +# And the field {data} has the value {Succesfully executed} +##Then I list the devices +# Given I clear the request body +# Then I set the following request body {{}} +# Given I list the devices via VIAM API +# Then the field {status} has the value {OK} +# And the field {code} has the value {200} +##Then I authorize the new device with the first Device +# Given I clear the request body +# Given I authorize the current new device via VIAM API +# Then the field {status} has the value {OK} +# And the field {code} has the value {200} +##I call to destroy the current publicKey to the device +# Given I set the following request body {{}} +# And I load object with key {secondPublicKey} from DataContainer into currentRequest Body with key {authenticationPublicKey} +# Then I destroy a key for a device via VIAM API +# And the field {status} has the value {OK} +##Then I confirm the action +# Given I set the following request body {{}} +# And I load object with key {secondPublicKey} from DataContainer into currentRequest HEADER {publicKey} +# Then I confirm the current action via VIAM API +# And the field {status} has the value {OK} +# And the field {code} has the value {200} +# And the field {data} has the value {Action executed} +# +# @destroyKeysForDevice @confirmAction @negative +# Scenario: Try to Confirm action to Destroy a key for the same device - Negative +# #Create a new member +# Then I register a new random member via VIAM API +# And the field {status} has the value {OK} +##login with sms +# Given I clear the request body +# Then I login member with mode previousaddeddevice via VIAM API +# And the field {status} has the value {OK} +# And the field {code} has the value {200} +##I call to destroy the current publicKey to the device +# Given I set the following request body {{}} +# Then I destroy the key for the current device via VIAM API +# And the field {status} has the value {OK} +##Then I try to confirm the action +# Given I clear the request body +# Then I confirm the current action via VIAM API +# And the field {status} has the value {There was an error during getting of OTP} +# And the field {code} has the value {400} +# And the field {data} has the value {Can not authenticate action from same device} +# +# @confirmAction @negative +# Scenario Outline: Try to Confirm a newly created action without auth headers [<header>] - Negative +# #Create a new member +# Then I register a new random member via VIAM API +# And the field {status} has the value {OK} +# And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +##login with sms +# Given I clear the request body +# Then I login member with mode previousaddeddevice via VIAM API +# And the field {status} has the value {OK} +# And the field {code} has the value {200} +##Login the new member +# Given I clear the request body +# Then I login member with mode newdevice via VIAM API +# And the field {status} has the value {OK} +# And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +##Confirm the new device +# Given I clear the request body +# And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} +# Given I confirm the current new device via VIAM API +# Then the field {status} has the value {OK} +# And the field {code} has the value {200} +# And the field {data} has the value {Succesfully executed} +##I call to destroy the current publicKey to the device +# Given I set the following request body {{}} +# And I load object with key {secondPublicKey} from DataContainer into currentRequest Body with key {authenticationPublicKey} +# Then I destroy a key for a device via VIAM API +# And the field {status} has the value {OK} +##Then I confirm the action +# Given I set the following request body {{}} +# And I load object with key {secondPublicKey} from DataContainer into currentRequest HEADER {publicKey} +# And I delete the headers +# | <header> | +# Then I confirm the current action via VIAM API +# And the field {status} has the value {No authentication values} +# And the field {code} has the value {400} +# Examples: +# | header | +# | uuid | +# | token | +# | publicKey | +# +# @confirmAction @negative +# Scenario Outline: Try to Confirm an action with invalid auth headers [<header>] - Negative +##Create a new member +# Then I register a new random member via VIAM API +# And the field {status} has the value {OK} +# And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +##login with sms +# Given I clear the request body +# Then I login member with mode previousaddeddevice via VIAM API +# And the field {status} has the value {OK} +# And the field {code} has the value {200} +##Login the new member +# Given I clear the request body +# Then I login member with mode newdevice via VIAM API +# And the field {status} has the value {OK} +# And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +##Confirm the new device +# Given I clear the request body +# And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} +# Given I confirm the current new device via VIAM API +# Then the field {status} has the value {OK} +# And the field {code} has the value {200} +# And the field {data} has the value {Succesfully executed} +##Then I list the devices +# Given I clear the request body +# Then I set the following request body {{}} +# Given I list the devices via VIAM API +# Then the field {status} has the value {OK} +# And the field {code} has the value {200} +##Then I authorize the new device with the first Device +# Given I clear the request body +# Given I authorize the current new device via VIAM API +# Then the field {status} has the value {OK} +# And the field {code} has the value {200} +##I call to destroy the current publicKey to the device +# Given I set the following request body {{}} +# And I load object with key {secondPublicKey} from DataContainer into currentRequest Body with key {authenticationPublicKey} +# Then I destroy a key for a device via VIAM API +# And the field {status} has the value {OK} +##Then I confirm the action +# Given I set the following request body {{}} +# And I load object with key {secondPublicKey} from DataContainer into currentRequest HEADER {publicKey} +# And I set the headers +# | <header> | <value> | +# Then I confirm the current action via VIAM API +# And the field {status} has the value {<status>} +# And the field {code} has the value {400} +# Examples: +# | header | value | status | +# | uuid | dasda | No authentication values | +# | token | dasda | Bad session | +# | publicKey | dasda | No authentication values | +# +# @destroyKeysForDevice @confirmAction @negative @bug-rest-71 +# Scenario: Try to Confirm action to Destroy a key associated with a device with an expired QR code - Negative +##Create a new member +# Then I register a new random member via VIAM API +# And the field {status} has the value {OK} +# And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +##login with sms +# Given I clear the request body +# Then I login member with mode previousaddeddevice via VIAM API +# And the field {status} has the value {OK} +# And the field {code} has the value {200} +##Login the new member +# Given I clear the request body +# Then I login member with mode newdevice via VIAM API +# And the field {status} has the value {OK} +# And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +##Confirm the new device +# Given I clear the request body +# And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} +# Given I confirm the current new device via VIAM API +# Then the field {status} has the value {OK} +# And the field {code} has the value {200} +# And the field {data} has the value {Succesfully executed} +##Then I list the devices +# Given I clear the request body +# Then I set the following request body {{}} +# Given I list the devices via VIAM API +# Then the field {status} has the value {OK} +# And the field {code} has the value {200} +##Then I authorize the new device with the first Device +# Given I clear the request body +# Given I authorize the current new device via VIAM API +# Then the field {status} has the value {OK} +# And the field {code} has the value {200} +##I call to destroy the current publicKey to the device +# Given I set the following request body {{}} +# And I load object with key {secondPublicKey} from DataContainer into currentRequest Body with key {authenticationPublicKey} +# Then I destroy a key for a device via VIAM API +# And the field {status} has the value {OK} +##Then I confirm the action +# Given I set the following request body {{}} +# And I load object with key {secondPublicKey} from DataContainer into currentRequest HEADER {publicKey} +# Then I try to confirm the action with an expired qr code via VIAM API +# And the field {status} has the value {There was an error during getting of OTP} +# And the field {code} has the value {400} +# And the field {data} has the value {Wrong code} \ No newline at end of file diff --git a/out/test/resources/features/rest/identity/confirmIdentificator/POST.feature b/out/test/resources/features/rest/identity/confirmIdentificator/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..0bc941a1d35aac86597f8991e06835a9008fd1b7 --- /dev/null +++ b/out/test/resources/features/rest/identity/confirmIdentificator/POST.feature @@ -0,0 +1,42 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/submitIdentificator +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - confirmIdentificator POST + This call registers a new member + + Background: + Given we are testing the VIAM Api + + @confirmIdentificator + Scenario: Submit a new email Identificator - Positive + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @confirmIdentificator + Scenario: Submit a new phone Identificator - Positive + Given I submit a new identificator with random phoneNumber via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} \ No newline at end of file diff --git a/out/test/resources/features/rest/identity/confirmNewCarddavPublicKey/POST.feature b/out/test/resources/features/rest/identity/confirmNewCarddavPublicKey/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..ab9d0bdba2e6152421c0f56449641c1afa5bd7d3 --- /dev/null +++ b/out/test/resources/features/rest/identity/confirmNewCarddavPublicKey/POST.feature @@ -0,0 +1,141 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/confirmNewCarddavPublicKey +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all @wip @bug-rest-260 +Feature: VIAM - identity - register2FAPublicKey POST + Register 2FA publicKey with username nad password + + Background: + Given we are testing the VIAM Api + + @confirmNewCarddavPublicKey + Scenario: Confirm New CardDav publicKey - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the last request and store it in DataContainer using key {publicKey1} +#Create new credentials for the current entity + Given I set the following request body {{}} + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {OK} +#Register the 2FA publicKey + And I add a new publicKey header to the currentRequest + Then I register the 2FA publicKey with the current username and password via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.actionID} from the last response and store it in the DataContainer with key {actionId} +#Get Action and QRcode + Given I clear the request body + Given I get the actions without session for a devicekey and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data[0].qrCode} from the last response and store it in the DataContainer with key {qrCode} +#Then I confirm the new cardDav publicKey + Given I clear the request body + And I load object with key {publicKey1} from DataContainer into currentRequest HEADER {publicKey} + Then I load object with key {qrCode} from DataContainer into currentRequest Body with key {code} + Then I load object with key {actionId} from DataContainer into currentRequest Body with key {actionID} + Then I confirm CardDav publicKey via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Succesfully executed} + + @confirmNewCarddavPublicKey @negative + Scenario Outline: Try to Confirm New CardDav publicKey with invalid qrCode [<code>] - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the last request and store it in DataContainer using key {publicKey1} +#Create new credentials for the current entity + Given I set the following request body {{}} + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {OK} +#Register the 2FA publicKey + And I add a new publicKey header to the currentRequest + Then I register the 2FA publicKey with the current username and password via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.actionID} from the last response and store it in the DataContainer with key {actionId} +#Get Action and QRcode + Given I clear the request body + Given I get the actions without session for a devicekey and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data[0].qrCode} from the last response and store it in the DataContainer with key {qrCode} +#Then I confirm the new cardDav publicKey + Given I clear the request body + Then I load object with key {qrCode} from DataContainer into currentRequest Body with key {code} + And I load object with key {publicKey1} from DataContainer into currentRequest HEADER {publicKey} + Then I load object with key {actionId} from DataContainer into currentRequest Body with key {actionID} + Then I set the request fields + | <key> | <value> | + Then I confirm CardDav publicKey via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | key | value | status | data | + | code | | There was an error with the input fields | There was an error with the input fields: Code is required | + | code | dsada | Action not succesful | Wrong code | + | actionID | | There was an error with the input fields | There was an error with the input fields: ActionID is required | + | actionID | dsada | Action not succesful | No such actionID | + + @confirmNewCarddavPublicKey @negative + Scenario Outline: Try to Confirm New CardDav publicKey with missing auth header [<header>] - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the last request and store it in DataContainer using key {publicKey1} +#Create new credentials for the current entity + Given I set the following request body {{}} + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {OK} +#Register the 2FA publicKey + And I add a new publicKey header to the currentRequest + Then I register the 2FA publicKey with the current username and password via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.actionID} from the last response and store it in the DataContainer with key {actionId} +#Get Action and QRcode + Given I clear the request body + Given I get the actions without session for a devicekey and from {0} and to {+inf} filters via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data[0].qrCode} from the last response and store it in the DataContainer with key {qrCode} +#Then I confirm the new cardDav publicKey + Given I clear the request body + Then I load object with key {qrCode} from DataContainer into currentRequest Body with key {code} + And I load object with key {publicKey1} from DataContainer into currentRequest HEADER {publicKey} + Then I load object with key {actionId} from DataContainer into currentRequest Body with key {actionID} + Then I delete the headers + | <header> | + Then I confirm CardDav publicKey via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + And the field {data} has the value {{}} + Examples: + | header | + | token | + | uuid | + | publicKey | \ No newline at end of file diff --git a/out/test/resources/features/rest/identity/confirmNewDevice/POST.feature b/out/test/resources/features/rest/identity/confirmNewDevice/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..f40499dcf67bb217939c104cde2eb374084e330f --- /dev/null +++ b/out/test/resources/features/rest/identity/confirmNewDevice/POST.feature @@ -0,0 +1,116 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/confirmNewDevice +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - confirmNewDevice POST + This endpoints is for confirmation of new desktop devices. It confirms the action for + adding new device by already logged in device via QR Code and ActionID + + Background: + Given we are testing the VIAM Api + + @confirmNewDevice + Scenario: Confirm a new device - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Succesfully executed} + + @confirmNewDevice @negative + Scenario: Try to Confirm a new device with the new device publicKey - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} +#Confirm the new device + Given I clear the request body + Given I confirm the current new device via VIAM API + Then the field {status} has the value {No authentication values} + And the field {code} has the value {400} + + @confirmNewDevice @negative + Scenario: Try add a new device and confirm it by having the same publicKey as the original - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} +#Confirm the new device + Given I confirm the current new device via VIAM API + Then the field {status} has the value {Action not succesful} + And the field {code} has the value {400} + And the field {data} has the value {Can not authenticate action from same device} + + @confirmNewDevice @negative + Scenario Outline: Try to confirm a new device with missing auth header [<header>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} +#Try to Confirm the new device + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Then I delete the headers + | <header> | + Given I confirm the current new device via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | uuid | + | token | + | publicKey | diff --git a/out/test/resources/features/rest/identity/destroyKeysForDevice/POST.feature b/out/test/resources/features/rest/identity/destroyKeysForDevice/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..e884837bcd445e1eaee7c18d7596ecf62f6996b6 --- /dev/null +++ b/out/test/resources/features/rest/identity/destroyKeysForDevice/POST.feature @@ -0,0 +1,94 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/destroyKeysForDevice +#Author: Rosen Georgiev rosen.georgiev@vereign.com +#Spec: https://code.vereign.com/code/restful-api/blob/master/docs/identityDestroyKeysForDevice.md + +@rest @identity @all +Feature: VIAM - identity - destroyKeysForDevice POST + Creates action for destroying all keys on server for given device. Returns + QR code and actionID. QR code is on top of OTP, which means every time + getNewEvents is called new QRCodeUpdated event for that action is generated and + returned to all devices attached to entity + + Background: + Given we are testing the VIAM Api + + @destroyKeysForDevice + Scenario: Destroy a key associated with a device - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Succesfully executed} +#I call to destroy the current publicKey to the device + Given I set the following request body {{}} + And I load object with key {secondPublicKey} from DataContainer into currentRequest Body with key {authenticationPublicKey} + Then I destroy a key for a device via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Key destroyed} + + @addNewDevice @negative + Scenario Outline: Try to destroy a publicKey of a device without auth header [<header>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Succesfully executed} +#I call to destroy the current publicKey to the device + Given I set the following request body {{}} + Then I delete the headers + | <header> | + Then I destroy the key for the current device via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | uuid | + | token | + | publicKey | diff --git a/out/test/resources/features/rest/identity/generateCredentials/POST.feature b/out/test/resources/features/rest/identity/generateCredentials/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..f1a369423320a7279e69405065223252e770f8bf --- /dev/null +++ b/out/test/resources/features/rest/identity/generateCredentials/POST.feature @@ -0,0 +1,107 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/generateCredentials +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - generateCredentials POST + Genetarate a username and password for an entity + + Background: + Given we are testing the VIAM Api + + @generateCredentials + Scenario: Generate Credentials for an entity - Positive + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create new credentials for the current entity + Given I set the following request body {{}} + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data.Username} is present and not empty + And the field {$.data.Password} is present and not empty + + @generateCredentials @negative + Scenario Outline: Try to Generate Credentials with a missing header [<header>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create new credentials for the current entity + Given I set the following request body {{}} + Then I delete the headers + | <header> | + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + And the field {data} has the value {{}} + Examples: + | header | + | uuid | + | token | + | publicKey | + + @generateCredentials @negative + Scenario Outline: Try to Generate Credentials with invalid header [<header>] & [<value>] - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create new credentials for the current entity + Given I set the following request body {{}} + Then I set the headers + | <header> | <value> | + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {{}} + Examples: + | header | value | status | + | uuid | | No authentication values | + | token | | No authentication values | + | publicKey | | No authentication values | + | uuid | dasda | No authentication values | + | token | dasda | Bad session | + | publicKey | dasda | No authentication values | + + @generateCredentials @negative + Scenario: Try to create a new credentials with an authorized publicKey - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create new credentials for the current entity + Given I set the following request body {{}} + And I add a new publicKey header to the currentRequest + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + And the field {data} has the value {{}} \ No newline at end of file diff --git a/out/test/resources/features/rest/identity/hasSession/POST.feature b/out/test/resources/features/rest/identity/hasSession/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..1ac582e330ba5d94f594e2bb2f0540428be1c782 --- /dev/null +++ b/out/test/resources/features/rest/identity/hasSession/POST.feature @@ -0,0 +1,165 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/hasSession +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - hasSession POST + Checks whether there is active session + + Background: + Given we are testing the VIAM Api + + @hasSession + Scenario: Check for Active session when logged with SMS mode - Positive + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Check for active session + Given I set the following request body {{}} + Then I check if there an active session via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Has session} + + @hasSession + Scenario: Check for Active session when logged with previousaddeddevice mode - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Logout + Given I clear the request body + Then I call POST /logout via VIAM API + And the field {status} has the value {OK} +#Login the new member with previousaddeddevice mode + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Check for active session + Given I set the following request body {{}} + Then I check if there an active session via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Has session} + + @hasSession @negative + Scenario: Check for active session for unauthorized newdevice mode - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} +#Check for active session + Given I set the following request body {{}} + Then I check if there an active session via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + And the field {data} has the value {{}} + + @hasSession @addNewDevice + Scenario: Check for Active session when logged with mode fromanotherauthenticateddevice - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} +#Then login with the new device + Given I set the following request body {{}} + Given I login member with mode fromanotherauthenticateddevice via VIAM API + And the field {status} has the value {OK} +#Then I list the devices + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Then I set the following request body {{}} + Given I list the devices via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} +#Then I authorize the new device with the first Device + Given I clear the request body + Given I authorize the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} +#Check for active session + Given I set the following request body {{}} + Then I check if there an active session via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Has session} + + @hasSession @negative + Scenario Outline: Try to Check for Active session without required header [<header>] - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Check for active session + Given I set the following request body {{}} + Then I delete the headers + | <header> | + Then I check if there an active session via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | uuid | + | token | + | publicKey | + + @hasSession @negative + Scenario Outline: Try to Check for Active session with invalid required header [<header>] - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Check for active session + Given I set the following request body {{}} + Then I set the headers + | <header> | <value> | + Then I check if there an active session via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + Examples: + | header | value | status | + | uuid | | No authentication values | + | token | | No authentication values | + | publicKey | | No authentication values | + | uuid | dsadas | No authentication values | + | token | dsadas | Bad session | + | publicKey | dsadas | No authentication values | + diff --git a/out/test/resources/features/rest/identity/listDevices/POST.feature b/out/test/resources/features/rest/identity/listDevices/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..76968e1acdf1ba8aeee0e0db8487ece557cbb162 --- /dev/null +++ b/out/test/resources/features/rest/identity/listDevices/POST.feature @@ -0,0 +1,218 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/authorizeDevice +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @deviceManager @identity @all +Feature: VIAM - identity - listDevices POST + This endpoints is for listing all the devices of an user + + Background: + Given we are testing the VIAM Api + + @listDevices + Scenario: List the devices for a user - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +#Then I list the devices + Given I clear the request body + Then I set the following request body {{}} + Given I list the devices via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} + + @listDevices + Scenario: List devices after device is renamed +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Rename the Device + And I rename the current device to {Device Renamed} via VIAM API + And the field {status} has the value {OK} +#List the devices + And I list the devices via VIAM API + And the field {status} has the value {OK} + And the field {$..DeviceName} has the value {["Device Renamed"]} + + @listDevices @negative + Scenario: Try to list devices with a revoked device +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Revoke the Device + And I revoke the current device via VIAM API + And the field {status} has the value {OK} +#List the devices + And I clear the request body + And I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {Device revoked} + And the field {code} has the value {401} + And the field {data} has the value {{}} + + @listDevices + Scenario: List devices after device is revoked when there are two devices +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} + And the field {$..data[1].Status} has the value {[3]} +#Revoke the Device + And I revoke the current device via VIAM API + And the field {status} has the value {OK} +#List the devices + And I clear the request body + And I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$..data[1].Status} has the value {[2]} + + @listDevices @negative + Scenario: Try to List devices with a suspended device +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List Devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Suspend the Device + And I suspend the current device via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {Device suspended} + And the field {code} has the value {401} + And the field {data} has the value {{}} + + @listDevices + Scenario: List devices after device is suspended when there are two devices +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with previousaddeddevice + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} + And the field {$..data[0].Status} has the value {[0]} + And the field {$..data[1].Status} has the value {[3]} +#authorize the new device + And I authorize the current new device via VIAM API + Then the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} + And the field {$..data[0].Status} has the value {[0]} + And the field {$..data[1].Status} has the value {[0]} +#Suspend the Device + And I suspend the current device via VIAM API + And the field {status} has the value {OK} +#List the devices + And I clear the request body + And I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$..data[0].Status} has the value {[0]} + And the field {$..data[1].Status} has the value {[1]} + + + + + + diff --git a/out/test/resources/features/rest/identity/login/POST.feature b/out/test/resources/features/rest/identity/login/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..97095821df29da0f0a97db95e60080cde2c3df55 --- /dev/null +++ b/out/test/resources/features/rest/identity/login/POST.feature @@ -0,0 +1,288 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/login +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - login POST + This call logins a member + + Background: + Given we are testing the VIAM Api + + @login + Scenario: Login a new member with previousaddeddevice mode - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data.Session} is present and not empty + And the field {$.data.Uuid} is present and not empty + + @login + Scenario: Login a new member with newdevice mode - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data.QrCode} is present and not empty + And the field {$.data.ActionID} is present and not empty + + @login @addNewDevice + Scenario: Create new device and then login - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Add new device to the current user + Given I set the following request body {{}} + Then I add a new device via VIAM API + And the field {status} has the value {OK} +#Then login with the new device + Given I login member with mode fromanotherauthenticateddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Succesfully authenticated} + + @login @negative + Scenario: Try to Login a user that did not confirm the privacy - Negative +#Add identificator + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Confirm the sms/email code + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Add register claims + Given I load the REST request {Register.json} with profile {create} + Then I submit registration claims with identificator email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {Error while login} + And the field {code} has the value {400} + And the field {data} has the value {Identity hasn't finished registration and was deleted} + + @login @negative + Scenario: Try to Login a user that did not add the identity info - Negative +#Add identificator + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Confirm the sms/email code + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {Error while login} + And the field {code} has the value {400} + And the field {data} has the value {Identity hasn't finished registration and was deleted} + + @login @negative + Scenario: Try to Login a user that did not send confirmation code - Negative +#Add identificator + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {Error while login} + And the field {code} has the value {400} + And the field {data} has the value {Identity hasn't finished registration and was deleted} + + @login @negative + Scenario: Login with new device and use that qrCode and actionID to call login with fromanotherauthenticateddevice - Negative +#Call login with mode newdevice + Given I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data.QrCode} is present and not empty + And the field {$.data.ActionID} is present and not empty + Then I get the value of {$.data.QrCode} from the last response and store it in the DataContainer with key {QrCode} + Then I get the value of {$.data.ActionID} from the last response and store it in the DataContainer with key {ActionID} +#Then I call login with mode fromanotherauthenticateddevice + Given I clear the request body + Then I load object with key {QrCode} from DataContainer into currentRequest Body with key {code} + Then I load object with key {ActionID} from DataContainer into currentRequest Body with key {actionID} + Given I login member with mode fromanotherauthenticateddevice via VIAM API + Then the field {status} has the value {Login not succesful} + And the field {code} has the value {400} + And the field {data} has the value {Action function arguments count mismatch} + + @destroyKeysForDevice @confirmAction @login @wip + Scenario: Try to login with destroyed device key - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +##login with sms +# Given I clear the request body +# Then I login member with mode previousaddeddevice via VIAM API +# And the field {status} has the value {OK} +# And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {Succesfully executed} +#I call to destroy the current publicKey to the device + Given I set the following request body {{}} + And I load object with key {secondPublicKey} from DataContainer into currentRequest Body with key {authenticationPublicKey} + Then I destroy a key for a device via VIAM API + And the field {status} has the value {OK} +#Then I confirm the action + Given I set the following request body {{}} + And I load object with key {secondPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Then I confirm the current action via VIAM API + And the field {status} has the value {OK} +#Try to login the destroyed device + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {Error while login} + And the field {code} has the value {400} + And the field {data} has the value {redis: nil} + + @login @negative + Scenario: Try to login with a suspended device + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Suspend the device + And I suspend the current device via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {{}} +#Login with previousaddeddevice + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {Error while login} + And the field {code} has the value {400} + And the field {data} has the value {Device suspended} + + @login @negative + Scenario: Try to login with a revoked device + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Revoke the device + And I revoke the current device via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {{}} +#Login with previousaddeddevice + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {Error while login} + And the field {code} has the value {400} + And the field {data} has the value {Device revoked} + + @login + Scenario: Login with device that was suspended and resumed +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with previousaddeddevice + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {Uuid} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {secondPublicKey} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} + And the field {$..data[0].Status} has the value {[0]} + And the field {$..data[1].Status} has the value {[3]} +#authorize the new device + And I authorize the current new device via VIAM API + Then the field {status} has the value {OK} +#Suspend the Device + And I suspend the current device via VIAM API + And the field {status} has the value {OK} +#Load the second public key + And I load object with key {secondPublicKey} from DataContainer into currentRequest HEADER {publicKey} +#login with previousaddeddevice + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {Error while login} + And the field {code} has the value {400} + And the field {data} has the value {Device suspended} +#Load the first public key + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} +#Resume the current device + And I resume the current device via VIAM API + And the field {status} has the value {OK} +#Load the second public key + And I load object with key {secondPublicKey} from DataContainer into currentRequest HEADER {publicKey} +#login with previousaddeddevice + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data.Uuid} has the value stored in DataContainer with key {Uuid} diff --git a/out/test/resources/features/rest/identity/logout/POST.feature b/out/test/resources/features/rest/identity/logout/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..7968456a096ab99d42e1325407e8ec01f81c25d5 --- /dev/null +++ b/out/test/resources/features/rest/identity/logout/POST.feature @@ -0,0 +1,78 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/logout +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - logout POST + This call is to logout the current member + + Background: + Given we are testing the VIAM Api + + @logout + Scenario: Logout a new member - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Logout + Given I clear the request body + Then I call POST /logout via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @logout @negative + Scenario: Try to Logout an already logged out member - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Logout + Given I clear the request body + Then I call POST /logout via VIAM API + And the field {status} has the value {OK} +#Try to Logout an already logged out member + Then I call POST /logout via VIAM API + And the field {status} has the value {Bad session} + And the field {code} has the value {400} + + @logout @negative + Scenario Outline: Try to Logout with missing authorization [<header>] - negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Logout + Given I clear the request body + And I delete the headers + | <header> | + Then I call POST /logout via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | token | + | uuid | \ No newline at end of file diff --git a/out/test/resources/features/rest/identity/register2FAPublicKey/POST.feature b/out/test/resources/features/rest/identity/register2FAPublicKey/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..96abfd9079419127a54db200f5958bf03f65eef9 --- /dev/null +++ b/out/test/resources/features/rest/identity/register2FAPublicKey/POST.feature @@ -0,0 +1,83 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/register2FAPublicKey +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - register2FAPublicKey POST + Register 2FA publicKey with username nad password + + Background: + Given we are testing the VIAM Api + + @register2FAPublicKey + Scenario: Register new 2FA public Key - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create new credentials for the current entity + Given I set the following request body {{}} + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {OK} +#Register the 2FA publicKey + Given I clear ALL headers + And I add a new publicKey header to the currentRequest + Then I register the 2FA publicKey with the current username and password via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data.actionID} is present and not empty + + @register2FAPublicKey @negative @bug-rest-82 @wip + Scenario: Try to Register new 2FA public Key with already used publicKey - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create new credentials for the current entity + Given I set the following request body {{}} + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {OK} +#Try to Register the 2FA publicKey that is already used + Then I register the 2FA publicKey with the current username and password via VIAM API + And the field {status} has the value {???} + And the field {code} has the value {400} + + @register2FAPublicKey @negative + Scenario: Try to Register new 2FA public Key without the publicKey - Negative + #Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create new credentials for the current entity + Given I set the following request body {{}} + Then I create new credentials for the current entity via VIAM API + And the field {status} has the value {OK} +#Try to Register the 2FA publicKey that is already used + Given I clear ALL headers + Then I register the 2FA publicKey with the current username and password via VIAM API + And the field {status} has the value {Not provided public key} + And the field {code} has the value {400} + And the field {data} has the value {{}} \ No newline at end of file diff --git a/out/test/resources/features/rest/identity/renameDevice/POST.feature b/out/test/resources/features/rest/identity/renameDevice/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..f6a969369a0309a42852c19d3b6778b07b458d7e --- /dev/null +++ b/out/test/resources/features/rest/identity/renameDevice/POST.feature @@ -0,0 +1,96 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/identity/renameDevice +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@rest @deviceManager @all +Feature: VIAM - device manager - renameDevice Post + This endpoint is for renaming device + + Background: + Given we are testing the VIAM Api + + @renameDevice + Scenario: Rename device +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Rename the Device + And I rename the current device to {Device Renamed} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @renameDevice @negative + Scenario Outline: Try to rename a device with invalid deviceId [<DeviceId>] and name [<Name>] +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Rename the Device + And I rename a device with device ID {<DeviceId>} to {<Name>} via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | DeviceId | Name | status | code | data | + | | updatedName | There was an error with the input fields | 400 | There was an error with the input fields: deviceID is required | + | ce13ffba-ece1-4062-908f-80ab3b4bbcb3 | | There was an error with the input fields | 400 | There was an error with the input fields: name is required | + | ce13ffba-ece1-4062-908f-80ab3b4bbcb3 | firstName | Unknown deviceID | 401 | {} | + + @renameDevice @negative + Scenario Outline: Try to rename a device without auth header [<header>] + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Delete the prop from the header + And I delete the headers + | <header> | +#Rename the Device + And I rename the current device to {Device Edited} via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | header | status | code | data | + | uuid | No authentication values | 400 | {} | + | publicKey | No authentication values | 400 | {} | + | token | No authentication values | 400 | {} | + diff --git a/out/test/resources/features/rest/identity/resumeDevice/POST.feature b/out/test/resources/features/rest/identity/resumeDevice/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..6f7f206d171a450fafea39bb5b4a0c07e5db247c --- /dev/null +++ b/out/test/resources/features/rest/identity/resumeDevice/POST.feature @@ -0,0 +1,135 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/identity/resumeDevice +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@rest @deviceManager @all +Feature: VIAM - Device Manager - resumeDevice - POST + This endpoint is for resuming device + + Background: + Given we are testing the VIAM Api + + @resumeDevice + Scenario: Resume device that is not suspended +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with previousaddeddevice + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Resume the current device + And I resume the current device via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {{}} + + @resumeDevice + Scenario: Resume device that is suspended + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstPublicKey} +#login with previousaddeddevice + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the new member + Given I clear the request body + Then I login member with mode newdevice via VIAM API + And the field {status} has the value {OK} +#Confirm the new device + Given I clear the request body + And I load object with key {firstPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Given I confirm the current new device via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#authorize the new device + And I authorize the current new device via VIAM API + Then the field {status} has the value {OK} +#Suspend the Device + And I suspend the current device via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Resume the devices + And I resume the current device via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {{}} + + @resumeDevice @negative + Scenario Outline: Try to resume a device with invalid deviceId [<deviceId>] + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with previousaddeddevice + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Resume the current device + And I resume a device with device ID {<deviceId>} via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | deviceId | status | code | data | + | | There was an error with the input fields | 400 | There was an error with the input fields: deviceID is required | + | ce13ffba-ece1-4062-908f-80ab3b4bbcb3 | Unknown deviceID | 401 | {} | + + + @resumeDevice @negative + Scenario Outline: Try to resume a device without auth header [<header>] + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Delete the prop from the header + And I delete the headers + | <header> | +#Resume the current device + And I resume the current device via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | header | status | code | data | + | uuid | No authentication values | 400 | {} | + | publicKey | No authentication values | 400 | {} | + | token | No authentication values | 400 | {} | diff --git a/out/test/resources/features/rest/identity/revokeDevice/POST.feature b/out/test/resources/features/rest/identity/revokeDevice/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..bc5b9207981b18a4c6c3bacc21faec7df672b0c1 --- /dev/null +++ b/out/test/resources/features/rest/identity/revokeDevice/POST.feature @@ -0,0 +1,93 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/identity/revokeDevice +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@rest @deviceManager @all +Feature: VIAM - Device Manager - revokeDevice - POST + This endpoint is for revoking device + + Background: + Given we are testing the VIAM Api + + @revokeDevice + Scenario: Revoke device + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Revoke the device + And I revoke the current device via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {{}} + + @revokeDevice @negative + Scenario Outline: Try to revoke a device with invalid deviceId [<deviceId>] + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Revoke the device + And I revoke a device with device ID {<deviceId>} via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | deviceId | status | code | data | + | | There was an error with the input fields | 400 | There was an error with the input fields: deviceID is required | + | ce13ffba-ece1-4062-908f-80ab3b4bbcb3 | Unknown deviceID | 401 | {} | + + + @revokeDevice @negative + Scenario Outline: Try to revoke a device without auth header [<header>] + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Delete the prop from the header + And I delete the headers + | <header> | + And I revoke the current device via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | header | status | code | data | + | uuid | No authentication values | 400 | {} | + | publicKey | No authentication values | 400 | {} | + | token | No authentication values | 400 | {} | diff --git a/out/test/resources/features/rest/identity/submitIdentificator/POST.feature b/out/test/resources/features/rest/identity/submitIdentificator/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..cafe714b3094635a120c5cfb35f5d2b6d15f7c00 --- /dev/null +++ b/out/test/resources/features/rest/identity/submitIdentificator/POST.feature @@ -0,0 +1,91 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/identity/submitIdentificator +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - submitIdentificator POST + This call registers a new member + + Background: + Given we are testing the VIAM Api + + @submitIdentificator + Scenario: Submit a new email Identificator - Positive + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data.givenName} has the value {} + And the field {$.data.familyName} has the value {} + + @submitIdentificator + Scenario: Submit a new phone Identificator - Positive + Given I submit a new identificator with random phoneNumber via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data.givenName} has the value {} + And the field {$.data.familyName} has the value {} + + @submitIdentificator @negative + Scenario Outline: Try to register a user with the same identificator [<param>] - Positive + #Add identificator + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the sms/email code + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Add register claims + Given I load the REST request {Register.json} with profile {create} + Then I submit registration claims with identificator email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And I get the value of {$.<param>} from the last Request Body and store it in the DataContainer with key {identificator} + #Confirm the Privacy Policy + Given I confirm the privacy policy via VIAM API + Then the field {status} has the value {OK} + And the field {code} has the value {200} + #Try to submit already registered identificator + Given I clear the request body + Then I set the request fields + | registerToken | emptyToken | + And I load object with key {identificator} from DataContainer into currentRequest Body with key {identificator} + Given I submit a new identificator via VIAM API + And the field {status} has the value {Entity is already registered} + And the field {code} has the value {400} + And the field {data} has the value {{}} + Examples: + | param | + | email | + | phonenumber | + + @submitIdentificator @negative + Scenario: Try to Submit Identificator without providing a publicKey- Negative + Given I set the request fields + | registerToken | emptyToken | + Given I submit a new identificator via VIAM API + And the field {code} has the value {400} + + @submitIdentificator @negative @bug-rest-201 + Scenario: Try to Submit Identificator without providing an identificator - Negative + Given I add a new publicKey header to the currentRequest + And I set the request fields + | registerToken | emptyToken | + Given I submit a new identificator via VIAM API + And the field {status} has the value {There was an error with the input fields} + And the field {code} has the value {400} + # bug-rest-201 And the field {data} has the value {There was an error with the input fields: identificator is required} \ No newline at end of file diff --git a/out/test/resources/features/rest/identity/submitRegisterClaims/POST.feature b/out/test/resources/features/rest/identity/submitRegisterClaims/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..914c8fe7ee8a6a69fb0ac8dcea39bd2126bc5cf7 --- /dev/null +++ b/out/test/resources/features/rest/identity/submitRegisterClaims/POST.feature @@ -0,0 +1,149 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://env/api/identity/submitRegisterClaims +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @identity @all +Feature: VIAM - identity - submitRegisterClaims POST + This call adds register claims to an identity + + Background: + Given we are testing the VIAM Api + + @submitRegisterClaims + Scenario: Submit RegisterClaims with identificator Email - Positive + #Add identificator + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the sms/email code + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Add register claims + Given I load the REST request {Register.json} with profile {create} + Then I submit registration claims with identificator email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @submitRegisterClaims + Scenario: Submit RegisterClaims with identificator phone - Positive + #Add identificator + Given I submit a new identificator with random phoneNumber via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the sms/email code + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Add register claims + Given I load the REST request {Register.json} with profile {create} + Then I submit registration claims with identificator phonenumber via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @submitRegisterClaims @negative + Scenario Outline: Try to submit register claims with missing required param [<param>]- Negative + #Add identificator + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the sms/email code + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Try to Add register claims + Given I load the REST request {Register.json} with profile {create} + And I remove the following Keys from current request Body: + | <param> | + Then I submit registration claims via VIAM API + And the field {status} has the value {There was an error with the input fields} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | param | data | + | givenname | There was an error with the input fields: givenname is required | + | phonenumber | There was an error with the input fields: phonenumber is required | + | familyname | There was an error with the input fields: familyname is required | + | email | There was an error with the input fields: email is required | + + @submitRegisterClaims @negative + Scenario Outline: Try to submit registration claims with invalid data [<profile>] - Negative + #Add identificator + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the sms/email code + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Try to submit register claims + Given I load the REST request {Register.json} with profile {<profile>} + Then I submit registration claims via VIAM API + And the field {status} has the value {There was an error with the input fields} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | profile | data | + | empty_email | There was an error with the input fields: email is required | + | empty_name | There was an error with the input fields: givenname is required | + | empty_phone | There was an error with the input fields: phonenumber is required | + | empty_familyname | There was an error with the input fields: familyname is required | + + @submitRegisterClaims @negative @wip + Scenario Outline: Try to Register a new member with already existing [<key>] - Negative + Then I register a new random member via VIAM API + And the field {status} has the value {OK} + And I set random value with format {<format>} to field {<key>} inside Request Body + Then I register a new member via VIAM API + And the field {status} has the value {Bad request} + And the field {code} has the value {400} + And the field {data} has the value {Identificator is already taken} + Examples: + | key | format | + | email | xxxxxxxxxxx@yyyy.zzz | + | phonenumber | 1111111111 | + + @submitRegisterClaims @negative + Scenario: Try to register without providing a publickey - Negative + #Add identificator + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + #Confirm the sms/email code + Then I confirm indentificator with code {98128366} via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Add register claims + Given I load the REST request {Register.json} with profile {create} + Then I delete the headers + | publicKey | + Then I submit registration claims with identificator email via VIAM API + And the field {status} has the value {Not provided public key} + And the field {code} has the value {400} + + @submitRegisterClaims @negative + Scenario: Try to add register claims without provided correct confirmation code - Negative + #Add identificator + Given I submit a new identificator with random email via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + #Confirm the sms/email code + Then I confirm indentificator with code {98128361} via VIAM API + #Add register claims + Given I load the REST request {Register.json} with profile {create} + Then I submit registration claims with identificator email via VIAM API + And the field {status} has the value {Entity is not activated} + And the field {code} has the value {400} \ No newline at end of file diff --git a/out/test/resources/features/rest/identity/suspendDevice/POST.feature b/out/test/resources/features/rest/identity/suspendDevice/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..acfb74ed3282c72f86799032be25b866af8ce28d --- /dev/null +++ b/out/test/resources/features/rest/identity/suspendDevice/POST.feature @@ -0,0 +1,93 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/identity/suspendDevice +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@rest @deviceManager @all +Feature: VIAM - deviceManager - suspendDevice - POST + This endpoint is for suspending device + + Background: + Given we are testing the VIAM Api + + @suspendDevice + Scenario: Suspend device + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Suspend the device + And I suspend the current device via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} has the value {{}} + + @suspendDevice @negative + Scenario Outline: Try to suspend a device with invalid deviceId [<deviceId>] + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Suspend the device + And I suspend a device with device ID {<deviceId>} via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | deviceId | status | code | data | + | | There was an error with the input fields | 400 | There was an error with the input fields: deviceID is required | + | ce13ffba-ece1-4062-908f-80ab3b4bbcb3 | Unknown deviceID | 401 | {} | + + + @suspendDevice @negative + Scenario Outline: Try to suspend a device without auth header [<header>] + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#List the devices + Given I clear the request body + Then I set the following request body {{}} + And I list the devices via VIAM API + And the field {status} has the value {OK} +#Delete the prop from the header + And I delete the headers + | <header> | + And I suspend the current device via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {<code>} + And the field {data} has the value {<data>} + Examples: + | header | status | code | data | + | uuid | No authentication values | 400 | {} | + | publicKey | No authentication values | 400 | {} | + | token | No authentication values | 400 | {} | diff --git a/out/test/resources/features/rest/passport/attachFunction/POST.feature b/out/test/resources/features/rest/passport/attachFunction/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..ec9088849e544a6199990d4c311462721cf5dc17 --- /dev/null +++ b/out/test/resources/features/rest/passport/attachFunction/POST.feature @@ -0,0 +1,159 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/passport/attachFunction +#spec: https://code.vereign.com/code/restful-api/blob/master/docs/passportAttachFunction.md +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @passport @all @bug-rest-317 @wip +Feature: VIAM - passport - attachFunction POST + This endpoint is for attaching a function to a passport claim. + + Background: + Given we are testing the VIAM Api + + @attachFunction + Scenario: Create a new claim passport and add function - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I link the passport entity to the new claim + Given I clear the request body + Then I link the current entity claim {age} with tag {ageValue} to the passport entity via VIAM API + And the field {status} has the value {OK} +#Then I add a function to the current claim passport + Given I clear the request body + Then I attach function {biggerThan} to the current claim {age} with tag {ageValue} passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @attachFunction @negative + Scenario Outline: Try to attach function with invalid function [<function>] or claim [<claim>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I link the passport entity to the new claim + Given I clear the request body + Then I link the current entity claim {age} with tag {ageValue} to the passport entity via VIAM API + And the field {status} has the value {OK} +#Then I add a function to the current claim passport + Given I clear the request body + Then I attach function {<function>} to the current claim {<claim>} with tag {ageValue} passport via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | function | claim | status | data | + | biggerThan | | There was an error with the input fields | There was an error with the input fields: claimName is required | + | biggerThan | degree | Claim does not exist for this passport | {} | + | | age | There was an error with the input fields | There was an error with the input fields: functionPointer is required | +#no validation yet | sdadsdsdsd | age | Claim does not exist for this passport | {} | + + @attachFunction @negative + Scenario Outline: Try to add a function to a claim passport with missing auth header [<header>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I link the passport entity to the new claim + Given I clear the request body + Then I link the current entity claim {age} with tag {ageValue} to the passport entity via VIAM API + And the field {status} has the value {OK} +#Then I add a function to the current claim passport + Given I clear the request body + And I delete the headers + | <header> | + Then I attach function {biggerThan} to the current claim {age} with tag {ageValue} passport via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | token | + | uuid | + + #functions are not showed in get passport + @attachFunction @wip + Scenario: Get Passport entity that has function and vefiry it - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I link the passport entity to the new claim + Given I clear the request body + Then I link the current entity claim {age} with tag {ageValue} to the passport entity via VIAM API + And the field {status} has the value {OK} + #Then I get the Passport Entity - just to compare later + Given I clear the request body + Then I get the passport entity via the VIAM API + And the field {status} has the value {OK} +#Then I add a function to the current claim passport + Given I clear the request body + Then I attach function {biggerThan} to the current claim {age} with tag {ageValue} passport via VIAM API + And the field {status} has the value {OK} +#Then I get the Passport Entity + Given I clear the request body + Then I get the passport entity via the VIAM API + And the field {status} has the value {OK} \ No newline at end of file diff --git a/out/test/resources/features/rest/passport/generateDIDs/POST.feature b/out/test/resources/features/rest/passport/generateDIDs/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..da28a384111e2ca9d653cad66b4147c9e7518fbe --- /dev/null +++ b/out/test/resources/features/rest/passport/generateDIDs/POST.feature @@ -0,0 +1,86 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/passport/generateDIDs +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @hyperledger @passport @all @wip +Feature: VIAM - passport - generateDIDs POST + This endpoint is for generating DIDs record and storing it in the HyperLedger-agent. + + Background: + Given we are testing the VIAM Api + + @generateDID + Scenario: Generate DID with a passport - Positive + Given I set the headers + | publicKey | lQ6eTBloJINOxKoOfFjvtO0qP4NFsD8sOHIgI+/qhafaY2HmzRAufu2iUSh0OcuxDVwqbkc1ztwCl1CR2JPE6owmtaR9+6Ku+D1Jh7VvbljlkiX9+0A5CXdTlhV7bwK7yD12D+P0EYflwQqxplcotmWyr1HQxW+VQVr/VjXA2Q3AbCsS27m3n3nSE7YH2tw+QN6Ix71ozI2RXQ9rQHIBHpwCLDAz/n+VuI2MaYfAlD5lc/qXUxDVzzyl8idU3b39X3bBcg0Q0v+qt+gGYYBc3pJjSmqV6EfU6uFLfj80/G7qGSCOKy8aSnRbpMEr4NZre5KN92SG3bBCBETMFZlEFQ== | + Then I login member with mode previousaddeddevice via VIAM API +#Then I generate the DID + Given I clear the request body + Then I set the request fields + | passportUUID | 704cc39a-b2db-4df2-a87e-3829997e9dcb | + Then I generate a DID for a passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the value of field {data} should contain the text {-----BEGIN CERTIFICATE-----} + + @generateDID @negative + Scenario: Try to Generate DID with a passport without authentication - Negative +#Then I generate the DID + Given I clear the request body + Then I set the request fields + | passportUUID | 704cc39a-b2db-4df2-a87e-3829997e9dcb | + Then I generate a DID for a passport via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + And the field {data} has the value {{}} + + @generateDID @negative @bug-rest-106 @wip + Scenario: Try to Generate DID with a passport without user that is not viewer/owner of the passport - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Then I generate the DID + Given I clear the request body + Then I set the request fields + | passportUUID | 704cc39a-b2db-4df2-a87e-3829997e9dcb | + Then I generate a DID for a passport via VIAM API + And the field {status} has the value {??} + And the field {code} has the value {400} + And the field {data} has the value {{}} + + @generateDID @negative + Scenario Outline: Try to Generate DID with invalid passport [<value>] - Negative + Given I set the headers + | publicKey | lQ6eTBloJINOxKoOfFjvtO0qP4NFsD8sOHIgI+/qhafaY2HmzRAufu2iUSh0OcuxDVwqbkc1ztwCl1CR2JPE6owmtaR9+6Ku+D1Jh7VvbljlkiX9+0A5CXdTlhV7bwK7yD12D+P0EYflwQqxplcotmWyr1HQxW+VQVr/VjXA2Q3AbCsS27m3n3nSE7YH2tw+QN6Ix71ozI2RXQ9rQHIBHpwCLDAz/n+VuI2MaYfAlD5lc/qXUxDVzzyl8idU3b39X3bBcg0Q0v+qt+gGYYBc3pJjSmqV6EfU6uFLfj80/G7qGSCOKy8aSnRbpMEr4NZre5KN92SG3bBCBETMFZlEFQ== | + Then I login member with mode previousaddeddevice via VIAM API +#Then I generate the DID + Given I clear the request body + Then I set the request fields + | passportUUID | <value> | + Then I generate a DID for a passport via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | value | status | data | + | | There was an error with the input fields | There was an error with the input fields: passportUUID is required | + | d37388e2-73ce-4d59-8512-fda5f0168f35 | can't generate DID:Error retrieving entity d37388e2-73ce-4d59-8512-fda5f0168f35: response is null | {} | + | d37388e2-73ce-4d59-8512 | can't generate DID:Error retrieving entity d37388e2-73ce-4d59-8512: response is null | {} | diff --git a/out/test/resources/features/rest/passport/getDIDs/POST.feature b/out/test/resources/features/rest/passport/getDIDs/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..e7853d5029cc05ba2c3d914399aead7c17526904 --- /dev/null +++ b/out/test/resources/features/rest/passport/getDIDs/POST.feature @@ -0,0 +1,89 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/passport/getDIDs +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @hyperledger @passport @all @wip +Feature: VIAM - passport - getDIDs POST + This endpoint get record from the HyperLedger-agent. + + Background: + Given we are testing the VIAM Api + + @getDIDs + Scenario: Store a DID and then Get it - Positive + Given I set the headers + | publicKey | lQ6eTBloJINOxKoOfFjvtO0qP4NFsD8sOHIgI+/qhafaY2HmzRAufu2iUSh0OcuxDVwqbkc1ztwCl1CR2JPE6owmtaR9+6Ku+D1Jh7VvbljlkiX9+0A5CXdTlhV7bwK7yD12D+P0EYflwQqxplcotmWyr1HQxW+VQVr/VjXA2Q3AbCsS27m3n3nSE7YH2tw+QN6Ix71ozI2RXQ9rQHIBHpwCLDAz/n+VuI2MaYfAlD5lc/qXUxDVzzyl8idU3b39X3bBcg0Q0v+qt+gGYYBc3pJjSmqV6EfU6uFLfj80/G7qGSCOKy8aSnRbpMEr4NZre5KN92SG3bBCBETMFZlEFQ== | + Then I login member with mode previousaddeddevice via VIAM API +#Then I store the DID + Given I clear the request body + Then I set the request fields + | passportUUID | 704cc39a-b2db-4df2-a87e-3829997e9dcb | + Then I store the DID for a passport via VIAM API + And the field {status} has the value {OK} +#Then I get it + Then I get a DID for a passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {$.data} contains the value {did:vereign:704cc39a-b2db-4df2-a87e-3829997e9dcb} + And the field {$.data} contains the value {-----BEGIN CERTIFICATE-----} + And the field {$.data} contains the value {-----END CERTIFICATE-----} + + @getDIDs @negative + Scenario: Try to get a DID without authentication - Negative + Given I set the request fields + | passportUUID | 704cc39a-b2db-4df2-a87e-3829997e9dcb | + Then I get a DID for a passport via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + And the field {data} contains the value {{}} + + @getDIDs @negative @bug-rest-106 @wip + Scenario: Try to get a DID of another user without being a viewer/gaurdian - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Try to get a DID + Given I clear the request body + And I set the request fields + | passportUUID | 704cc39a-b2db-4df2-a87e-3829997e9dcb | + Then I get a DID for a passport via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + And the field {data} contains the value {{}} + + @getDIDs @negative @bug-rest-109 @wip + Scenario Outline: Try to get a DID with invalid passportUUID [<value>] - Negative + Given I set the headers + | publicKey | lQ6eTBloJINOxKoOfFjvtO0qP4NFsD8sOHIgI+/qhafaY2HmzRAufu2iUSh0OcuxDVwqbkc1ztwCl1CR2JPE6owmtaR9+6Ku+D1Jh7VvbljlkiX9+0A5CXdTlhV7bwK7yD12D+P0EYflwQqxplcotmWyr1HQxW+VQVr/VjXA2Q3AbCsS27m3n3nSE7YH2tw+QN6Ix71ozI2RXQ9rQHIBHpwCLDAz/n+VuI2MaYfAlD5lc/qXUxDVzzyl8idU3b39X3bBcg0Q0v+qt+gGYYBc3pJjSmqV6EfU6uFLfj80/G7qGSCOKy8aSnRbpMEr4NZre5KN92SG3bBCBETMFZlEFQ== | + Then I login member with mode previousaddeddevice via VIAM API +#Then I get it + Given I clear the request body + Then I set the request fields + | passportUUID | <value> | + Then I get a DID for a passport via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | value | status | data | + | | There was an error with the input fields | There was an error with the input fields: passportUUID is required | + | d37388e2-73ce-4d59-8512-fda5f0168f35 | can't generate DID:Error retrieving entity d37388e2-73ce-4d59-8512-fda5f0168f35: response is null | {} | + | d37388e2-73ce-4d59-8512 | can't generate DID:Error retrieving entity d37388e2-73ce-4d59-8512: response is null | {} | diff --git a/out/test/resources/features/rest/passport/linkClaim/POST.feature b/out/test/resources/features/rest/passport/linkClaim/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..c7089ba0de38131440a36912f45ba2e9873e8d77 --- /dev/null +++ b/out/test/resources/features/rest/passport/linkClaim/POST.feature @@ -0,0 +1,109 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/passport/linkClaim +#spec: https://code.vereign.com/code/restful-api/blob/master/docs/passportLinkClaim.md +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @passport @all +Feature: VIAM - passport - linkClaim POST + Links an existing claim to a passport + + Background: + Given we are testing the VIAM Api + + @linkClaim @bug-rest-317 @wip + Scenario: Create a new passport and link it to a claim - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I link the passport entity to the new claim + Given I clear the request body + Then I link the current entity claim {age} with tag {ageValue} to the passport entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + + @linkClaim @negative + Scenario Outline: Try to create a link to a passport with non existing claim [<claim>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I link the passport entity to the new claim + Given I clear the request body + Then I link the current entity claim {<claim>} with tag {ageValue} to the passport entity via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | claim | status | data | + | | There was an error with the input fields | There was an error with the input fields: claimName is required | + | degree | The entity does not have such claim | {} | + + @linkClaim @negative + Scenario Outline: Try to Create a new claim link to a passport with missing auth header [<header>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I link the passport entity to the new claim + Given I clear the request body + And I delete the headers + | <header> | + Then I link the current entity claim {age} with tag {ageValue} to the passport entity via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | token | + | uuid | diff --git a/out/test/resources/features/rest/passport/listFunctions/POST.feature b/out/test/resources/features/rest/passport/listFunctions/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..9408573041f0abb13c3ba79db488da777ca3c642 --- /dev/null +++ b/out/test/resources/features/rest/passport/listFunctions/POST.feature @@ -0,0 +1,44 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/passport/listFunctions +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @hyperledger @passport @all @wip @bug-passport-8 +Feature: VIAM - passport - listFunctions POST + This endpoint is for getting functions list in the passport-generation-agent + + Background: + Given we are testing the VIAM Api + + @listFunctions + Scenario: List Functions from the passport-generation-agent - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Then I call list Functions + Given I set the following request body {{}} + Then I get the functions list from the passport generation agent via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the response is valid according to the {ListFunctions_schema.json} REST schema + And the field {$..Name} contains the value {FormatAddress} + And the field {$..Name} contains the value {FormatName} + And the field {$..Name} contains the value {Identity} + diff --git a/out/test/resources/features/rest/passport/listPassports/POST.feature b/out/test/resources/features/rest/passport/listPassports/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..3be593bab6a0817b6915dcd0ccdb98ec242dbdc9 --- /dev/null +++ b/out/test/resources/features/rest/passport/listPassports/POST.feature @@ -0,0 +1,187 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#/passport/listPassports +#spec: https://code.vereign.com/code/restful-api/blob/master/docs/passportLinkClaim.md +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @entity @passport @all +Feature: VIAM - passport - listPassports POST + List all passports to an entity + + Background: + Given we are testing the VIAM Api + + @listPassports @bug-rest-317 @wip + Scenario: List all passports to the logged entity - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {guardianUuid} + And I get the value of the {publicKey} HEADER from the current request and store it in DataContainer using key {firstMemberPublicKey} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {passportUuid} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I link the passport entity to the new claim + Given I clear the request body + Then I link the current entity claim {age} with tag {ageValue} to the passport entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Login the first user to get his passport + Given I clear the request body + Then I load object with key {firstMemberPublicKey} from DataContainer into currentRequest HEADER {publicKey} + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Then I call listPassports + And I set the following request body {{}} + Then I get the list of all passports of the logged user via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the field {data} contains {4} element + And the array {$..uuid} contains the value stored in DataContainer with key {passportUuid} + And the field {$..ageValue.value.value} has the value {["23"]} + And the array {$.data[0].guardians[0]} contains the value stored in DataContainer with key {guardianUuid} + + @listPassports + Scenario: Get passports of an entity that has only default Passports - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Then I call listPassports + Given I clear the request body + And I set the following request body {{}} + Then I get the list of all passports of the logged user via VIAM API + And the field {status} has the value {OK} + And the field {$.data} contains {3} elements + And the field {$..passportName} contains the value {Social} + And the field {$..passportName} contains the value {Friends} + And the field {$..passportName} contains the value {Email} + + @listPassports + Scenario: List all passports that are not linked to a claim - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {guardianUuid} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {passportUuid} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Then I call listPassports + Given I clear the request body + And I set the following request body {{}} + Then I get the list of all passports of the logged user via VIAM API + And the field {status} has the value {OK} + And the array {$..uuid} contains the value stored in DataContainer with key {passportUuid} + And the array {$.data[0].guardians} contains the value stored in DataContainer with key {guardianUuid} + + @negative @listPassports + Scenario: Try to List the passports of another member - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {firstMemberUuid} + And I get the value of {$.data.Session} from the last response and store it in the DataContainer with key {firstMemberSession} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Create a second member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Then I call listPassports + Given I clear the request body + Then I load object with key {firstMemberUuid} from DataContainer into currentRequest HEADER {uuid} + Then I load object with key {firstMemberSession} from DataContainer into currentRequest HEADER {token} + And I set the following request body {{}} + Then I get the list of all passports of the logged user via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + + @listPassports @negative + Scenario Outline: Try to List all passports with missing auth headers [<header>]- Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I set random value with UUID format to field {uuid} inside Request Body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Then I call listPassports + Given I clear the request body + And I delete the headers + | <header> | + And I set the following request body {{}} + Then I get the list of all passports of the logged user via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + Examples: + | header | + | token | + | uuid | \ No newline at end of file diff --git a/out/test/resources/features/rest/passport/storeDIDs/POST.feature b/out/test/resources/features/rest/passport/storeDIDs/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..726e6bfc1e869d89f25cc3ed38b2694aebecd8b7 --- /dev/null +++ b/out/test/resources/features/rest/passport/storeDIDs/POST.feature @@ -0,0 +1,121 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost:3443/passport/storeDIDs +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @hyperledger @passport @all @wip +Feature: VIAM - passport - storeDIDs POST + This endpoint is for generating DIDs record and storing it in the HyperLedger-agent. + + Background: + Given we are testing the VIAM Api + + @storeDids + Scenario: Generate and Store DIDs in the hyperledger agent - Positive + Given I set the headers + | publicKey | lQ6eTBloJINOxKoOfFjvtO0qP4NFsD8sOHIgI+/qhafaY2HmzRAufu2iUSh0OcuxDVwqbkc1ztwCl1CR2JPE6owmtaR9+6Ku+D1Jh7VvbljlkiX9+0A5CXdTlhV7bwK7yD12D+P0EYflwQqxplcotmWyr1HQxW+VQVr/VjXA2Q3AbCsS27m3n3nSE7YH2tw+QN6Ix71ozI2RXQ9rQHIBHpwCLDAz/n+VuI2MaYfAlD5lc/qXUxDVzzyl8idU3b39X3bBcg0Q0v+qt+gGYYBc3pJjSmqV6EfU6uFLfj80/G7qGSCOKy8aSnRbpMEr4NZre5KN92SG3bBCBETMFZlEFQ== | + Then I login member with mode previousaddeddevice via VIAM API +#Then I store the DID + Given I clear the request body + Then I set the request fields + | passportUUID | 704cc39a-b2db-4df2-a87e-3829997e9dcb | + Then I store the DID for a passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} + And the value of field {data} should contain the text {-----BEGIN CERTIFICATE-----} + + @storeDids @negative + Scenario: Try to Generate and Store DIDs in the hyperledger agent without authentication - Negative +#Then I store the DID + Given I clear the request body + Then I set the request fields + | passportUUID | 704cc39a-b2db-4df2-a87e-3829997e9dcb | + Then I store the DID for a passport via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + And the value of field {data} should contain the text {{}} + + @storeDids @negative @bug-rest-106 @wip + Scenario: Try to Store a DID with a member that is not a guardian/viewer ot that passport - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Then I try to store a DID + Given I clear the request body + Then I set the request fields + | passportUUID | 704cc39a-b2db-4df2-a87e-3829997e9dcb | + Then I store the DID for a passport via VIAM API + And the field {status} has the value {No authentication values} + And the field {code} has the value {400} + And the field {data} has the value {{}} + + @storeDids @negative + Scenario Outline: Try to Store DIDs in the hyperledger agent with invalid passportUUID [<value>] - Negative + Given I set the headers + | publicKey | lQ6eTBloJINOxKoOfFjvtO0qP4NFsD8sOHIgI+/qhafaY2HmzRAufu2iUSh0OcuxDVwqbkc1ztwCl1CR2JPE6owmtaR9+6Ku+D1Jh7VvbljlkiX9+0A5CXdTlhV7bwK7yD12D+P0EYflwQqxplcotmWyr1HQxW+VQVr/VjXA2Q3AbCsS27m3n3nSE7YH2tw+QN6Ix71ozI2RXQ9rQHIBHpwCLDAz/n+VuI2MaYfAlD5lc/qXUxDVzzyl8idU3b39X3bBcg0Q0v+qt+gGYYBc3pJjSmqV6EfU6uFLfj80/G7qGSCOKy8aSnRbpMEr4NZre5KN92SG3bBCBETMFZlEFQ== | + Then I login member with mode previousaddeddevice via VIAM API +#Then I store the DID + Given I clear the request body + Then I set the request fields + | passportUUID | <value> | + Then I store the DID for a passport via VIAM API + And the field {status} has the value {<status>} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | value | status | data | + | | There was an error with the input fields | There was an error with the input fields: passportUUID is required | + | d37388e2-73ce-4d59-8512-fda5f0168f35 | can't generate DID:Error retrieving entity d37388e2-73ce-4d59-8512-fda5f0168f35: response is null | {} | + | d37388e2-73ce-4d59-8512 | can't generate DID:Error retrieving entity d37388e2-73ce-4d59-8512: response is null | {} | + +#This test is only in case the record of the passport was deleted. To generate new one with all the required data + @wip + Scenario: Create new Passport with claims and then generate and store DID of it - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#login with sms + Given I clear the request body + Then I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {create_private} + Then I add a new claim to the current entity via VIAM API + And the field {status} has the value {OK} +#Then I link the claim to the passport + Given I clear the request body + Then I link the current entity claim {emails} with tag {registration} to the passport entity via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} +#Then I add a function to the current claim passport + Given I clear the request body + Then I attach function {Identity} to the current claim {emails} with tag {registration} passport via VIAM API + And the field {status} has the value {OK} + And the field {code} has the value {200} \ No newline at end of file diff --git a/out/test/resources/features/selenium/chromeExtension/ChromeExtension.feature b/out/test/resources/features/selenium/chromeExtension/ChromeExtension.feature new file mode 100644 index 0000000000000000000000000000000000000000..0eeb7d31401d0591b7a688c1f7ca16d7e388498b --- /dev/null +++ b/out/test/resources/features/selenium/chromeExtension/ChromeExtension.feature @@ -0,0 +1,133 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @parallel +Feature: Chrome extension + + Background: + Given we are testing the VIAM Api + + @gmail @bug-dashboard-542 + Scenario: Login with invalid PIN and validate user is blocked in dashboard + Given I open chrome and load chrome extension + When I change the extension environment +#Chrome extension and profile loaded + And User navigates to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Dashboard Logged in + And User navigates to the extension URL +#first attempt + And User populates chrome extension PIN "2222" + And User click on chrome extension Send button + Then Error Message is presented in the chrome extension page with text "Wrong pincode" +#Second Attempt + When User click on chrome extension Send button + Then Error Message is presented in the chrome extension page with text "Wrong pincode" +#Third Attempt + When User click on chrome extension Send button + Then Error Message is presented in the chrome extension page with text "3 failed attempts. Identity is locked!" +#Fourth Attempt + When User click on chrome extension Send button + Then Error Message is presented in the chrome extension page with text that contains "Your identity has been locked. Try again in " +#Validate that the error message will be shown even with valid PIN + When User populates chrome extension PIN "1111" + And User click on chrome extension Send button + Then Error Message is presented in the chrome extension page with text that contains "Your identity has been locked. Try again in " + And I wait for {2000} mseconds +# When User navigates to vereign login page +# And User populates PIN code field "1111" +# And User click on Authenticate button +# Then Error Message is presented with text that contains "Your identity has been locked. Try again in 4 minutes and " and error message disappears + And I close the browser + + @gmail + Scenario: Logout and login into chrome extension with valid PIN + Given I open chrome and load chrome extension + When I change the extension environment +#Chrome extension and profile loaded + And User navigates to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Dashboard Logged in + And User navigates to the extension URL + And User navigates to the extension URL in new window + And User populates chrome extension PIN "1111" + And User click on chrome extension Send button + And I wait for {2000} mseconds + And I refresh the current page + And User navigates to the extension URL + And Validate Logged in as label is presented + And Validate the presented credentials are "BD" + And Validate chrome extension Privacy Policy link has the correct href and text + When User click on chrome extension Logout button + And Validate Logged in as label is not presented + And Validate Choose Identity labels is presented + And Validate the presented credentials are "BD" + And I close the browser + + @gmail + Scenario: Login with account that have image claim + Given I open chrome and load chrome extension + When I change the extension environment + And User navigates to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + And User click on close tour button + And User click on Identity tab + And User upload a photo with valid format to the identity + Then Validate image is presented + When User click on Profiles tab + And User click on profile with name "Email" + And I wait for {500} mseconds + And User Adds the image claim in the profile + And Validate image is presented in the current profile + And User click on Inbox tab + And User navigates to the extension URL + And User navigates to the extension URL in new window + And User populates chrome extension PIN "1111" + And User click on chrome extension Send button + And I wait for {2000} mseconds + And I refresh the current page + And Validate chrome extension image is presented + And I close the browser + + @gmail + Scenario: Logout from extension and validate user is logged out from dashboard +#Open chrome and load the chrome extension + Given I open chrome and load chrome extension + When I change the extension environment +#Register the new user + And User navigates to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Dashboard Logged in + And User click on close tour button +#Login into chrome extension in new window + And User navigates to the extension URL in new window + And User populates chrome extension PIN "1111" + And User click on chrome extension Send button +#Logout from chrome extension + And User navigates to the extension URL in new window + And I wait for {2000} mseconds + And I refresh the current page + And User click on chrome extension Logout button + And Validate Logged in as label is not presented +#Validate user is logged out of the dashboard + And Validate that user is logged out of the dashboard after logging out of chrome extension + And I close the browser + + diff --git a/out/test/resources/features/selenium/dashboard/Contacts.feature b/out/test/resources/features/selenium/dashboard/Contacts.feature new file mode 100644 index 0000000000000000000000000000000000000000..8a22089e77b133a42399c5d8fb6db6f3832ee5d4 --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/Contacts.feature @@ -0,0 +1,501 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @dashboard @notParallel +Feature: Dashboard - Contacts + + Background: + Given we are testing the VIAM Api + + @contact @gmail @bug-dashboard-659 + Scenario Outline: Send verified gmail email from profile <Profile_Name> and validate the contact +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Check if the gmail account is created and login with gmail account + And User logs into vereign with gmail account +#Change the environment + When I change the extension environment +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User selects "<Profile_Name>" from the gmail profile select + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with random email + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "<Message>" + And User click on gmail Send button + And I wait for {2000} mseconds +#Validate the contact is not presented in the list of the sender + And User navigates to vereign login page + And User click on Contacts tab + And Validate the contact is not presented +#Register the not registered user + And User logs out of vereign and click on cleanup local identity + And User registers the not registered receiver via VIAM API + And User logs into vereign with newly created account + And User click on Contacts tab +#Validate the contacts table + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "<Contact_Name>" + And User Validate the email of the "1" contact is "<Contact_Email>" + And User Validate the phone of the "1" contact is "<Contact_Phone>" + And User Validate the last updated of the "1" contact is "<Contact_Last_Updated>" + And User Validate the email claim on the "1" row is "<Email_Verified>" + And User Validate the phone claim on the "1" row is "<Phone_Verified>" +#Validate the contact is not presented in the contact list of the sender + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account + And User click on Contacts tab + And User scrolls to the botton of the page +#bug-dashboard-659 +# And Validate the contact is not presented + And I close the browser + + Examples: + | Profile_Name | Message | Contact_Name | Contact_Email | Contact_Phone | Contact_Last_Updated | Email_Verified | Phone_Verified | + | No Claims | Email from profile No Claims | Anonymous | N/A | N/A | Today | not verified | not verified | + | Name Only | Email from profile Name Only | Automation Vereign | N/A | N/A | Today | not verified | not verified | + | Email | Email from profile Email | Automation Vereign | vereign.automation@gmail.com | N/A | Today | verified | not verified | + | Friends | Email from profile Friends | Automation Vereign | vereign.automation@gmail.com | +359884045187 | Today | verified | not verified | + | Social | Email from profile Social | Automation Vereign | vereign.automation@gmail.com | +359884045187 | Today | verified | not verified | + | NotValidatedEmail | Email from profile NotValidatedEmail | Anonymous | notValidated@example.com | N/A | Today | not verified | not verified | + + + @contacts @roundcube @bug-dashboard-659 + Scenario Outline: Send verified roundcube email from profile <Profile_Name> and validate the contact +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Check if the roundcube account is created and login with roundcube account + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On + And User selects "<Profile_Name>" from the roundcube profile select +#Compose the email + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field with random email + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "<Message>" + And User click on roundcube Send button +#Validate the contact is not presented in the list of the sender + And User navigates to vereign login page + And User click on Continue button + And User click on Contacts tab + And Validate the contact is not presented +#Register the not registered user + And User logs out of vereign and click on cleanup local identity + And User registers the not registered receiver via VIAM API + And User logs into vereign with newly created account + And User click on Contacts tab +#Validate the contacts table + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "<Contact_Name>" + And User Validate the email of the "1" contact is "<Contact_Email>" + And User Validate the phone of the "1" contact is "<Contact_Phone>" + And User Validate the last updated of the "1" contact is "<Contact_Last_Updated>" + And User Validate the email claim on the "1" row is "<Email_Verified>" + And User Validate the phone claim on the "1" row is "<Phone_Verified>" +#Validate the contact is not presented in the contact list of the sender + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account + And User click on Contacts tab +#bug-dashboard-659 +# And Validate the contact is not presented + And I close the browser + + Examples: + | Profile_Name | Message | Contact_Name | Contact_Email | Contact_Phone | Contact_Last_Updated | Email_Verified | Phone_Verified | + | No Claims | Email from profile No Claims | Anonymous | N/A | N/A | Today | not verified | not verified | +# | Name Only | Email from profile Name Only | Robot Roundcube | N/A | N/A | Today | not verified | not verified | + | Email | Email from profile Email | Robot Roundcube | mister.test@kolab-qa.vereign.com | N/A | Today | verified | not verified | +# | Friends | Email from profile Friends | Robot Roundcube | mister.test@kolab-qa.vereign.com | +359884045187 | Today | verified | not verified | +# | Social | Email from profile Social | Robot Roundcube | mister.test@kolab-qa.vereign.com | +359884045187 | Today | verified | not verified | +# | NotValidatedEmail | Email from profile NotValidatedEmail | Anonymous | notValidated@example.com | N/A | Today | not verified | not verified | + + + @contact @gmail @bug-dashboard-659 + Scenario: Send two gmail emails from different profiles and validate the contact +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the gmail account is created and login with gmail account + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User selects "No Claims" from the gmail profile select + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with random email + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Gmail: Validate contact update" + And User click on gmail Send button + And I wait for {2000} mseconds +#Register the not registered user + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User registers the not registered receiver via VIAM API + And User logs into vereign with newly created account + And User click on Contacts tab +#Validate the contacts table + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Anonymous" + And User Validate the email of the "1" contact is "N/A" + And User Validate the phone of the "1" contact is "N/A" + And User Validate the last updated of the "1" contact is "Today" +#Logout and login with the gmail account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send an email to the same receiver from Social profile + And User navigates to gmail + And User selects "Friends" from the gmail profile select + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with the same email + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Gmail: Validate contact update" + And User click on gmail Send button + And I wait for {2000} mseconds +#Logout and login with the receivers account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with newly created account + And User click on Contacts tab +#Validate the contacts table + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Automation Vereign" + And User Validate the email of the "1" contact is "vereign.automation@gmail.com" + And User Validate the phone of the "1" contact is "+359884045187" + And User Validate the last updated of the "1" contact is "Today" + And User Validate the email claim on the "1" row is "verified" + And User Validate the phone claim on the "1" row is "not verified" + And User click on contact with name "Automation Vereign" + And Validate Contact claim with label "Email" has value "vereign.automation@gmail.com" + And Validate Contact claim with label "Full name" has value "Automation, Vereign" + And Validate Contact claim with label "Phone" has value "+359884045187" + And Validate Contact title is "Automation Vereign" +#Logout and login with the gmail account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Validate the contact of the receiver is not presented + And User click on Contacts tab + And User scrolls to the botton of the page +#bug-dashboard-659 +# And Validate the contact is not presented + And I close the browser + + @contact @roundcube @bug-dashboard-659 + Scenario: Send two roundcube emails from different profiles and validate the contact + #Open chrome and load the extension and the profile + Given I open Chrome browser and navigate to vereign login page +#Check if the roundcube account is created and login with roundcube account + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On + And User selects "No Claims" from the roundcube profile select +#Compose the email + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field with random email + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Roundcube: Contact Update" + And User click on roundcube Send button +#Register the not registered user + And User navigates to vereign login page + And User click on Continue button + And User logs out of vereign and click on cleanup local identity + And User registers the not registered receiver via VIAM API + And User logs into vereign with newly created account + And User click on Contacts tab +#Validate the contacts table + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Anonymous" + And User Validate the email of the "1" contact is "N/A" + And User Validate the phone of the "1" contact is "N/A" + And User Validate the last updated of the "1" contact is "Today" +#Logout and login with the roundcube account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube + And User click on resume your previous session + And I wait for {5000} mseconds +#Enable vereign + And User enables Vereign On + And User selects "Friends" from the roundcube profile select +#Compose the email + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To field with the same email + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Roundcube: Contact Update" + And User click on roundcube Send button +#Logout and login with the receivers account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with newly created account + And User click on Contacts tab +#Validate the contacts table + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Robot Roundcube" + And User Validate the email of the "1" contact is "mister.test@kolab-qa.vereign.com" + And User Validate the phone of the "1" contact is "+359884045187" + And User Validate the last updated of the "1" contact is "Today" + And User Validate the email claim on the "1" row is "verified" + And User Validate the phone claim on the "1" row is "not verified" +#Logout and login with the roundcube account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the contact of the receiver is not presented + And User click on Contacts tab +#bug-dashboard-659 +# And Validate the contact is not presented +#Log into roundcube + And User navigates to roundcube + And User click on resume your previous session + And I wait for {5000} mseconds +#Enable vereign + And User enables Vereign On + And User selects "NotValidatedEmail" from the roundcube profile select +#Compose the email + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To field with the same email + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Roundcube: Contact Update" + And User click on roundcube Send button +#Logout and login with the receivers account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with newly created account + And User click on Contacts tab +#Validate the contacts table + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Robot Roundcube" + And User Validate the email of the "1" contact is "mister.test@kolab-qa.vereign.com" + And User Validate the phone of the "1" contact is "+359884045187" + And User Validate the last updated of the "1" contact is "Today" + And User Validate the email claim on the "1" row is "verified" + And User Validate the phone claim on the "1" row is "not verified" + And User click on contact with name "Robot Roundcube" + And Validate Contact claim with label "Email" has value "notValidated@example.com" + And Validate Contact claim with label "Full name" has value "Robot, Roundcube" + And Validate Contact claim with label "Phone" has value "+359884045187" + And Validate Contact title is "Robot Roundcube" + And I close the browser + + @contact @gmail + Scenario: Add and remove claim to the profile and validate the contact + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the gmail account is created and login with gmail account + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User selects "Contacts" from the gmail profile select + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with random email + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Edit profile and validate the contact" + And User click on gmail Send button + And I wait for {2000} mseconds +#Register the not registered user + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User registers the not registered receiver via VIAM API + And User logs into vereign with newly created account + And User click on Contacts tab +#Validate the contacts table + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Automation Vereign" + And User Validate the email of the "1" contact is "N/A" + And User Validate the phone of the "1" contact is "N/A" + And User Validate the last updated of the "1" contact is "Today" +#Logout and login with the gmail account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account + And User click on close tour button + And User click on Profiles tab + And User click on profile with name "Contacts" + And User add the "Phone" claim to the profile + And Validate claim "Phone" is presented under the profile +#Logout and login with the receivers account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with newly created account +#Validate the contact after the edit of the profile + And User click on Contacts tab + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Automation Vereign" + And User Validate the email of the "1" contact is "N/A" + And User Validate the phone of the "1" contact is "+359884045187" + And User Validate the last updated of the "1" contact is "Today" +#Logout and login with the gmail account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account + And User click on Profiles tab + And User click on close tour button + And User click on profile with name "Contacts" + And User add the "Phone" claim to the identity + And Validate "Phone" claim is deleted from the Profile page +#Logout and login with the newly created account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with newly created account +#Validate the Phone claim in not removed from the contacts of the receiver + And User click on Contacts tab + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Automation Vereign" + And User Validate the email of the "1" contact is "N/A" + And User Validate the phone of the "1" contact is "+359884045187" + And User Validate the last updated of the "1" contact is "Today" + And User click on contact with name "Automation Vereign" + And Validate Contact claim with label "Full name" has value "Automation, Vereign" + And Validate Contact claim with label "Phone" has value "+359884045187" + And Validate Contact claim with label "Date of birth" has value "Jan 01 2019" + And Validate Contact title is "Automation Vereign" + And I close the browser + + @contacts @gmail @search + Scenario: Archive contact and validate it is not presented in the Contacts Page +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Check if the gmail account is created and login with gmail account + And User logs into vereign with gmail account +#Change the environment + When I change the extension environment +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with random email + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Archive contact - validate it is not presented" + And User click on gmail Send button + And I wait for {2000} mseconds +#Logout and login with the receivers account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User registers the not registered receiver via VIAM API + And User logs into vereign with newly created account + And User click on Contacts tab +#Validate the name of the contact + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Automation Vereign" +#Archive the contact + And User open the "1" contact + And User click on Archive button +#Validate the message that the contact is archived + And Confirmation Message is presented with text "Contact status has been updated successfully" and message disappears + And Validate contact is archived meesage is presented +#Validate it is not presented in the Contacts Page + And User click on Contacts tab + And User Validates there is "0" contact presented +#Validate the Contacts is visible after a search + And User populates contacts search field with value "Vereign" + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Automation Vereign" + And User Validate the email of the "1" contact is "vereign.automation@gmail.com" +#Un-archive contact + And User open the "1" contact + And User click on Un-archive button + And Confirmation Message is presented with text "Contact status has been updated successfully" and message disappears +#Validaate the contact is presented in the Contacts Page without search + And User click on Contacts tab + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Automation Vereign" + And User Validate the email of the "1" contact is "vereign.automation@gmail.com" + And I close the browser + + @gmail @contacts @search @bug-dashboard-677 + Scenario: Archive contact and validate it is presented after search +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Check if the gmail account is created and login with gmail account + And User logs into vereign with gmail account +#Change the environment + When I change the extension environment +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with random email + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Archive contact - validate it is presented" + And User click on gmail Send button + And I wait for {2000} mseconds +#Logout and login with the receivers account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User registers the not registered receiver via VIAM API + And User logs into vereign with newly created account + And User click on Contacts tab +#Validate the name of the contact + And User Validates there is "1" contact presented + And User Validate the name of the "1" contact is "Automation Vereign" +#Archive the contact + And User open the "1" contact + And User click on Archive button +#Validate the message that the contact is archived + And Confirmation Message is presented with text "Contact status has been updated successfully" and message disappears + And Validate contact is archived meesage is presented +#Validate it is not presented in the Contacts Page + And User click on Contacts tab + And User Validates there is "0" contact presented + And User populates contacts search field with value "Vereign Automation" +#bug-dashboard-677 +# And User Validates there is "1" contact presented + And I close the browser + + diff --git a/out/test/resources/features/selenium/dashboard/DeviceManagement.feature b/out/test/resources/features/selenium/dashboard/DeviceManagement.feature new file mode 100644 index 0000000000000000000000000000000000000000..b6d6ef0d93283bf16d2508aedead430ef968205c --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/DeviceManagement.feature @@ -0,0 +1,66 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @dashboard +Feature: Dashboard - Device Information + + Background: + Given we are testing the VIAM Api + + @deviceManager + Scenario: Register a new user and validate his current device information + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Logged in + And User click on device manager button +#Validate Devices + Then Validate "1" devices are presented + And Validate Device name field has value "Linux x86_64 | Chrome |" after registration + And Validate Device type field has value "Linux x86_64" + And Validate Device ID field is not empty + And Validate Browser field is not empty + And Validate Created On field is not empty + And Validate Last Accessed field is not empty +#Validate QR Code labels + When User click on Add new device button + And Validate QR code info label has the expected text + Then Validate QR code is presented and close it + And I close the browser + + @deviceManager + Scenario: Rename and revoke device + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Logged in + And User click on device manager button +#Rename Device + And User hovers over the options button on the first device + And User click on Rename device button + And User populates the new device name "Device edited" and Save + And User click on Profiles tab + And User click on device manager button + Then Validate Device name field has value "Device edited" +#Revoke Device + And User hovers over the options button on the first device + And User click on Revoke device button + And User confirms the deletion + Then Validate user is navigated to login page + And I close the browser + diff --git a/out/test/resources/features/selenium/dashboard/Documents.feature b/out/test/resources/features/selenium/dashboard/Documents.feature new file mode 100644 index 0000000000000000000000000000000000000000..fda507eb6a3b892afe06b90bd51297f6f4550922 --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/Documents.feature @@ -0,0 +1,922 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @dashboard +Feature: Dashboard - Documents + + Background: + Given we are testing the VIAM Api + + @document + Scenario: Upload a document with invalid format + Given I open Chrome browser and navigate to vereign login page +#Create a new random user + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button + When User uploads a document in invalid format +#Validate the error message + Then Error Message is presented with text "Please upload document in docx, pdf or odt format." and message disappears + And Validate inbox is empty + And I close the browser + + @document @bug-dashboard-724 + Scenario: Upload a pdf document and validate the Text of the document + Given I open Chrome browser and navigate to vereign login page +#Register a new random user + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload a valid pdf document + And User uploads a document in pdf format +#Validate the message +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "The document was successfully uploaded with the name pdf" and message disappears +#Validate the pdf document in the Email + When User open the "1" email + And Validate the email has the expected subject + And Validate the document is not signed + And Validate the status of the document is Unsigned + And Validate the text of the pdf document is "Test pdf" + And I close the browser + + @document @delete @bug-dashboard-724 + Scenario Outline: Upload a document with valid <Document_Type> format and delete it + Given I open Chrome browser and navigate to vereign login page +#Register a new random user + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload document + And User uploads a document in <Document_Type> format +#Validate the message +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears +#Validate the document in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the count of the contacts in the inbox is "0" + And Validate the profile in the inbox has value "Social" +#Validate the document in the Email + When User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "0" + And Validate the email has the expected subject + And Validate the document is not signed + And Validate the status of the document is Unsigned +#Validate participants tab + And User click on Participants tab + And Validate there are "1" participants presented in the Participants tab + And Validate participants with name "Dimitrov Boris" is presented + And Validate participants with phone "+359884045187" is presented + And Validate participants with the email of the sender is presented +#Delete the document + And User click on the Delete button + And Validate the confirmation message after click on Delete button is with text "Do you want to delete this interaction?" + And User confirm the deletion of the interaction + And Title of the page is "Vereign | My Inbox" + And Validate inbox is empty + And User click on Browser Back button + And Title of the page is not "Vereign | 404 Page Not Found" + And I close the browser + + Examples: + | Document_Type | Message_after_upload | +# | odt | The document was successfully uploaded with the name odt | +# | docx | The document was successfully uploaded with the name docx | + | pdf | The document was successfully uploaded with the name pdf | + + @document @delete @bug-dashboard-724 + Scenario Outline: Upload a <Document_Type> and cancel the deletion + Given I open Chrome browser and navigate to vereign login page +#Register a new random user + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload document + And User uploads a document in <Document_Type> format +#Validate the message +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears + And User open the "1" email + And User click on the Delete button + And Validate the confirmation message after click on Delete button is with text "Do you want to delete this interaction?" + And User cancel the deletion of the interaction + And Title of the page is "Vereign | Interaction" + And User click on Inbox tab +#Validate the document in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the count of the contacts in the inbox is "0" + And Validate the profile in the inbox has value "Social" +#Validate the document in the Email + When User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "0" + And Validate the email has the expected subject + And Validate the document is not signed + And Validate the status of the document is Unsigned + And I close the browser + + Examples: + | Document_Type | Message_after_upload | +# | odt | The document was successfully uploaded with the name odt | +# | docx | The document was successfully uploaded with the name docx | + | pdf | The document was successfully uploaded with the name pdf | + + + @document @delete @signing @bug-dashboard-724 + Scenario Outline: Sign a <Document_Type> document and delete it + Given I open Chrome browser and navigate to vereign login page +#Register a new random user + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload a valid pdf document + And User uploads a document in <Document_Type> format + #Validate the message +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears +#Validate the pdf document in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the profile in the inbox has value "Social" +#Validate the pdf document in the Email + When User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "0" + And Validate the email has the expected subject + And Validate the document is not signed + And Validate the status of the document is Unsigned +#Sign the pdf document + And User click on the signature icon to sign the document + And User click "Social" profile from the presented profiles + And User click on Sign Button to finish up the signing the document + And I wait for {1000} mseconds + And Validate there are "<Expected_Number_Of_Items>" items in the document thread +#Validate the document + And Validate the document is signed + And Validate the status of the document is Signed + And User downloads the document and validate there are "2" signatures +#Validate the status in Participants tab + And User click on Participants tab + And Validate the status of the first participant is signed +#Delete the document + And User click on the Delete button + And Validate the confirmation message after click on Delete button is with text "Do you want to delete this interaction?" + And User confirm the deletion of the interaction + And Title of the page is "Vereign | My Inbox" + And Validate inbox is empty + And User click on Browser Back button + And Title of the page is not "Vereign | 404 Page Not Found" + And I close the browser + + Examples: + | Document_Type | Message_after_upload | Expected_Number_Of_Items | +# | odt | The document was successfully uploaded with the name odt | 2 | +# | docx | The document was successfully uploaded with the name docx | 2 | + | pdf | The document was successfully uploaded with the name pdf | 1 | + + @document @delete @signing @bug-dashboard-724 + Scenario Outline: Sign a <Document_Type> document by 2 Users and delete it from 1 +#Open chrome and load the extension and the profile + Given I open Chrome browser and navigate to vereign login page + And Check if receiver account is registered and register it if not via VIAM API +# And Check if gmail account is registered and register it if not via VIAM API + And User navigates to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload a valid pdf document + And User uploads a document in <Document_Type> format +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears + And Validate the subject of the first item is the expected one +#Sign the document + And User open the "1" email + And Validate the document is not signed + And Validate the status of the document is Unsigned + And User click on the signature icon to sign the document + And User click "Social" profile from the presented profiles + And User click on Sign Button to finish up the signing the document + And Validate the document is signed + And Validate the status of the document is Signed +#Request signing + And User click on the request signing button + And User populates the request signing search field with random email + And User click on Send invite button + And User validate the confirmation message after the sending signing request + And User click Finish button + And Validate the status of the document is Pending +#Validate the status in Participants tab + And User click on Participants tab + And Validate the status of the first participant is signed + And Validate the status of the second participant is pending +#logout and login with the receivers account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with receiver account + And User click on Continue button + And User click on close tour button +#Validate the notifications page + And User click on Notifications + And I refresh the current page + And Validate the notification is presented +#Sign t he document + And User signs the received signing request + And User click on Inbox tab + And I refresh the current page +#Validate the document in the Inbox page + And Validate the document is presented in the inbox + And User open the "1" email + And Validate the email has the expected subject + And Validate the status of the document is Signed + And User downloads the document and validate there are "4" signatures +#Participants tab validation + And User click on Participants tab + And Validate there are "2" participants presented in the Participants tab + And Validate participants with the email of the sender is presented + And Validate participants with the email of the receiver is presented + And Validate the status of the first participant is signed + And Validate the status of the second participant is signed +#Delete the document in the Second User + And User click on the Delete button + And User confirm the deletion of the interaction + And Title of the page is "Vereign | My Inbox" +#Logout from the Second User + And User logs out of vereign and click on cleanup local identity +#Login with User 1 to validate the document is not deleted + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Validate the document in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the profile in the inbox has value "Social" + And User open the "1" email +#Validate the document in the email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the status of the document is Signed + And Validate the document is signed + And Validate the count of the contacts in the email is "1" + And Validate the email has the expected subject + And Validate there are "<Expected_Number_Of_Items>" items in the document thread + And Validate the document is signed + And User downloads the document and validate there are "4" signatures + And User click on Participants tab + And Validate there are "2" participants presented in the Participants tab + And Validate participants with the email of the sender is presented + And Validate the status of the first participant is signed + And Validate the status of the second participant is signed + And Validate participants with the email of the receiver is presented + And I close the browser + + Examples: + | Document_Type | Message_after_upload | Expected_Number_Of_Items | +# | odt | The document was successfully uploaded with the name odt | 2 | +# | docx | The document was successfully uploaded with the name docx | 2 | + | pdf | The document was successfully uploaded with the name pdf | 1 | + + + @document @signing @bug-dashboard-724 + Scenario Outline: Request signing of a "<Document_Type>" to a registered user +#Open chrome and load the extension and the profile + Given I open Chrome browser and navigate to vereign login page + And Check if receiver account is registered and register it if not via VIAM API + And User navigates to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload a valid pdf document + And User uploads a document in <Document_Type> format +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears + And Validate the subject of the first item is the expected one +#Validate the pdf document in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the profile in the inbox has value "Social" +#Sign the document + And User open the "1" email + And Validate the document is not signed + And Validate the status of the document is Unsigned + And User click on the signature icon to sign the document + And User click "Social" profile from the presented profiles + And User click on Sign Button to finish up the signing the document + And Validate the document is signed + And Validate the status of the document is Signed +#Request signing + And User validate there is "1" button for request signing + And User click on the request signing button + And User populates the request signing search field with random email + And User click on Send invite button + And User validate the confirmation message after the sending signing request + And User click Finish button + And Validate the status of the document is Pending +#Validate the participants tab + And User click on Participants tab + And Validate the status of the first participant is signed + And Validate the status of the second participant is pending +#logout and login with the gmail account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with receiver account + And User click on Continue button + And User click on close tour button +#Validate the notifications page + And User click on Notifications + And I refresh the current page + And Validate the notification is presented + And Validate the email of the requester is the expected one +#Sign the document + And User signs the received signing request + And User click on Inbox tab + And I refresh the current page + And Validate the document is presented in the inbox +#Validate the document + And User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "1" + And Validate the email has the expected subject + And Validate there are "<Expected_Number_Of_Items>" items in the document thread + And Validate the document is signed + And Validate the status of the document is Signed + And User downloads the document and validate there are "4" signatures +#Validation of participants tab + And User click on Participants tab + And Validate the status of the first participant is signed + And Validate the status of the second participant is signed + And Validate there are "2" participants presented in the Participants tab +#Validate the Contact + When User click on Contacts tab + And Validate the contact is presented + And I close the browser + + Examples: + | Document_Type | Message_after_upload | Expected_Number_Of_Items | + | odt | The document was successfully uploaded with the name odt | 2 | + | docx | The document was successfully uploaded with the name docx | 2 | + | pdf | The document was successfully uploaded with the name pdf | 1 | + + + @document @signing @bug-dashboard-724 + Scenario Outline: Request signing of a "<Document_Type>" to a not registered user +#Open chrome and load the extension and the profile + Given I open Chrome browser and navigate to vereign login page + And User navigates to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload a valid pdf document + And User uploads a document in <Document_Type> format +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears +#Validate the pdf document in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the profile in the inbox has value "Social" +#Sign the document + And User open the "1" email + And Validate the document is not signed + And Validate the status of the document is Unsigned + And User click on the signature icon to sign the document + And User click "Social" profile from the presented profiles + And User click on Sign Button to finish up the signing the document + And Validate the document is signed + And Validate the status of the document is Signed +#Request signing + And User validate there is "1" button for request signing + And User click on the request signing button + And Placeholder of the field has value "Add a note" + And Validate the Important message in the Invite a signatory modal has "Social" profile in it + And User populates the comment field with value "Request signing to a not registered user" + And User populates the search field with value "notregistered23@abv.bg" + And User click on Send invite button + And User validate the confirmation message after the sending signing request + And User click Finish button + And Validate the document is signed + And Validate the status of the document is Pending +#Participants tab validation + And User click on Participants tab + And Validate the status of the first participant is signed + And Validate the status of the second participant is pending + And Validate there are "2" participants presented in the Participants tab + And I wait for {20000} mseconds + And User navigates to abv and validate the signing request is received + And I close the browser + + Examples: + | Document_Type | Message_after_upload | + | odt | The document was successfully uploaded with the name odt | + | docx | The document was successfully uploaded with the name docx | + | pdf | The document was successfully uploaded with the name pdf | + + + @document @signing @bug-dashboard-724 @notParallel + Scenario Outline: Request signing of a "<Document_Type>" to two registered users +#Open chrome and load the extension and the profile + Given I open Chrome browser and navigate to vereign login page + And Check if testing account is registered and register it if not via VIAM API + And Check if gmail account is registered and register it if not via VIAM API + And User navigates to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload a valid pdf document + And User uploads a document in <Document_Type> format +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears +#Validate the pdf document in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the profile in the inbox has value "Social" +#Sign the document + And User open the "1" email + And User click on the signature icon to sign the document + And User click "Social" profile from the presented profiles + And User click on Sign Button to finish up the signing the document + And Validate the document is signed + And Validate the status of the document is Signed +#Request signing + And User validate there is "1" button for request signing + And User click on the request signing button + And User populates the search field with value "vereign.automation@gmail.com" + And User populates the search field with value "tested23@abv.bg" + And User click on Send invite button + And User validate the confirmation message after the sending signing request + And User click Finish button +#Participants validation + And User click on Participants tab + And Validate the status of the first participant is signed + And Validate the status of the second participant is pending + And Validate the status of the third participant is pending +#logout and login with the gmail account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account + And User click on Continue button + And I refresh the current page +#Validate the notifications page + And User click on Notifications + And I refresh the current page + And Validate the notification is presented + And Validate the email of the requester is the one used to request the signature +#Sign the document + And User signs the received signing request + And User click on Inbox tab + And I refresh the current page +#Validate the document in the inbox + And Validate the document is presented in the inbox + And User open the "1" email +#Validate the document in the email page + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "2" + And Validate the email has the expected subject + And Validate there are "<Expected_Number_Of_Items>" items in the document thread + And Validate the document is signed + And Validate the status of the document is Pending + And User downloads the document and validate there are "4" signatures +#Validate participants tab + And User click on Participants tab + And Validate the status of the first participant is signed + And Validate the status of the second participant is pending + And Validate the status of the third participant is signed +#Login with the second account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with testing account + And User click on Continue button +#Validate the Notification page + And User click on Notifications + And I refresh the current page + And Validate the notification is presented + And Validate the email of the requester is the one used to request the signature +#Sign the document + And User signs the received signing request + And User click on Inbox tab + And I refresh the current page + And Validate the document is presented in the inbox +#Validate the document + And User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "2" + And Validate the email has the expected subject + And Validate there are "<Expected_Number_Of_Items>" items in the document thread + And Validate the document is signed + And Validate the status of the document is Signed + And User downloads the document and validate there are "6" signatures +#Validate participants tab + And User click on Participants tab + And Validate the status of the first participant is signed + And Validate the status of the second participant is signed + And Validate the status of the third participant is signed + And Validate there are "3" participants presented in the Participants tab + And I close the browser + + Examples: + | Document_Type | Message_after_upload | Expected_Number_Of_Items | + | odt | The document was successfully uploaded with the name odt | 2 | + | docx | The document was successfully uploaded with the name docx | 2 | + | pdf | The document was successfully uploaded with the name pdf | 1 | + + @document @signing @bug-dashboard-724 + Scenario Outline: Request signing of a "<Document_Type>" to not registered phone number +#Open chrome and load the extension and the profile + Given I open Chrome browser and navigate to vereign login page + And Check if testing account is registered and register it if not via VIAM API + And Check if gmail account is registered and register it if not via VIAM API + And User navigates to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload a valid pdf document + And User uploads a document in <Document_Type> format +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears +#Validate the pdf document in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the profile in the inbox has value "Social" +#Sign the document + And User open the "1" email + And Validate the document is not signed + And Validate the status of the document is Unsigned + And User click on the signature icon to sign the document + And User click "Social" profile from the presented profiles + And User click on Sign Button to finish up the signing the document + And Validate the document is signed + And Validate the status of the document is Signed +#Request signing + And User validate there is "1" button for request signing + And User click on the request signing button + And User populates the search field with random phone number + And User click on Send invite button + And User validate the confirmation message after the sending signing request + And User click Finish button + And Validate the status of the document is Pending + And Validate the document is signed +#Validation of participants tab + And User click on Participants tab + And Validate the status of the first participant is signed + And Validate the status of the second participant is pending +#Logout and created the account + And User logs out of vereign and click on cleanup local identity + And User registers the not registered receiver with phone claim via VIAM API + And User logs into vereign with newly created account + And User click on Continue button + And User click on close tour button + And User validate there are "1" number of notifications + And User click on Notifications + And Validate the notification is presented + And Validate the email of the requester is the one used to request the signature +#Sign the document + And User Signs the document from the Notifications Page + And User click on Inbox tab + And I refresh the current page + And Validate the subject of the first item is the expected one + And User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "1" + And Validate the email has the expected subject + And Validate there are "<Expected_Number_Of_Items>" items in the document thread + And Validate the document is signed + And Validate the status of the document is Signed + And User downloads the document and validate there are "4" signatures +#Validation of participants tab + And User click on Participants tab + And Validate the status of the first participant is signed + And Validate the status of the second participant is signed + And I close the browser + + Examples: + | Document_Type | Message_after_upload | Expected_Number_Of_Items | + | odt | The document was successfully uploaded with the name odt | 2 | + | docx | The document was successfully uploaded with the name docx | 2 | + | pdf | The document was successfully uploaded with the name pdf | 1 | + + @document @search @bug-dashboard-724 + Scenario Outline: Upload a "<Document_Type>" document and search for it + Given I open Chrome browser and navigate to vereign login page +#Register a new random user + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload document + And User uploads a document in <Document_Type> format +#Validate the message +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears +#Validate the document is uploaded + And Validate the subject of the first item is the expected one +#Search by subject + And User search for the document by the name of the document +#Validation of the Document in the Inobx after search + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the count of the contacts in the inbox is "0" + And Validate the profile in the inbox has value "Social" +#Validation of the Document after search + When User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "0" + And Validate the email has the expected subject + And Validate the status of the document is Unsigned + And Validate the document is not signed + + Examples: + | Document_Type | Message_after_upload | + | odt | The document was successfully uploaded with the name odt | + | docx | The document was successfully uploaded with the name docx | + | pdf | The document was successfully uploaded with the name pdf | + + @document @search @bug-dashboard-724 + Scenario Outline: Delete a "<Document_Type>" document and search for it + Given I open Chrome browser and navigate to vereign login page +#Register a new random user + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload document + And User uploads a document in <Document_Type> format +#Validate the message +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears +#Validate the document is uploaded + And Validate the subject of the first item is the expected one + And User open the "1" email + And User click on the Delete button + And Validate the confirmation message after click on Delete button is with text "Do you want to delete this interaction?" + And User confirm the deletion of the interaction + And Title of the page is "Vereign | My Inbox" + And User search for the document by the name of the document + And Validate no interactions found message is presented + And Validate there are "0" items presented in the Inbox + And User search for the document by the email of the sender + And Validate no interactions found message is presented + And Validate there are "0" items presented in the Inbox + And I close the browser + + Examples: + | Document_Type | Message_after_upload | + | odt | The document was successfully uploaded with the name odt | + | docx | The document was successfully uploaded with the name docx | + | pdf | The document was successfully uploaded with the name pdf | + + @document @search @bug-dashboard-653 @bug-dashboard-724 @bug-dashboard-726 + Scenario Outline: Sign a signing request for a "<Document_Type>" document and search by the subject and email of the sender/receiver + Given I open Chrome browser and navigate to vereign login page +#Register a new random user +# And Check if gmail account is registered and register it if not via VIAM API + And Check if receiver account is registered and register it if not via VIAM API + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload document + And User uploads a document in <Document_Type> format +#Validate the message +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears + And User open the "1" email +#Sign the document + And User click on the signature icon to sign the document + And User click "Social" profile from the presented profiles + And User click on Sign Button to finish up the signing the document +#Request signing + And User click on the request signing button + And User populates the search field with the email of the receiver +# And User populates the search field with value "vereign.automation@gmail.com" + And User click on Send invite button + And User validate the confirmation message after the sending signing request + And User click Finish button + And User click on Inbox tab +#Search by the name of the receiver + And User populates the Inbox search field with value "testFirstname" +#Validate no interactions are presented when the document is still not signed from the receiver + And Validate no interactions found message is presented + And Validate there are "0" items presented in the Inbox +#Logout and login with the gmail account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with receiver account + And User click on Continue button + And User click on close tour button +#Validate the notification is presented + And User click on Notifications + And I refresh the current page + And Validate the notification is presented +#Sign the signing request + And User signs the received signing request + And User click on Inbox tab + And I refresh the current page + And Validate the document is presented in the inbox +#Search by the subject of the document + And User search for the document by the name of the document +#Validate the document after the search in the Inbox Page + And Validate there are "1" items presented in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the count of the contacts in the inbox is "1" +#bud-dashboard-726 +# And Validate the profile in the inbox has value "Social" +#Validate the document after the search in the Email page + When User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "1" + And Validate the email has the expected subject +#Search by the email of the sender + And User click on Inbox tab + And User search for the document by the email of the sender +#Validate the document after the search in the Inbox Page + And Validate there are "1" items presented in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the count of the contacts in the inbox is "1" +#bud-dashboard-726 +# And Validate the profile in the inbox has value "Social" +#Validate the document after the search in the Email page + When User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "1" + And Validate the email has the expected subject +#Logout and login with the registered account + And User logs out of vereign and click on cleanup local identity + And I login with the registered via the VIAM API user into dashboard + And User click on Continue button +#Search by the name of the document in the dashboard of the sender after the signing + And User search for the document by the name of the document +#Validate the document in the Inbox Page after the search + And Validate there are "1" items presented in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the count of the contacts in the inbox is "1" + And Validate the profile in the inbox has value "Social" +#Validate the document in the Email Page after the search + When User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "1" + And Validate the email has the expected subject +#Search by the email of the receiver + And User click on Inbox tab + And User search for the document by the email of the receiver +#Validate the document in the Inbox Page after the search + And Validate there are "1" items presented in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the count of the contacts in the inbox is "1" + And Validate the profile in the inbox has value "Social" +#Validate the document in the Email Page after the search + When User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "Social" + And Validate the count of the contacts in the email is "1" + And Validate the email has the expected subject + And I close the browser + + Examples: + | Document_Type | Message_after_upload | + | odt | The document was successfully uploaded with the name odt | + | docx | The document was successfully uploaded with the name docx | + | pdf | The document was successfully uploaded with the name pdf | + + @document + Scenario Outline: Upload a document in "<Document_Type>" format from a new profile and request signing + Given I open Chrome browser and navigate to vereign login page +#Register a new random user + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload document + And User click on Profiles tab + And User creates new profile with name "TestNew" + And User click on Inbox tab + And User upload a document in "<Document_Type>" format from "TestNew" profile +#Validate the message +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears +#Validate the document in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the count of the contacts in the inbox is "0" + And Validate the profile in the inbox has value "TestNew" +#Validate the document in the Email + When User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "TestNew" + And Validate the count of the contacts in the email is "0" + And Validate the email has the expected subject + And Validate the document is not signed + And Validate the status of the document is Unsigned +#Sign the document + And User click on the signature icon to sign the document + And User click "Social" profile from the presented profiles + And User click on Sign Button to finish up the signing the document + And Validate the document is signed + And Validate the status of the document is Signed +#Request signing in order to validate the new profile is presented in the Important message + And User click on the request signing button + And Placeholder of the field has value "Add a note" + And Validate the Important message in the Invite a signatory modal has "TestNew" profile in it + And User populates the comment field with value "Request signing to a not registered user" + And User populates the search field with value "notregistered23@abv.bg" + And User click on Send invite button + And User validate the confirmation message after the sending signing request + And User click Finish button + And Validate the document is signed + And Validate the status of the document is Pending +#Validate participants tab + And User click on Participants tab + And Validate there are "2" participants presented in the Participants tab + And Validate participants with name "Dimitrov Boris" is presented + And Validate participants with phone "+359884045187" is presented + And Validate participants with the email of the sender is presented + And Validate the status of the first participant is signed + And Validate the status of the second participant is pending + And I close the browser + + Examples: + | Document_Type | Message_after_upload | + | odt | The document was successfully uploaded with the name odt | + | docx | The document was successfully uploaded with the name docx | + | pdf | The document was successfully uploaded with the name pdf | + + @document + Scenario Outline: Upload a "<Document_Type>" document from "<Profile_Name>" profile and sign it + Given I open Chrome browser and navigate to vereign login page +#Register a new random user + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button + And User upload a document in "<Document_Type>" format from "<Profile_Name>" profile +#Validate the message +#@bug-dashboard-724 +# Then Confirmation Message is presented with text that contains "<Message_after_upload>" and message disappears +#Validate the document in the Inbox + And Validate the subject of the first item is the expected one + And Validate the Interaction Type in the inbox has value "Document" + And Validate the count of the contacts in the inbox is "0" + And Validate the profile in the inbox has value "<Profile_Name>" +#Validate the document in the Email + When User open the "1" email + Then Validate the Interaction Type in the email has value "Document" + And Validate the profile in the email has value "<Profile_Name>" + And Validate the count of the contacts in the email is "0" + And Validate the email has the expected subject + And Validate the document is not signed + And Validate the status of the document is Unsigned +#Sign the document + And User click on the signature icon to sign the document + And User click "Social" profile from the presented profiles + And User click on Sign Button to finish up the signing the document + And Validate the document is signed + And Validate the status of the document is Signed +#Request signing in order to validate the profile in the important message + And User click on the request signing button + And Placeholder of the field has value "Add a note" + And Validate the Important message in the Invite a signatory modal has "<Profile_Name>" profile in it + And User populates the comment field with value "Request signing to a not registered user" + And User populates the search field with value "notregistered23@abv.bg" + And User click on Send invite button + And User validate the confirmation message after the sending signing request + And User click Finish button + And Validate the document is signed + And Validate the status of the document is Pending +#Validate participants tab + And User click on Participants tab + And Validate there are "2" participants presented in the Participants tab + And Validate participants with name "Dimitrov Boris" is presented + And Validate participants with phone "+359884045187" is presented + And Validate participants with the email of the sender is presented + And Validate the status of the first participant is signed + And Validate the status of the second participant is pending + And I close the browser + + Examples: + | Document_Type | Profile_Name | Message_after_upload | + | odt | Social | The document was successfully uploaded with the name odt | + | docx | Friends | The document was successfully uploaded with the name docx | + | pdf | Email | The document was successfully uploaded with the name pdf | + + + + + + diff --git a/out/test/resources/features/selenium/dashboard/EmailStatus.feature b/out/test/resources/features/selenium/dashboard/EmailStatus.feature new file mode 100644 index 0000000000000000000000000000000000000000..9c54575f44cf641811284635fff0e0a3f434db6e --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/EmailStatus.feature @@ -0,0 +1,855 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @dashboard @all @notParallel +Feature: Email Status + + Background: + Given we are testing the VIAM Api + + @emailStatus @gmail + Scenario: Send email from gmail to roundcube and read it in dashboard +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if roundcube account is created + And Check if roundcube account is registered and register it if not via VIAM API +#Log in with gmail account + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "mister.test@kolab-qa.vereign.com" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Send email from gmail to roundcube and receive it in dashboard" + And User click on gmail Send button +#Validate the email in the gmail has Sent status + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Sent" +#Validate the email has Sent status in the dashboard of the sender + And User navigates to vereign login page + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Logout and login with the receivers account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the status is updated to Read after opening the email in the dashboard of the receiver + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Login with the sender account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Validate the read status is updated in the dashboard of the sender + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Log into chrome extension + And User Logs in chrome extension with password "1111" +#Navigate to gmail and validate the status is updated there too + And User navigates to gmail + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Read" + And I close the browser + + @emailStatus @roundcube + Scenario: Send email from roundcube to gmail and read it in dashboard +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Check if gmail account is created + And Check if gmail account is registered and register it if not via VIAM API +#Log in with roundcube account + And User logs into vereign with roundcube account +#Change the environment + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Compose the email + And User click on roundcube Compose button + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "vereign.automation@gmail.com" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Send email from roundcube to gmail and receive it in dashboard" + And User click on roundcube Send button +#Validate the email in the roundcube has Sent status + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Sent" +#Validate the email has Sent status in the dashboard of the sender + And User navigates to vereign login page + And User click on Continue button + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Logout and login with the receivers account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Deliver the email in the dashboard of the recipient and validate the status + And User open the "1" email + And Validate the email has the subject used to send the email +# And Validate the status of the email in the dashboard is Delivered +##Login with gmail account and validate the message have status delivered in the dashboard +# And User logs out of vereign and click on cleanup local identity +# And User logs into vereign with roundcube account +##Validate the delivered status in the dashboard of the sender +# And User open the "1" email +# And Validate the email has the subject used to send the email +# And Validate the status of the email in the dashboard is Delivered +##Validate the delivered status in roundcube +# And User navigates to roundcube +# And User click on resume your previous session +# And User enables Vereign On +# And User click on roundcube Sent folder +# And User Validates the roundcube sent email has status "Delivered" +##Login with the recipient account +# And User navigates to vereign login page +# And User logs out of vereign and click on cleanup local identity +# And User logs into vereign with gmail account +# And User open the "1" email +# And Validate the email has the subject used to send the email +##Read the email in the dashboard of the recipient and validate the status +# And User click on the "1" item in the email thread + And Validate the status of the email in the dashboard is Read +#Login with the sender account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the read status is updated in the dashboard of the sender + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Navigate to roundcube and validate the status is updated there too + And User navigates to roundcube + And User click on resume your previous session + And User enables Vereign On + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Read" + And I close the browser + + @emailStatus @roundcube @gmail + Scenario: Send email from roundcube to gmail and read it in gmail +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile + And User navigates to vereign login page +#Check if testing and gmail accounts are created + And Check if gmail account is registered and register it if not via VIAM API +#Log in with roundcube account + And User logs into vereign with roundcube account +#Change the environment + And User navigates to roundcube + And User logs into roundcube + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Compose the email + And User click on roundcube Compose button + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "vereign.automation@gmail.com" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Send email from roundcube to gmail and read it in gmail" + And User click on roundcube Send button +#Validate the email in the roundcube has Sent status + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Sent" +#Validate the email has Sent status in the dashboard of the sender + And User navigates to vereign login page + And User click on Continue button + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Login with the recipient account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" + And User navigates to gmail + And User click on gmail Sent folder + And User click on gmail Inbox folder + And I wait for {15000} mseconds +#Validate the delivered status in the dashboard of the sender + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Delivered +#Login with the receivers account in the dashboard +# And User logs out of vereign and click on cleanup local identity +# And User logs into vereign with gmail account +##Validate the delivered status in the dashboard of the recipient +# And User open the "1" email +# And Validate the email has the subject used to send the email +# And Validate the status of the email in the dashboard is Delivered +##Log into vereign with the senders account into dashboard +# And User logs out of vereign and click on cleanup local identity +# And User logs into vereign with roundcube account +#Validate the delivered status in roundcube + And User navigates to roundcube + And User click on resume your previous session + And User click on roundcube Inbox folder + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Delivered" +#Login into vereign with the recipient account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Read the email in gmail + And User Logs in chrome extension with password "1111" + And User navigates to gmail + And User click on the received roundcube email + And I wait for {15000} mseconds +#Validate the status in the dashboard of the recipient + And User navigates to vereign login page + And User click on Continue button +# And User open the "1" email +# And Validate the email has the subject used to send the email +# And Validate the status of the email in the dashboard is Read +#Login into vereign with the senders account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the Read status in the dashboard of the sender + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Validate the Read status in roundcube + And User navigates to roundcube + And User click on resume your previous session + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Read" + And I close the browser + + @emailStatus @gmail @roundcube @bug-roundcube-79 + Scenario: Send email from gmail to roundcube and read it in roundcube +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if and roundcube accounts are created + And Check if roundcube account is registered and register it if not via VIAM API +#Log in with gmail account + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "mister.test@kolab-qa.vereign.com" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Send email from gmail to roundcube and read it in roundcube" + And User click on gmail Send button +#Validate the email in the gmail has Sent status + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Sent" +#Validate the email has Sent status in the dashboard of the sender + And User navigates to vereign login page + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Logout and login with the receivers account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Change the environment + And User navigates to roundcube + And User logs into roundcube + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button + And User click on Mail button + And User enables Vereign On +#Deliver the Mail + And User click on roundcube Inbox folder + And I wait for {2000} mseconds +#Validate the Delivered Status in the dashboard of the sender + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Delivered +#Login with the recipient account into dasbhaord + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the Delivered status in the dashboard on the recipient + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Delivered +#Login with the senders account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Validate the status of the email is Delivered in gmail + And User navigates to gmail + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Delivered" +#Login into dashboard with the recipient account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Loginto roundcube + And User navigates to roundcube + And User click on resume your previous session +#Read the email + And User click on roundcube Inbox folder + And User click on the received gmail email + And User click on roundcube Inbox folder + And I wait for {10000} mseconds +#Validate Read Status in the dashboard of the recipient + And User navigates to vereign login page + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Login into dashboard + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Validate Read Status in the dashboard of the sender + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Validate the status of the email is Delivered in gmail + And User navigates to gmail + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Read" + And I close the browser + + @emailStatus @gmail @bug-dashboard-536 + Scenario: Send email from gmail to multiple recipients and read it in dashboard +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if testing and roundcube accounts are created + And Check if gravatar account is registered and register it if not via VIAM API + And Check if testing account is registered and register it if not via VIAM API +#Log in with gmail account + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" + And User navigates to gmail +#Compose the email + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "mister.test@kolab-qa.vereign.com, automation.vereign@gmail.com" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Send email from gmail to multiple recipients and receive it in dashboard" + And User click on gmail Send button +#Validate the email in the gmail has Sent status + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Sent" +#Validate the email has Sent status in the dashboard of the sender + And User navigates to vereign login page + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Logout and login with the roundcube receivers account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Receive And Read the email with the roundcube receiver in the dashboard + And User open the "1" email +# And User click on email thread with message "Send email from gmail to multiple recipients and receive it in dashboard" + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Logout and Login with the gravatar account in the dashboard + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gravatar account +#Receive the email in the dashboard of the gravatar account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Logout and Login with the roundcube account in the dashboard + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the email has Delivered status + When User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Logout and login with the senders account into the dashboard + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Validate the status of the email in the dashboard of the sender is Delivered + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read + And User Logs in chrome extension with password "1111" +#Validate the status of the email is Delivered in gmail + And User navigates to gmail + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Read" + And I close the browser + + @emailStatus @roundcube @bug-dashboard-536 + Scenario: Send email from roundcube to multiple recipients and read it in dashboard +#Open chrome and load the extension and the profile + Given I open Chrome browser and navigate to vereign login page +#Check if testing and gmail accounts are created + And Check if gravatar account is registered and register it if not via VIAM API + And Check if gmail account is registered and register it if not via VIAM API +#Log in with roundcube account + And User logs into vereign with roundcube account +#Change the environment + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Compose the email + And User click on roundcube Compose button + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "vereign.automation@gmail.com, automation.vereign@gmail.com" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Send from roundcube to multiple recipients and read it in dashboard" + And User click on roundcube Send button +#Validate the email in the roundcube has Sent status + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Sent" +#Validate the email has Sent status in the dashboard of the sender + And User navigates to vereign login page + And User click on Continue button + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Logout and login with the gmail account into the dashboard + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Receive and Read the email with the gmail account + And User open the "1" email + And Validate the email has the subject used to send the email + And User click on email thread with message "Send from roundcube to multiple recipients and read it in dashboard" + And Validate the status of the email in the dashboard is Sent +#Logout and login with the gravatar account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gravatar account +#Receive the email with the gravatar account + And User open the "1" email + And Validate the email has the subject used to send the email +#Validate the status of the email in the gravatar account dashboard + And Validate the status of the email in the dashboard is Delivered +#Logout and login with the senders account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the status in the sender dashboard + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Delivered +#Validate the status in roundcube + And User navigates to roundcube + And User click on resume your previous session + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Delivered" +#Login with the gmail account into the dashboard + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Validate the delivered status in the dashboard of the gmail account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Delivered +#Read the email in the dashboard of the gravatar account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gravatar account + And User open the "1" email + And Validate the email has the subject used to send the email + And User click on email thread with message "Send from roundcube to multiple recipients and read it in dashboard" +#Validate the status is Read in the dashboard of the gravatar account + And Validate the status of the email in the dashboard is Read +#Logout and login with the gmail account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Validate the read status in the dashboard of the gmail account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Logout and login with the senders account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the Sent status in the dashboard of the sender + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Validate the Read status in roundcube client + And User navigates to roundcube + And User click on resume your previous session + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Read" + And I close the browser + + @roundcube @emailStatus + Scenario: Send email from roundcube to gmail and one not registered receiver and read it in dashboard +#Open chrome and load the extension and the profile + Given I open Chrome browser and navigate to vereign login page +#Check if testing and gmail accounts are created + And Check if gmail account is registered and register it if not via VIAM API +#Log in with roundcube account + And User logs into vereign with roundcube account +#Change the environment + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Compose the email + And User click on roundcube Compose button + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "vereign.automation@gmail.com, " + And User populates roundcube To Field with random email + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Send from roundcube to gmail and not registered user and receive it in dashboard" + And User click on roundcube Send button +#Validate the email in the roundcube has Sent status + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Sent" +#Validate the email has Sent status in the dashboard of the sender + And User navigates to vereign login page + And User click on Continue button + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Logout and login with the receivers account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Deliver the email in the dashboard of the recipient and validate the status + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Login with roundcube account and validate the message have status delivered in the dashboard + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the delivered status in the dashboard of the sender + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Validate the delivered status in roundcube + And User navigates to roundcube + And User click on resume your previous session + And User enables Vereign On + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Sent" +#Register the not registered user + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User registers the not registered receiver via VIAM API + And User logs into vereign with newly created account +#Receive the email in the dashboard of the not registered user + And User open the "1" email + And Validate the email has the subject used to send the email +#Validate the status is changed to Delivered after the registration of the not registered user and receiving the email + And Validate the status of the email in the dashboard is Delivered +#Read the email in the dashboard of the not registered user + And User click on the "1" item in the email thread +#Login with the roundcube account into dashboard + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate Delivered status in the dashboard of the sender + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Delivered +#Validate the Delivered status in roundcube client (senders client) + And User navigates to roundcube + And User click on resume your previous session + And User enables Vereign On + And User click on roundcube Inbox folder + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Delivered" +#Validate the Delivered status in the dashboard of the gmail account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Delivered +#Read the email with the gmail account in the dashboard + And User click on the "1" item in the email thread +#Validate the Read Status in the dashboard of the gmail account + And Validate the status of the email in the dashboard is Read +#Login with the newly created account and validate the status in the dashboard + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with newly created account +#Validate the Read Status in the dashboard of the newly created account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Validate the Read Status in the dashboard of the sender + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Validate the Read Status in roundcube sent folder + And User navigates to roundcube + And User click on resume your previous session + And User enables Vereign On + And User click on roundcube Inbox folder + And User click on roundcube Sent folder + And User Validates the roundcube sent email has status "Read" + And I close the browser + + @gmail @emailStatus + Scenario: Send email from gmail to roundcube and one not registered receiver and read it in dashboard +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile + And I navigate to 10minuteEmail and save the email address +#Change the environment + When I change the extension environment +#Check if testing and roundcube accounts are created + And Check if roundcube account is registered and register it if not via VIAM API +#Log in with gmail account + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "mister.test@kolab-qa.vereign.com," + And User populates gmail To field with the email from 10minuteEmail + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Send email from gmail to roundcube and not registered user and receive it in dashboard" + And User click on gmail Send button +#Validate the email in the gmail has Sent status + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Sent" +#Validate the email has Sent status in the dashboard of the sender + And User navigates to vereign login page + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Logout and login with the receivers account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Read the email in the dashboard of the registered receiver + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Validate the Sent status in the dashboard of the sender + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Validate the Sent Status in gmail + And User navigates to gmail + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Sent" +#Register the not registered receiver + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User registers the not registered receiver via VIAM API + And User logs into vereign with newly created account +#Read the email in the dashboard of the not registered user + And User open the "1" email + And Validate the email has the subject used to send the email +#Validate the status is updated to Read in the dashboard of the not registered receiver + And Validate the status of the email in the dashboard is Read +#Validate the Read status in gmail dashboard + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Validate the Read status in gmail + And User navigates to gmail + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Read" +#Validate the Read status in roundcube dashboard + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read + And I close the browser + + @gmail @roundcube @bug-roundcube-79 + Scenario: Send gmail email to two roundcube receivers and read it in roundcube +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if both roundcube accounts are created + And Check if roundcube account is registered and register it if not via VIAM API + And Check if second roundcube account is registered and register it if not via VIAM API +#Log in with gmail account into the dashboard + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "mister.test@kolab-qa.vereign.com, bb8.droid@kolab-qa.vereign.com" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Send gmail email to two roundcube receivers and read it in roundcube" + And User click on gmail Send button +#Validate the email in the gmail has Sent status + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Sent" +#Validate the Sent status in the dashboard of the sender + And User navigates to vereign login page + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Sent +#Logout and login with the first roundcube account into dashboard + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Log into roundcube with the first roundcube account + And User navigates to roundcube + And User logs into roundcube + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button + And User click on Mail button + And User enables Vereign On +#Receive and Read the email in the roundcube of the first roundcube account + And User click on roundcube Inbox folder + And User click on the received gmail email + And I wait for {2000} mseconds +#Logout and Login into dashboard with second roundcube account + When User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with second roundcube account +#Login into roundcube with second roundcube account + And User navigates to roundcube + And User click on resume your previous session + And User click on roundcube Logout button + And User logs into roundcube with second testing account +#Change the environment for the second roundcube account too + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button + And User click on Mail button + And User enables Vereign On +#Receive the email + And User click on roundcube Inbox folder + And I wait for {2000} mseconds +#Logout and Login into dashboard with the senders account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Validate the Delivered status into the dashboard of the sender + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Delivered +#Validate the Delivered status into gmail (senders client) + And User Logs in chrome extension with password "1111" + And User navigates to gmail + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Delivered" +#Logout and Login with the first roundcube account into the dashboard + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the Delivered status in the dashboard of the first roundcube account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Delivered +#Logout and login into dashboard with the second roundcube account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with second roundcube account +#Validate the Delivered status in the dashboard of the second roundcube account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Delivered +#Login into roundcube with the second roundcube account + And User navigates to roundcube + And User click on resume your previous session + And User click on roundcube Logout button + And User logs into roundcube with second testing account + And User click on roundcube Inbox folder +#Read the email with the second roundcube account + And User click on the received gmail email + And I wait for {2000} mseconds +#Validate the Read status in the dashboard of the second roundcube account + And User navigates to vereign login page + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Logout and Login into dashboard with the first roundcube account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the Read status in the dashboard of the first roundcube account + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Logout and Login into dashboard with the senders(gmail) account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Validate the Read Status in the Dashboard of the Sernder(Gmail) + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate the status of the email in the dashboard is Read +#Validate the Read Status into gmail + And User navigates to gmail + And User click on gmail Sent folder + And User Validates the gmail sent email has status "Read" + And I close the browser + + + + + + + + + + + + + + diff --git a/out/test/resources/features/selenium/dashboard/Identity.feature b/out/test/resources/features/selenium/dashboard/Identity.feature new file mode 100644 index 0000000000000000000000000000000000000000..f8c4b909eaf233b36966c1527bff80e4da295672 --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/Identity.feature @@ -0,0 +1,539 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @dashboard +Feature: Dashboard - Identity + + Background: + Given we are testing the VIAM Api + + @identity + Scenario: Validate Identity of a user after registration +#Create new Random User + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on Identity tab +#Identity page + Then Title of the page is "Vereign | Manage your Identity" + And Validate Identity email field has the expected value - the email used for registration + And Validate email field is validated in the Identity Page + When User expand all sub folders + Then Validate Identity Given name "Boris" and Family Name "Dimitrov" and Name fields + And Validate Identity claim with label "Phone" has value "+359884045187" + And Validate phone field is not validated in the Identity Page + And Privacy policy and Beta Participation Agreement Links have the correct text and href + And I close the browser + + @identity + Scenario:Validate Identity Page labels and fields +#Create new Random User + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on Identity tab +#Identity Page + Then Privacy policy and Beta Participation Agreement Links have the correct text and href + And Validate Identity Page labels are presented + And Validate Back button is presented + And I close the browser + + @identity + Scenario: Validate Identity Select options +#Create new Random User + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on Identity tab +#Identity Page + Then Validate main Identity select options "Name, Date of Birth, Gender, Address, Communication, Social, Language" + When User select "Name" option from main Identity select + Then Validate secondary Identity select options "Full name, Nickname" + When User select "Full name" option from secondary Identity select + Then Placeholder of the field has value "First name" + And Placeholder of the field has value "Last name" + When User select "Nickname" option from secondary Identity select + Then Placeholder of the field has value "Type your nickname here" + When User select "Date of Birth" option from main Identity select + When User select "Gender" option from main Identity select + Then Validate Gender radio buttons "Male, Female, Other" + When User select "Address" option from main Identity select + Then Placeholder of the field has value "Street address" + And Placeholder of the field has value "Locality" + And Placeholder of the field has value "Region" + And Placeholder of the field has value "Postal code" + And Placeholder of the field has value "Country" + When User select "Communication" option from main Identity select + Then Validate secondary Identity select options "Email, Phone, Chat" + When User select "Email" option from secondary Identity select + Then Placeholder of the field has value "Type your email here" + When User select "Phone" option from secondary Identity select + Then Placeholder of the field has value "Type your phone number here" + When User select "Chat" option from secondary Identity select + Then Placeholder of the field has value "Chat Service" + And Placeholder of the field has value "Number or Username" + When User select "Social" option from main Identity select + Then Validate secondary Identity select options "Twitter, LinkedIn" + When User select "Twitter" option from secondary Identity select + Then Placeholder of the field has value "Url" + When User select "LinkedIn" option from secondary Identity select + Then Placeholder of the field has value "Url" + When User select "Language" option from main Identity select + Then Validate all presented languages + And I close the browser + + @identity + Scenario: Validate the deletion of default claims is not possible + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on Identity tab +#Identity Page + And User click on delete "Email" claim button + Then Validate the delete claim confirmation title and text + And User confirms the deletion + Then Error Message is presented with text "Cannot delete default claim" and message disappears + When User click on delete "Full name" claim button + Then Validate the delete claim confirmation title and text + And User confirms the deletion + Then Error Message is presented with text "Cannot delete default claim" and message disappears + When User click on delete "Phone" claim button + Then Validate the delete claim confirmation title and text + And User confirms the deletion + Then Error Message is presented with text "Cannot delete default claim" and message disappears + And I close the browser + + @identity + Scenario: Upload a photo with valid format + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on Identity tab + And User upload a photo with valid format to the identity + Then Validate image is presented + And Validate image is presented in the top right of the page + And I close the browser + + @identity + Scenario: Upload a photo with invalid format + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on Identity tab + And User upload a photo with invalid format to the identity + Then Error Message is presented with text "Please use images in jpg or png format." and message disappears + And Validate image is not presented + And Validate image is not presented in the top right of the page + And I close the browser + + @identity + Scenario: Add claims to the Identity + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on Identity tab +#Adding Full Name + And User select "Name" option from main Identity select + And User select "Full name" option from secondary Identity select + And User populates the field with placeholder "First name" with value "Ivan" + And User populates the field with placeholder "Last name" with value "Petrov" + And User click on Add to your Identity button +#Adding Nickname + And User select "Name" option from main Identity select + And User select "Nickname" option from secondary Identity select + And User populates the field with placeholder "Type your nickname here" with value "myNickname" + And User click on Add to your Identity button +#Adding Random Gender + And User select random Gender from the select + And User click on Add to your Identity button +#Adding Address + And User select "Address" option from main Identity select + And User populates the field with placeholder "Street address" with value "G.M Dimitrov" + And User populates the field with placeholder "Locality" with value "Sofia" + And User populates the field with placeholder "Region" with value "Sofia" + And User populates the field with placeholder "Postal code" with value "1777" + And User populates the field with placeholder "Country" with value "Bulgaria" + And User click on Add to your Identity button +#Adding Email + And User select "Communication" option from main Identity select + And User select "Email" option from secondary Identity select + And User populates the field with placeholder "Type your email here" with value "tested23@abv.bg" + And User click on Add to your Identity button +#Adding Phone + And User select "Communication" option from main Identity select + And User select "Phone" option from secondary Identity select + And User populates the field with placeholder "Type your phone number here" with value "+359883353610" + And User click on Add to your Identity button +#Adding Chat + And User select "Communication" option from main Identity select + And User select "Chat" option from secondary Identity select + And User populates the field with placeholder "Chat Service" with value "Mirc" + And User populates the field with placeholder "Number or Username" with value "testingUser" + And User click on Add to your Identity button +#Adding Twitter + And User select "Social" option from main Identity select + And User select "Twitter" option from secondary Identity select + And User populates the field with placeholder "Url" with value "www.localhost.com" + And User click on Add to your Identity button +#Adding LinkedIn + And User select "Social" option from main Identity select + And User select "LinkedIn" option from secondary Identity select + And User populates the field with placeholder "Url" with value "www.localhost.com" + And User click on Add to your Identity button +#Adding Language + And User select random Language from the select + And User click on Add to your Identity button +#Adding Date of birth + And User select "Date of Birth" option from main Identity select + And User populates the date of birth "01/01/2000" + And User click on Add to your Identity button +##Validate expanding folders are presented + Then Validate expanding folder is presented in the "Emails" claim + And Validate expanding folder is presented in the "Full names" claim + And Validate expanding folder is presented in the "Phones" claim + And Validate expanding folder is presented in the "Social" claim + And Validate warning icon is presented in the "Emails" claim + And Validate warning icon is presented in the "Phones" claim + And Validate warning icon is not presented in the "Full names" claim + And Validate warning icon is not presented in the "Social" claim + And I refresh the current page + And User expand all folders +#Validate the values of the identity + Then Validate Identity claim with label "Given name" has value "Ivan" + And Validate Identity claim with label "Family name" has value "Petrov" + And Validate Identity claim with label "Nickname" has value "myNickname" + And Validate Identity claim with label "Country" has value "Bulgaria" + And Validate Identity claim with label "Locality" has value "Sofia" + And Validate Identity claim with label "Postal code" has value "1777" + And Validate Identity claim with label "Region" has value "Sofia" + And Validate Identity claim with label "Street address" has value "G.M Dimitrov" + And Validate Identity claim with label "Email" has value "tested23@abv.bg" + And Validate Identity claim with label "Phone" has value "+359883353610" + And Validate Identity claim with label "Chat service name" has value "Mirc" + And Validate Identity claim with label "User" has value "testingUser" + And Validate Identity claim with label "Social network" has value "LinkedIn" + And Validate Identity claim with label "Url" has value "www.localhost.com" + And Validate Identity claim with label "Social network" has value "Twitter" + And Validate Identity claim with label "Url" has value "www.localhost.com" + And Validate Identity claim with label "Date of birth" has value "Jan 01 2000" + And Validate claim with label Gender has the expected value + And Validate claim with label Language has the expected value + And I close the browser + + @identity + Scenario: Edit Claims of the Identity + Given I open Chrome browser and navigate to vereign login page +#Login and Add claims to the identity + And I register a new user with email and add all claims via VIAM API + And I login with the registered via the VIAM API user into dashboard + And User click on Identity tab +#Expand all folders + And I refresh the current page + And User expand all folders +#Edit the Address claim + When User click on edit "Address" claim button + And User populates the field with placeholder "Street address" with value "Street Address Edited" + And User populates the field with placeholder "Locality" with value "Locality Edited" + And User populates the field with placeholder "Region" with value "Region Edited" + And User populates the field with placeholder "Postal code" with value "Code Edited" + And User populates the field with placeholder "Country" with value "Country Edited" + And User click on Update claim button +#Validate the Address claim after edit + Then Validate Identity claim with label "Country" has value "Country Edited" + And Validate Identity claim with label "Locality" has value "Locality Edited" + And Validate Identity claim with label "Postal code" has value "Code Edited" + And Validate Identity claim with label "Region" has value "Region Edited" + And Validate Identity claim with label "Street address" has value "Street Address Edited" +#Edit Chat claim + When User click on edit "Chat" claim button + And User populates the field with placeholder "Chat Service" with value "Chat Service Edited" + And User populates the field with placeholder "Number or Username" with value "Username Edited" + And User click on Update claim button +#Validate the Chat claim after edit + Then Validate Identity claim with label "Chat service name" has value "Chat Service Edited" + And Validate Identity claim with label "User" has value "Username Edited" +#Edit Date of Birth claim + When User click on edit "Date of birth" claim button + And User populates the date of birth "02/02/2002" + And User click on Update claim button +#Validate the Date of Birth claim after edit + Then Validate Identity claim with label "Date of birth" has value "Feb 02 2002" +#Edit Email claim + When User click on edit "Email" claim button + And User populates the field with placeholder "Type your email here" with value "edited@example.com" + And User click on Update claim button +#Validate the Email claim after edit + Then Validate Identity claim with label "Email" has value "edited@example.com" +#Edit Gender claim + When User click on edit "Gender" claim button + And User select random Gender from the select + And User click on Update claim button +#Validate the Gender claim after edit + Then Validate claim with label Gender has the expected value +#Edit Language claim + When User click on edit "Language" claim button + And User select "Bulgarian" from the Language select + And User click on Update claim button +#Validate the Language claim after edit + Then Validate Identity claim with label "Language" has value "Bulgarian" +#Edit Name claim + When User click on edit "Full name" claim button + And User populates the field with placeholder "First name" with value "First Name Edited" + And User populates the field with placeholder "Last name" with value "Last Name Edited" + And User click on Update claim button +#Validate the Name claim after edit + Then Validate Identity claim with label "Given name" has value "First Name Edited" + And Validate Identity claim with label "Family name" has value "Last Name Edited" +#Edit Nickname claim + When User click on edit "Nickname" claim button + And User populates the field with placeholder "Type your nickname here" with value "Nickname Edited" + And User click on Update claim button +#Validate the Nickname claim after edit + Then Validate Identity claim with label "Nickname" has value "Nickname Edited" +#Edit Phone claim + When User click on edit "Phone" claim button + And User populates the field with placeholder "Type your phone number here" with value "+359884045187" + And User click on Update claim button +#Validate the Phone claim after update + Then Validate Identity claim with label "Phone" has value "+359884045187" +#Edit Social claim + When User click on edit "Social" claim button + And User populates the field with placeholder "Url" with value "www.localhost.com/edited" + And User click on Update claim button +#Validate the Social claim after edit + Then Validate Identity claim with label "Url" has value "www.localhost.com/edited" + And I close the browser + + @identity + Scenario: Validate the deletion of non default claims is possible + Given I open Chrome browser and navigate to vereign login page +#Login and add claims to the identity + And I register a new user with email and add all claims via VIAM API + And I login with the registered via the VIAM API user into dashboard + And User click on Identity tab +#Expand all folders + And I refresh the current page + And User expand all folders +#Delete Address Claim + And User click on delete "Address" claim button + And User confirms the deletion + Then Validate "Address" claim is deleted from the Identity page +#Delete Chat Claim + When User click on delete "Chat" claim button + And User confirms the deletion + Then Validate "Chat" claim is deleted from the Identity page +#Delete Date of birth Claim + When User click on delete "Date of birth" claim button + And User confirms the deletion + Then Validate "Date of birth" claim is deleted from the Identity page +#Delete Email claim + And User expand all main folders + And User click on delete "Email" claim button + And User confirms the deletion + Then Validate claim "Email" with value "tested23@abv.bg" is not presented +#Delete Gender Claim + And User click on delete "Gender" claim button + And User confirms the deletion + Then Validate "Gender" claim is deleted from the Identity page +#Delete Language Claim + And User click on delete "Language" claim button + And User confirms the deletion + Then Validate "Language" claim is deleted from the Identity page +#Delete Name Claim + And User expand all main folders + And User click on delete "Full name" claim button + And User confirms the deletion + Then Validate claim "Full name" with value "Petrov, Ivan" is not presented +#Delete Nickname Claim + And User click on delete "Nickname" claim button + And User confirms the deletion + Then Validate "Nickname" claim is deleted from the Identity page +#Delete Phone Claim + And User expand all main folders + And User click on delete "Phone" claim button + And User confirms the deletion + Then Validate claim "Phone" with value "+359883353610" is not presented +#Delete Social Claim + And User click on delete "Social" claim button + And User confirms the deletion + Then Validate "Social" claim is deleted from the Identity page + And I close the browser + + @identity + Scenario: Edit already validated email and phone and validate them again + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + And User click on Identity tab +#Edit Email + And User click on edit "Email" claim button + And User populates the Identity Email field with random valid email + And User click on Update claim button +#Email is not validated after the edit + Then Validate email field is not validated in the Identity Page +#Validate the email + When User click on validate "Email" claim button + And User populates the confirmation code "9812" "8366" + And User click on Confirm button +#Email is validated + Then Validate email field is validated in the Identity Page +#Edit Phone - phone is not validated at this point + When User click on edit "Phone" claim button + And User populates the Phone field with random value + And User click on Update claim button + Then Validate phone field is not validated in the Identity Page +#Validate the phone + When User click on validate "Phone" claim button + And User populates the confirmation code "9812" "8366" + And User click on Confirm button + Then Validate phone field is validated in the Identity Page +#Edit the Phone - phone is validated at this point + When User click on edit "Phone" claim button + And User populates the Phone field with random value + And User click on Update claim button +#Phone is not validated after the edit + Then Validate phone field is not validated in the Identity Page +#Validate the Phone + When User click on validate "Phone" claim button + And User populates the confirmation code "9812" "8366" + And User click on Confirm button + Then Validate phone field is validated in the Identity Page + And I close the browser + + @identity + Scenario: Validate email in the Identity Page when the registration was not finished +#Start the registration + Given I open Chrome browser and navigate to vereign login page + When User clicks on Create Account button + And User populates the Email address or mobile number field with other valid email + And User click on Confirm button +#Check your email message is presented + Then Main Info Message has the correct text "Check your email" +#Close the browser without populating the confirmation code + And User navigates to vereign login page +#Start a new registration with other email and finish the registration + When I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + And User click on close tour button + And User click on Identity tab +#Add the email that did not finished the registration + And User select "Communication" option from main Identity select + And User select "Email" option from secondary Identity select + And User populates the Identity Email field with the email that he did not finished the registration + And User click on Add to your Identity button +#Expand all folders + And User expand all main folders +#Validate the email + And User click on validate "Email" claim button +#Validate the modal + Then Main Info Message in modal dialog is "Check your email" + And Validate page contains element with text "We've sent a 8-digit confirmation code to your email" + And Validate page contains element with text "It will expire shortly, so enter your code soon." + When User populates the confirmation code "9812" "8366" +#Confirm and validate the email field is validated + And User click on Confirm button + Then Validate email field is validated in the Identity Page + And I close the browser + + @identity @bug-dashboard-741 + Scenario: Import image from Gravatar when the email is not registered in Gravatar + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + And User click on Identity tab + And User imports image from gravatar +#bug-dashboard-741 +# Then Error Message is presented with text "Your email address doesn't have gravatar image" and message disappears + And Validate image is not presented + And Validate image is not presented in the top right of the page + And I close the browser + + @identity + Scenario: Import image from Gravatar when the email is registered in Gravatar + Given I open Chrome browser and navigate to vereign login page + And Check if gravatar account is registered and register it if not via VIAM API + And I login with account that is registered in Gravatar + When User click on Identity tab + And User removes the image claim if there is such + And User imports image from gravatar + Then Confirmation Message is presented with text "Gravatar picture is imported" and message disappears + And Validate image is presented + And Validate image is presented in the top right of the page + And I close the browser + + @identity + Scenario: Resend confirmation code + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + And User click on close tour button + And User click on Identity tab + And User select "Communication" option from main Identity select + And User select "Email" option from secondary Identity select + And User populates the Identity Email field with random valid email + And User click on Add to your Identity button + And User expand all folders + And Validate Identity email field has the expected value - the email used for registration + And Validate email field is not validated in the Identity Page + And User click on validate "Email" claim button + And I wait for {60000} mseconds + And User click on send another code button + And Confirmation Message is presented with text "A new code has been sent." and message disappears + And Error message is not presented + And User populates the confirmation code "9812" "8366" + And User click on Confirm button in modal + And I wait for {5000} mseconds + And Validate email field is validated in the Identity Page + And I close the browser + + @identity + Scenario: Cancel the validation of a claim and validate it after that + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + And User click on close tour button + And User click on Identity tab + And User select "Communication" option from main Identity select + And User select "Email" option from secondary Identity select + And User populates the Identity Email field with random valid email + And User click on Add to your Identity button + And User expand all folders + And Validate Identity email field has the expected value - the email used for registration + And Validate email field is not validated in the Identity Page + And User click on validate "Email" claim button + And User click on Cancel button in modal + And I wait for {5000} mseconds + And User click on validate "Email" claim button + And Error Message is presented with text "Please wait 60 seconds between tries." and message disappears + And I wait for {60000} mseconds + And User click on validate "Email" claim button + And Error message is not presented + And User populates the confirmation code "9812" "8366" + And User click on Confirm button + And Validate email field is validated in the Identity Page + And I close the browser + + + diff --git a/out/test/resources/features/selenium/dashboard/InboxEmailInteraction.feature b/out/test/resources/features/selenium/dashboard/InboxEmailInteraction.feature new file mode 100644 index 0000000000000000000000000000000000000000..1d94d303fa140fc1d6187f145cdb28f5cc65bd9a --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/InboxEmailInteraction.feature @@ -0,0 +1,1125 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @dashboard @all @notParallel +Feature: Dashboard - Inbox email interaction + + Background: + Given we are testing the VIAM Api + + @inbox @gmail + Scenario: Send verified gmail email to registered user +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +# When User logs into gmail +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Verified gmail email to registered user" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Email + And Validate the subject of the first email is the one used to send email + When User open the "1" email + Then Validate the email has the subject used to send the email +# When User click on email thread with message "Verified gmail email to registered user" + Then Validate the message of the email for registered user has value "Verified gmail email to registered user" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "Email" + And Validate the date and time in the email has correct value + And Validate vereign label in Email thread when email is send to registered user + And Validate To value in the email thread has value "Boris Dimitrov <tested23@abv.bg>" + And Validate From value in the email thread has value "Vereign Automation <vereign.automation@gmail.com>" + And Validate Name field in the email template has value "Vereign Automation" + And Validate Email field in the email template has value "vereign.automation@gmail.com" + And Validate verified icon is presented on the Email claim of the Email Thread + And Validate profile image is presented on the V-card + And I close the browser + + @inbox @gmail @bug-dashboard-704 + Scenario Outline: Send verified gmail email to registered user with changed profile +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User selects "<Profile_Name>" from the gmail profile select + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "<Message>" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the profile in the inbox has value "<Profile_Name>" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Validate the email in the Email + When User open the "1" email + Then Validate the email has the subject used to send the email +# When User click on email thread with message "<Message>" + Then Validate the message of the email for registered user has value "<Message>" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" +#bug-dashboard-704 +# And Validate the profile in the email has value "<Profile_Name>" + And Validate the date and time in the email has correct value + And Validate small footer text "<Expected_Small_Footer_Text>" + And Validate To value in the email thread has value "Boris Dimitrov <tested23@abv.bg>" + And Validate From value in the email thread has value "<Expected_From_Value>" + And I close the browser + Examples: + | Profile_Name | Message | Expected_Small_Footer_Text | Expected_From_Value | + | No Claims | Verified gmail email to registered user with profile that has no claims | This email has been sent by a verified user and authenticated using the beta version of Vereign. | <vereign.automation@gmail.com> | + | Name Only | Verified gmail email to registered user with profile that has Name only claim | This email has been sent by Vereign Automation and authenticated using the beta version of Vereign. | Vereign Automation <vereign.automation@gmail.com> | + + + @inbox @gmail @bug-dashboard-704 + Scenario: Send verified gmail email to registered user from profile with not validated email +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User selects "NotValidatedEmail" from the gmail profile select + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Gmail email from profile with not validated email" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the profile in the inbox has value "NotValidatedEmail" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Validate the email in the Email + When User open the "1" email + Then Validate the email has the subject used to send the email +# When User click on email thread with message "Gmail email from profile with not validated email" + Then Validate the message of the email for registered user has value "Gmail email from profile with not validated email" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" +#bug-dashboard-704 +# And Validate the profile in the email has value "NotValidatedEmail" + And Validate the date and time in the email has correct value + And Validate To value in the email thread has value "Boris Dimitrov <tested23@abv.bg>" + And Validate From value in the email thread has value "<vereign.automation@gmail.com>" + And Validate verified icon is not presented on the Email claim of the Email Thread + And Validate Email field in the email template has value "notValidated@example.com" + And Validate profile image is presented on the V-card + And I close the browser + + @inbox @gmail @bug-dashboard-705 + Scenario: Send verified gmail email with registered user in Cc + Given I open chrome and load chrome extension and chrome profile + When I change the extension environment +#Check if the testing account is created and login with gmail account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User click on gmail add Cc button + And User populates gmail To field with random email + And User populates gmail Cc field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Verified gmail email with registered user in Cc" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + When User open the "1" email + Then Validate the email has the subject used to send the email +# When User click on email thread with message "Verified gmail email with registered user in Cc" + Then Validate the message of the email for registered user has value "Verified gmail email with registered user in Cc" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "Email" + And Validate the date and time in the email has correct value + And Validate vereign label in Email thread when email is send to registered user + And Validate From value in the email thread has value "Vereign Automation <vereign.automation@gmail.com>" +#bug-dashboard-705 +# And Validate To field in the email thread has the correct value +# And Validate Cc value in the email thread has value "tested23@abv.bg" + And I close the browser + + @inbox @gmail @bug-dashboard-705 + Scenario: Send verified gmail email with not registered user in Cc + Given I open chrome and load chrome extension and chrome profile + When I change the extension environment +#Check if the testing account is created and login with gmail account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User click on gmail add Cc button + And User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Cc field with random email + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Verified gmail email with not registered user in Cc" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Email + When User open the "1" email + Then Validate the email has the subject used to send the email +# When User click on email thread with message "Verified gmail email with not registered user in Cc" + Then Validate the message of the email for registered user has value "Verified gmail email with not registered user in Cc" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "Email" + And Validate the date and time in the email has correct value + And Validate vereign label in Email thread when email is send to registered user + And Validate From value in the email thread has value "Vereign Automation <vereign.automation@gmail.com>" +#bug-dashboard-705 +# And Validate To value in the email thread has value "Boris Dimitrov" +# And Validate Cc field in the email thread has the correct value + And I close the browser + + @inbox @gmail + Scenario: Validate email certificates from message security +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Validate email certificates from message security" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + When User open the "1" email + Then Validate the email has the subject used to send the email + And Click message security and validate all tabs + And I close the browser + + @inbox @roundcube + Scenario: Send verified roundcube email to registered user +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Check if the testing account is created and login with roundcube account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Compose the email + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "tested23@abv.bg" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Verified roundcube email to registered user" + And User click on roundcube Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Open the Email and validate the fields + When User open the "1" email + Then Validate the email has the subject used to send the email +#Open the Email thread and validate it +# When User click on email thread with message "Verified roundcube email to registered user" + Then Validate the message of the email for registered user has value "Verified roundcube email to registered user" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "Email" + And Validate the date and time in the email has correct value + And Validate vereign label in Email thread when email is send to registered user + And Validate To value in the email thread has value "Boris Dimitrov" + And Validate From value in the email thread has value "You" + And Validate Name field in the email template has value "Roundcube Robot" + And Validate Email field in the email template has value "mister.test@kolab-qa.vereign.com" + And I close the browser + + @inbox @roundcube + Scenario Outline: Send verified roundcube email to registered user with changed profile +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Check if the testing account is created and login with roundcube account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On + And User selects "<Profile_Name>" from the roundcube profile select +#Compose the email + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "tested23@abv.bg" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "<Message>" + And User click on roundcube Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the profile in the inbox has value "<Profile_Name>" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Open the Email and validate the fields + When User open the "1" email + Then Validate the email has the subject used to send the email +#Open the Email thread and validate it +# When User click on email thread with message "<Message>" + Then Validate the message of the email for registered user has value "<Message>" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "<Profile_Name>" + And Validate the date and time in the email has correct value + And Validate small footer text "<Expected_Small_Footer_Text>" + And Validate To value in the email thread has value "Boris Dimitrov" + And Validate From value in the email thread has value "You" + And I close the browser + Examples: + | Profile_Name | Message | Expected_Small_Footer_Text | + | No Claims | Roundcube email to registered user with profile that has no claims | This email has been sent by a verified user and authenticated using the beta version of Vereign. | + | Name Only | Roundcube email to registered user with profile that has Name only | This email has been sent by Roundcube Robot and authenticated using the beta version of Vereign. | + + @inbox @roundcube + Scenario: Send verified roudncube email to registered user from profile with not validated email +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Check if the testing account is created and login with roundcube account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On + And User selects "NotValidatedEmail" from the roundcube profile select +#Compose the email + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "tested23@abv.bg" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Roundcube email from profile with not validated email" + And User click on roundcube Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the profile in the inbox has value "NotValidatedEmail" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Open the Email and validate the fields + When User open the "1" email + Then Validate the email has the subject used to send the email +#Open the Email thread and validate it +# When User click on email thread with message "Roundcube email from profile with not validated email" + Then Validate the message of the email for registered user has value "Roundcube email from profile with not validated email" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "NotValidatedEmail" + And Validate the date and time in the email has correct value + And Validate To value in the email thread has value "Boris Dimitrov" + And Validate From value in the email thread has value "You" + And Validate verified icon is not presented on the Email claim of the Email Thread + And Validate Email field in the email template has value "notValidated@example.com" + And I close the browser + + @inbox @roundcube + Scenario: Send verified roundcube email with registered user in Cc +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Check if the testing account is created and login with roundcube account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Compose the email + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field with random email + And User click on roundcube Add Cc button + And User populates roundcube Cc field "tested23@abv.bg" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Verified roundcube email with registered user in Cc" + And User click on roundcube Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Open the Email and validate the fields + When User open the "1" email + Then Validate the email has the subject used to send the email +#Open the Email thread and validate it +# When User click on email thread with message "Verified roundcube email with registered user in Cc" + Then Validate the message of the email for registered user has value "Verified roundcube email with registered user in Cc" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the date and time in the email has correct value + And Validate vereign label in Email thread when email is send to registered user + And Validate From value in the email thread has value "You" + And Validate To field in the email thread has the correct value + And Validate Cc value in the email thread has value "tested23@abv.bg" + And I close the browser + + @inbox @roundcube + Scenario: Send verified roundcube email with not registered user in Cc +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Check if the testing account is created and login with roundcube account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "tested23@abv.bg" + And User click on roundcube Add Cc button + And User populates roundcube Cc field with random email + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Verified roundcube email with not registered user in Cc" + And User click on roundcube Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Open the Email and validate the fields + When User open the "1" email + Then Validate the email has the subject used to send the email +#Open the Email thread and validate it +# When User click on email thread with message "Verified roundcube email with not registered user in Cc" + Then Validate the message of the email for registered user has value "Verified roundcube email with not registered user in Cc" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the date and time in the email has correct value + And Validate vereign label in Email thread when email is send to registered user + And Validate From value in the email thread has value "You" + And Validate To field in the email thread has the correct value where email is send from roundcube and Cc is not registered + And Validate Cc field in the email thread has the correct value where email is send from roundcube and Cc is not registered + And I close the browser + + @inbox @gmail + Scenario: Send gmail email to multiple not registered receivers + Given I open chrome and load chrome extension and chrome profile + When I change the extension environment +#Check if the testing account is created and login with gmail account + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with random emails + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Send gmail email to multiple not registered receivers" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the count of the contacts in the inbox is "0" + And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value +#Validate the email in the Email + When User open the "1" email + Then Validate the email has the subject used to send the email +# And User click on email thread with message "Send gmail email to multiple not registered receivers" + Then Validate the message of the email for registered user has value "Send gmail email to multiple not registered receivers" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "0" + And Validate the profile in the email has value "Email" + And Validate the date and time in the email has correct value + Then Validate vereign label in Email thread when email is send to registered user + And Validate profile image is presented on the V-card + And Validate To value in the email thread has the correct value + And Validate From value in the email thread has value "Vereign Automation <vereign.automation@gmail.com>" + And I close the browser + + @inbox @roundcube + Scenario: Send roundcube email to multiple not registered receivers +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Check if the testing account is created and login with roundcube account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Compose the email + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field with random emails + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Roundcube email to multiple not registered receivers" + And User click on roundcube Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the count of the contacts in the inbox is "0" + And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value +#Validate the email in the Email + When User open the "1" email + Then Validate the email has the subject used to send the email +# And User click on email thread with message "Roundcube email to multiple not registered receivers" + Then Validate the message of the email for registered user has value "Roundcube email to multiple not registered receivers" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "0" + And Validate the profile in the email has value "Email" + And Validate the date and time in the email has correct value + Then Validate vereign label in Email thread when email is send to registered user + And Validate To value in the email thread has the correct value + And Validate From value in the email thread has value "You" + And I close the browser + + @inbox @gmail @roundcube + Scenario: Reply to a gmail email and validate it in the dashboard +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Log into dashboard with roundcube email + And Check if roundcube account is registered and register it if not via VIAM API +#Check if the testing account is created and login with gmail account + And User logs into vereign with gmail account +#Log into vereign chrome extension + And I change the extension environment + And User Logs in chrome extension with password "1111" +#Send gmail email to the registered roundcube email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "mister.test@kolab-qa.vereign.com" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Gmail email waiting for reply" + And User click on gmail Send button +#Forget account credentials + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity +#Log into dashboard with the roundcube account + And User logs into vereign with roundcube account + And User navigates to roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Reply to the email + And User click on the received gmail email + And User click on the roundcube details button in the sent email + And I wait for {5000} mseconds + And User click on roundcube Reply button + And Validate vereign icon is presented in roundcube + And User populates roundcube Message Field "Repling to gmail email" + And User click on roundcube Send button + And User navigates to vereign login page +# And Validate the subject of the first email is the one used to send email with Reply +#Open the email + And User open the "1" email +#Validate the email + Then Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "Email" +#Validate there are 2 items in the email thread + And Validate there are "2" items in the email thread +#Open the second item from the email thread + When User click on the "1" item in the email thread + When User click on the "2" item in the email thread + Then Validate vereign label in the "2" item from the Email thread when email is send to registered user + And Validate the message of the email for registered user has value "Gmail email waiting for reply" + And Validate To value in the email thread has value "You" + And Validate From value in the email thread has value "Vereign Automation" + And Validate Name field in the "2" item from the Email Thread has value "Vereign Automation" + And Validate Email field in the "2" item from the Email Thread has value "vereign.automation@gmail.com" +#Close the second item from the email thread + When User click on the "2" item in the email thread +#Open the first item from the email thread + When User click on the "1" item in the email thread + Then Validate vereign label in the "1" item from the Email thread when email is send to registered user + And Validate the message of the email after reply has value "Repling to gmail email" + And Validate To value in the email thread has value "Vereign Automation" + And Validate From value in the email thread has value "You" + And Validate Name field in the "1" item from the Email Thread has value "Roundcube Robot" + And Validate Email field in the "1" item from the Email Thread has value "mister.test@kolab-qa.vereign.com" +#Click on chat view and validate + When User click on Chat View + Then Validate there is "1" message send to you + And Validate there is "1" message send from you +#End of the validation with the mister.test@kolab-qa.vereign.com account + And User logs out of vereign and click on cleanup local identity +#Log into vereign with the gmail account - vereign.automation@gmail.com + And User logs into vereign with gmail account +#Validate the email + And User open the "1" email + Then Validate the Interaction Type in the email has value "Email" + And Validate the profile in the email has value "Email" + And Validate there are "2" items in the email thread +#Validate the second item in the email thread + When User click on the "1" item in the email thread + When User click on the "2" item in the email thread + Then Validate vereign label in the "2" item from the Email thread when email is send to registered user + And Validate the message of the email for registered user has value "Gmail email waiting for reply" + And Validate To value in the email thread has value "Roundcube Robot" + And Validate From value in the email thread has value "You" + And Validate Name field in the "2" item from the Email Thread has value "Vereign Automation" + And Validate Email field in the "2" item from the Email Thread has value "vereign.automation@gmail.com" + When User click on the "2" item in the email thread +#Validate the first item in the email thread + And User click on the "1" item in the email thread + Then Validate vereign label in the "1" item from the Email thread when email is send to registered user + And Validate the message of the email after reply has value "Repling to gmail email" + And Validate To value in the email thread has value "You" + And Validate From value in the email thread has value "Roundcube Robot" + And Validate Name field in the "1" item from the Email Thread has value "Roundcube Robot" + And Validate Email field in the "1" item from the Email Thread has value "mister.test@kolab-qa.vereign.com" +#Click on chat view and validate + When User click on Chat View + Then Validate there is "1" message send to you + And Validate there is "1" message send from you + And I close the browser + + @inbox @gmail @roundcube + Scenario: Reply to roundcube email and validate it in the dashboard +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Validate the gmail account is created + And Check if gmail account is registered and register it if not via VIAM API +#Validate the roundcube account is created and log in + And User logs into vereign with roundcube account +#Log into roundcube + And User navigates to roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Send the email + And User click on roundcube Compose button + And I wait for {5000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "vereign.automation@gmail.com" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Roundcube email waiting for reply" + And User click on roundcube Send button +#Logout from the roundcube account + And User navigates to vereign login page + And User logs out of vereign and click on cleanup local identity +#Login with the gmail account + And User logs into vereign with gmail account +#Login into the chrome extension + And User Logs in chrome extension with password "1111" +#Open the received email + And User navigates to gmail + And User click on gmail Inbox folder + And I wait for {15000} mseconds + And User click on the received roundcube email +##Click Reply + And User click on gmail Reply button + And Validate vereign icon is presented in gmail + And User populates gmail Message field with value "Replying to roundcube email" + And User click on gmail Send button +#Navigate to the dashboard and validate the data with the gmail account - vereign.automation@gmail.com + And User navigates to vereign login page +#Open the first email + And User open the "1" email +#Validate the email + Then Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "Email" +#Open the second item from the email thread and validate it + And Validate there are "2" items in the email thread + And User click on the "1" item in the email thread + And User click on the "2" item in the email thread + And Validate vereign label in the "2" item from the Email thread when email is send to registered user + And Validate the message of the email for registered user has value "Roundcube email waiting for reply" + And Validate To value in the email thread has value "You" + And Validate From value in the email thread has value "Roundcube Robot" + And Validate Name field in the "2" item from the Email Thread has value "Roundcube Robot" + And Validate Email field in the "2" item from the Email Thread has value "mister.test@kolab-qa.vereign.com" +#Close the second items from the email thread + And User click on the "2" item in the email thread +#Open the first item in the email thread and validate it + And User click on the "1" item in the email thread + Then Validate vereign label in the "1" item from the Email thread when email is send to registered user + And Validate the message of the email for registered user has value "Replying to roundcube email" + And Validate To value in the email thread has value "Roundcube Robot" + And Validate From value in the email thread has value "You" + And Validate Name field in the "1" item from the Email Thread has value "Vereign Automation" + And Validate Email field in the "1" item from the Email Thread has value "vereign.automation@gmail.com" +#Click on chat view and validate + When User click on Chat View + Then Validate there is "1" message send to you + And Validate there is "1" message send from you +#Forget account credentials + And User logs out of vereign and click on cleanup local identity +#Login into dashboard with roundcube account + And User logs into vereign with roundcube account +#Open the first email + And User open the "1" email +#Validate the email + Then Validate the Interaction Type in the email has value "Email" + And Validate the profile in the email has value "Email" + And Validate there are "2" items in the email thread +#Open the second item in the email thread and validate it + When User click on the "1" item in the email thread + And User click on the "2" item in the email thread + Then Validate vereign label in the "2" item from the Email thread when email is send to registered user + And Validate the message of the email for registered user has value "Roundcube email waiting for reply" + And Validate To value in the email thread has value "Vereign Automation" + And Validate From value in the email thread has value "You" + And Validate Name field in the "2" item from the Email Thread has value "Roundcube Robot" + And Validate Email field in the "2" item from the Email Thread has value "mister.test@kolab-qa.vereign.com" +#Close the second item from the email thread + When User click on the "2" item in the email thread +#Open the first item from the email thread and validate it + And User click on the "1" item in the email thread + Then Validate vereign label in the "1" item from the Email thread when email is send to registered user + And Validate the message of the email for registered user has value "Replying to roundcube email" + And Validate To value in the email thread has value "You" + And Validate From value in the email thread has value "Vereign Automation" + And Validate Name field in the "1" item from the Email Thread has value "Vereign Automation" + And Validate Email field in the "1" item from the Email Thread has value "vereign.automation@gmail.com" +#Click on chat view and validate + When User click on Chat View + Then Validate there is "1" message send to you + And Validate there is "1" message send from you + And I close the browser + + @roundcube @inbox + Scenario: Send two emails to the same email and validate the header and footer +#Open chrome and navigate to vereign login page + Given I open Chrome browser and navigate to vereign login page +#Check if the roundcube account is created and log in + And User logs into vereign with roundcube account +#log into roundcube + And User navigates to roundcube + And User logs into roundcube +#Click settings and populate the correct environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button + And User click on Mail button + And User enables Vereign On +#Compose the first email + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field with random email + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Check header footer when sending second email. 1st email" + And User click on roundcube Send button +#Navigate to the dashboard and validate the first email + And User navigates to vereign login page + And User click on Continue button + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate there are "1" items in the email thread +# And User click on email thread with message "Check header footer when sending second email. 1st email" + And Validate To value in the email thread has the correct value + And Validate From value in the email thread has value "You" + And Validate vereign label in Email thread when email is send to registered user + And Validate the message of the email for registered user has value "Check header footer when sending second email. 1st email" + And User navigates to roundcube + And User click on resume your previous session + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To field with the same email + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Check header footer when sending second email. 2nd email" + And User click on roundcube Send button + And User navigates to vereign login page + And User open the "1" email + And Validate the email has the subject used to send the email + And Validate there are "1" items in the email thread +# And User click on email thread with message "Check header footer when sending second email. 2nd email" + And Validate To value in the email thread has the correct value + And Validate From value in the email thread has value "You" + And Validate vereign label in Email thread when email is send to registered user + And Validate the message of the email for registered user has value "Check header footer when sending second email. 2nd email" + And I close the browser + + @gmail @search + Scenario: Search an email by subject and email of the sender/receiver +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Verified gmail email to registered user" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button + And User search for the email by the subject +#Validate the search results in the Inbox + And Validate there are "1" items presented in the Inbox + And Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the count of the contacts in the inbox is "1" + And Validate the profile in the inbox has value "Email" +#Validate the search results in the email interaction + And User open the "1" email + Then Validate the email has the subject used to send the email + Then Validate the message of the email for registered user has value "Verified gmail email to registered user" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "Email" + And Validate the date and time in the email has correct value + And Validate vereign label in Email thread when email is send to registered user + And Validate To value in the email thread has value "Boris Dimitrov <tested23@abv.bg>" + And Validate From value in the email thread has value "Vereign Automation <vereign.automation@gmail.com>" + And Validate Name field in the email template has value "Vereign Automation" + And Validate Email field in the email template has value "vereign.automation@gmail.com" + And Validate verified icon is presented on the Email claim of the Email Thread + And User click on Inbox tab +#Search by the email of the sender and validate the Inbox + And User populates the Inbox search field with value "vereign.automation@gmail.com" + And Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the count of the contacts in the inbox is "1" + And Validate the profile in the inbox has value "Email" +#Search by the email of the receiver and validate the Inbox + And User click on Contacts tab + And User click on Inbox tab + And User populates the Inbox search field with value "tested23@abv.bg" + And Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the count of the contacts in the inbox is "1" + And Validate the profile in the inbox has value "Email" + And I close the browser + + @gmail @search @delete + Scenario: Delete an email and search for its subject and email of the sender +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Verified gmail email to registered user" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button + And User open the "1" email +#Delete the email + And User click on the Delete button + And Validate the confirmation message after click on Delete button is with text "Do you want to delete this interaction?" + And User confirm the deletion of the interaction + And Title of the page is "Vereign | My Inbox" +#Search by subject + And User search for the email by the subject + And Validate there are "0" items presented in the Inbox + And Validate no interactions found message is presented +#Search by email + And User populates the Inbox search field with value "vereign.automation@gmail.com" + And Validate the subject of the first email is not the one used to send email + And I close the browser + + @gmail + Scenario: Send email to yourself +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "vereign.automation@gmail.com" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Verified gmail email to yourself" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "0" +#Validate the email in the Email + When User open the "1" email + Then Validate the email has the subject used to send the email +# When User click on email thread with message "Verified gmail email to registered user" + Then Validate the message of the email for registered user has value "Verified gmail email to yourself" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "0" + And Validate the profile in the email has value "Email" + And Validate the date and time in the email has correct value + And Validate vereign label in Email thread when email is send to registered user + And Validate To value in the email thread has value "Vereign Automation <vereign.automation@gmail.com>" + And Validate From value in the email thread has value "Vereign Automation <vereign.automation@gmail.com>" + And Validate Name field in the email template has value "Vereign Automation" + And Validate Email field in the email template has value "vereign.automation@gmail.com" + And Validate verified icon is presented on the Email claim of the Email Thread + And Validate profile image is presented on the V-card + And I close the browser + + @gmail @wip + Scenario: Forward an gmail email +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "vereign.automation@gmail.com" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Verified gmail email to yourself" + And User click on gmail Send button +#Open the first email in the gmail inbox + And User click on gmail Inbox folder + And I wait for {5000} mseconds + And User click on the received roundcube email +#Forward the email + And User click on gmail Forward button + And Validate vereign icon is presented in gmail + And User populates gmail To field with random email + And User populates gmail Message field with value "Forwarding..." + And User click on gmail Send button +#Check the dashboard of the sender + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "0" +#Open the email and validate it + When User open the "1" email + Then Validate the email has the subject used to send the email +# When User click on email thread with message "Verified gmail email to registered user" + And Validate there are "1" items in the email thread + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "0" + And Validate the profile in the email has value "Email" + And Validate the date and time in the email has correct value + Then Validate vereign label in the "1" item from the Email thread when email is send to registered user + And Validate the message of the email after reply has value "Repling to gmail email" + And Validate From value in the email thread has value "You" + And Validate To value in the email thread has the correct value + And Validate Name field in the email template has value "Vereign Automation" + And Validate Email field in the email template has value "vereign.automation@gmail.com" + And Validate verified icon is presented on the Email claim of the Email Thread + And I wait for {60000} mseconds + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/test/resources/features/selenium/dashboard/InboxListing.feature b/out/test/resources/features/selenium/dashboard/InboxListing.feature new file mode 100644 index 0000000000000000000000000000000000000000..6d6ce491982a2e6e0ed8391180bb5bba561eaf34 --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/InboxListing.feature @@ -0,0 +1,509 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @dashboard @all @notParallel +Feature: Dashboard - Inbox listing + + Background: + Given we are testing the VIAM Api + + @inbox @gmail + Scenario: Send verified gmail email to registered user +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Log into vereign with testing account - vereign.automation@gmail.com + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Inbox Listing. Verified gmail email to registered user" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" + And I close the browser + + @inbox @gmail + Scenario: Send verified gmail email to registered user with changed profile +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Log into vereign with testing account - vereign.automation@gmail.com + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail +#Select friends profile + And User selects "Friends" from the gmail profile select + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Inbox Listing. Verified gmail email to registered user with changed profile" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the profile in the inbox has value "Friends" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" + And I close the browser + + @inbox @gmail + Scenario: Send multiple gmail emails to not registered user +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Log into vereign with testing account - vereign.automation@gmail.com + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User sends "5" gmail emails +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate all of the emails in the Inbox + And Validate all of the gmail emails in the Email + And I close the browser + + @inbox @roundcube + Scenario: Send multiple roundcube emails to not registered user +#Navigate to vereign login page + Given I open Chrome browser and navigate to vereign login page +#Login with testing account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail + And User click on Mail button +#Enable Vereign + And User enables Vereign On + And User sends "4" roundcube emails +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate all of the emails in the Inbox + Then Validate all of the roundcube emails in the Email + And I close the browser + + @gmail @delete + Scenario: Gmail Delete the email from the dashboard of the sender and check the email in the receivers dashboard +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Verified gmail email to registered user" + And User click on gmail Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Email + When User open the "1" email + Then Validate the email has the subject used to send the email +# When User click on email thread with message "Verified gmail email to registered user" + And User click on the Delete button + And Validate the confirmation message after click on Delete button is with text "Do you want to delete this interaction?" + And User confirm the deletion of the interaction + And Title of the page is "Vereign | My Inbox" + And Validate the subject of the first email is not the one used to send email +#Logout and login with the testing account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with testing account +#Validate the Email in the inbox of the receiver after the email is deleted + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Open the email and validate it + When User open the "1" email + Then Validate the email has the subject used to send the email + Then Validate the message of the email for registered user has value "Verified gmail email to registered user" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "Email" + And Validate the date and time in the email has correct value + And Validate vereign label in Email thread when email is send to registered user + And Validate To value in the email thread has value "Boris Dimitrov <tested23@abv.bg>" + And Validate From value in the email thread has value "Vereign Automation <vereign.automation@gmail.com>" + And Validate Name field in the email template has value "Vereign Automation" + And Validate Email field in the email template has value "vereign.automation@gmail.com" + And Validate verified icon is presented on the Email claim of the Email Thread + And I close the browser + + @roundcube @delete + Scenario: Roundcube Delete the email from the dashboard of the sender and check the email in the receivers dashboard +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Check if the testing account is created and login with roundcube account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Compose the email + And User click on roundcube Compose button + And I wait for {2000} mseconds + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "tested23@abv.bg" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Verified roundcube email to registered user" + And User click on roundcube Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email +#Open the Email and validate the fields + When User open the "1" email + Then Validate the email has the subject used to send the email +#Open the Email thread and validate it +# When User click on email thread with message "Verified roundcube email to registered user" + And User click on the Delete button + And Validate the confirmation message after click on Delete button is with text "Do you want to delete this interaction?" + And User confirm the deletion of the interaction + And Title of the page is "Vereign | My Inbox" + And Validate the subject of the first email is not the one used to send email +#Logout and login with the receivers account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with testing account +#Validate the email in the inbox of the receiver + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" + And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Validate the email in the email + When User open the "1" email + Then Validate the message of the email for registered user has value "Verified roundcube email to registered user" + And Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "Email" + And Validate the date and time in the email has correct value + And Validate vereign label in Email thread when email is send to registered user + And Validate To value in the email thread has value "You" + And Validate From value in the email thread has value "Roundcube Robot" + And Validate Name field in the email template has value "Roundcube Robot" + And Validate Email field in the email template has value "mister.test@kolab-qa.vereign.com" + And I close the browser + + @delete @gmail @roundcube + Scenario: Delete the email from the dashboard of the sender and reply to the email +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Check if roundcube account is created and log into dashboard with gmail account + And Check if roundcube account is registered and register it if not via VIAM API +#Check if the testing account is created and login with gmail account + And User logs into vereign with gmail account +#Log into vereign chrome extension + And I change the extension environment + And User Logs in chrome extension with password "1111" +#Send gmail email to the registered roundcube email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "mister.test@kolab-qa.vereign.com" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Gmail email waiting for reply" + And User click on gmail Send button +#Check the email in the dashboard + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email +#Open the Email and validate the fields + When User open the "1" email + Then Validate the email has the subject used to send the email +#Open the Email thread and validate it +# When User click on email thread with message "Verified roundcube email to registered user" + And User click on the Delete button + And Validate the confirmation message after click on Delete button is with text "Do you want to delete this interaction?" + And User confirm the deletion of the interaction + And Title of the page is "Vereign | My Inbox" + And Validate the subject of the first email is not the one used to send email +#Logout and login with the receivers account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account + And User navigates to roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Reply to the email + And User click on the received gmail email + And User click on the roundcube details button in the sent email + And I wait for {5000} mseconds + And User click on roundcube Reply button + And Validate vereign icon is presented in roundcube + And User populates roundcube Message Field "Repling to gmail email" + And User click on roundcube Send button + And User navigates to vereign login page + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" +# And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Open the email + And User open the "1" email +#Validate the email + Then Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "Email" +#Validate there are 2 items in the email thread + And Validate there are "2" items in the email thread +#Open the second item from the email thread + When User click on the "1" item in the email thread + When User click on the "2" item in the email thread + Then Validate vereign label in the "2" item from the Email thread when email is send to registered user + And Validate the message of the email for registered user has value "Gmail email waiting for reply" + And Validate To value in the email thread has value "You" + And Validate From value in the email thread has value "Vereign Automation" + And Validate Name field in the "2" item from the Email Thread has value "Vereign Automation" + And Validate Email field in the "2" item from the Email Thread has value "vereign.automation@gmail.com" +#Close the second item from the email thread + When User click on the "2" item in the email thread +#Open the first item from the email thread + When User click on the "1" item in the email thread + Then Validate vereign label in the "1" item from the Email thread when email is send to registered user + And Validate the message of the email after reply has value "Repling to gmail email" + And Validate To value in the email thread has value "Vereign Automation" + And Validate From value in the email thread has value "You" + And Validate Name field in the "1" item from the Email Thread has value "Roundcube Robot" + And Validate Email field in the "1" item from the Email Thread has value "mister.test@kolab-qa.vereign.com" +#Click on chat view and validate + When User click on Chat View + Then Validate there is "1" message send to you + And Validate there is "1" message send from you +#End of the validation with the mister.test@kolab-qa.vereign.com account + And User logs out of vereign and click on cleanup local identity +#Log into vereign with the gmail account - vereign.automation@gmail.com + And User logs into vereign with gmail account +#Validate the email in the inbox of the sender + Then Validate the subject of the first email is the one used to send email + And Validate the Interaction Type in the inbox has value "Email" +# And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Validate the email + And User open the "1" email + Then Validate the Interaction Type in the email has value "Email" +# And Validate the profile in the email has value "Email" + And Validate there are "2" items in the email thread +#Validate the second item in the email thread + When User click on the "1" item in the email thread + When User click on the "2" item in the email thread + Then Validate vereign label in the "2" item from the Email thread when email is send to registered user + And Validate the message of the email for registered user has value "Gmail email waiting for reply" + And Validate To value in the email thread has value "Roundcube Robot" + And Validate From value in the email thread has value "You" + And Validate Name field in the "2" item from the Email Thread has value "Vereign Automation" + And Validate Email field in the "2" item from the Email Thread has value "vereign.automation@gmail.com" + When User click on the "2" item in the email thread +#Validate the first item in the email thread + And User click on the "1" item in the email thread + Then Validate vereign label in the "1" item from the Email thread when email is send to registered user + And Validate the message of the email after reply has value "Repling to gmail email" + And Validate To value in the email thread has value "You" + And Validate From value in the email thread has value "Roundcube Robot" + And Validate Name field in the "1" item from the Email Thread has value "Roundcube Robot" + And Validate Email field in the "1" item from the Email Thread has value "mister.test@kolab-qa.vereign.com" +#Click on chat view and validate + When User click on Chat View + Then Validate there is "1" message send to you + And Validate there is "1" message send from you + And I close the browser + + @delete @gmail @roundcube + Scenario: Delete and email chain and reply to the email +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Check if the roundcube account is registered + And Check if roundcube account is registered and register it if not via VIAM API +#Login with the gmail account + And User logs into vereign with gmail account +#Log into vereign chrome extension + And I change the extension environment + And User Logs in chrome extension with password "1111" +#Send gmail email to the registered roundcube email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "mister.test@kolab-qa.vereign.com" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Gmail email waiting for reply" + And User click on gmail Send button +#Forget account credentials + And User navigates to vereign login page + And User click on Continue button +#Validate the email in the Inbox + Then Validate the subject of the first email is the one used to send email +#Open the Email and validate the fields + When User open the "1" email + Then Validate the email has the subject used to send the email +#Delete the email in the dashboard of the gmail account +# When User click on email thread with message "Verified roundcube email to registered user" + And User click on the Delete button + And Validate the confirmation message after click on Delete button is with text "Do you want to delete this interaction?" + And User confirm the deletion of the interaction + And Title of the page is "Vereign | My Inbox" + And Validate the subject of the first email is not the one used to send email +#Logout and login with the roundcube account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Delete the email in the dashboard of the roundcube account + And User open the "1" email + Then Validate the email has the subject used to send the email + And User click on the Delete button + And Validate the confirmation message after click on Delete button is with text "Do you want to delete this interaction?" + And User confirm the deletion of the interaction + And Title of the page is "Vereign | My Inbox" + And Validate the subject of the first email is not the one used to send email +#Log into roundcube + And User navigates to roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Reply to the email + And User click on the received gmail email + And User click on the roundcube details button in the sent email + And I wait for {5000} mseconds + And User click on roundcube Reply button + And Validate vereign icon is presented in roundcube + And User populates roundcube Message Field "Repling to gmail email" + And User click on roundcube Send button + And User navigates to vereign login page +#Validate the email in the inbox + And Validate the Interaction Type in the inbox has value "Email" +# And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Open the email + And User open the "1" email +#Validate the email + Then Validate the Interaction Type in the email has value "Email" + And Validate the count of the contacts in the email is "1" + And Validate the profile in the email has value "Email" +#Validate the email thread in the dashboard of the receiver + And Validate there are "1" items in the email thread + Then Validate vereign label in the "1" item from the Email thread when email is send to registered user + And Validate the message of the email after reply has value "Repling to gmail email" + And Validate To value in the email thread has value "Vereign Automation" + And Validate From value in the email thread has value "You" + And Validate Name field in the "1" item from the Email Thread has value "Roundcube Robot" + And Validate Email field in the "1" item from the Email Thread has value "mister.test@kolab-qa.vereign.com" +#Click on chat view and validate + When User click on Chat View + Then Validate there is "0" message send to you + And Validate there is "1" message send from you +#End of the validation with the mister.test@kolab-qa.vereign.com account + And User logs out of vereign and click on cleanup local identity +#Log into vereign with the gmail account - vereign.automation@gmail.com + And User logs into vereign with gmail account +#Validate the email in the inbox of the gmail account + And Validate the Interaction Type in the inbox has value "Email" +# And Validate the profile in the inbox has value "Email" + And Validate the date and time in the inbox has correct value + And Validate the count of the contacts in the inbox is "1" +#Open the email + And User open the "1" email + Then Validate the Interaction Type in the email has value "Email" +# And Validate the profile in the email has value "Email" + And Validate there are "1" items in the email thread +#Validate the email thread in the dashboard of the gmail account + Then Validate vereign label in the "1" item from the Email thread when email is send to registered user + And Validate the message of the email after reply has value "Repling to gmail email" + And Validate To value in the email thread has value "You" + And Validate From value in the email thread has value "Roundcube Robot" + And Validate Name field in the "1" item from the Email Thread has value "Roundcube Robot" + And Validate Email field in the "1" item from the Email Thread has value "mister.test@kolab-qa.vereign.com" +#Click on chat view and validate + When User click on Chat View + Then Validate there is "1" message send to you + And Validate there is "0" message send from you + And I close the browser + + + + + diff --git a/out/test/resources/features/selenium/dashboard/Login.feature b/out/test/resources/features/selenium/dashboard/Login.feature new file mode 100644 index 0000000000000000000000000000000000000000..09f45b92fbe1df4a9737d2568c9eacc05c4dcf84 --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/Login.feature @@ -0,0 +1,147 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @dashboard +Feature: Dashboard - Login + + Background: + Given we are testing the VIAM Api + + @login + Scenario Outline: Login with valid PIN code +#Create new random user + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + And User logs out of vereign +#Welcome back page + Then Main Info Message has the correct text "<Expected_Main_Message_Text>" + And Validate page contains element with text "<Expected_Secondary_Message_Text>" + And Authenticate button is disabled + When User populates PIN code field "1111" + Then Authenticate button is enabled + When User click on Authenticate button +#Logged in + Then User is redirected to Vereign Inbox + And Title of the page is "Vereign | My Inbox" + And I close the browser + Examples: + | Expected_Main_Message_Text | Expected_Secondary_Message_Text | + | Welcome back, BD! | Please unlock your personal device key to log into the dashboard. | + + @login @negative + Scenario: Try to login with invalid PIN Code +#Create new random user + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + And User logs out of vereign +#Welcome back Page + And User populates PIN code field "0000" +#First attempt + And User click on Authenticate button + Then Error Message is presented with text "Wrong code" and message disappears +#Second Attempt + When User click on Authenticate button + Then Error Message is presented with text "Wrong code" and message disappears +#Third Attempt + When User click on Authenticate button + Then Error Message is presented with text "3 failed attempts. Identity is locked!" and message disappears +#Fourth attempt + When User click on Authenticate button + Then Error Message is presented with text that contains "Your identity has been locked. Try again in 4 minutes and" and error message disappears +#Validate that the error message will be shown even with valid PIN + When User populates PIN code field "1111" + And User click on Authenticate button + Then Error Message is presented with text that contains "Your identity has been locked. Try again in 4 minutes and" and error message disappears + When I close the browser + + @login + Scenario Outline: Validate all labels in login flow +#Sign in to Vereign Page + Given I open Chrome browser and navigate to vereign login page + Then Validate sign in to Vereign page labels + And Validate Link is presented with text "www.vereign.com" and href "https://www.vereign.com" + And Privacy policy and Beta Participation Agreement Links have the correct text and href + When User click on Access Account Button + Then Main Info Message has the correct text "Sign in to Vereign" + And Validate recover your account page labels + And Privacy policy and Beta Participation Agreement Links have the correct text and href + When User click on Need help with sign in button +#Authorise account on another device Page + Then Main Info Message has the correct text "Authorise account on another device" + And Validate Authorise account on another device page labels + And Privacy policy and Beta Participation Agreement Links have the correct text and href + And User click on Cancel button + When User click on Recover your Vereign Account Button +#Restore access page + Then Main Info Message has the correct text "Restore access" + And Validate page contains element with text "<info_message>" + And Placeholder of the field has value "Email or phone number" + And Validate page contains element with text "Restore access" + And Validate page contains element with text "Skip" + And Privacy policy and Beta Participation Agreement Links have the correct text and href + And I close the browser + Examples: + | info_message | + | In order to initiate access recovery, please enter a mobile phone number or email address that you have been using for the account. | + + @login + Scenario: Restore Access with Email + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on close tour button +#Forget credentials + And User logs out of vereign and click on cleanup local identity +#Restore account + And User click on Access Account Button + And User click on Recover your Vereign Account Button + And User populates the Email/Mobile field with the same email address in Restore Access + And User click on Restore access Button +#Confirmation code send - check your email + Then Main Info Message has the correct text "Check your email" + And Secondary Info Message has the correct text "Please enter the access code in the field below:" + And Privacy policy and Beta Participation Agreement Links have the correct text and href + When User populates the confirmation code "9812" "8366" + And User click on Confirm button +#Add new pin and confirm new pin + And User populates the New Pin Code and Confirm New Pin Code field with "1111" and "1111" + And User click on Confirm button +#Validate User is logged in + Then Title of the page is "Vereign | My Inbox" + And I close the browser + + @login + Scenario: Restore an account without finishing the process + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API +#Restore account + And User click on Access Account Button + And User click on Recover your Vereign Account Button + And User populates the Email/Mobile field with the same email address in Restore Access + And User click on Restore access Button +#Click on the Vereign logo + And User click on Vereign Logo + And I wait for {500} mseconds + And Error message is not presented + And I refresh the current page + And I wait for {500} mseconds + And Error message is not presented + And I close the browser diff --git a/out/test/resources/features/selenium/dashboard/Plugins.feature b/out/test/resources/features/selenium/dashboard/Plugins.feature new file mode 100644 index 0000000000000000000000000000000000000000..a24a268475cb040350c90362f2bda66c9b49a02b --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/Plugins.feature @@ -0,0 +1,50 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @dashboard +Feature: Dashboard - Plugins + + Background: + Given we are testing the VIAM Api + + @plugins + Scenario: Validate Plugins Page + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on close tour button + And User click on Plugins tab +#Privacy Policy and Beta Agreement validation + Then Privacy policy and Beta Participation Agreement Links have the correct text and href +#Chrome Plugin validation + And Validate Chrome Plugin have title "Chrome extension" + And Validate Chrome Plugin have subtitle "Extend Vereign into your Gmail and Drive accounts" +#Collabora plugin validation + And Validate Collabora Plugin have title "Collabora plugin" + And Validate Collabora Plugin have subtitle "Included by default in the leading open source collaboration suite" +#Roundcube Plugin validation + And Validate Roundcube Plugin have title "Roundcube plugin" + And Validate Roundcube Plugin have subtitle "Add Vereign to your favorite open source webmail" +#Chrome Plugin download button validation + When User click on visit Chrome + Then Title of the page is "Vereign Beta for GMail - Chrome Web Store" + And Validate Add to Chrome button is presented +#Collabora Plugin download button validation + When User click on visit Collabora + Then Title of the page is "Collabora Online Development Edition (CODE) - Collabora Productivity" + And I close the browser + diff --git a/out/test/resources/features/selenium/dashboard/Profiles.feature b/out/test/resources/features/selenium/dashboard/Profiles.feature new file mode 100644 index 0000000000000000000000000000000000000000..f1914477efb1a52ce1dda57c71725b2ec74c73b0 --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/Profiles.feature @@ -0,0 +1,425 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @dashboard +Feature: Dashboard - Profiles + + Background: + Given we are testing the VIAM Api + + @profiles + Scenario: Validate default profiles values + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on close tour button + And User click on Profiles tab + And Privacy policy and Beta Participation Agreement Links have the correct text and href +#Profiles tab + Then Validate "3" profiles are presented +#Validate the names of the profiles + And Validate profile with name "Social" is presented + And Validate profile with name "Email" is presented + And Validate profile with name "Friends" is presented +#Validate Social Profile + When User click on profile with name "Social" +#Validate the number of the claims + Then Validate the number of claims in the profile is "3" +#Validate the labels of the claims + And Validate claim "Email" is presented under the profile + And Validate claim "Full name" is presented under the profile + And Validate claim "Phone" is presented under the profile +#Validate the values of the claims + And Validate Profile email field has the expected value - the email used for registration + When User expand all sub folders + Then Validate Profile claim with label "Family name" has value "Dimitrov" + And Validate Profile claim with label "Given name" has value "Boris" + And Validate Profile claim with label "Full name" has value "Dimitrov, Boris" + And Validate Profile claim with label "Phone" has value "+359884045187" + When User click on Profiles tab +#Validate Email Profile + And User click on profile with name "Email" +#Validate the number of claims presented + Then Validate the number of claims in the profile is "2" +#Validate the label of the claims + And Validate claim "Email" is presented under the profile + And Validate claim "Full name" is presented under the profile +#Validate Phone label is presented in the Identity not in the profile + And Validate Identity claim with label "Phone" has value "+359884045187" +#Validate the values of the claims + And Validate Profile email field has the expected value - the email used for registration + When User expand all sub folders + Then Validate Profile claim with label "Family name" has value "Dimitrov" + Then Validate Profile claim with label "Given name" has value "Boris" + When User click on Profiles tab +#Validate Friends Profile + And User click on profile with name "Friends" +#Validate the number of claims + Then Validate the number of claims in the profile is "3" + And Validate claim "Email" is presented under the profile + And Validate claim "Full name" is presented under the profile + And Validate claim "Phone" is presented under the profile +#Validate the values of the claims + And Validate Profile email field has the expected value - the email used for registration + When User expand all sub folders + Then Validate Profile claim with label "Family name" has value "Dimitrov" + And Validate Profile claim with label "Given name" has value "Boris" + And Validate Profile claim with label "Phone" has value "+359884045187" + And I close the browser + + @profiles + Scenario: Delete a claim that is added to a profile + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on close tour button +#Adding the claim to the identity + And User click on Identity tab + And User select "Language" option from main Identity select + And User select "Bulgarian" from the Language select + And User click on Add to your Identity button + And User upload a photo with valid format to the identity + Then Validate image is presented + And User click on Profiles tab + And User click on profile with name "Social" +#Validate the Language claim is presented in the Identity tab + Then Validate Identity claim with label "Language" has value "Bulgarian" +##Add the claim to the profile + When User add the "Language" claim to the profile +#Validate that the claim is added to the profile + Then Validate Profile claim with label "Language" has value "Bulgarian" +#Validate that the claim is not presented on right + And Validate "Language" claim is deleted from the Identity page + When User click on Identity tab +#Delete the claim + And User click on delete "Language" claim button + And User confirms the deletion + Then Validate "Language" claim is deleted from the Identity page + And User click on Profiles tab + And User click on profile with name "Social" +#Validate the claim is deleted in the profile + Then Validate "Language" claim is deleted from the Profile page + And Validate "Language" claim is deleted from the Identity page +#Add the image claim to the profile + When User click on Profiles tab + And User click on profile with name "Friends" + And I wait for {700} mseconds + And User Adds the image claim in the profile + And Validate image is presented in the current profile +#Remove the image claim from the identity + And User click on Identity tab + And User removes the image claim from the identity +#Validate the Friends profile dont have image claim + And User click on Profiles tab + Then Validate image is not presented in the "Friends" profile + And User click on profile with name "Friends" + And Validate image is not presented in the current profile + And I close the browser + + @profiles + Scenario: Add and Remove Image claim to the profile + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + And User click on close tour button + When User click on Identity tab +#Adding a image claim to the Identity + And User upload a photo with valid format to the identity + Then Validate image is presented + When User click on Profiles tab +#Validate there is no image claim to the profiles + And I wait for {2000} mseconds + Then Validate image is not presented in the "Social" profile + And Validate image is not presented in the "Email" profile + And Validate image is not presented in the "Friends" profile +#Adding the Image claim to the profile + When User click on profile with name "Social" + Then Validate image is not presented in the current profile + And User Adds the image claim in the profile + And I wait for {1000} mseconds +#Validate the image is presented in the current profile + Then Validate image is presented in the current profile + When User click on Profiles tab +#Validate image is presented in the Social profile + Then Validate image is presented in the "Social" profile + And Validate image is not presented in the "Email" profile + And Validate image is not presented in the "Friends" profile + When User click on profile with name "Social" +#Remove the image claim from the profile + And User Removes the image claim in the profile +#Validate the image is removed from the profile + Then Validate image is not presented in the current profile + When User click on Profiles tab + Then Validate image is not presented in the "Social" profile + And Validate image is not presented in the "Email" profile + And Validate image is not presented in the "Friends" profile + And I close the browser + + @profiles + Scenario: Create new profile and add claims + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on close tour button +#Adding new claim to the identity + And User click on Identity tab + And User select "Language" option from main Identity select + And User select "Bulgarian" from the Language select + And User click on Add to your Identity button + And User click on Profiles tab +#Create new Profile + And User creates new profile with name "Local" +#Validate the profiles are 4 + Then Validate "4" profiles are presented +#Validate the newly created profile is presented + And Validate profile with name "Local" is presented + When User click on profile with name "Local" + Then Validate the number of claims in the profile is "0" +#Add the claims to the profile and validate them + And User add the "Language" claim to the profile + Then Validate claim "Language" is presented under the profile +#Validate the value of the Language + When User add the "Email" claim to the profile + Then Validate claim "Email" is presented under the profile + When User add the "Full name" claim to the profile + Then Validate claim "Full name" is presented under the profile + When User add the "Phone" claim to the profile + Then Validate claim "Phone" is presented under the profile + And I close the browser + + @profiles + Scenario: Add claims to profile and Edit them in the Identity + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email and add all claims via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in and claims added to the identity + When User click on close tour button + And User click on Profiles tab +#Select profile + And User click on profile with name "Social" +#Add Address claim to the profile + And User add the "Address" claim to the profile + Then Validate claim "Address" is presented under the profile +#Add Chat claim to the profile + When User add the "Chat" claim to the profile + Then Validate claim "Chat" is presented under the profile +#Add Date of birth claim to the profile + When User add the "Date of birth" claim to the profile + Then Validate claim "Date of birth" is presented under the profile +#Add Email claim to the profile + When User add the "Email" claim to the profile + Then Validate claim "Emails" is presented under the profile +#Add Gender claim to the profile + When User add the "Gender" claim to the profile + Then Validate claim "Gender" is presented under the profile +#Add Language claim to the profile + When User add the "Language" claim to the profile + Then Validate claim "Language" is presented under the profile +#Add Name claim to the profile + When User add the "Full name" claim to the profile + Then Validate claim "Full name" is presented under the profile +#Add Nickname claim to the profile + When User add the "Nickname" claim to the profile + Then Validate claim "Nickname" is presented under the profile +#Add Phone claim to the profile + When User add the "Phone" claim to the profile + Then Validate claim "Phones" is presented under the profile +#Add Social Claim to the profile + When User add the "Social" claim to the profile + Then Validate claim "Social" is presented under the profile +#Expand all folders + When User expand all folders +#Validate Address claim in the profile + Then Validate Profile claim with label "Country" has value "Bulgaria" + Then Validate Profile claim with label "Locality" has value "Sofia" + Then Validate Profile claim with label "Postal code" has value "1777" + Then Validate Profile claim with label "Region" has value "Sofia" + Then Validate Profile claim with label "Street address" has value "G.M Dimitrov" +#Validate Chat claim in the profile + Then Validate Profile claim with label "Chat service name" has value "Mirc" + Then Validate Profile claim with label "User" has value "testingUser" +#Validate Date of birth claim in the profile + Then Validate Profile claim with label "Date of birth" has value "Jan 01 2000" +#Validate Email claim in the profile + Then Validate Profile claim with label "Email" has value "tested23@abv.bg" +#Validate Name claim in the profile + Then Validate Profile claim with label "Given name" has value "Ivan" + Then Validate Profile claim with label "Family name" has value "Petrov" +#Validate Nickname claim in the profile + Then Validate Profile claim with label "Nickname" has value "myNickname" +#Validate Phone claim in the profile + Then Validate Profile claim with label "Phone" has value "+359883353610" +#Validate Social claim in the profile + Then Validate Profile claim with label "Social network" has value "LinkedIn" + Then Validate Profile claim with label "Url" has value "www.localhost.com" +#Open the Identity + When User click on Identity tab +#Edit the Address Claim in the identity page + When User click on edit "Address" claim button + And User populates the field with placeholder "Street address" with value "G.M Dimitrov Edited" + And User populates the field with placeholder "Locality" with value "Sofia Edited" + And User populates the field with placeholder "Region" with value "Sofia Edited" + And User populates the field with placeholder "Postal code" with value "1777 Edited" + And User populates the field with placeholder "Country" with value "Bulgaria Edited" + And User click on Update claim button +#Edit the Chat claim in the identity page + When User click on edit "Chat" claim button + And User populates the field with placeholder "Chat Service" with value "Mirc Edited" + And User populates the field with placeholder "Number or Username" with value "testingUser Edited" + And User click on Update claim button +#Edit the Date of Birth claim in the identity page + When User click on edit "Date of birth" claim button + And User populates the date of birth "01/01/2001" + And User click on Update claim button +#Expand all folders + And User expand all folders +#Edit the Email claim in the identity page + When User click on edit "Email" claim button + And User populates the field with placeholder "Type your email here" with value "tested23Edited@mail.bg" + And User click on Update claim button +#Edit the Gender claim in the identity page + When User click on edit "Gender" claim button + And User select random Gender from the select + And User click on Update claim button +#Edit the Language claim in the identity page + When User click on edit "Language" claim button + And User select "Bulgarian" from the Language select + And User click on Update claim button +#Edit Full Name claim in the identity page + When User click on edit "Full name" claim button + And User populates the field with placeholder "First name" with value "Ivan Edited" + And User populates the field with placeholder "Last name" with value "Petrov Edited" + And User click on Update claim button +#Edit Nickname claim in the identity page + When User click on edit "Nickname" claim button + And User populates the field with placeholder "Type your nickname here" with value "myNickname Edited" + And User click on Update claim button +#Edit the Phone claim in the identity page + When User click on edit "Phone" claim button + And User populates the field with placeholder "Type your phone number here" with value "+359884045187" + And User click on Update claim button +#Edit the Social Claim in the identity page + When User click on edit "Social" claim button + And User populates the field with placeholder "Url" with value "www.localhost.com/edited" + And User click on Update claim button +#Open profiles tab + And User click on Profiles tab + And User click on profile with name "Social" +#Validate the edited claim in the Social profile + When User expand all folders +#Validate Address claim in the profile + Then Validate Profile claim with label "Country" has value "Bulgaria Edited" + Then Validate Profile claim with label "Locality" has value "Sofia Edited" + Then Validate Profile claim with label "Postal code" has value "1777 Edited" + Then Validate Profile claim with label "Region" has value "Sofia Edited" + Then Validate Profile claim with label "Street address" has value "G.M Dimitrov Edited" +#Validate Chat claim in the profile + Then Validate Profile claim with label "Chat service name" has value "Mirc Edited" + Then Validate Profile claim with label "User" has value "testingUser Edited" +#Validate Date of birth claim in the profile + Then Validate Profile claim with label "Date of birth" has value "Jan 01 2001" +#Validate Email claim in the profile + Then Validate Profile claim with label "Email" has value "tested23Edited@mail.bg" +#Validate Name claim in the profile + Then Validate Profile claim with label "Given name" has value "Ivan Edited" + Then Validate Profile claim with label "Family name" has value "Petrov Edited" +#Validate Nickname claim in the profile + Then Validate Profile claim with label "Nickname" has value "myNickname Edited" +#Validate Phone claim in the profile + Then Validate Profile claim with label "Phone" has value "+359884045187" +#Validate Social claim in the profile + Then Validate Profile claim with label "Social network" has value "LinkedIn" + Then Validate Profile claim with label "Url" has value "www.localhost.com/edited" + And I close the browser + + @profiles + Scenario:Validate Validated/Not Validated claims in the profile + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on close tour button + And User click on Profiles tab +#Social profile opened + And User click on profile with name "Social" +#Validate email is validated and phone is not validated + Then Validate email field is validated in the Profile Page + And Validate phone field is not validated in the Profile Page +#Edit the email + When User click on Identity tab + And User click on edit "Email" claim button + And User populates the Identity Email field with random valid email + And User click on Update claim button +#Validate email claim is not validated in the profile + When User click on Profiles tab + And User click on profile with name "Social" + Then Validate email field is not validated in the Profile Page + And Validate Profile email field has the expected value - the email used for registration + And Validate phone field is not validated in the Profile Page +#Edit the phone + When User click on Identity tab + And User click on edit "Phone" claim button + And User populates the Phone field with random value + And User click on Update claim button +#Validate the phone + And User click on validate "Phone" claim button + And User populates the confirmation code "9812" "8366" + And User click on Confirm button + And Validate warning icon is not presented in the "Phone" claim + And User click on Profiles tab +#Open the Social profile + And User click on profile with name "Social" +#Validate phone field is validated in the profile + Then Validate email field is not validated in the Profile Page + And Validate phone field is validated in the Profile Page + And I close the browser + + @profiles + Scenario: Edit the name of default and newly created profile + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on close tour button + And User click on Profiles tab +#Social profile opened - Edit Default profile + And User click on profile with name "Social" + And User click on edit profile button + And User populates profile name field with value "SocialEdited" and Save +#Validate the edited profile + Then Confirmation Message is presented with text "The name of this profile has been updated to SocialEdited" and message disappears + Then Validate the name of the profile is "SocialEdited" + When User click on Profiles tab + Then Validate profile with name "SocialEdited" is presented + And Validate "3" profiles are presented +#Create new profile + When User creates new profile with name "Test" + And User click on profile with name "Test" +#Edit the profile + And I wait for {1000} mseconds + And User click on edit profile button + And User populates profile name field with value "TestEdited" and Save +#Validate the edited profile + Then Confirmation Message is presented with text "The name of this profile has been updated to TestEdited" and message disappears + And Validate the name of the profile is "TestEdited" + When User click on Profiles tab + Then Validate profile with name "TestEdited" is presented + And Validate "4" profiles are presented + And I close the browser \ No newline at end of file diff --git a/out/test/resources/features/selenium/dashboard/Register.feature b/out/test/resources/features/selenium/dashboard/Register.feature new file mode 100644 index 0000000000000000000000000000000000000000..7318a65fe470d1e6d2db700d80765613003794bb --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/Register.feature @@ -0,0 +1,309 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @dashboard +Feature: Dashboard - Register a new user + + Background: + Given we are testing the VIAM Api + + @register + Scenario: Register user with email and valid data. + Given I open Chrome browser and navigate to vereign login page +#Sign in to Vereign Page + When User clicks on Create Account button +#Welcome to your digital self page + And User populates the Email address or mobile number field with valid email + And User click on Confirm button +#Check your email page + When User populates the confirmation code "9812" "8366" + And User click on Confirm button +#Almost there Page + When User populates first name "Boris" + And User populates last name "Dimitrov" + And User populates phone "+359884045187" + When User Agrees to the beta particiation agreement + And User click on Confirm button +#Create your PIN page + When User populates the New Pin Code and Confirm New Pin Code field with "1111" and "1111" + When User click on Confirm button +#Logged in + Then User is redirected to Vereign Inbox + And Title of the page is "Vereign | My Inbox" + And message is presented "Vereign is currently in Beta" + When User click on Continue button + And I close the browser + + @register + Scenario: Send another code - Check you email + Given I open Chrome browser and navigate to vereign login page +#Sign in to Vereign Page + When User clicks on Create Account button +#Welcome to your digital self page + And User populates the Email address or mobile number field with valid email + And User click on Confirm button + And User click on send another code button + And Error Message is presented with text "Please wait 60 seconds between tries." and message disappears + And I wait for {60000} mseconds + And User click on send another code button + And Confirmation Message is presented with text "A new code has been sent" and message disappears + And User populates the confirmation code "9812" "8366" + And User click on Confirm button + And Error message is not presented + And Validate let's get you started page labels + And I close the browser + + + @negative @register + Scenario: Try to register an user with invalid data + Given I open Chrome browser and navigate to vereign login page +#Sign in to vereign page + When User clicks on Create Account button +#Welcome to your digital self page + And User populates the Email address or mobile number field with invalid email + Then Confirm button is disabled + When User populates the Email address or mobile number field with valid email + Then Confirm button is enabled + When User click on Confirm button +#Check your email page + And User populates the confirmation code "1234" "5678" + And User click on Confirm button + Then Error Message is presented with text "Incorrect confirmation code provided." and message disappears + When User populates the confirmation code "9812" "8366" + And User click on Confirm button +#Almost there page + And User Agrees to the beta particiation agreement + When User click on Confirm button + Then Error Message "Please complete the field above" is presented under first name, last name and mobile fields + When User populates first name "Boris" + And User populates last name "Dimitrov" + And User populates phone "+359884045187" + Then error messages under first name,last name and mobile fields are not presented + When User click on Confirm button +#Create your PIN page + And I wait for {5000} mseconds + Then Confirm button is disabled + When User populates the New Pin Code and Confirm New Pin Code field with "1111" and "1112" + Then Confirm button is disabled + When User populates the New Pin Code and Confirm New Pin Code field with "1111" and "1111" + Then Confirm button is enabled + And I close the browser + + @negative @register + Scenario: Wrong Confirmation Code Upon Registration with 5 invalid inputs and a valid one after that + Given I open Chrome browser and navigate to vereign login page +#Sign in to vereign page + When User clicks on Create Account button +#Welcome to your digital self page + And User populates the Email address or mobile number field with valid email + And User click on Confirm button +#Check your email page + When User populates the confirmation code "1111" "1111" + And User click on Confirm button + Then Error Message is presented with text "Incorrect confirmation code provided." and message disappears + When User populates the confirmation code "2222" "2222" + And User click on Confirm button + Then Error Message is presented with text "Incorrect confirmation code provided." and message disappears + When User populates the confirmation code "3333" "3333" + And User click on Confirm button + Then Error Message is presented with text "Incorrect confirmation code provided." and message disappears + When User populates the confirmation code "4444" "4444" + And User click on Confirm button + Then Error Message is presented with text "Please wait a little bit between each try." and message disappears + When User populates the confirmation code "5555" "5555" + And User click on Confirm button + Then Error Message is presented with text that contains "This Email is blocked for 23h59m" and error message disappears + When User populates the confirmation code "9812" "8366" + And User click on Confirm button + Then Error Message is presented with text that contains "This Email is blocked for 23h59m" and error message disappears + And I close the browser + + @register + Scenario: Try to register a user without checking the beta participation agreement checkbox + Given I open Chrome browser and navigate to vereign login page + When User clicks on Create Account button +#Welcome to your digital self page + And User populates the Email address or mobile number field with valid email + And User click on Confirm button +#Check your email page + When User populates the confirmation code "9812" "8366" + And User click on Confirm button +#Almost there page + When User populates first name "Boris" + And User populates last name "Dimitrov" + And User populates phone "+359884045187" + And Confirm button is disabled + And I close the browser + + @register + Scenario: Register a user with valid email and use the same email for another registration + Given I open Chrome browser and navigate to vereign login page + When User clicks on Create Account button +#Welcome to your digital self page + And User populates the Email address or mobile number field with valid email + And User click on Confirm button +#Check your email page + And User populates the confirmation code "9812" "8366" + And User click on Confirm button +#Almost there page + And User populates first name "Boris" + And User populates last name "Dimitrov" + And User populates phone "+359884045187" + And User Agrees to the beta particiation agreement + And User click on Confirm button +#Create your PIN page + And User populates the New Pin Code and Confirm New Pin Code field with "1111" and "1111" + And User click on Confirm button + And User click on Continue button +#Logged in + And User logs out of vereign and click on cleanup local identity +#Logged out + When User clicks on Create Account button +#Welcome to your digital self page + And User populates the Email/Mobile field with the same email address in Create Account + And User click on Confirm button + Then Error Message is presented with text "Identificator is already taken" and message disappears + And I close the browser + + @register + Scenario: Validate confirmation code info message when registering user with valid phone + Given I open Chrome browser and navigate to vereign login page + When User clicks on Create Account button +#Welcome to your digital self page + And User populates the Email address or mobile number field with "+359884045187" + And User click on Confirm button + And I wait for {2000} mseconds + Then Main Info Message has the correct text "Check your phone" + And Validate page contains element with text "We've sent a 8-digit confirmation code to your phone" + And Validate page contains element with text "It will expire shortly, so enter your code soon." + And Validate page contains element with text "Keep this window open while checking for your code." + And Validate page contains element with text "Haven't received anything? " + And Validate page contains element with text "Send another code." + And I close the browser + + + @register + Scenario Outline: Validating all labels in registration flow + Given I open Chrome browser and navigate to vereign login page +#Sign in to Vereign Page + Then Main Info Message has the correct text "Sign in to Vereign" + And Validate Link is presented with text "www.vereign.com" and href "https://www.vereign.com" + And Privacy policy and Beta Participation Agreement Links have the correct text and href + When User clicks on Create Account button +#Welcome to your digital self page + Then Main Info Message has the correct text "Welcome to your digital self" + And Validate Welcome to your digital self page labels + And Validate Link is presented with text "Find out more" and href "https://vereign.com" + And Placeholder of the field has value "Email or mobile number" + And Privacy policy and Beta Participation Agreement Links have the correct text and href + And Confirm button is disabled + When User populates the Email address or mobile number field with valid email + And User click on Confirm button +#Check your email page + Then Main Info Message has the correct text "Check your email" + And Validate page contains element with text "We've sent a 8-digit confirmation code to your email" + And Validate page contains element with text "It will expire shortly, so enter your code soon." + And Validate page contains element with text "Your confirmation code" + And Placeholder of the field has value "XXXX" + And Validate page contains element with text "Keep this window open while checking for your code." + And Validate Check you email or phone page labels + And Privacy policy and Beta Participation Agreement Links have the correct text and href + When User populates the confirmation code "9812" "8366" + And User click on Confirm button +#Almost there page + Then Main Info Message has the correct text "<lets_get_you_started>" + And Placeholder of the field has value "First name" + And Placeholder of the field has value "Last name" + And Placeholder of the field has value "Mobile" + And Validate let's get you started page labels + And Privacy policy and Beta Participation Agreement Links have the correct text and href + When User populates first name "Boris" + And User populates last name "Dimitrov" + And User populates phone "12" + Then Phone number popup is presented with the correct text + And User populates phone "+359884045187" + When User Agrees to the beta particiation agreement + And User click on Confirm button +#Create your PIN page + Then Main Info Message has the correct text "Set your pin" + And Validate page contains element with text "<pin_code_message>" + And Placeholder of the field has value "XXXX" + And Validate page contains element with text "Pin Code" + And Validate page contains element with text "Confirm Pin Code" + And Confirm button is disabled + And Privacy policy and Beta Participation Agreement Links have the correct text and href + And I close the browser + Examples: + | lets_get_you_started | pin_code_message | + | Let's get you started | You will use this pin later to unlock your identity on this device. | + + @register + Scenario: Try to register with a phone that is validated by another user + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Add the phone claim + And User click on Identity tab + And User select "Communication" option from main Identity select + And User select "Phone" option from secondary Identity select + And User populates the field with placeholder "Type your phone number here" with random phone + And User click on Add to your Identity button + And User expand all folders +#Validate the email + When User click on validate "Phone" claim button + And User populates the confirmation code "9812" "8366" + And User click on Confirm button + Then Validate phone field is validated in the Identity Page + And User logs out of vereign and click on cleanup local identity + And User clicks on Create Account button + And User populates the email/mobile field with the same phone number + And User click on Confirm button + And Error Message is presented with text "Identificator is already taken" and message disappears + And I close the browser + + @register @bug-dashboard-630 + Scenario: Delete a validated claim and use it for registration + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Add the phone claim + And User click on Identity tab + And User select "Communication" option from main Identity select + And User select "Phone" option from secondary Identity select + And User populates the field with placeholder "Type your phone number here" with random phone + And User click on Add to your Identity button + And User expand all folders +#Validate the email + When User click on validate "Phone" claim button + And User populates the confirmation code "9812" "8366" + And User click on Confirm button +#Delete the claim + And User click on delete "Phone" claim button + And User confirms the deletion +#Logout + And User logs out of vereign and click on cleanup local identity + And User clicks on Create Account button + And User populates the email/mobile field with the same phone number + And User click on Confirm button +#bug-dashboard-630 +# And Error message is not presented + And I close the browser + + + + + + diff --git a/out/test/resources/features/selenium/dashboard/activity/ActivityDevices.feature b/out/test/resources/features/selenium/dashboard/activity/ActivityDevices.feature new file mode 100644 index 0000000000000000000000000000000000000000..57bd18d4681f35248d6f81eb0ebe69c8b5b638ca --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/activity/ActivityDevices.feature @@ -0,0 +1,64 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @dashboard @wip +Feature: Activity - Device Manager + + @activity + Scenario: Rename a device and validate the activity page + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Logged in + And User click on device manager button +#Rename Device + And User hovers over the options button on the first device + And User click on Rename device button + And User populates the new device name "Device edited" and Save +#Click on Activity tab + And User click on Activity tab +#Validate the Rename action in the acitivity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" + And I close the browser + + @activity + Scenario: Validate Activity page after registration + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on Activity tab +#Validate the first item in the Activity Page + Then Validate the title of the "1" activity is "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Validate the second item in the Activity Page + Then Validate the title of the "2" activity is "<string>" + And Validate "2" activity with key UUID has value "<string>" + And Validate "2" activity with key User entity UUID has value "<string>" +#Validate the third item in the Activity Page + Then Validate the title of the "3" activity is "<string>" + And Validate "3" activity with key UUID has value "<string>" + And Validate "3" activity with key User entity UUID has value "<string>" +#Validate the fourth item in the Activity Page + Then Validate the title of the "3" activity is "<string>" + And Validate "4" activity with key UUID has value "<string>" + And Validate "4" activity with key User entity UUID has value "<string>" + diff --git a/out/test/resources/features/selenium/dashboard/activity/ActivityDocuments.feature b/out/test/resources/features/selenium/dashboard/activity/ActivityDocuments.feature new file mode 100644 index 0000000000000000000000000000000000000000..b5e08c0f5633e06cf2c08b485981adad61d1340d --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/activity/ActivityDocuments.feature @@ -0,0 +1,66 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + + @selenium @all @dashboard @wip + Feature: Activity - Documents + + @activity + Scenario: Upload odt and pdf files in valid format and validate the Activity Page + Given I open Chrome browser and navigate to vereign login page +#Register a new random user + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + When User click on close tour button +#Upload a valid pdf document + And User uploads a document in pdf format +#Validate the message + Then Confirmation Message is presented with text "The document was successfully uploaded with the name testpdf.pdf." and message disappears +#Upload a valid odt document + And User click on Inbox tab + And User uploads a document in odt format + Then Confirmation Message is presented with text "The document was successfully uploaded with the name testOdf.odt." and message disappears +#Validate the upload of the odt document in the Activity Page + And User click on Activity tab +#Create document + Then Validate the title of the "1" activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" + And Validate "1" activity with key Passport entity UUID has value "<string>" +#Update document + Then Validate the title of the "2" activity is "<string>" + And Validate "2" activity with key Login from has value "<string>" + And Validate "2" activity with key UUID has value "<string>" + And Validate "2" activity with key Device key has value "<string>" + And Validate "2" activity with key User entity UUID has value "<string>" + And Validate "2" activity with key Passport entity UUID has value "<string>" +#Validate the upload of the pdf document in the Activity Page +#Create document + Then Validate the title of the "3" activity is "<string>" + And Validate "3" activity with key Login from has value "<string>" + And Validate "3" activity with key UUID has value "<string>" + And Validate "3" activity with key Device key has value "<string>" + And Validate "3" activity with key User entity UUID has value "<string>" + And Validate "3" activity with key Passport entity UUID has value "<string>" +#Update document + Then Validate the title of the "4" activity is "<string>" + And Validate "4" activity with key Login from has value "<string>" + And Validate "4" activity with key UUID has value "<string>" + And Validate "4" activity with key Device key has value "<string>" + And Validate "4" activity with key User entity UUID has value "<string>" + And Validate "4" activity with key Passport entity UUID has value "<string>" + And I close the browser \ No newline at end of file diff --git a/out/test/resources/features/selenium/dashboard/activity/ActivityEmails.feature b/out/test/resources/features/selenium/dashboard/activity/ActivityEmails.feature new file mode 100644 index 0000000000000000000000000000000000000000..e24ef23bbb4c2d84bc25409ddf8af67ee388becc --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/activity/ActivityEmails.feature @@ -0,0 +1,312 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@all @selenium @dashboard @wip +Feature: Activity - Email + + @activity + Scenario: Send verified gmail email and validate it in the activity page +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account +# And Register testing account if not registered and forget account credentials#TODO:REMOVE + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Activity - Send Verified gmail email" + And User click on gmail Send button +#Navigate to dashboard + And User navigates to vereign login page + And User click on Continue button + And Validate the subject of the first email is the one used to send email +#Validate the actions in the activity page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" + And I close the browser + + @activity + Scenario: Send verified roundcube email and validate it in the activity page +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Check if the testing account is created and login with roundcube account +# And Register testing account if not registered and forget account credentials#TODO:REMOVE + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Compose the email + And User click on roundcube Compose button + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "tested23@abv.bg" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Activity - Send verified roundcube email" + And User click on roundcube Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button + And Validate the subject of the first email is the one used to send email +#Validate the actions in the activity page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" + And I close the browser + + @activity + Scenario: Receive verified gmail email and validate it in the activity page +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account +# And Register testing account if not registered and forget account credentials#TODO:REMOVE + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Activity - Receive verified gmail email" + And User click on gmail Send button +#Navigate to dashboard + And User navigates to vereign login page + And User click on Continue button +#Logout and login with the receivers account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with testing account + And User open the "1" email +#Click on Activity + And User click on Activity tab +#Validate the restoring of the access action in the activity page + Then Validate the title of the "1" activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" + Then Validate the title of the "2" activity is "<string>" + And Validate "2" activity with key Login from has value "<string>" + And Validate "2" activity with key UUID has value "<string>" + And Validate "2" activity with key Device key has value "<string>" + And Validate "2" activity with key User entity UUID has value "<string>" +#Validate the receive email action in the Activity page + Then Validate the title of the "3" activity is "<string>" + And Validate "3" activity with key Login from has value "<string>" + And Validate "3" activity with key UUID has value "<string>" + And Validate "3" activity with key Device key has value "<string>" + And Validate "3" activity with key User entity UUID has value "<string>" + And I close the browser + + @activity + Scenario: Receive verified roundcube email and validate it in the activity page +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Check if the testing account is created and login with roundcube account +# And Register testing account if not registered and forget account credentials#TODO:REMOVE + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Compose the email + And User click on roundcube Compose button + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "tested23@abv.bg" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Activity - Receive verified roundcube email" + And User click on roundcube Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button + #Logout and login with the receivers account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with testing account + And User open the "1" email +#Click on Activity + And User click on Activity tab +#Validate the restoring of the access action in the activity page + Then Validate the title of the "1" activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" + Then Validate the title of the "2" activity is "<string>" + And Validate "2" activity with key Login from has value "<string>" + And Validate "2" activity with key UUID has value "<string>" + And Validate "2" activity with key Device key has value "<string>" + And Validate "2" activity with key User entity UUID has value "<string>" +#Validate the receive email action in the Activity page + Then Validate the title of the "3" activity is "<string>" + And Validate "3" activity with key Login from has value "<string>" + And Validate "3" activity with key UUID has value "<string>" + And Validate "3" activity with key Device key has value "<string>" + And Validate "3" activity with key User entity UUID has value "<string>" + And I close the browser + + @activity + Scenario: Read verified gmail email and validate it in the Activity Page +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile +#Change the environment + When I change the extension environment +#Check if the testing account is created and login with gmail account +# And Register testing account if not registered and forget account credentials#TODO:REMOVE + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" +#Send verified email + And User navigates to gmail + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Activity - Read verified gmail email" + And User click on gmail Send button +#Navigate to dashboard + And User navigates to vereign login page + And User click on Continue button +#Logout and login with the receivers account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with testing account +#Receive the email + And User open the "1" email +#Read the email + And User click on email thread with message "Activity - Read verified gmail email" +#Validate the Read Action in the activity page of the receiver + And User click on Activity tab + Then Validate the title of the "3" activity is "<string>" + And Validate "3" activity with key Login from has value "<string>" + And Validate "3" activity with key UUID has value "<string>" + And Validate "3" activity with key Device key has value "<string>" + And Validate "3" activity with key User entity UUID has value "<string>" +#Logout and login into dashboard with the senders account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with gmail account +#Validate the Read Action in the Activity of the sender + And User click on Activity tab + Then Validate the title of the "3" activity is "<string>" + And Validate "3" activity with key Login from has value "<string>" + And Validate "3" activity with key UUID has value "<string>" + And Validate "3" activity with key Device key has value "<string>" + And Validate "3" activity with key User entity UUID has value "<string>" + And I close the browser + + + @activity + Scenario: Read verified roundcube email and validate it in the Activity Page +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Check if the testing account is created and login with roundcube account +# And Register testing account if not registered and forget account credentials#TODO:REMOVE + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Compose the email + And User click on roundcube Compose button + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "tested23@abv.bg" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Activity - Read verified roundcube email" + And User click on roundcube Send button +#Navigate to vereign + And User navigates to vereign login page + And User click on Continue button +#Logout and login with the receivers account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with testing account +#Receive the email + And User open the "1" email +#Read the email + And User click on email thread with message "Activity - Read verified roundcube email" +#Validate the read action in the Activity ot the receiver + And User click on Activity tab + Then Validate the title of the "3" activity is "<string>" + And Validate "3" activity with key Login from has value "<string>" + And Validate "3" activity with key UUID has value "<string>" + And Validate "3" activity with key Device key has value "<string>" + And Validate "3" activity with key User entity UUID has value "<string>" +#Logout and login with the senders account + And User logs out of vereign and click on cleanup local identity + And User logs into vereign with roundcube account +#Validate the read action in the activity page of the sender + And User click on Activity tab + Then Validate the title of the "3" activity is "<string>" + And Validate "3" activity with key Login from has value "<string>" + And Validate "3" activity with key UUID has value "<string>" + And Validate "3" activity with key Device key has value "<string>" + And Validate "3" activity with key User entity UUID has value "<string>" + And I close the browser + + + + + + + + + diff --git a/out/test/resources/features/selenium/dashboard/activity/ActivityIdentityies.feature b/out/test/resources/features/selenium/dashboard/activity/ActivityIdentityies.feature new file mode 100644 index 0000000000000000000000000000000000000000..3f43122cd8d1c4f443ebfa827514a8459e37fdfe --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/activity/ActivityIdentityies.feature @@ -0,0 +1,497 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @dashboard @wip +Feature: Activity - Identity + + @activity + Scenario: Add claims to the identity and validate them in the activity page + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on Identity tab +#Adding Full Name + And User select "Name" option from main Identity select + And User select "Full name" option from secondary Identity select + And User populates the field with placeholder "First name" with value "Ivan" + And User populates the field with placeholder "Last name" with value "Petrov" + And User click on Add to your Identity button +#Validate the adding of the full name claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Adding Nickname + When User click on Identity tab + And User select "Name" option from main Identity select + And User select "Nickname" option from secondary Identity select + And User populates the field with placeholder "Type your nickname here" with value "myNickname" + And User click on Add to your Identity button +#Validate the adding of the nickname in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Adding Date of Birth + When User click on Identity tab + And User select "Date of Birth" option from main Identity select + And User populates the date of birth "01/01/2000" + And User click on Add to your Identity button +#Validate the adding of the Date of Birth in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Adding Gender + When User click on Identity tab + And User select random Gender from the select + And User click on Add to your Identity button +#Validate the adding of the Gender in the Activity tab + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Adding Address + When User click on Identity tab + And User select "Address" option from main Identity select + And User populates the field with placeholder "Street address" with value "G.M Dimitrov" + And User populates the field with placeholder "Locality" with value "Sofia" + And User populates the field with placeholder "Region" with value "Sofia" + And User populates the field with placeholder "Postal code" with value "1777" + And User populates the field with placeholder "Country" with value "Bulgaria" + And User click on Add to your Identity button +#Validate the adding of the address in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Adding email + When User click on Identity tab + And User select "Communication" option from main Identity select + And User select "Email" option from secondary Identity select + And User populates the field with placeholder "Type your email here" with value "tested23@abv.bg" + And User click on Add to your Identity button +#Validate the adding of the email in the Activity page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Adding Phone + When User click on Identity tab + And User select "Communication" option from main Identity select + And User select "Phone" option from secondary Identity select + And User populates the field with placeholder "Type your phone number here" with value "+359883353610" + And User click on Add to your Identity button +#Validate the adding of the phone in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Adding Twitter + When User click on Identity tab + And User select "Social" option from main Identity select + And User select "Twitter" option from secondary Identity select + And User populates the field with placeholder "Url" with value "www.localhost.com" + And User click on Add to your Identity button +#Validate the adding of the twitter in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Adding LinkedIn + And User click on Identity tab + And User select "Social" option from main Identity select + And User select "LinkedIn" option from secondary Identity select + And User populates the field with placeholder "Url" with value "www.localhost.com" + And User click on Add to your Identity button +#Validate the adding of the LinkedIn in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Adding Language + When User click on Identity tab + And User select random Language from the select + And User click on Add to your Identity button +#Validate the adding of the Language in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Adding image claim to the identity + When User click on Identity tab + And User upload a photo with valid format to the identity + Then Validate image is presented +#Validate the adding of the Image claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#TODO: Check if i have to validate only the first item in the activity page or more after adding the image claim to the identity + And I close the browser + + @activity + Scenario: Edit identity claims and validate the Activity Page + Given I open Chrome browser and navigate to vereign login page +#Login and Add claims to the identity + And I register a new user with email and add all claims via VIAM API + And I login with the registered via the VIAM API user into dashboard + And User click on close tour button +#Expand all folders + And User expand all folders +#Edit the Address claim + When User click on edit "Address" claim button + And User populates the field with placeholder "Street address" with value "Street Address Edited" + And User populates the field with placeholder "Locality" with value "Locality Edited" + And User populates the field with placeholder "Region" with value "Region Edited" + And User populates the field with placeholder "Postal code" with value "Code Edited" + And User populates the field with placeholder "Country" with value "Country Edited" + And User click on Update claim button +#Validate the Edit of the Address claim in the activity page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Edit Chat claim + When User click on Identity tab + And User expand all folders + When User click on edit "Chat" claim button + And User populates the field with placeholder "Chat Service" with value "Chat Service Edited" + And User populates the field with placeholder "Number or Username" with value "Username Edited" + And User click on Update claim button +#Validate the Edit of the Chat claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Edit Date of Birth claim + When User click on Identity tab + And User expand all folders + When User click on edit "Date of birth" claim button + And User populates the date of birth "02/02/2002" + And User click on Update claim button +#Validate the Edit of the Date of Birth claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Edit Email claim + When User click on Identity tab + And User expand all folders + When User click on edit "Email" claim button + And User populates the field with placeholder "Type your email here" with value "edited@example.com" + And User click on Update claim button +#Validate the edit of the Email claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Edit Gender claim + When User click on Identity tab + And User expand all folders + When User click on edit "Gender" claim button + And User select random Gender from the select + And User click on Update claim button +#Validate the Edit of the Gender claim in the Activity page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Edit Language claim + When User click on Identity tab + And User expand all folders + When User click on edit "Language" claim button + And User select "Bulgarian" from the Language select + And User click on Update claim button +#Validate the Edit of the Language claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Edit Full Name claim + When User click on Identity tab + And User expand all folders + When User click on edit "Full name" claim button + And User populates the field with placeholder "First name" with value "First Name Edited" + And User populates the field with placeholder "Last name" with value "Last Name Edited" + And User click on Update claim button +#Validate the Edit of the Full name claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Edit nickname claim + When User click on Identity tab + And User expand all folders + When User click on edit "Nickname" claim button + And User populates the field with placeholder "Type your nickname here" with value "Nickname Edited" + And User click on Update claim button +#Validate the edit of the nickname claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Edit Phone claim + When User click on Identity tab + And User expand all folders + When User click on edit "Phone" claim button + And User populates the field with placeholder "Type your phone number here" with value "+359884045187" + And User click on Update claim button +#Validate the edit of the phone claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Edit Social claim + When User click on Identity tab + And User expand all folders + When User click on edit "Social" claim button + And User populates the field with placeholder "Url" with value "www.localhost.com/edited" + And User click on Update claim button +#Validate the edit of the Social claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" + And I close the browser + + @activity + Scenario: Delete identity claims and validate Activity Page + Given I open Chrome browser and navigate to vereign login page +#Login and add claims to the identity + And I register a new user with email and add all claims via VIAM API + And I login with the registered via the VIAM API user into dashboard + And User click on close tour button +#Expand all folders + And User expand all folders +#Delete Address Claim + And User click on delete "Address" claim button + And User confirms the deletion +#Validate the deletion of the Address claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Delete Chat claim + When User click on Identity tab + And User expand all folders + When User click on delete "Chat" claim button + And User confirms the deletion +#Validate the deletion of the chat claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Delete Date of birth claim + When User click on Identity tab + And User expand all folders + When User click on delete "Date of birth" claim button + And User confirms the deletion +#Validate the deletion of the Date of birth claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Delete Email claim + When User click on Identity tab + And User expand all main folders + And User click on delete "Email" claim button + And User confirms the deletion +#Validate the deletion of the email claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Delete Gender claim + When User click on Identity tab + And User expand all folders + And User click on delete "Gender" claim button + And User confirms the deletion +#Validate the deletion of the Gender claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Delete Language Claim + When User click on Identity tab + And User expand all folders + And User click on delete "Language" claim button + And User confirms the deletion +#Validate the deletion of the Language claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Delete Full Name Claim + When User click on Identity tab + And User expand all main folders + And User click on delete "Full name" claim button + And User confirms the deletion +#Validate the deletion of the Full name claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Delete Nickname Claim + When User click on Identity tab + And User expand all folders + And User click on delete "Nickname" claim button + And User confirms the deletion +#Validate the deletion of the nickname claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Delete Phone Claim + When User click on Identity tab + And User expand all main folders + And User click on delete "Phone" claim button + And User confirms the deletion +#Validate the deletion of the Phone claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Delete Social Claim + When User click on Identity tab + And User expand all folders + And User click on delete "Social" claim button + And User confirms the deletion +#Validate the deletion of the Social claim in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" + And I close the browser + + @activity + Scenario: Validate email and phone claim and validate the Activity Page + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard + And User click on close tour button +#Logged in + And User click on Identity tab +#Edit Email + And User click on edit "Email" claim button + And User populates the Identity Email field with random valid email + And User click on Update claim button +#Email is not validated after the edit + Then Validate email field is not validated in the Identity Page +#Validate the email + When User click on validate "Email" claim button + And User populates the confirmation code "9812" "8366" + And User click on Confirm button +#Validate the verification of the email in the Activity Page + And User click on Activity tab + Then Validate the title of the "1" activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Validate the request for the code in the Activity Page + Then Validate the title of the "2" activity is "<string>" + And Validate "2" activity with key Login from has value "<string>" + And Validate "2" activity with key UUID has value "<string>" + And Validate "2" activity with key Device key has value "<string>" + And Validate "2" activity with key User entity UUID has value "<string>" +#Edit the phone + And User click on Identity tab + When User click on edit "Phone" claim button + And User populates the Phone field with random value + And User click on Update claim button + Then Validate phone field is not validated in the Identity Page +#Validate the phone + When User click on validate "Phone" claim button + And User populates the confirmation code "9812" "8366" + And User click on Confirm button +#Validate the verification of the phone in the Activity Page + And User click on Activity tab + Then Validate the title of the "1" activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Validate the request for the code in the Activity Page + Then Validate the title of the "2" activity is "<string>" + And Validate "2" activity with key Login from has value "<string>" + And Validate "2" activity with key UUID has value "<string>" + And Validate "2" activity with key Device key has value "<string>" + And Validate "2" activity with key User entity UUID has value "<string>" + And I close the browser \ No newline at end of file diff --git a/out/test/resources/features/selenium/dashboard/activity/ActivityProfile.feature b/out/test/resources/features/selenium/dashboard/activity/ActivityProfile.feature new file mode 100644 index 0000000000000000000000000000000000000000..a295561515f63ee95161759fc10c8bef092b8f5b --- /dev/null +++ b/out/test/resources/features/selenium/dashboard/activity/ActivityProfile.feature @@ -0,0 +1,154 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @dashboard @all @wip +Feature: Activity - Profiles + + @activity + Scenario: Edit the name of default and newly created passport and validate the Activity Page + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on close tour button + And User click on Profiles tab +#Social passport opened - Edit Default Passport + And User click on profile with name "Social" + And User click on edit profile button + And User populates profile name field with value "SocialEdited" and Save +#Validate the edited passport + Then Confirmation Message is presented with text "The name of this passport has been updated to SocialEdited" and message disappears +#Validate the renaming of the default passport in the Activity Page + And User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Create new passport + When User click on Profiles tab + When User creates new profile with name "Test" + And User click on profile with name "Test" +#Edit the passport + And User click on edit profile button + And User populates profile name field with value "TestEdited" and Save +#Validate the edited passport + Then Confirmation Message is presented with text "The name of this passport has been updated to TestEdited" and message disappears +#Validate the renaming of the newly created passport in the Activity Page + When User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" + And I close the browser + + @activity + Scenario: Add claims to newly created passport and validate them in the Activity Page + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on close tour button +#Adding new claim to the identity + And User click on Identity tab + And User select "Language" option from main Identity select + And User select "Bulgarian" from the Language select + And User click on Add to your Identity button + And User click on Profiles tab +#Create new Passport + And User creates new profile with name "Local" +#Validate the passports are 4 + Then Validate "4" profiles are presented +#Validate the newly created passport is presented + And Validate profile with name "Local" is presented +#Validate the newly created passport in the Activity Page + When User click on Activity tab + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Click on Passports tab + When User click on Profiles tab + When User click on profile with name "Local" +#Add the claims to the passport and validate them + And User add the "Language" claim to the profile + Then Validate claim "Language" is presented under the profile + #Validate the value of the Language + When User add the "Email" claim to the profile + Then Validate claim "Email" is presented under the profile + When User add the "Full name" claim to the profile + Then Validate claim "Full name" is presented under the profile + When User add the "Phone" claim to the profile + Then Validate claim "Phone" is presented under the profile +#Click on the Activity tab + When User click on Activity tab +#Validate adding of the phone to the passport in the Activity Page + Then Validate the title of the first activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" +#Validate adding of the Full name claim to the passport in the Activity Page + Then Validate the title of the "2" activity is "<string>" + And Validate "2" activity with key Login from has value "<string>" + And Validate "2" activity with key UUID has value "<string>" + And Validate "2" activity with key Device key has value "<string>" + And Validate "2" activity with key User entity UUID has value "<string>" +#Validate adding the email claim to the passport in the Activity Page + Then Validate the title of the "3" activity is "<string>" + And Validate "3" activity with key Login from has value "<string>" + And Validate "3" activity with key UUID has value "<string>" + And Validate "3" activity with key Device key has value "<string>" + And Validate "3" activity with key User entity UUID has value "<string>" +#Validate adding of the Language claim to the passport in the Activity Page + Then Validate the title of the "4" activity is "<string>" + And Validate "4" activity with key Login from has value "<string>" + And Validate "4" activity with key UUID has value "<string>" + And Validate "4" activity with key Device key has value "<string>" + And Validate "4" activity with key User entity UUID has value "<string>" + And I close the browser + + @activity + Scenario: Remove claims from passport and validate Activity Page + Given I open Chrome browser and navigate to vereign login page + And I register a new user with email via VIAM API + And I login with the registered via the VIAM API user into dashboard +#Logged in + When User click on close tour button +#Adding the claim to the identity + And User click on Identity tab + And User select "Language" option from main Identity select + And User select "Bulgarian" from the Language select + And User click on Add to your Identity button + And User click on Profiles tab + And User click on profile with name "Social" +#Validate the Language claim is presented in the Identity tab + Then Validate Identity claim with label "Language" has value "Bulgarian" +##Add the claim to the passport + When User add the "Language" claim to the profile +#Validate that the claim is added to the passport + Then Validate Profile claim with label "Language" has value "Bulgarian" + And User add the "Language" claim to the identity + And Validate "Language" claim is deleted from the Profile page +#Validate the removal of the Language claim from the passport in the Activity Page + And User click on Activity tab + Then Validate the title of the "1" activity is "<string>" + And Validate "1" activity with key Login from has value "<string>" + And Validate "1" activity with key UUID has value "<string>" + And Validate "1" activity with key Device key has value "<string>" + And Validate "1" activity with key User entity UUID has value "<string>" diff --git a/out/test/resources/features/selenium/emailClients/EmailClients.feature b/out/test/resources/features/selenium/emailClients/EmailClients.feature new file mode 100644 index 0000000000000000000000000000000000000000..01bdcff93d7036dd4c0a84090758cc63d47cb148 --- /dev/null +++ b/out/test/resources/features/selenium/emailClients/EmailClients.feature @@ -0,0 +1,114 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. +#Author: Boris Dimitrov boris.dimitrov@vereign.com + +@selenium @all @notParallel +Feature: Email clients + + Background: + Given we are testing the VIAM Api + + @roundcube + Scenario: Send email from roundcube and validate it in roundcube +#Navigate to vereign + Given I open Chrome browser and navigate to vereign login page +#Log in with testing account + And Check if testing account is registered and register it if not via VIAM API + And User logs into vereign with roundcube account +#Navigate to roundcube + And User navigates to roundcube +#Log into roundcube + And User logs into roundcube +#Change the environment + And User click on Settings button + And User click on vereign settings button + And User populates the correct environment + And User click on Save button +#Click Mail button + And User click on Mail button +#Enable vereign + And User enables Vereign On +#Validate all profiles are presented + And User click on roundcube profile select + And User Validates roudncube profiles count is "7" + And User Validates roundcube profile with name "Social" is presented + And User Validates roundcube profile with name "Email" is presented + And User Validates roundcube profile with name "Friends" is presented + And User Validates roundcube profile with name "NotValidatedEmail" is presented + And User Validates roundcube profile with name "No Claims" is presented + And User Validates roundcube profile with name "Name Only" is presented + And User Validates roundcube profile with name "Contacts" is presented + And User close the roundcube profile select +#Compose the email + And User click on roundcube Compose button + And Validate vereign icon is presented in roundcube + And User populates roundcube To Field "tested23@abv.bg" + And User click on roundcube Add Cc button + And User populates roundcube Cc field "randomRec3456@example.com" + And User populates roundcube Subject Field with random subject + And User populates roundcube Message Field "Roundcube client validation" + And User click on roundcube Send button +#Validate the email in the sent folder + When User click on roundcube Sent folder + And User click on the email in the roundcube sent folder + And User click on the roundcube details button in the sent email + And User Validates roundcube sent email From field has value "Mister Test" + And User Validates roundcube sent email To field has value "tested23@abv.bg" + And User Validates roundcube sent email Cc field has value "randomRec3456@example.com" + And User Validates roundcube sent email Message field has value "Roundcube client validation" + And I close the browser + + @gmail + Scenario: Send email from gmail and validate it in gmail +#Open chrome and load the extension and the profile + Given I open chrome and load chrome extension and chrome profile + When I navigate to 10minuteEmail and save the email address +#Change the environment + When I change the extension environment + And Check if testing account is registered and register it if not via VIAM API +#Log into vereign with testing account - vereign.automation@gmail.com + And User logs into vereign with gmail account +#Log into vereign chrome extension + And User Logs in chrome extension with password "1111" + And User navigates to gmail +#Validate all profiles are presented + And User Validates gmail profiles count is "7" + And User Validates gmail profile with name "Social" is presented + And User Validates gmail profile with name "Email" is presented + And User Validates gmail profile with name "Friends" is presented + And User Validates gmail profile with name "NotValidatedEmail" is presented + And User Validates gmail profile with name "No Claims" is presented + And User Validates gmail profile with name "Name Only" is presented + And User Validates gmail profile with name "Contacts" is presented +#Send the email + And User click on gmail Compose button + Then Validate vereign icon is presented in gmail + When User populates gmail To field with the email from 10minuteEmail + And User click on gmail add Cc button + And User populates gmail Cc field with value "tested23@abv.bg" + And User populates gmail Subject field with random subject + And User populates gmail Message field with value "Gmail Client validation" + And User click on gmail Send button +#Validate the email in the sent folder + And User click on gmail Sent folder + And User click on the email in the gmail sent folder + And User Validates gmail sent email From field has value "vereign.automation@gmail.com" + And User validates gmail sent email To field has the correct value + And User Validates gmail sent email Cc field has value "tested23@abv.bg" + And User Validates gmail sent email Message field has value "Gmail Client validation" + And I close the browser + + + diff --git a/out/test/resources/features/selenium/gmailPlugin/AuthenticatePlugin.feature b/out/test/resources/features/selenium/gmailPlugin/AuthenticatePlugin.feature new file mode 100644 index 0000000000000000000000000000000000000000..1db5fb39e7b8dde9218a0ee1b73b86ba8d253104 --- /dev/null +++ b/out/test/resources/features/selenium/gmailPlugin/AuthenticatePlugin.feature @@ -0,0 +1,29 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@gmail @all +Feature: GMAIL plugin - Authenticate + Authenticate the Vereign Gmail Plugin + + Background: + #Given we are testing the JS lib + + @authGmailPlugin @wip + Scenario: Authenticate a Gmail account to the Vereign Gmail Extension - Positive + Given I start the browser {chrome} + Then I authenticate the Vereign Gmail extension with the google account + #Then I close the browser diff --git a/out/test/resources/features/selenium/jsProxy/Register.feature b/out/test/resources/features/selenium/jsProxy/Register.feature new file mode 100644 index 0000000000000000000000000000000000000000..5c7a69fc466a41caea28b5ae9e694393201f5d32 --- /dev/null +++ b/out/test/resources/features/selenium/jsProxy/Register.feature @@ -0,0 +1,29 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@jsProxy @all +Feature: GMAIL plugin - Authenticate + Register a new user via the JS proxy + + Background: + # Given we are testing the JS lib + + @wip + Scenario: Register a new user via JS proxy - Positive + Given I start the browser {chrome} + Then I open the JS proxy webpage + #Then I close the browser diff --git a/out/test/resources/features/webdav/PUT.feature b/out/test/resources/features/webdav/PUT.feature new file mode 100644 index 0000000000000000000000000000000000000000..9bfe4e32c48c3678c0bc366077916d08f578d526 --- /dev/null +++ b/out/test/resources/features/webdav/PUT.feature @@ -0,0 +1,128 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#WOPI http://localhost:8091 +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@all +Feature: WebDav - PUT + Updates a passport with a pdf file via WEBDAV + + Background: + Given we are testing the VIAM Api + + @webdav + Scenario: Update a passport by adding a pdf file via WebDav - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {personUUID1} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Update the current passport by adding a pdf + Given we are testing with the current session the WebDav + Then I update a passport by adding a pdf {testpdf.pdf} via WebDav + And the status code should be {201} + Then the response body contains {Created} + + @webdav @negative + Scenario: Try to Update a passport by adding a non pdf file via WebDav - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {personUUID1} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Update the current passport by adding a pdf + Given we are testing with the current session the WebDav + Then I update a passport by adding a pdf {test.txt} via WebDav + And the status code should be {415} + Then the response body contains {Unsupported Media Type} + + @webdav @negative + Scenario Outline: Try to Update a passport by adding a pdf file with missing auth header [<header>] via WebDav - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {personUUID1} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Update the current passport by adding a pdf + Given we are testing with the current session the WebDav + Then I delete the headers + | <header> | + Then I update a passport by adding a pdf {testpdf.pdf} via WebDav + And the status code should be {401} + Then the response body contains {Unauthorized} + Examples: + | header | + | uuid | + | token | + | publicKey | + | passportuuid | + + @webdav @negative @bug-webdav-3 @bug-webdav-4 + Scenario Outline: Try to Update a passport by adding a pdf file with invalid header [<header>] & [<value>] via WebDav - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {personUUID1} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Update the current passport by adding a pdf + Given we are testing with the current session the WebDav + Then I set the headers + | <header> | <value> | + Then I update a passport by adding a pdf {testpdf.pdf} via WebDav + And the status code should be {401} + Then the response body contains {Unauthorized} + Examples: + | header | value | + | uuid | | + | token | | + | publicKey | | + | passportuuid | | + #bug-webdav-4 | uuid | dsada | + | token | dsada | +#bug-webdav-4 | publicKey | dsada | +#bug-webdav-3 | passportuuid | dsada | \ No newline at end of file diff --git a/out/test/resources/features/wopi/getPassports/POST.feature b/out/test/resources/features/wopi/getPassports/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..740976d78369d8ea45b4a81278d17d80cb312f42 --- /dev/null +++ b/out/test/resources/features/wopi/getPassports/POST.feature @@ -0,0 +1,182 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#WOPI http://localhost:8787/getPassports +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@wopi @all +Feature: WOPI - getPassports POST + Get all passports that entity has via WOPI + + Background: + Given we are testing the VIAM Api + + @getPassportsWopi + Scenario: Get All passports that an entity has via WOPI - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {personUUID1} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +##Then I link the passport to the entity + Given I clear the request body + Then I get the guarded entity via the VIAM API + And the field {status} has the value {OK} + Given I clear the request body + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} +#Get Passports via WOPI + Given we are testing with the current session the WOPI + Then I get all the passports with fileid {testFileId} via WOPI + And the field {status} has the value {ok} + And the field {code} has the value {200} + And the field {$..PassportUUID} is containing the value stored in DataContainer with key {firstPassportUUID} + And the field {$.data[0].UUID} is containing the value stored in DataContainer with key {personUUID1} + And the field {$.data[0].AccessToken} is present and not empty + + @getPassportsWopi @negative + Scenario Outline: Try to Get All passports that an entity has via WOPI with missing auth header [<header>] - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {personUUID1} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +##Then I link the passport to the entity + Given I clear the request body + Then I get the guarded entity via the VIAM API + And the field {status} has the value {OK} + Given I clear the request body + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} +#Get Passports via WOPI + Given we are testing with the current session the WOPI + Then I delete the headers + | <header> | + Then I get all the passports with fileid {testFileId} via WOPI + And the field {status} has the value {Bad Request} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | header | data | + | uuid | Uuid is not specified | + | token | Token is not specified | + | publicKey | Public Key is not specified | + + @getPassportsWopi @negative @bug-wopi-4 + Scenario Outline: Try to Get All passports that an entity has via WOPI with invalid auth header [<header>] & [<value>]- Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {personUUID1} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +##Then I link the passport to the entity + Given I clear the request body + Then I get the guarded entity via the VIAM API + And the field {status} has the value {OK} + Given I clear the request body + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} +#Get Passports via WOPI + Given we are testing with the current session the WOPI + Then I set the headers + | <header> | <value> | + Then I get all the passports with fileid {testFileId} via WOPI + And the field {status} has the value {Bad Request} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | header | value | data | + # | uuid | dsada | Uuid is not correct | + | uuid | | Uuid is not specified | + # | token | dasda | Token is not correct | + | token | | Token is not specified | + # | publicKey | dsaas | Public Key is not correct | + | publicKey | | Public Key is not specified | + + @getPassportsWopi @negative + Scenario Outline: Try to Get All passports that an entity has with invalid fileId [<fileId>] via WOPI - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data.Uuid} from the last response and store it in the DataContainer with key {personUUID1} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} + And I get the value of {$.data} from the last response and store it in the DataContainer with key {firstPassportUUID} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +##Then I link the passport to the entity + Given I clear the request body + Then I get the guarded entity via the VIAM API + And the field {status} has the value {OK} + Given I clear the request body + Then I get the current entity via the VIAM API + And the field {status} has the value {OK} +#Get Passports via WOPI + Given we are testing with the current session the WOPI + Then I get all the passports with fileid {<fileId>} via WOPI + And the field {status} has the value {Bad Request} + And the field {code} has the value {400} + And the field {data} has the value {<data>} + Examples: + | fileId | data | + | | File ID is not specified | \ No newline at end of file diff --git a/out/test/resources/features/wopi/putFile/POST.feature b/out/test/resources/features/wopi/putFile/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..6a9f8be8c7351c23b84ea5215b3443c34c1ac954 --- /dev/null +++ b/out/test/resources/features/wopi/putFile/POST.feature @@ -0,0 +1,152 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#WOPI http://localhost:8787/putFile +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@wopi @all +Feature: WOPI - putFile POST + Attach a file to a passport via WOPI + + Background: + Given we are testing the VIAM Api + + @putFile @bug-wopi-5 @bug-wopi-6 + Scenario Outline: Attach a file [<file>] to a passport via WOPI - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Then I get the passport via WOPI + Given we are testing with the current session the WOPI + Then I get all the passports with fileid {testFileId} via WOPI + And the field {status} has the value {ok} +#Then I attach a file to the passport + Then I clear ALL headers + Given I attach a pdf file {<file>} to the current passport with fileid {testFileId} via WOPI + Then the response body contains {Created} + And the status code should be {201} + Examples: + | file | + | testpdf.pdf | + # | testOdf.odt | + # | testOOXML.docx | + + #You can add anything right now. + @putFile @negative @wip + Scenario Outline: Try to Attach a file [<file>] thats unsuported type via WOPI - Positive +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Then I get the passport via WOPI + Given we are testing with the current session the WOPI + Then I get all the passports with fileid {testFileId} via WOPI + And the field {status} has the value {ok} +#Then I attach a file to the passport + Then I clear ALL headers + Given I attach a pdf file {<file>} to the current passport with fileid {testFileId} via WOPI + And the status code should be {415} + Then the response body contains {Unsupported Media Type} + Examples: + | file | + | apple_ex.png | + + @putFile @negative @wip + Scenario Outline: Try to Attach a file to a passport with invalid fileId [<fileid>] via WOPI - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Then I get the passport via WOPI + Given we are testing with the current session the WOPI + Then I get all the passports with fileid {testFileId} via WOPI + And the field {status} has the value {ok} +#Then I attach a file to the passport + Then I clear ALL headers + Given I attach a pdf file {testpdf.pdf} to the current passport with fileid {<fileid>} via WOPI + Then the response body contains {Unauthorized} + And the status code should be {401} + Examples: + | fileid | + | dasdad | + + @putFile @negative + Scenario Outline: Try to Attach a file to a passport with invalid AccessToken [<token>] via WOPI - Negative +#Create a new member + Then I register a new random member via VIAM API + And the field {status} has the value {OK} +#Login the new member via VIAM + Given I clear the request body + Given I login member with mode previousaddeddevice via VIAM API + And the field {status} has the value {OK} +#Create a new entity - passport + Given I clear the request body + Then I create a new entity with type {4} via VIAM API + And the field {status} has the value {OK} +#Add new claim to the current entity + Given I clear the request body + Given I load the REST request {Claims.json} with profile {passportName} + Then I add a new claim to the guarded entity via VIAM API + And the field {status} has the value {OK} +#Then I get the passport via WOPI + Given we are testing with the current session the WOPI + Then I get all the passports with fileid {testFileId} via WOPI + And the field {status} has the value {ok} +#Then I attach a file to the passport + Then I clear ALL headers + Given I attach a pdf file {testpdf.pdf} to a passport with fileid {testFileId} and accessToken {<token>} via WOPI + Then the response body contains {Unauthorized} + And the status code should be {401} + Examples: + | token | + | dsadada | + | | \ No newline at end of file diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000000000000000000000000000000000000..d52316dd65f38fb6f2ea60ec62f01c27cac84480 --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'api_framework_java' diff --git a/src/main/java/api/test/rest/RestSessionContainer.java b/src/main/java/api/test/rest/RestSessionContainer.java new file mode 100644 index 0000000000000000000000000000000000000000..fb5d5b29636967e266b40b43bcb5952a6c4f6131 --- /dev/null +++ b/src/main/java/api/test/rest/RestSessionContainer.java @@ -0,0 +1,267 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package api.test.rest; + +import api.test.rest.pojo.Member; + +public class RestSessionContainer { + private Member member; + private String oauthToken; + private String oauthUUID; + private String personEntityUUID; + private String organizationEntityUUID; + private String assetEntityUUID; + private String passportEntityUUID; + private String documentEntityUUID; + private String conversationEntityUUID; + private String vcardURL; + private String wopiAccessToken; + private String qrCode; + private String actionID; + private String publicKey; + private String carddavUsername; + private String carddavPassword; + private String identificator; + private String newDevicePublicKey; + private String deviceID; + private String phoneNumber; + private String currentCompany; + private String recipientEmail; + private String messegeId; + private String subject; + private String batchKey; + private String batchKey2; + private String batchValue; + + public String getIdentificator() { + return identificator; + } + + public void setIdentificator(String identificator) { + this.identificator = identificator; + } + + public Member getCurrentMember() { + return member; + } + + public void setCurrentMember(Member member) { + this.member = member; + } + + public String getOauthToken() { + return oauthToken; + } + + public void setOauthToken(String oauthToken) { + this.oauthToken = oauthToken; + } + + public String getOauthUUID() { + return oauthUUID; + } + + public void setOauthUUID(String oauthUUID) { + this.oauthUUID = oauthUUID; + } + + public String getPersonEntityUUID() { + return personEntityUUID; + } + + public void setPersonEntityUUID(String personEntityUUID) { + this.personEntityUUID = personEntityUUID; + } + + public String getOrganizationEntityUUID() { + return organizationEntityUUID; + } + + public void setOrganizationEntityUUID(String organizationEntityUUID) { + this.organizationEntityUUID = organizationEntityUUID; + } + + public String getAssetEntityUUID() { + return assetEntityUUID; + } + + public void setAssetEntityUUID(String assetEntityUUID) { + this.assetEntityUUID = assetEntityUUID; + } + + public String getPassportEntityUUID() { + return passportEntityUUID; + } + + public void setPassportEntityUUID(String passportEntityUUID) { + this.passportEntityUUID = passportEntityUUID; + } + + public String getDocumentEntityUUID() { + return documentEntityUUID; + } + + public void setDocumentEntityUUID(String documentEntityUUID) { + this.documentEntityUUID = documentEntityUUID; + } + + public String getConversationEntityUUID() { + return conversationEntityUUID; + } + + public void setConversationEntityUUID(String conversationEntityUUID) { + this.conversationEntityUUID = conversationEntityUUID; + } + + public String getVcardURL() { + return vcardURL; + } + + public void setVcardURL(String vcardURL) { + this.vcardURL = vcardURL; + } + + public String getWopiAccessToken() { + return wopiAccessToken; + } + + public void setWopiAccessToken(String wopiAccessToken) { + this.wopiAccessToken = wopiAccessToken; + } + + public String getQrCode() { + return qrCode; + } + + public void setQrCode(String qrCode) { + this.qrCode = qrCode; + } + + public String getActionID() { + return actionID; + } + + public void setActionID(String actionID) { + this.actionID = actionID; + } + + public String getPublicKey() { + return publicKey; + } + + public void setPublicKey(String publicKey) { + this.publicKey = publicKey; + } + + public String getCarddavUsername() { + return carddavUsername; + } + + public void setCarddavUsername(String carddavUsername) { + this.carddavUsername = carddavUsername; + } + + public String getCarddavPassword() { + return carddavPassword; + } + + public void setCarddavPassword(String carddavPassword) { + this.carddavPassword = carddavPassword; + } + + public String getNewDevicePublicKey() { + return newDevicePublicKey; + } + + public void setNewDevicePublicKey(String newDevicePublicKey) { + this.newDevicePublicKey = newDevicePublicKey; + } + + public String getDeviceID() { + return deviceID; + } + + public void setDeviceID(String deviceID) { + this.deviceID = deviceID; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getCurrentCompany() { + return currentCompany; + } + + public void setCurrentCompany(String currentCompany) { + this.currentCompany = currentCompany; + } + + public String getRecipientEmail() { + return recipientEmail; + } + + public void setRecipientEmail(String recipientEmail) { + this.recipientEmail = recipientEmail; + } + + public String getMessegeId() { + return messegeId; + } + + public void setMessegeId(String messegeId) { + this.messegeId = messegeId; + } + + public String getSubject() { + return subject; + } + + public void setSubject(String subject) { + this.subject = subject; + } + + public String getBatchKey() { + return batchKey; + } + + public void setBatchKey(String batchKey) { + this.batchKey = batchKey; + } + + public String getBatchValue() { + return batchValue; + } + + public void setBatchValue(String batchValue) { + this.batchValue = batchValue; + } + + public String getBatchKey2() { + return batchKey2; + } + + public void setBatchKey2(String batchKey2) { + this.batchKey2 = batchKey2; + } +} + diff --git a/src/main/java/api/test/rest/pojo/Member.java b/src/main/java/api/test/rest/pojo/Member.java new file mode 100644 index 0000000000000000000000000000000000000000..7a88e8a7a980b21031b034f005e7109d0189ef57 --- /dev/null +++ b/src/main/java/api/test/rest/pojo/Member.java @@ -0,0 +1,113 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package api.test.rest.pojo; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class Member { + + @SerializedName("email") + @Expose + private String email; + @SerializedName("givenname") + @Expose + private String givenname; + @SerializedName("familyname") + @Expose + private String familyname; + @SerializedName("middlename") + @Expose + private String middlename; + @SerializedName("phonenumber") + @Expose + private String phoneNumber; + @SerializedName("guardedUuid") + @Expose + private String guardedUuid; + @SerializedName("childUuid") + @Expose + private String childUuid; + @SerializedName("resourceId") + @Expose + private String resourceId; + + public String getMiddlename() { + return middlename; + } + + public void setMiddlename(String middlename) { + this.middlename = middlename; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getName() { + return givenname; + } + + public void setName(String givenname) { + this.givenname = givenname; + } + + public String getFamily() { + return familyname; + } + + public void setFamily(String familyname) { + this.familyname = familyname; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public String getGuardedUuid() { + return guardedUuid; + } + + public void setGuardedUuid(String guardedUuid) { + this.guardedUuid = guardedUuid; + } + + public String getChildUuid() { + return childUuid; + } + + public void setChildUuid(String childUuid) { + this.childUuid = childUuid; + } + + public String getResourceId() { + return resourceId; + } + + public void setResourceId(String resourceId) { + this.resourceId = resourceId; + } +} \ No newline at end of file diff --git a/src/main/java/core/DataContainer.java b/src/main/java/core/DataContainer.java new file mode 100644 index 0000000000000000000000000000000000000000..64461083f13c54831ae420337756a08b33fbaaa3 --- /dev/null +++ b/src/main/java/core/DataContainer.java @@ -0,0 +1,54 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package core; + +import java.util.HashMap; +import java.util.Map; + +/** + * The purpose of this class is to store data that needs to be passed between scenario steps. For RID is used only for + * scenarios steps that are from different packages. + */ +public class DataContainer { + private Map<String, Object> objectMap; + + public DataContainer() { + objectMap = new HashMap<>(); + } + + /** + * Store an object in the data container. This will persist for the entire scenario. + * + * @param key the key used for the object + * @param object the object that will be stored + */ + public void addObject(String key, Object object) { + objectMap.put(key, object); + } + + /** + * Retrieve and object previously stored in the data container + * + * @param key the key of the object + * @return the object or null if the key does not exist + */ + public Object getObject(String key) { + return objectMap.get(key); + } +} + diff --git a/src/main/java/core/JsonUtils.java b/src/main/java/core/JsonUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..41702088b3c6c90ea944d2eac759035bb0941801 --- /dev/null +++ b/src/main/java/core/JsonUtils.java @@ -0,0 +1,493 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package core; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.github.fge.jackson.JsonLoader; +import com.github.fge.jsonschema.core.exceptions.ProcessingException; +import com.github.fge.jsonschema.core.report.ProcessingReport; +import com.github.fge.jsonschema.main.JsonSchema; +import com.github.fge.jsonschema.main.JsonSchemaFactory; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; +import com.google.gson.JsonParser; +import com.google.gson.reflect.TypeToken; +import exceptions.RAFException; +import org.apache.http.NameValuePair; +import org.apache.http.client.utils.URLEncodedUtils; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.nio.charset.Charset; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class JsonUtils { + + /** + * Validate a JSON against a JSON schema + * + * @param jsonData the JSON as string + * @param jsonSchema the JSON schema as string + * @return true if the validation passes, false otherwise + * @throws IOException + * @throws ProcessingException + */ + public static boolean validateJsonSchema(String jsonData, String jsonSchema) throws IOException, ProcessingException { + JsonNode schemaNode = JsonLoader.fromString(jsonSchema); + JsonNode dataNode = JsonLoader.fromString(jsonData); + + JsonSchemaFactory factory = JsonSchemaFactory.byDefault(); + JsonSchema schema = factory.getJsonSchema(schemaNode); + ProcessingReport report = schema.validate(dataNode); + + System.out.println(report.toString()); + return report.isSuccess(); + } + + /** + * @param key The key you want to find inside the JSON + * @param json The JSON you want to search in + * @return NULL if specified key is not found inside the JSON provided. Otherwise the Value of the key provided. + * @throws IOException + */ + public static Object getValueOfKeyFromJson(String key, String json) throws IOException { + + ObjectNode object = (ObjectNode) (JsonLoader.fromString(json)); + + JsonNode valueOfKey = object.get(key); + if (valueOfKey == null) { + return null; + } else { + return valueOfKey.asText(); + } + } + + /** + * Removes the key from the JSON + * + * @param key the key that will be removed + * @param json the json as String + * @return the JSON as String after the key was removed + * @throws IOException + */ + public static String removeKeyFromJson(String key, String json) throws IOException { + ObjectNode object = (ObjectNode) (JsonLoader.fromString(json)); + object.remove(key); + return object.toString(); + } + + /** + * Loads a map from a json file + * The json file should be located in main/resources + * <p> + * We are using multiple "profiles" in a json in order to easily manage different test data + * used by the same scenario.The json format should be: + * { + * "profile_name1" : {some json}, + * "profile_name2" : {some other json} + * } + * + * @param jsonName the name of the json file. If the file is in a subfolder, include the folder in the name + * Example: "/REST.GID.schemas/example_schema.json" + * @param profileName the name of the json "profile" + * @return a map with the key value pairs found in the json "profile" + * @throws IOException + */ + public static Map<String, String> loadMapFromResource(String jsonName, String profileName) throws IOException { + Gson gson = new GsonBuilder().disableHtmlEscaping().serializeNulls().create(); + return gson.fromJson(getProfileFromJson(jsonName, profileName), + new TypeToken<HashMap<String, String>>() { + }.getType()); + } + + /** + * Gets a "profile" from a json + * <p> + * We are using multiple "profiles" in a json in order to easily manage different test data + * used by the same scenario.The json format should be: + * { + * "profile_name1" : {some json}, + * "profile_name2" : {some other json} + * } + * + * @param jsonName the name of the json file. If the file is in a subfolder, include the folder in the name + * Example: "/test data/.json" + * @param profileName the name of the json "profile" + * @return the loaded JSON "profile" as string + * @throws IOException + */ + public static String getProfileFromJson(String jsonName, String profileName) throws IOException { + String json = loadJson(jsonName); + + Gson gson = new GsonBuilder().disableHtmlEscaping().serializeNulls().create(); + Map<String, JsonElement> retMap = gson.fromJson(json, new TypeToken<HashMap<String, JsonElement>>() { + }.getType()); + return gson.toJson(retMap.get(profileName)); + } + + /** + * Loads a json from a file + * @param jsonName the name of the json file. If the file is in a subfolder, include the folder in the name + * Example: "/test data/.json" + * @return the loaded JSON as string + * @throws IOException + */ + public static String loadJson(String jsonName) throws IOException { + return JsonLoader.fromResource(jsonName).toString(); + } + + /** + * Maps the response body to a Java object + * + * Example: Member currentMember = getResourceFromResponse(response, Member.class); + * @param response the Response object + * @param resourceClass the class of object + * @param <T> the type of the object being returned + * @return an object of the specified type + */ + public static <T> T getResourceFromResponse(final Response response, final Class<T> resourceClass) { + return new Gson().fromJson(response.getBody(), resourceClass); + } + + /** + * Maps the response body to a Java object + * + * Example: Member currentMember = getResourceFromRequest(currentRequest, Member.class); + * @param request the Response object + * @param resourceClass the class of object + * @param <T> the type of the object being returned + * @return an object of the specified type + */ + public static <T> T getResourceFromRequest(final Request request, final Class<T> resourceClass) { + return new Gson().fromJson(request.getBody(), resourceClass); + } + + /** + * Get the base uri from the "env" property + * @return the base uri + */ + public static String getBaseUri() { + return System.getProperty("env"); + } + + /** + * Get the RoundCube test instance from the "env" property + * @return the roundcube url + */ + public static String getRoundcubeUrl() { + return System.getProperty("roundcube"); + } + + + /** + * Get the project location + * @return the uri + */ + public static String getProjectLocation() { + return System.getProperty("projectLocation"); + } + + /** + * Get the project location + * @return the uri + */ + public static String getChromeProfileLocation() { + return System.getProperty("chromeProfileLocation"); + } + + + + /** + * Get the size of the screen that should be set when the isMaximized is set to true + * @return the size of the window + */ + public static String getDeviceType(){ + return System.getProperty("deviceType"); + } + + + /** + * Get the url for "viam" + * @return the uri + */ + public static String getVIAM() { + return System.getProperty("baseUrl") + "/api"; + } + + /** + * Get the url for "cardDav" + * @return the uri + */ + public static String getCardDav() { + return System.getProperty("baseUrl") + "/carddav"; + } + + /** + * Get the url for "wopi" + * @return the uri + */ + public static String getWopi() { + return System.getProperty("baseUrl") + "/wopi"; + } + + /** + * Get the url for "webDav" + * @return the uri + */ + public static String getWebDav() { + return System.getProperty("baseUrl")+ "/webdav"; + } + + /** + * Get the url for "webDav" + * @return the uri + */ + public static String getJsProxy() { + return System.getProperty("baseUrl")+ "/proxy"; + } + + + /** + * Get the url for "Dashboard" + * @return the uri + */ + public static String getDashboard() { + return System.getProperty("baseUrl"); + } + + + /** + * UTF8 encodes a string + * + * @param stringToEncode the string that will be encoded + * @return the encoded string + */ + public static String encodeUTF8(String stringToEncode) { + String encodedString; + + try { + encodedString = URLEncoder.encode(stringToEncode, "UTF-8"); + } catch (UnsupportedEncodingException e) { + throw new RAFException(e, JsonUtils.class); + } + + return encodedString; + } + + /** + * Decode a UTF8 encoded string + * + * @param stringToDecode the string to be decoded + * @return the decoded string + */ + public static String decodeUTF8(String stringToDecode) { + String decodedString; + + try { + decodedString = URLDecoder.decode(stringToDecode, "UTF-8"); + } catch (UnsupportedEncodingException e) { + throw new RAFException(e, JsonUtils.class); + } + + return decodedString; + } + + /** + * Encodes the values from the Map using UTF-8. + * + * @param map The Map that will be converted. + * @return String representation of the map in format: + * key1=value1&key2=value2&key3=value3 + */ + public static String mapToUrlEncodedString(Map<?, ?> map) { + + StringBuilder sb = new StringBuilder(); + String urlencodedPairs; // store all params in one string (appended with &); values are Encoded. keys are NOT for now. + + for (Map.Entry currentEntry : map.entrySet()) { + sb.append("&").append(currentEntry.getKey()).append("=").append(JsonUtils.encodeUTF8(currentEntry.getValue().toString())); + } + + urlencodedPairs = sb.toString().substring(1); //remove the 1st character '&' + + return urlencodedPairs; + } + + /** + * Converts an URL encoded (UTF-8) key value pairs String into a Map with keys and values (Decoded). + * @param keyValuePairsAsEncodedString The string that has to be converted to map. E.g. + * key1=value1&key2=value2&email=mail%40example.com&key4=value+4 + * @return Map with decoded entries. E.g.: + * <br/> key1 : value1 + * <br/> key2 : value2 + * <br/> email : mail@example.com + * <br/> key4 : value 4 + * + */ + public static Map<String, String> urlEncodedStringToMap(String keyValuePairsAsEncodedString) { + Map<String, String> keyValueMap = new HashMap<>(); + + + List<NameValuePair> listOfNameValuePairs = URLEncodedUtils.parse(keyValuePairsAsEncodedString, Charset.forName("UTF-8")); + for (NameValuePair pair : listOfNameValuePairs) { + keyValueMap.put(pair.getName(), pair.getValue()); + } + + + return keyValueMap; + } + + /** + * Takes the Query param part from the URL, decodes it using UTF-8 and converts it into a map which contains the key/value paris. + * @param url String representation of valid URL. E.g. "http://domain.com/error?error=E02&detail=pr_email%3dblank%26pr_dob_yyyy%3dinvalid&key+3=value+3" + * @return Map with decoded entries. E.g.: + * <br/> error : E02 + * <br/> detail : pr_email=blank&pr_dob_yyyy=invalid + * <br/> key 3 : value 3 + * @throws URISyntaxException + */ + public static Map<String, String> urlQueryParamsToMap(String url) throws URISyntaxException { + Map<String, String> keyValueMap = new HashMap<>(); + + URI uri = new URI(url); + + List<NameValuePair> listOfNameValuePairs = URLEncodedUtils.parse(uri,"UTF-8"); + + for (NameValuePair pair : listOfNameValuePairs) { + keyValueMap.put(pair.getName(), pair.getValue()); + } + + return keyValueMap; + } + + /** + * Encodes Map keys and values using UTF-8 encoding. + * + * @param mapToEncode the map to encode + * @return The Map with encoded keys and values. + */ + public static Map<String, Object> encodeMap(Map<String, Object> mapToEncode) { + Map<String, Object> objectHashMap = new HashMap<>(); + + mapToEncode.entrySet().stream().forEach(entry -> objectHashMap.put( + encodeUTF8(entry.getKey()), + encodeUTF8(entry.getValue().toString() ) )); + + return objectHashMap; + } + + /** + * Formats the map for printing + * + * @param mapTopPrint the map to format + * @return a String containing a line for each key-value + */ + public static String prettyPrintMap(Map<?, ?> mapTopPrint) { + if (mapTopPrint.isEmpty()) + return "none"; + StringBuilder sb = new StringBuilder(); + mapTopPrint.entrySet().forEach(pair -> sb.append(String.format("\n %s:%s", pair.getKey(), pair.getValue()))); + return sb.toString(); + } + + /** + * Formats the json string for printing + * + * @param json the json to be formatted + * @return a String containing the formatted json + */ + public static String prettyPrintJson(String json) { + Gson gson = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().serializeNulls().setLenient().create(); + JsonParser jp = new JsonParser(); + JsonElement je = jp.parse(json); + + return gson.toJson(je); + } + + /** + * Get the roundcubeUsername from the build.gradle file + * @return the roundcube username + */ + public static String getRoundcubeUsername() { + return System.getProperty("roundcubeUsername"); + } + + /** + * Get the roundcubePassword from the build.gradle file + * @return the roundcube password + */ + public static String getRoundcubePassword() { + return System.getProperty("roundcubePassword"); + } + + /** + * Get the secondRoundcubeUsername from the build.gradle file + * @return the roundcube username + */ + public static String getSecondRoundcubeUsername() { + return System.getProperty("secondRoundcubeUsername"); + } + + /** + * Get the secondRoundcubePassword from the build.gradle file + * @return the roundcube password + */ + public static String getSecondRoundcubePassword() { + return System.getProperty("secondRoundcubePassword"); + } + + /** + * Get the gmailPassword from the build.gradle file + * @return the gmail password + */ + public static String getGmailPassword(){ + return System.getProperty("gmailPassword"); + } + + /** + * Get the outlookPassword from the build.gradle file + * @return the outlook password + */ + public static String getOutlookPassword(){ + return System.getProperty("outlookPassword"); + } + + /** + * Get the outlookManifestfrom the build.gradle file + * @return the outlook Manifest + */ + public static String getOutlookManifest(){ + return System.getProperty("outlookManifest"); + } + + public static boolean getIsHeadless(){ + if(System.getProperty("isHeadless").equalsIgnoreCase("true")){ + return true; + }else{ + return false; + } + + } +} \ No newline at end of file diff --git a/src/main/java/core/Request.java b/src/main/java/core/Request.java new file mode 100644 index 0000000000000000000000000000000000000000..6ed0f385d18c02f2c64e967301c8534506c9224d --- /dev/null +++ b/src/main/java/core/Request.java @@ -0,0 +1,296 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package core; + +import java.util.HashMap; +import java.util.Map; + +public class Request { + private String path; + private Map<String, Object> params; + private Map<String, String> headers; + private Map<String, String> queryParams; + private Map<String, String> formParams; + private Map<String, String> pathParams; + private String body; + private String contentType; + private String version; + private String verb; + + public Request() { + path = ""; + body = ""; + version = ""; + verb = ""; + params = new HashMap<>(); + headers = new HashMap<>(); + queryParams = new HashMap<>(); + formParams = new HashMap<>(); + pathParams = new HashMap<>(); + } + + public Request(String path, Map<String, Object> params, Map<String, String> headers, Map<String, String> queryParams, Map<String, String> formParams, Map<String, String> pathParams, String body, String contentType, String version, String verb) { + this.path = path; + this.params = params; + this.headers = headers; + this.queryParams = queryParams; + this.formParams = formParams; + this.pathParams = pathParams; + this.body = body; + this.contentType = contentType; + this.version = version; + this.verb = verb; + } + + public Request(Request requestParam) { + this.path = requestParam.path; + this.params = new HashMap<>(requestParam.params); + this.headers = new HashMap<>(requestParam.headers); + this.queryParams = new HashMap<>(requestParam.queryParams); + this.formParams = new HashMap<>(requestParam.formParams); + this.pathParams = new HashMap<>(requestParam.pathParams); + this.body = requestParam.body; + this.contentType = requestParam.contentType; + this.version = requestParam.version; + this.verb = requestParam.verb; + } + + public static Request generate(String body, String path) { + Request request = new Request(); + request.getHeaders().put("X-Client-Id", "rms-ui"); + request.setContentType("application/json"); + request.setBody(body); + request.setPath(path); + return request; + } + + /** + * Returns the request path + * + * @return the request path + */ + public String getPath() { + return path; + } + + /** + * Sets the request path + * + * @param path the request path not including the base url + */ + public void setPath(String path) { + this.path = path; + } + + /** + * Returns the request parameters + * + * @return the request parameters HashMap + */ + public Map<String, Object> getParams() { + return params; + } + + /** + * Sets the request parameters + * + * @param params hashmap of params + */ + public void setParams(Map<String, Object> params) { + this.params = params; + } + + /** + * Returns the headers HashMap + * @return the headers HashMap + */ + public Map<String, String> getHeaders() { + return headers; + } + + /** + * Sets the headers HashMap. Use this only if you want to replace all the existing headers. + * @param headers the HashMap that will be set + */ + public void setHeaders(Map<String, String> headers) { + this.headers = headers; + } + + /** + * Gets the query parameters HashMap + * + * @return the query parameters HashMap + */ + public Map<String, String> getQueryParams() { + return queryParams; + } + + /** + * Sets the query parameters HashMap. Use this only if you want to replace all the existing query parameters + * + * @param queryParams the HashMap that will be set + */ + public void setQueryParams(Map<String, String> queryParams) { + this.queryParams = queryParams; + } + + /** + * Returns the request body + * @return the request body + */ + public String getBody() { + return body; + } + + /** + * Sets the body of the request + * @param body the body of the request. Currently it is implemented to only work with JSON + */ + public void setBody(String body) { + this.body = body; + } + + /** + * Gets the content type of the request + * @return the content type of the request + */ + public String getContentType() { + return contentType; + } + + /** + * Sets the content type of the request. No validation is done to check if it is a valid value. + * @param contentType the content type as string + */ + public void setContentType(String contentType) { + this.contentType = contentType; + } + + /** + * Gets the version of the endpoint that the request is made to. + * @return the version + */ + public String getVersion() { + return version; + } + + /** + * Sets the version of the api that will be used for the current request + * + * This is needed because for some apis there are multiple versions for the same endpoint. Set the version to an + * empty string it is not the case for the api you are testing. + * @param version the version as string + */ + public void setVersion(String version) { + this.version = version; + } + + /** + * Adds the passed value to the Authorization header. + * + * Don't use this if you are adding the Authorization header using getHeaders().put() + * @param authString the token as string + */ + public void addAuthorization(String authString) { + headers.put("Authorization", authString); + } + + /** + * Removes the Authorization header + */ + public void deleteAuthorization() { + headers.remove("Authorization"); + } + + /** + * Returns the form parameters hashmap + * + * @return the form parameters hashmap + */ + public Map<String, String> getFormParams() { + return formParams; + } + + /** + * Sets the form parameters hashmap + * Don't use this unless you want to replace all the form parameters + * + * @param formParams parameters as map + */ + public void setFormParams(Map<String, String> formParams) { + this.formParams = formParams; + } + + /** + * Returns the path parameters map + * + * @return the path parameters map + */ + public Map<String, String> getPathParams() { + return pathParams; + } + + /** + * Sets path parameters map + * @param pathParams Map with path params key=paramID, value=paramValue + */ + public void setPathParams(Map<String, String> pathParams) { + this.pathParams = pathParams; + } + + public String getVerb() { + return verb; + } + + public void setVerb(String verb) { + this.verb = verb; + } + + /** + * Clears the request + * + * Clears the headers, query params, path params, path and body + */ + public void clear() { + path = ""; + params.clear(); + headers.clear(); + queryParams.clear(); + formParams.clear(); + body = ""; + } + + @Override + public String toString() { + return String.format("---- Request ----\n" + + "Method(verb): %s\n" + + "Path: %s\n" + + "Headers: %s\n" + + "Body:\n%s\n" + + "Params: %s\n" + + "Path parameters:%s\n" + + "QueryParams: %s\n" + + "Version: %s\n" + + "--------------------------------------------------------------", + verb, path, JsonUtils.prettyPrintMap(headers), + (headers.get("Content-Type") != null ? headers.get("Content-Type") : "null") + .contains("application/json") ? JsonUtils.prettyPrintJson(body) : body, + JsonUtils.prettyPrintMap(params), JsonUtils.prettyPrintMap(pathParams), + JsonUtils.prettyPrintMap(queryParams), version); + } +} \ No newline at end of file diff --git a/src/main/java/core/RequestContainer.java b/src/main/java/core/RequestContainer.java new file mode 100644 index 0000000000000000000000000000000000000000..75d1cb2c90ad08004a63171c6fb13908bb3b061d --- /dev/null +++ b/src/main/java/core/RequestContainer.java @@ -0,0 +1,70 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package core; + +import core.*; +import org.apache.commons.lang3.ObjectUtils; + +import java.util.ArrayList; +import java.util.List; + +public class RequestContainer { + private static RequestContainer instance = new RequestContainer(); + private List<Request> requestList = new ArrayList<>(); + + private RequestContainer() { + } + + public static RequestContainer getInstance() { + return instance; + } + + public void addRequest(Request request) { + // Create new Request object, to differentiate from the currentRequest: + Request reqToAdd = new Request(request); + + requestList.add(reqToAdd); + + } + + public Request getRequest(int index) { + return requestList.get(index); + } + + public Request getLastRequest() { + if (!requestList.isEmpty()) { + return getRequest(requestList.size() - 1); + } else + return null; + } + + public void clearContainer() { + requestList.clear(); + } + + public void printAllRequests() { + System.out.println("Printing all requests in the RequestContainer ..... :\n"); + + for (int i = 0; i < requestList.size(); i++) { + System.out.println("Request[" + i + "]:\n"); + System.out.println("Object ref= " + ObjectUtils.identityToString(requestList.get(i))); + System.out.println(requestList.get(i)); + + } + } +} diff --git a/src/main/java/core/Response.java b/src/main/java/core/Response.java new file mode 100644 index 0000000000000000000000000000000000000000..068a8dc99da75dd666f3c7376fdef0e3fe3b6a5d --- /dev/null +++ b/src/main/java/core/Response.java @@ -0,0 +1,79 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package core; + + +import io.restassured.http.Header; +import io.restassured.http.Headers; + +import java.util.HashMap; + +/** + * Class used to store the response received. + * It only stores the status code, the response body and the headers + */ +public class Response { + private int statusCode; + private String body; + private HashMap<String, String> headers; + + public Response(int statusCode, String body, Headers headers) { + this.statusCode = statusCode; + this.body = body; + this.headers = new HashMap<>(); + for (Header header : headers) + this.headers.put(header.getName(), header.getValue()); + } + + /** + * Get the headers of the response + * + * @return the headers hashmap + */ + public HashMap<String, String> getHeaders() { + return headers; + } + + /** + * Get the status code of the response + * + * @return the status code of the response + */ + public int getStatusCode() { + return statusCode; + } + + /** + * Get the body of the response + * + * @return the body of the response + */ + public String getBody() { + return body; + } + +// @Override +// public String toString() { +// +// return String.format("----Response----\nStatus code: %d\nHeaders:%s\nBody:\n%s\n" + +// "\n-------------------------------------------------------------", +// statusCode, JsonUtils.prettyPrintMap(headers), +// (headers.get("Content-Type") != null ? headers.get("Content-Type") : "null") +// .contains("application/json") ? JsonUtils.prettyPrintJson(body) : body); +// } +} diff --git a/src/main/java/core/ResponseContainer.java b/src/main/java/core/ResponseContainer.java new file mode 100644 index 0000000000000000000000000000000000000000..cd35c20abddc8aac9d794e856f384171af5ef34c --- /dev/null +++ b/src/main/java/core/ResponseContainer.java @@ -0,0 +1,53 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package core; + +import core.*; + +import java.util.ArrayList; +import java.util.List; + +public class ResponseContainer { + private List<Response> responseList = new ArrayList<>(); + private static ResponseContainer instance = new ResponseContainer(); + + private ResponseContainer() {} + + public static ResponseContainer getInstance() { + return instance; + } + + public void addResponse(Response response) { + responseList.add(response); + } + + public Response getResponse(int index) { + return responseList.get(index); + } + + public Response getLastResponse() { + if(!responseList.isEmpty()) + return responseList.get(responseList.size() - 1); + else + return null; + } + + public void clearContainer() { + responseList.clear(); + } +} diff --git a/src/main/java/core/RestClient.java b/src/main/java/core/RestClient.java new file mode 100644 index 0000000000000000000000000000000000000000..c0f79cacd8d552ecf022fd5ab3bdc4095f5006bf --- /dev/null +++ b/src/main/java/core/RestClient.java @@ -0,0 +1,329 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package core; + +import io.restassured.RestAssured; +import io.restassured.config.ConnectionConfig; +import io.restassured.http.ContentType; +import io.restassured.response.ExtractableResponse; +import io.restassured.specification.RequestSpecification; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; + +import static io.restassured.RestAssured.config; +import static io.restassured.RestAssured.given; +import static io.restassured.config.EncoderConfig.encoderConfig; + +public class RestClient { + private static final Logger logger = LogManager.getLogger(RestClient.class.getSimpleName()); + private static boolean automaticRedirects = false; + + public RestClient() { + } + + /** + * Sends the current request using PUT + * + * @param request the current request + * @return the response received + */ + public static Response put(Request request) { + request.setVerb("PUT"); + logger.info("Sending PUT request {}", request); + ExtractableResponse response = given() + .redirects().follow(automaticRedirects) + .contentType(request.getContentType()) + .headers(request.getHeaders()) + .queryParams(request.getQueryParams()) + .pathParams(request.getPathParams()) + .body(request.getBody()) + .log().all() + .put(request.getVersion() + request.getPath()) + .then() + .log().all() + .extract(); + Response resp = new Response(response.statusCode(), response.body().asString(), response.headers()); + logger.info("Received response {}", resp); + return resp; + } + + /** + * Sends the current request using propfind + * + * @param request the current request + * @return the response received + */ + public static Response propfind(Request request) { + request.setVerb("PROPFIND"); + logger.info("Sending PROPFIND request {}", request); + ExtractableResponse response = given() + .redirects().follow(automaticRedirects) + .contentType(request.getContentType()) + .headers(request.getHeaders()) + .queryParams(request.getQueryParams()) + .pathParams(request.getPathParams()) + .body(request.getBody()) + .log().all() + .when() + .request("propfind",request.getPath()) + .then() + .log().all() + .extract(); + Response resp = new Response(response.statusCode(), response.body().asString(), response.headers()); + + logger.info("Received response {}", resp); + return resp; + } + + + /** + * Sends the current request using GET + * + * @param request the current request + * @return the response received + */ + public static Response get(Request request) { + request.setVerb("GET"); + logger.info("Sending GET request {}", request); + ExtractableResponse response = given() + .redirects().follow(automaticRedirects) + .contentType(request.getContentType()) + .headers(request.getHeaders()) + .queryParams(request.getQueryParams()) + .pathParams(request.getPathParams()) + .log().all() + .get(request.getVersion() + request.getPath()) + .then() + .log().all() + .extract(); + Response resp = new Response(response.statusCode(), response.body().asString(), response.headers()); + logger.info("Received response {}", resp); + return resp; + } + + /** + * Sends the current request using POST + * + * @param request the current request + * @return the response received + */ + public static Response post(Request request) { + request.setVerb("POST"); + RequestSpecification rs = given() + .config(config().connectionConfig(new ConnectionConfig().closeIdleConnectionsAfterEachResponse())) + .config(config().encoderConfig(encoderConfig().encodeContentTypeAs("application/json", ContentType.TEXT))) + .redirects().follow(automaticRedirects) + .contentType(request.getContentType()) + .headers(request.getHeaders()); + + if (!request.getFormParams().isEmpty()) { + //use form params and no body; + rs.formParams(request.getFormParams()); + } else if (!request.getParams().isEmpty()) { + //encode the params map and send it in the request body + rs.body(JsonUtils.mapToUrlEncodedString(request.getParams())); + } else { + // send just the body, usually used when the content-type is application/json + rs.body(request.getBody()); + } + + rs + .queryParams(request.getQueryParams()) + .pathParams(request.getPathParams()) + .log().all(); + + + ExtractableResponse response = rs + .post(request.getVersion() + request.getPath()) + .then() + .log().all() + .extract(); + Response resp = new Response(response.statusCode(), response.body().asString(), response.headers()); + logger.info("Received response {}", resp); + return resp; + } + + /** + * Sends the current request using DELETE + * + * @param request the current request + * @return the response received + */ + public static Response delete(Request request) { + request.setVerb("DELETE"); + ExtractableResponse response = given() + .redirects().follow(automaticRedirects) + .contentType(request.getContentType()) + .headers(request.getHeaders()) + .log().all() + .delete(request.getVersion() + request.getPath()) + .then() + .log().all() + .extract(); + Response resp = new Response(response.statusCode(), response.body().asString(), response.headers()); + logger.info("Received response {}", resp); + return resp; + } + + /** + * Sends the current request using HEAD + * + * @param request the current request + * @return the response received + */ + public static Response head(Request request) { + request.setVerb("HEAD"); + ExtractableResponse response = given() + .redirects().follow(automaticRedirects) + .contentType(request.getContentType()) + .headers(request.getHeaders()) + .log().all() + .head(request.getVersion() + request.getPath()) + .then() + .log().all() + .extract(); + Response resp = new Response(response.statusCode(), response.body().asString(), response.headers()); + logger.info("Received response {}", resp); + return resp; + } + + /** + * Sets the default encoding used in all the requests + * + * @param charset the encoding + */ + public static void setDefaultEncoding(String charset) { + logger.info("Setting default encoding to {}", charset); + config = config().encoderConfig(encoderConfig().defaultContentCharset(charset). + appendDefaultContentCharsetToContentTypeIfUndefined(false)); + } + + /** + * Sets the base URI that will be used by all the http calls. + * This should be the base URI of the api + * + * @param baseURI the base url + */ + public static void setBaseURI(String baseURI) { + logger.info("Setting baseURI to {}", baseURI); + RestAssured.baseURI = baseURI; + } + + /** + * Whether RestClient should automatically append the content charset to the content-type header if not defined explicitly + * + * @param value value to be set + */ + public static void appendDefaultContentCharsetToContentTypeIfUndefined(boolean value) { + config = config().encoderConfig(encoderConfig(). + appendDefaultContentCharsetToContentTypeIfUndefined(value)); + } + + /** + * Set to true if you want the http calls to follow redirects (not recommended for testing) + * + * @param value value to be set + */ + public static void setAutomaticRedirects(boolean value) { + automaticRedirects = value; + } + + + /** + * Sends the current request using POST, while attaching a file + * + * @param request the current request + * @return the response received + */ + public Response postFile(Request request, String filePath) throws IOException { + request.setVerb("POST"); + RequestSpecification rs = given() + .config(config().encoderConfig(encoderConfig().encodeContentTypeAs("application/pdf", ContentType.TEXT))) + .redirects().follow(automaticRedirects) + .contentType(request.getContentType()) + .headers(request.getHeaders()); + + if (!request.getFormParams().isEmpty()) { + //use form params and no body; + rs.formParams(request.getFormParams()); + } else if (!request.getParams().isEmpty()) { + //encode the params map and send it in the request body + rs.body(JsonUtils.mapToUrlEncodedString(request.getParams())); + } else { + rs.body(Files.readAllBytes(Paths.get(filePath))); + } + + rs + .queryParams(request.getQueryParams()) + .pathParams(request.getPathParams()) + .log().all(); + + + ExtractableResponse response = rs + .post(request.getVersion() + request.getPath()) + .then() + .log().all() + .extract(); + Response resp = new Response(response.statusCode(), response.body().asString(), response.headers()); + logger.info("Received response {}", resp); + return resp; + } + + /** + * Sends the current request using PUT, while attaching a file + * + * @param request the current request + * @return the response received + */ + public static Response putFile(Request request,String filePath) throws IOException{ + request.setVerb("PUT"); + RequestSpecification rs = given() + .config(config().encoderConfig(encoderConfig().encodeContentTypeAs("application/pdf", ContentType.TEXT))) + .redirects().follow(automaticRedirects) + .contentType(request.getContentType()) + .headers(request.getHeaders()); + + if (!request.getFormParams().isEmpty()) { + //use form params and no body; + rs.formParams(request.getFormParams()); + } else if (!request.getParams().isEmpty()) { + //encode the params map and send it in the request body + rs.body(JsonUtils.mapToUrlEncodedString(request.getParams())); + } else { + rs.body(Files.readAllBytes(Paths.get(filePath))); + } + + rs + .queryParams(request.getQueryParams()) + .pathParams(request.getPathParams()) + .log().all(); + + ExtractableResponse response = rs + .put(request.getVersion() + request.getPath()) + .then() + .log().all() + .extract(); + Response resp = new Response(response.statusCode(), response.body().asString(), response.headers()); + return resp; + } +} + diff --git a/src/main/java/exceptions/RAFException.java b/src/main/java/exceptions/RAFException.java new file mode 100644 index 0000000000000000000000000000000000000000..0ea5e5cc7a9b6abb41177fb3b02bc9cf427e6ae9 --- /dev/null +++ b/src/main/java/exceptions/RAFException.java @@ -0,0 +1,42 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package exceptions; + +import org.apache.commons.lang3.exception.ExceptionUtils; +import org.apache.logging.log4j.LogManager; + +/** + * General purpose exception , when framework catch some exception but don't have special type for it than throw this one + */ +public class RAFException extends RuntimeException { + + private static final long serialVersionUID = 5696341877105038735L; + + public RAFException(Exception e, Class clazz) { + super(e); + if (!(e instanceof RAFException)) { + LogManager.getLogger(clazz.getSimpleName()).error(ExceptionUtils.getMessage(e)); + } + } + + public RAFException(String errorMsg, Class clazz) { + super(errorMsg); + LogManager.getLogger(clazz.getSimpleName()).error(errorMsg); + } + +} diff --git a/src/main/java/exceptions/RAFIllegalState.java b/src/main/java/exceptions/RAFIllegalState.java new file mode 100644 index 0000000000000000000000000000000000000000..fa778d9a99cd92b92e6c137d215153a14317c42c --- /dev/null +++ b/src/main/java/exceptions/RAFIllegalState.java @@ -0,0 +1,34 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package exceptions; + +/** + * Suppose to throw it in cases when in flow we get unexpected data (e.g. string when should be digit actually ) + */ +public class RAFIllegalState extends RAFException { + + private static final long serialVersionUID = -1848367303757904267L; + + public RAFIllegalState(Exception e, Class clazz) { + super(e, clazz); + } + + public RAFIllegalState(String errorMsg, Class clazz) { + super(errorMsg, clazz); + } +} diff --git a/src/main/java/utils/JSONBuilder.java b/src/main/java/utils/JSONBuilder.java new file mode 100644 index 0000000000000000000000000000000000000000..036545c3feb0941380928bacd1bb2978dde7b1e8 --- /dev/null +++ b/src/main/java/utils/JSONBuilder.java @@ -0,0 +1,274 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package utils; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.List; + +import exceptions.RAFException; +import exceptions.RAFIllegalState; +import org.apache.commons.lang3.StringUtils; +import org.codehaus.jackson.JsonFactory; +import org.codehaus.jackson.JsonGenerator; +import org.codehaus.jackson.JsonToken; + +/** + * Wrapper over Jackson JSON classes which allow to create JSON with any complexity + * chained method of calls + */ +public class JSONBuilder { + + private static final JsonFactory JSON_FACTORY = new JsonFactory(); + // array of JSON nodes inserted in order as you read JSON string as single line from left to right + private List<JsonItem> items = new ArrayList<>(); + + public JSONBuilder(String fieldName, Object value, JsonToken token) { + if (value instanceof Boolean) { + if ((Boolean) value) { + items.add(new JsonItem(fieldName, null, JsonToken.VALUE_TRUE)); + } else { + items.add(new JsonItem(fieldName, null, JsonToken.VALUE_FALSE)); + } + } else { + items.add(new JsonItem(fieldName, value, token)); + } + } + + public JSONBuilder() { + } + + /* + In this way we support adding fields with type object + */ + public JSONBuilder(String fieldName, JSONBuilder value) { + items.add(new JsonItem(fieldName, null, JsonToken.START_OBJECT)); + for (JsonItem item : value.items) { + items.add(new JsonItem(item.getFieldName(), item.getValue(), item.getToken())); + } + items.add(new JsonItem(fieldName, null, JsonToken.END_OBJECT)); + } + + public JSONBuilder(String fieldName, List<JSONBuilder> jsonBuilderList) { + items.add(new JsonItem(fieldName, null, JsonToken.START_ARRAY)); + for (JSONBuilder builderItem : jsonBuilderList) { + this.addItem(null, builderItem); + } + items.add(new JsonItem(fieldName, null, JsonToken.END_ARRAY)); + } + + public JSONBuilder(String fieldName, String value) { + items.add(new JsonItem(fieldName, value, JsonToken.VALUE_STRING)); + } + + public JSONBuilder addItem(String fieldName, JSONBuilder value) { + items.add(new JsonItem(fieldName, null, JsonToken.START_OBJECT)); + for (JsonItem item : value.items) { + items.add(new JsonItem(item.getFieldName(), item.getValue(), item.getToken())); + } + items.add(new JsonItem(fieldName, null, JsonToken.END_OBJECT)); + return this; + } + + public JSONBuilder addItem(String fieldName, Object value, JsonToken token) { + if (value instanceof Boolean) { + if ((Boolean) value) { + items.add(new JsonItem(fieldName, null, JsonToken.VALUE_TRUE)); + } else { + items.add(new JsonItem(fieldName, null, JsonToken.VALUE_FALSE)); + } + } else { + items.add(new JsonItem(fieldName, value, token)); + } + return this; + } + + public JSONBuilder addStringItem(String fieldName, String value) { + this.items.add(new JsonItem(fieldName, value, JsonToken.VALUE_STRING)); + return this; + } + + public JSONBuilder addNullItem(String fieldName) { + this.items.add(new JsonItem(fieldName, null, JsonToken.VALUE_NULL)); + return this; + } + + public JSONBuilder addJSONBuilderList(String fieldName, List<JSONBuilder> jsonBuilderList) { + items.add(new JsonItem(fieldName, null, JsonToken.START_ARRAY)); + for (JSONBuilder builderItem : jsonBuilderList) { + this.addItem(null, builderItem); + } + items.add(new JsonItem(fieldName, null, JsonToken.END_ARRAY)); + return this; + } + + /** + * Use for add raw array of values "fieldName" : ["1","2","3"] + * @param fieldName - name of array + * @param listOfObjects - list of array items + * @param valueType - type of arrays items (support JsonToken.VALUE_STRING and JsonToken.VALUE_NUMBER_INT) + * @return this + */ + public JSONBuilder addListOfValues(String fieldName,List<Object> listOfObjects,JsonToken valueType){ + if (valueType.equals(JsonToken.VALUE_STRING) || valueType.equals(JsonToken.VALUE_NUMBER_INT)) { + items.add(new JsonItem(fieldName, null, JsonToken.START_ARRAY)); + for (Object listItem : listOfObjects) { + items.add(new JsonItem(null, listItem, valueType)); + } + items.add(new JsonItem(fieldName, null, JsonToken.END_ARRAY)); + return this; + }else { + throw new RAFIllegalState("Unsupported token type - "+valueType,JSONBuilder.class); + } + } + + /** + * Add array of {@link JSONBuilderAware} instances which means that JSONBuilder "knows" how + * to convert them into items + * @param fieldName - field name for JSON node which will store all data + * @param objectsList - list of JSONBuilderAware POJO's to convert + * @return this + */ + public JSONBuilder addArray(String fieldName, List<JSONBuilderAware> objectsList) { + items.add(new JsonItem(fieldName, null, JsonToken.START_ARRAY)); + for (JSONBuilderAware item : objectsList) { + this.addItem(null, item.addItem()); + } + items.add(new JsonItem(fieldName, null, JsonToken.END_ARRAY)); + return this; + } + + /** + * main method which suppose to generate JSON according previously inserted data + * @return generated JSON String + */ + public String build() { + if (items.isEmpty()) { + return ""; + } + String json; + try (OutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + JsonGenerator generator = JSON_FACTORY.createJsonGenerator(byteArrayOutputStream)) { + generator.writeStartObject(); + for (JsonItem item : items) { + switch (item.getToken()) { + case VALUE_STRING: + if(item.getFieldName()==null){ + generator.writeString(item.getValue().toString()); + }else { + generator.writeStringField(item.getFieldName(), item.getValue().toString()); + } + break; + case VALUE_NUMBER_INT: + if (item.getFieldName() == null) { + generator.writeNumber(Integer.valueOf(item.getValue().toString())); + }else { + generator.writeNumberField(item.getFieldName(), Integer.valueOf(item.getValue().toString())); + } + break; + case START_OBJECT: + if (StringUtils.isBlank(item.getFieldName())) { + generator.writeStartObject(); + } else { + generator.writeObjectFieldStart(item.getFieldName()); + } + break; + case END_OBJECT: + generator.writeEndObject(); + break; + case VALUE_TRUE: + generator.writeBooleanField(item.getFieldName(), true); + break; + case VALUE_FALSE: + generator.writeBooleanField(item.getFieldName(), false); + break; + case START_ARRAY: + generator.writeFieldName(item.getFieldName()); + generator.writeStartArray(); + break; + case END_ARRAY: + generator.writeEndArray(); + break; + case VALUE_NULL: + generator.writeNullField(item.fieldName); + break; + default: + throw new RAFIllegalState("Not supported token type - " + item.getToken(), JSONBuilder.class); + } + } + generator.writeEndObject(); + generator.flush(); + json = byteArrayOutputStream.toString(); + } catch (IOException ignored) { + throw new RAFException(ignored, JSONBuilder.class); + } + return json; + } + + /** + * search over inserted field names to find a match + * Note: in case several fields with same name exists first one found will be returned + * @param fieldName - target field name + * @return {@link Object} representing value of field with specified name + */ + public Object getItemValueByFieldName(String fieldName) { + for (JsonItem item : this.items) { + if (item.getFieldName().equals(fieldName)) { + return item.getValue(); + } + } + return null; + } + + /** + * private class representing structure used to store inserted JSON nodes + */ + private static class JsonItem { + + JsonToken token; + Object value; + String fieldName; + + private JsonItem(String fieldName, Object value, JsonToken token) { + if (token == null) { + throw new RAFIllegalState("Token can not be null", JsonItem.class); + } + if (((token == JsonToken.VALUE_STRING) || (token == JsonToken.VALUE_NUMBER_INT)) && (value == null)) { + throw new RAFIllegalState("Value can not be null", JsonItem.class); + } + this.token = token; + this.value = value; + this.fieldName = fieldName; + } + + Object getValue() { + return value; + } + + String getFieldName() { + return fieldName; + } + + JsonToken getToken() { + return token; + } + } + +} diff --git a/src/main/java/utils/JSONBuilderAware.java b/src/main/java/utils/JSONBuilderAware.java new file mode 100644 index 0000000000000000000000000000000000000000..8b7fa7ab44ca9903e2748c0b10e494d256435ddf --- /dev/null +++ b/src/main/java/utils/JSONBuilderAware.java @@ -0,0 +1,25 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package utils; + +/** + * Allows to build complex JSON strings with any objects which implements this interface + */ +public interface JSONBuilderAware { + JSONBuilder addItem(); +} diff --git a/src/main/java/utils/JSONParser.java b/src/main/java/utils/JSONParser.java new file mode 100644 index 0000000000000000000000000000000000000000..13efc7bd52ba22cf2a79c5ee1db9b7c9e2ec8f31 --- /dev/null +++ b/src/main/java/utils/JSONParser.java @@ -0,0 +1,120 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package utils; + +import exceptions.RAFException; +import exceptions.RAFIllegalState; +import org.codehaus.jackson.JsonNode; +import org.codehaus.jackson.map.ObjectMapper; +import org.codehaus.jackson.node.ObjectNode; + +import java.io.IOException; +import java.util.StringTokenizer; + + +/** + * Allow to browse over JSON string to find field in specified position + */ +public class JSONParser { + + private ObjectMapper mapper = new ObjectMapper(); + + /** + * Replace field value in specified position + * @param path - represent path which uniquely identify field in any JSON + * with format "field1>field2>field3" + * @param json - target JSON string to modify + * @param value - new value for field + * @return modified JSON + */ + public String replaceValue(String path, String json, String value) { + try { + JsonNode rootNode = mapper.readTree(json); + StringTokenizer tokens = new StringTokenizer(path, ">"); + String fieldName = tokens.nextToken(); + JsonNode toReplace = null; + while (tokens.hasMoreTokens()) { + if (toReplace == null) { + toReplace = rootNode.get(fieldName); + } else { + toReplace = toReplace.get(fieldName); + } + if (toReplace == null) { + throw new RAFIllegalState("Wrong path", JSONParser.class); + } + fieldName = tokens.nextToken(); + } + if (toReplace == null) { + if (rootNode.has(fieldName)) { + ((ObjectNode) rootNode).put(fieldName, value); + } else { + throw new RAFIllegalState("Wrong path", JSONParser.class); + } + } else { + ((ObjectNode) toReplace).put(fieldName, value); + } + return mapper.writeValueAsString(rootNode); + } catch (IOException e) { + throw new RAFException(e, JSONParser.class); + } + } + + /** + * Add field with value in specified position + * + * @param path - represent path which uniquely identify field in any JSON + * with format "field1>field2>field3" + * @param json - target JSON string to modify + * @param fieldName - new field name + * @param value - new value for field + * @return modified JSON + */ + public String addValue(String path, String json,String fieldName, String value) { + try { + JsonNode rootNode = mapper.readTree(json); + StringTokenizer tokens = new StringTokenizer(path, ">"); + String pathField = tokens.nextToken(); + JsonNode toReplace = null; + while (tokens.hasMoreTokens()) { + if (toReplace == null) { + toReplace = rootNode.get(pathField); + } else { + toReplace = toReplace.get(pathField); + } + if (toReplace == null) { + throw new RAFIllegalState("Wrong path", JSONParser.class); + } + pathField = tokens.nextToken(); + } + if (toReplace == null) { + if (rootNode.has(pathField)) { + ((ObjectNode) rootNode).put(fieldName, value); + } else { + throw new RAFIllegalState("Wrong path", JSONParser.class); + } + } else { + ((ObjectNode) toReplace).put(fieldName, value); + } + return mapper.writeValueAsString(rootNode); + } catch (IOException e) { + throw new RAFException(e, JSONParser.class); + } + } + +} + diff --git a/src/main/java/utils/RAFProperties.java b/src/main/java/utils/RAFProperties.java new file mode 100644 index 0000000000000000000000000000000000000000..4b5bb45edc782727bec96421a2911793fa34c000 --- /dev/null +++ b/src/main/java/utils/RAFProperties.java @@ -0,0 +1,144 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package utils; + +import exceptions.RAFException; +import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.IOException; +import java.util.Properties; + +/** + * Helper for reading value from java-like properties files + */ +public final class RAFProperties { + + private static final Properties properties = new Properties(); + + private static Logger log = LogManager.getLogger(RAFProperties.class.getSimpleName()); + + static { + try { + properties.load(RAFProperties.class.getResourceAsStream("/main.properties")); + } catch (IOException e) { + throw new RAFException(e, RAFProperties.class); + } + } + + private RAFProperties() { + } + + /** + * Treat value as integer + * + * @param keyName - key name of integer value + * @param defaultValue - value to return in case value not exists or not digit + * @return integer representation of value if key exists and value is digit or default otherwise + */ + public static Integer getIntegerPropertyOrReturnDefault(String keyName, Integer defaultValue) { + Integer value = getIntegerProperty(keyName); + if (value == null) { + log.debug("Key '{}' not exists return default {}", keyName, defaultValue); + return defaultValue; + } + return value; + } + + /** + * Treat value as integer + * + * @param keyName - key name of integer value + * @return integer representation of value if key exists and value is digit or null otherwise + */ + public static Integer getIntegerProperty(String keyName) { + String value = getProperty(keyName); + if (StringUtils.isBlank(value)) { + return null; + } + if (StringUtils.isNumeric(value)) { + return Integer.valueOf(value); + } + return null; + } + + /** + * Read property with defined keyName from properties file + * + * @param keyName - name of property to read + * @return property value or null if no property exists + */ + public static String getProperty(String keyName) { + if (properties.containsKey(keyName)) { + return properties.getProperty(keyName); + } + log.debug("Key '{}' not exists return null", keyName); + return null; + } + + /** + * Treat value as boolean + * + * @param keyName - key name of boolean value + * @param defaultValue - value to return in case value not exists + * @return true - if value equals '1' , false in all other cases or defaultValue in case key not exists + */ + public static Boolean getBooleanPropertyOrReturnDefault(String keyName, Boolean defaultValue) { + Boolean value = getBooleanProperty(keyName); + if (value == null) { + log.debug("Key '{}' not exists return default {}", keyName, defaultValue); + return defaultValue; + } + return value; + } + + /** + * Treat value as boolean + * + * @param keyName - key name of boolean value + * @return true - if value equals '1' , false in all other cases or null if case not exists + */ + public static Boolean getBooleanProperty(String keyName) { + String value = getProperty(keyName); + if (StringUtils.isBlank(value)) { + return null; + } + if (value.equals("1")) { + return true; + } + return false; + } + + /** + * Read property with defined keyName from properties file + * + * @param keyName - name of property to read + * @param defaultValue - value to return if property not exists + * @return property value or default if key not exists + */ + public static String getPropertyOrReturnDefault(String keyName, String defaultValue) { + String propertyValue = getProperty(keyName); + if (StringUtils.isEmpty(propertyValue)) { + log.debug("Key '{}' not exists return default {}", keyName, defaultValue); + return defaultValue; + } + return propertyValue; + } +} + diff --git a/src/main/java/utils/RAFRandomize.java b/src/main/java/utils/RAFRandomize.java new file mode 100644 index 0000000000000000000000000000000000000000..55c474ab407de7284d18f9f820830e5fa69c835a --- /dev/null +++ b/src/main/java/utils/RAFRandomize.java @@ -0,0 +1,250 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package utils; + +import org.apache.commons.lang3.RandomStringUtils; +import org.joda.time.DateTime; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; +import org.joda.time.format.DateTimeFormatterBuilder; + +import java.util.List; +import java.util.Random; +import java.util.UUID; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public final class RAFRandomize { + + public static final String MAIL_DOMAIN = "@example.com"; + public static final DateTimeFormatter DATE_TIME_FORMATTER = new DateTimeFormatterBuilder().append(DateTimeFormat.forPattern("MM/dd/YYYY").getPrinter()).toFormatter(); + protected static final Integer MAX_MAIL_LENGTH = 70; + private static final Random RANDOM = new Random(System.currentTimeMillis()); // NOSONAR + private static final DateTimeFormatter DATE_TIME_FORMATTER2 = + new DateTimeFormatterBuilder().append(DateTimeFormat.forPattern("YYYY-MM-dd").getPrinter()).toFormatter(); + private static final DateTimeFormatter DATE_TIME_FORMATTER3 = + new DateTimeFormatterBuilder().append(DateTimeFormat.forPattern("MMddHHmmss").getPrinter()).toFormatter(); + + private RAFRandomize() { + } + + /** + * Generate RANDOM set of chars with RANDOM length which limited by min/max values + * + * @param min - minimal length of string + * @param max - maximum length of string + * @return generated set of chars + */ + public static String getAlphanumeric(int min, int max) { + return RandomStringUtils.randomAlphanumeric(getInt(min, max)); + } + + /** + * Generate RANDOM set of chars with length defined + * + * @param length - length of output string + * @return generated set of chars + */ + public static String getAlphanumeric(int length) { + return RandomStringUtils.randomAlphanumeric(length); + } + + /** + * Generates RANDOM number in range + * + * @param min - lowest value to generate + * @param max - highest value to generate + * @return generated RANDOM number + */ + public static int getInt(int min, int max) { + return RANDOM.nextInt((max - min) + 1) + min; + } + + /** + * Generate RANDOM set of alphabetic chars with RANDOM length which limited by min/max values + * + * @param min - minimal length of string + * @param max - maximum length of string + * @return generated set of chars + */ + public static String getAlphabetic(int min, int max) { + return RandomStringUtils.randomAlphabetic(getInt(min, max)); + } + + /** + * Generate RANDOM set of numeric chars with RANDOM length which limited by min/max values + * + * @param minLength - minimal length of string + * @param maxLength - maximum length of string + * @return generated set of chars + */ + public static String getNumeric(int minLength, int maxLength) { + return RandomStringUtils.randomNumeric(getInt(minLength, maxLength)); + } + + /** + * Generate RANDOM boolean + * + * @return generated boolean value + */ + public static Boolean getBool() { + return RANDOM.nextBoolean(); + } + + /** + * Generate RANDOM mail address using template {random value}@example.com + * + * @param min minimal length of random mail address not including '@example.com' length + * @param max maximum length of random mail address not including '@example.com' length + * @return generated mail address + */ + public static String getMail(int min, int max) { + int actual = getInt(min + MAIL_DOMAIN.length(), max + MAIL_DOMAIN.length()); + String beforeAt = RandomStringUtils.randomAlphanumeric(actual - MAIL_DOMAIN.length()); + String mailAddress = beforeAt + MAIL_DOMAIN; + if (mailAddress.length() > MAX_MAIL_LENGTH) { + mailAddress = mailAddress.substring(mailAddress.length() - MAX_MAIL_LENGTH, mailAddress.length()); + } + return mailAddress; + } + + /** + * Randomly get value from input list + * + * @param inputList - list of values for random selection + * @param <T> - class of list to return value of this type + * @return item from list of specified class or null if list is empty + */ + public static <T> T getRandomValueFromList(List<T> inputList) { + if (inputList.isEmpty()) { + return null; + } + Integer arrayPosition = (inputList.size() > 1) ? getInt(0, inputList.size() - 1) : 0; + return inputList.get(arrayPosition); + } + + /** + * @return string representation of current date in format "MM/dd/YYYY" + */ + public static String getCurrentDateFormatted() { + return DateTime.now().toString(DATE_TIME_FORMATTER); + } + + /** + * @return string representation of current date in format "MM-dd-YYYY" + */ + public static String getCurrentDateFormatted2() { + return DateTime.now().toString(DATE_TIME_FORMATTER2); + } + + /** + * @return string representation of current date in format "MMddHHmmss" + */ + public static String getCurrentDateFormatted3() { + return DateTime.now().toString(DATE_TIME_FORMATTER3); + } + + /** + * @return wrapper for return UUID-like string + */ + public static String getUUID() { + return UUID.randomUUID().toString(); + } + + /** + * Randomizes all Alphanumeric characters inside the <i>inputString</i>, while keeping the places of all other characters. + * Numbers gets substituted with random numeric values. + * Characters gets substituted with random alphabetic values. + * <P/> + * <br/> E.g.: + <table> + <col width="25%"/> + <col width="75%"/> + <thead> + <tr><th></th><th>Result</th></tr> + <thead> + <tbody> + <tr><td>originalString</td><td>21som...examp-l@t123.s34t#aaaaaa$bbbb space(tri_get</td></tr> + <tr><td>generatedString</td><td>79MUp...KvAwB-g@T485.b21D#APRzar$DDmK Diaap(vka_nDZ</td></tr> + </tbody> + </table> + * @param inputString The string that will be used as a base. + * @return Returns the resulting string. + */ + public static String retainSpecialCharsAndRandomizeAlphanumeric(String inputString){ + String generatedString; + + int formatLength = inputString.length(); + String[] specialChars = new String[formatLength]; + int[] specialCharsPositions = new int[formatLength]; + String[] regularChars = new String[formatLength]; + int[] regularCharsPositions = new int[formatLength]; + + Pattern pSpecialChar = Pattern.compile("[^A-Za-z0-9]"); + Matcher mSpecialChar = pSpecialChar.matcher(inputString); + + Pattern pRegular = Pattern.compile("[A-Za-z0-9]"); + Matcher mRegular = pRegular.matcher(inputString); + + for (int i = 0; i < formatLength; i++) { + if (mSpecialChar.find()) { + specialCharsPositions[i] = mSpecialChar.start(); + specialChars[i] = mSpecialChar.group(); + } + if (mRegular.find()) { + regularCharsPositions[i] = mRegular.start(); + regularChars[i] = mRegular.group(); + } + } + + StringBuilder sB = new StringBuilder(formatLength); + + for (int k = 0; k < formatLength; k++) { + for (int m = 0; m < formatLength; m++) { + + if (specialCharsPositions[m] == k && specialChars[m] != null) { + sB.append(specialChars[m]); + } else if (regularCharsPositions[m] == k && regularChars[m] != null) { + + boolean isAlpha = false; + try { + Integer.parseInt(regularChars[m]); + } catch (NumberFormatException e) { + isAlpha = true; + } + + if(isAlpha){ + sB.append(RandomStringUtils.randomAlphabetic(1)); + } else { + sB.append(RandomStringUtils.randomNumeric(1)); + } + + + + } + } + + } + + generatedString = sB.toString(); + + return generatedString; + } + +} + diff --git a/src/main/java/utils/RsaGenerator.java b/src/main/java/utils/RsaGenerator.java new file mode 100644 index 0000000000000000000000000000000000000000..bb9709be6940923231f7926c37d84bb94ea67c89 --- /dev/null +++ b/src/main/java/utils/RsaGenerator.java @@ -0,0 +1,100 @@ +package utils; + +import java.io.*; +import java.security.*; +import java.util.*; +import javax.crypto.Cipher; +import static java.nio.charset.StandardCharsets.UTF_8; + +public class RsaGenerator { + public static KeyPair generateKeyPair() throws Exception { + KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA"); + generator.initialize(2048, new SecureRandom()); + KeyPair pair = generator.generateKeyPair(); + + return pair; + } + + public static KeyPair getKeyPairFromKeyStore() throws Exception { + //Generated with: + // keytool -genkeypair -alias mykey -storepass s3cr3t -keypass s3cr3t -keyalg RSA -keystore keystore.jks + + InputStream ins = RsaGenerator.class.getResourceAsStream("/keystore.jks"); + + KeyStore keyStore = KeyStore.getInstance("JCEKS"); + keyStore.load(ins, "s3cr3t".toCharArray()); //Keystore password + KeyStore.PasswordProtection keyPassword = //Key password + new KeyStore.PasswordProtection("s3cr3t".toCharArray()); + + KeyStore.PrivateKeyEntry privateKeyEntry = (KeyStore.PrivateKeyEntry) keyStore.getEntry("mykey", keyPassword); + + java.security.cert.Certificate cert = keyStore.getCertificate("mykey"); + PublicKey publicKey = cert.getPublicKey(); + PrivateKey privateKey = privateKeyEntry.getPrivateKey(); + + return new KeyPair(publicKey, privateKey); + } + + public static String encrypt(String plainText, PublicKey publicKey) throws Exception { + Cipher encryptCipher = Cipher.getInstance("RSA"); + encryptCipher.init(Cipher.ENCRYPT_MODE, publicKey); + + byte[] cipherText = encryptCipher.doFinal(plainText.getBytes(UTF_8)); + + return Base64.getEncoder().encodeToString(cipherText); + } + + public static String decrypt(String cipherText, PrivateKey privateKey) throws Exception { + byte[] bytes = Base64.getDecoder().decode(cipherText); + + Cipher decriptCipher = Cipher.getInstance("RSA"); + decriptCipher.init(Cipher.DECRYPT_MODE, privateKey); + + return new String(decriptCipher.doFinal(bytes), UTF_8); + } + + public static String sign(String plainText, PrivateKey privateKey) throws Exception { + Signature privateSignature = Signature.getInstance("SHA256withRSA"); + privateSignature.initSign(privateKey); + privateSignature.update(plainText.getBytes(UTF_8)); + + byte[] signature = privateSignature.sign(); + + return Base64.getEncoder().encodeToString(signature); + } + + public static boolean verify(String plainText, String signature, PublicKey publicKey) throws Exception { + Signature publicSignature = Signature.getInstance("SHA256withRSA"); + publicSignature.initVerify(publicKey); + publicSignature.update(plainText.getBytes(UTF_8)); + + byte[] signatureBytes = Base64.getDecoder().decode(signature); + + return publicSignature.verify(signatureBytes); + } + + public static void main(String... argv) throws Exception { + //First generate a public/private key pair + KeyPair pair = generateKeyPair(); + //KeyPair pair = getKeyPairFromKeyStore(); + + //Our secret message + String message = "the answer to life the universe and everything"; + + //Encrypt the message + String cipherText = encrypt(message, pair.getPublic()); + + //Now decrypt it + String decipheredMessage = decrypt(cipherText, pair.getPrivate()); + + System.out.println(decipheredMessage); + + //Let's sign our message + String signature = sign("foobar", pair.getPrivate()); + + //Let's check the signature + boolean isCorrect = verify("foobar", signature, pair.getPublic()); + System.out.println("Signature correct: " + isCorrect); + } + +} \ No newline at end of file diff --git a/src/main/resources/REST/json/Batch.json b/src/main/resources/REST/json/Batch.json new file mode 100644 index 0000000000000000000000000000000000000000..d2173e1f579cefff1cb4ad71e1758d7851e10897 --- /dev/null +++ b/src/main/resources/REST/json/Batch.json @@ -0,0 +1,47 @@ +{ + "successful_batch": { + "batch": { + "seal_id_1": "gAxtEAEaElNlbmRlclN0YXR1c09iamVjdA==" + } + }, + "multiple_requests": { + "batch": { + "seal_id_1": "gAxtEAEaElNlbmRlclN0YXR1c09iamVjdA==", + "seal_id_2": "gAxtEAEaElNlbmRlclN0YXR1c09iamVjd233==", + "seal_id_3": "gAxtEAEaElNlbmRlclN0YXR1c09iamVjd234==" + } + }, + "missing_batch": { + "seal_id_1": "gAxtEAEaElNlbmRlclN0YXR1c09iamVjdA==" + }, + "not_base64_value": { + "batch": { + "seal_id_1": "dasdadasd" + } + }, + "empty_seal_key": { + "batch": { + "": "gAxtEAEaElNlbmRlclN0YXR1c09iamVjdA==" + } + }, + "empty_seal_value": { + "batch": { + "seal_id_1": "" + } + }, + "missing_seal": { + "batch": { + } + }, + "getStatuses_success": { + "key": "seal_id_1" + }, + "getStatuses_missing_key": { + "": "seal_id_1" + }, + "getStatuses_missing_value": { + "key": "" + }, + "getStatuses_empty": { + } +} \ No newline at end of file diff --git a/src/main/resources/REST/schemas/Batch_GetStatuses_schema.json b/src/main/resources/REST/schemas/Batch_GetStatuses_schema.json new file mode 100644 index 0000000000000000000000000000000000000000..09b1fbf854d8d3790b28c79c3fd2168db84ddef8 --- /dev/null +++ b/src/main/resources/REST/schemas/Batch_GetStatuses_schema.json @@ -0,0 +1,60 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "code": { + "type": "string" + }, + "data": { + "type": "array", + "items": [ + { + "type": "object", + "properties": { + "Status": { + "type": "string" + }, + "TransactionID": { + "type": "string" + }, + "BatchID": { + "type": "string" + } + }, + "required": [ + "Status", + "TransactionID", + "BatchID" + ] + }, + { + "type": "object", + "properties": { + "Status": { + "type": "string" + }, + "TransactionID": { + "type": "string" + }, + "BatchID": { + "type": "string" + } + }, + "required": [ + "Status", + "TransactionID", + "BatchID" + ] + } + ] + } + }, + "required": [ + "status", + "code", + "data" + ] +} \ No newline at end of file diff --git a/src/main/resources/REST/schemas/Batch_GetTotalCount_schema.json b/src/main/resources/REST/schemas/Batch_GetTotalCount_schema.json new file mode 100644 index 0000000000000000000000000000000000000000..b090c9e05ba3b7ee81b91ce391c8d8c52f58f257 --- /dev/null +++ b/src/main/resources/REST/schemas/Batch_GetTotalCount_schema.json @@ -0,0 +1,91 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": [ + "status", + "code", + "data", + "counters" + ], + "properties": { + "status": { + "$id": "#root/status", + "title": "Status", + "type": "string", + "default": "", + "examples": [ + "OK" + ], + "pattern": "^.*$" + }, + "code": { + "$id": "#root/code", + "title": "Code", + "type": "string", + "default": "", + "examples": [ + "200" + ], + "pattern": "^.*$" + }, + "data": { + "$id": "#root/data", + "title": "Data", + "type": "integer", + "examples": [ + 50 + ], + "default": 0 + }, + "counters": { + "$id": "#root/counters", + "title": "Counters", + "type": "object", + "required": [ + "receivedStatus", + "storedStatus", + "anchoredStatus", + "anchoredBatches" + ], + "properties": { + "receivedStatus": { + "$id": "#root/counters/receivedStatus", + "title": "Receivedstatus", + "type": "integer", + "examples": [ + 50 + ], + "default": 0 + }, + "storedStatus": { + "$id": "#root/counters/storedStatus", + "title": "Storedstatus", + "type": "integer", + "examples": [ + 50 + ], + "default": 0 + }, + "anchoredStatus": { + "$id": "#root/counters/anchoredStatus", + "title": "Anchoredstatus", + "type": "integer", + "examples": [ + 50 + ], + "default": 0 + }, + "anchoredBatches": { + "$id": "#root/counters/anchoredBatches", + "title": "Anchoredbatches", + "type": "integer", + "examples": [ + 40 + ], + "default": 0 + } + } + } + + } +} diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml new file mode 100644 index 0000000000000000000000000000000000000000..47fd56eaeeabbb0caee0c3cffef3e83fbb6d63fe --- /dev/null +++ b/src/main/resources/log4j2.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Configuration status="INFO"> + + <Appenders> + <Console name="Console" target="SYSTEM_OUT"> + <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> + </Console> + + <RollingFile name="RollingFile" filename="log/test.log" + filepattern="${logPath}/%d{YYYYMMddHHmmss}-fargo.log"> + <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> + <Policies> + <SizeBasedTriggeringPolicy size="100 MB" /> + </Policies> + <DefaultRolloverStrategy max="20" /> + </RollingFile> + + </Appenders> + <Loggers> + <Root level="info"> + <AppenderRef ref="Console" /> + <AppenderRef ref="RollingFile" /> + </Root> + </Loggers> + +</Configuration> \ No newline at end of file diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml new file mode 100644 index 0000000000000000000000000000000000000000..58f6f438ea3dbc510efe66e04d92e06e0ec13215 --- /dev/null +++ b/src/main/resources/logback.xml @@ -0,0 +1,13 @@ +<configuration debug="false"> + <!-- definition of appender STDOUT --> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern> + </encoder> + </appender> + + <root level="ERROR"> + <!-- appender referenced after it is defined --> + <appender-ref ref="STDOUT"/> + </root> +</configuration> \ No newline at end of file diff --git a/src/test/java/RegressionTestSuite.java b/src/test/java/RegressionTestSuite.java new file mode 100644 index 0000000000000000000000000000000000000000..99c4590def8d2e761a9921bed68796d4eb5aa94f --- /dev/null +++ b/src/test/java/RegressionTestSuite.java @@ -0,0 +1,29 @@ +import courgette.api.CourgetteOptions; +import courgette.api.CourgetteRunLevel; +import courgette.api.junit.Courgette; +import cucumber.api.CucumberOptions; +import org.junit.runner.RunWith; + +@RunWith(Courgette.class) +@CourgetteOptions( + threads = 10, + runLevel = CourgetteRunLevel.SCENARIO, + rerunFailedScenarios = true, + rerunAttempts = 1, + showTestOutput = true, + reportTargetDir = "target/", + cucumberOptions = @CucumberOptions( + features = "src/test/resources/features", + glue = "api.test", + plugin = { + "pretty", + "json:build/cucumber-report/cucumber.json", + "html:build/cucumber-report/cucumber.html", + "junit:build/cucumber-report/cucumber.xml"}, + strict = true, + monochrome = true + ) +) + +public class RegressionTestSuite { +} diff --git a/src/test/java/api/test/core/BaseStepDefinitions.java b/src/test/java/api/test/core/BaseStepDefinitions.java new file mode 100644 index 0000000000000000000000000000000000000000..bb0430465a15e5861b6833844ef67e39ef51c9b3 --- /dev/null +++ b/src/test/java/api/test/core/BaseStepDefinitions.java @@ -0,0 +1,104 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package api.test.core; + +import com.fasterxml.jackson.databind.JsonNode; +import com.github.fge.jackson.JsonLoader; +import com.github.fge.jsonschema.core.exceptions.ProcessingException; +import com.github.fge.jsonschema.core.report.ProcessingReport; +import com.github.fge.jsonschema.main.JsonSchema; +import com.github.fge.jsonschema.main.JsonSchemaFactory; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; + +import core.*; +import exceptions.*; +import io.restassured.RestAssured; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.IOException; +import java.util.Map; + +public class BaseStepDefinitions { + private static final Logger logger = LogManager.getLogger(BaseStepDefinitions.class.getSimpleName()); + private DataContainer dataContainer; + + public BaseStepDefinitions(DataContainer dataContainer) { + this.dataContainer = dataContainer; + } + + public BaseStepDefinitions() { + } + + protected static Response getLastResponse() { + return ResponseContainer.getInstance().getLastResponse(); + } + + protected static Request getLastRequest() { + return RequestContainer.getInstance().getLastRequest(); + } + + public static void setProxy(String proxyUrl, int port) { + RestAssured.proxy(proxyUrl, port); + } + + public DataContainer getDataContainer() { + return dataContainer; + } + + protected void addResponse(Response response) { + ResponseContainer.getInstance().addResponse(response); + } + + protected void addRequest(Request request) { + RequestContainer.getInstance().addRequest(request); + } + + public void validateJsonSchema(String jsonToValidate, String jsonSchema) throws IOException, ProcessingException { + JsonNode schemaNode = JsonLoader.fromString(jsonSchema); + JsonNode dataNode = JsonLoader.fromString(jsonToValidate); + + JsonSchemaFactory factory = JsonSchemaFactory.byDefault(); + JsonSchema schema = factory.getJsonSchema(schemaNode); + ProcessingReport report = schema.validate(dataNode); + + //throw exception if validation fails. This way it will appear in the Cucumber report + if (!report.isSuccess()) { + throw new RAFException("JSON schema validation failed:\n" + report.toString(), BaseStepDefinitions.class); + } + } + + /** + * Loads data provided as input into a Map of type String, String and returns the Map. + * <br/> IMPORTANT: This method only supports JSON input consisting of only primitive types (string, boolean, number). + * Objects and arrays are not supported. If there is such in the JSON, exception will be thrown. + * @param json The JSON which will be converted to Map. Should be simple key:value pairs, so it can be transferred/converted + * to String, String; + * @return The generated Map object. + * @throws IOException + */ + protected Map<String, String> loadMapFromJson(String json) throws IOException { + Gson gson = new GsonBuilder().disableHtmlEscaping().serializeNulls().create(); + return gson.fromJson(json, + new TypeToken<Map<String, String>>() { + }.getType() + ); + } +} diff --git a/src/test/java/api/test/core/GeneralStepDefinitions.java b/src/test/java/api/test/core/GeneralStepDefinitions.java new file mode 100644 index 0000000000000000000000000000000000000000..da7fb70f5db1605b38dc2cebf0530f4a34f9307a --- /dev/null +++ b/src/test/java/api/test/core/GeneralStepDefinitions.java @@ -0,0 +1,1458 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package api.test.core; + +import api.test.rest.RestSessionContainer; +import com.google.gson.*; +import com.jayway.jsonpath.*; +import com.jayway.jsonpath.Configuration; +import core.*; +import cucumber.api.Scenario; +import cucumber.api.java.After; +import cucumber.api.java.Before; +import cucumber.api.java.en.*; +import exceptions.RAFException; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.junit.Assert; +import utils.RAFRandomize; +import java.io.IOException; +import java.text.NumberFormat; +import java.text.ParseException; +import java.util.*; +import java.util.List; + +import static org.junit.Assert.*; + +public class GeneralStepDefinitions extends BaseStepDefinitions { + private static final Logger logger = LogManager.getLogger(GeneralStepDefinitions.class.getSimpleName()); + private static String lastRandomizedValue; + Request currentRequest; + RestSessionContainer restSessionContainer; + private Scenario scenario; + + + public GeneralStepDefinitions(Request currentRequest, DataContainer dataContainer, RestSessionContainer restSessionContainer) { + super(dataContainer); + this.currentRequest = currentRequest; + this.restSessionContainer = restSessionContainer; + } + + /** + * Returns true/false depending on what "result" is contained in the last response. + * E.g.: + * <br/> { + * <br/> "result": false, + * <br/> "error_code": "1011", + * <br/> "security_parameters": {} + * <br/> } + * + * @return The value of the "result" node if found inside last response. FALSE otherwise. + */ + @And("^I get last result$") + public static boolean getLastResult() throws Throwable { + + boolean bResult; + String responseBody = getLastResponse().getBody(); + Object result = JsonPath.read(responseBody, "$..result"); + + if ((result instanceof List)) { + List lResult = (List) result; + int size = lResult.size(); + if (size != 0) { + + if (size > 1) { + throw new Throwable("Response has more than 1 'result' nodes: " + size); + } + + bResult = Boolean.parseBoolean(lResult.get(0).toString()); + return bResult; + } + } + + bResult = Boolean.parseBoolean(result.toString()); + + return bResult; + } + + public static String getLastRandomizedValue() { + System.out.println("Getting lastRandomizedValue = " + lastRandomizedValue); + return lastRandomizedValue; + } + + public static void setLastRandomizedValue(String value) { + lastRandomizedValue = value; + logger.debug("lastRandomizedValue= {}", lastRandomizedValue); + } + + @Before + public void beforeScenario(Scenario scenario) throws Throwable { + this.scenario = scenario; + logger.info("-------------------------------------------=================== * ===================-------------------------------------------" + + "\nScenario START: {}", scenario.getName()); + } + + @After + public void afterScenario() throws Throwable { + if (scenario.getStatus().equals("failed")) { + + scenario.write("Printing last request and response:"); + + if (getLastRequest() != null) + scenario.write(getLastRequest().toString()); + + if (getLastResponse() != null) + scenario.write(getLastResponse().toString()); + + } + logger.info("Scenario END. Status: [{}]" + + "\n-------------------------------------------=================== * ===================-------------------------------------------", scenario.getStatus()); + } + + + @Then("^the status code should be \\{(\\d+)\\}$") + public void the_status_code_should_be(int statusCode) throws Throwable { + assertEquals(statusCode, getLastResponse().getStatusCode()); + } + + @Then("^the http status code of the last response is not \\{(\\d+)\\}$") + public void the_status_code_is_not(int unexpectedStatusCode) throws Throwable { + int actualHttpStatusCode = getLastResponse().getStatusCode(); + assertNotEquals(unexpectedStatusCode, actualHttpStatusCode); + } + + @Then("^the error message should be \\{(.*)\\}$") + public void the_error_message_should_be(String arg1) throws Throwable { + Object jsonValue = JsonUtils.getValueOfKeyFromJson("error_description", getLastResponse().getBody()); + assertEquals(arg1, jsonValue.toString()); + } + + @Given("^I load the request from json \\{(.*)\\}$") + public void I_load_the_request_from_json(String jsonName) throws Throwable { + currentRequest.setBody(JsonUtils.loadJson(jsonName)); + } + + /** + * Modifies the current request by adding the values from the table. + * If the current request is empty, then sets the values from the table as the current request. + * <br/> Values are of type JSON <b>string</b> + * + * @param table The key value pairs from the feature file + * @throws Throwable + */ + @Given("^I set the request fields$") + public void I_set_the_request_fields(Map<String, String> table) throws Throwable { + Gson gson = new Gson(); + if (currentRequest.getBody().equals("")) { + currentRequest.setBody(gson.toJson(table)); + } else { + JsonElement jsonElement = gson.fromJson(currentRequest.getBody(), JsonElement.class); + logger.debug("I_set_the_request_fields - currentRequest.getBody()= {}", currentRequest.getBody()); + JsonObject jsonObject = jsonElement.getAsJsonObject(); + for (Map.Entry<String, String> entry : table.entrySet()) + jsonObject.addProperty(entry.getKey(), entry.getValue()); + currentRequest.setBody(gson.toJson(jsonObject)); + logger.debug("I_set_the_request_fields - NEW currentRequest.getBody()= {}", currentRequest.getBody()); + } + } + + /** + * Modifies the current request by adding the values from the table. + * If the current request is empty, then sets the values from the table as the current request. + * + * @param table The key value pairs from the feature file + * @param primitiveType the primitive type of the JSON property + * @throws Throwable + */ + @Given("^I set the request fields with type (boolean|number)$") + public void I_set_the_request_fields(String primitiveType, Map<String, String> table) throws Throwable { + Gson gson = new Gson(); + JsonElement jsonElement = gson.fromJson(currentRequest.getBody(), JsonElement.class); + // only try to load body as JsonObject if it is not null. + JsonObject jsonObject = new JsonObject(); + if (jsonElement != null) jsonObject = jsonElement.getAsJsonObject(); + + logger.debug("I set the request fields with type (boolean|number) - currentRequest.getBody()= {}", currentRequest.getBody()); + + for (Map.Entry<String, String> entry : table.entrySet()) { + JsonPrimitive element; + if (primitiveType.equals("number")) { // add as Number + Number entryAsNumber = NumberFormat.getInstance().parse(entry.getValue()); + element = new JsonPrimitive(entryAsNumber); + jsonObject.add(entry.getKey(), element); + } else if (primitiveType.equals("boolean")) { // add as Boolean + Boolean entryAsBoolean = Boolean.parseBoolean(entry.getValue()); + element = new JsonPrimitive(entryAsBoolean); + jsonObject.add(entry.getKey(), element); + } else { // add as String + jsonObject.addProperty(entry.getKey(), entry.getValue()); + } + + } + + currentRequest.setBody(gson.toJson(jsonObject)); + logger.debug("I set the request fields with type (boolean|number) - NEW currentRequest.getBody()= {}", currentRequest.getBody()); + + } + + @And("I load object with key \\{(.*?)\\} from DataContainer into currentRequest Body with key \\{(.*?)\\}$") + public void load_object_with_key_from_DataContainer_into_currentRequest_Body_param(String keyDataContainer, + String keyRequestParam) throws Throwable { + Map<String, String> fields = new HashMap<>(); + fields.put(keyRequestParam, String.valueOf(getDataContainer().getObject(keyDataContainer))); + + I_set_the_request_fields(fields); + + } + + @And("I load object with key \\{(.*?)\\} from DataContainer into currentRequest HEADER \\{(.*?)\\}$") + public void load_object_with_key_from_DataContainer_into_currentRequest_Header__(String keyDataContainer, String headerName) throws Throwable { + currentRequest.getHeaders().put(headerName, (String) getDataContainer().getObject(keyDataContainer)); + + } + + @And("I load object with key \\{(.*?)\\} from DataContainer into currentRequest as Request Param with key \\{(.*?)\\}$") + public void load_object_with_key_from_DataContainer_into_currentRequest_as_RequestParam(String keyDataContainer, + String keyRequestParam) throws Throwable { + currentRequest.getParams().put(keyRequestParam, getDataContainer().getObject(keyDataContainer)); + } + + /** + * Removes a List of key/value pair(s) from request Body{} + * + * @param cucumberTable List of Keys we want to remove from request body + * e.g. |password| + * |username| + */ + @Given("^I remove the following Keys from current request Body:$") + public void i_remove_the_following_keys_from_current_request_Body(List<String> cucumberTable) throws IOException { + cucumberTable.stream().forEach(field -> { + try { + currentRequest.setBody(JsonUtils.removeKeyFromJson(field, currentRequest.getBody())); + } catch (IOException e) { + e.printStackTrace(); + } + }); + + } + + /** + * Removes a List of key/value pair(s) from request Parameters list. + * + * @param cucumberTable List of Keys we want to remove from the list of request parameters + * @throws IOException + */ + @Given("^I remove the following Parameters from current request:$") + public void i_remove_the_following_parameters_from_current_request(List<String> cucumberTable) throws IOException { + cucumberTable.stream().forEach(field -> currentRequest.getParams().remove(field)); + + } + + @And("^the response body is empty$") + public void the_response_body_is_empty() throws Throwable { + assertTrue(getLastResponse().getBody().equals("")); + } + + @Then("^the response body contains \\{(.*?)\\}$") + public void the_response_body_contains(String value) throws Throwable { + assertTrue(getLastResponse().getBody().contains(value)); + } + + /** + * Adds the supplied cucumber table to the parameter map used for url encoded requests + * Clears the map before + * + * @param paramsTable the cucumber table + * @throws Throwable + */ + @Given("^I set the parameters$") + public void I_set_the_parameters(Map<String, String> paramsTable) throws Throwable { + currentRequest.setBody(""); + currentRequest.getParams().putAll(paramsTable); + } + + /** + * Adds the supplied cucumber table to the headers map + * + * @param headersTable the cucumber table + * @throws Throwable + */ + @And("^I set the headers$") + public void I_set_the_headers(Map<String, String> headersTable) throws Throwable { + currentRequest.getHeaders().putAll(headersTable); +// System.out.println(currentRequest.getHeaders()); + } + + /** + * Clears the headers map + * + * @throws Throwable + */ + @And("^I clear ALL headers$") + public void I_clear_the_headers() throws Throwable { + logger.info("Clearing headers of the current request."); + currentRequest.getHeaders().clear(); + logger.debug("Headers after clearing: {}", currentRequest.getHeaders()); + } + + /** + * Sets the version used for subsequent requests + * + * @param version the version that will be set + * @throws Throwable + */ + @And("^I set the version to \\{(.*?)\\}$") + public void I_set_the_version_to_v_(String version) throws Throwable { + currentRequest.setVersion(version); + } + + /** + * Adds the provided Cucumber table to the url params map that will be used in a subsequent request + * + * @param table the table passed from the cucumber feature file + * @throws Throwable + */ + @And("^I set the query parameters$") + public void I_set_the_query_parameters(Map<String, String> table) throws Throwable { + currentRequest.getQueryParams().putAll(table); + } + + /** + * Sets the content type for the subsequent request. + * The dafault type is application/json. + * + * @param contentType content type that will be set + * @throws Throwable + */ + @And("^I set content type to \\{(.*?)\\}$") + public void I_set_content_type_to_(String contentType) throws Throwable { + currentRequest.setContentType(contentType); + } + + /** + * Sets the default parameters, loading them from the Json file provided + * + * @param jsonName the name of the JSON file found in /main/resources/ + * @throws Throwable + */ + @And("^I load the default parameters from \\{(.*?)\\} profile \\{(.*?)\\}$") + public void the_default_parameters__from_profile(String jsonName, String profileName) throws Throwable { + currentRequest.getParams().clear(); + currentRequest.getParams().putAll(JsonUtils.loadMapFromResource(jsonName, profileName)); + } + + @And("^I set a new request with parameters") + public void I_set_a_new_request_with_parameters(Map<String, String> cucumberTable) throws Throwable { + clearRequest(); + I_set_the_parameters(cucumberTable); + } + + private void clearRequest() { + currentRequest.setBody(""); + currentRequest.getParams().clear(); + } + + @And("^the response \\{(.*?)\\} header value is equal to \\{(.*?)\\}$") + public void theResponseHeaderXvalueIsEqualToY(String headerName, String expectedHeaderValue) throws Throwable { + assertEquals("Header [" + headerName + "] value doesn't equal expected value: ", expectedHeaderValue, getLastResponse().getHeaders().get(headerName)); + } + + + @And("^the response \\{(.*?)\\} header contains the text \\{(.*?)\\}$") + public void theResponseHeaderXcontainsTextY(String headerName, String expectedText) throws Throwable { + String headerValue = getLastResponse().getHeaders().get(headerName); + assertTrue("Header [" + headerName + "] = " + headerValue + " doesn't contain the expected text: [" + expectedText + "]", headerValue.contains(expectedText)); + } + + /** + * Asserts given Header <b>IS</b> present in the last Response. + * + * @param headerName Name of header to check. + * @throws Throwable + */ + @And("^the header \\{(.*?)\\} is present in the response$") + public void the_header_is_present_in_response(String headerName) throws Throwable { + assertTrue("Header \"" + headerName + "\" is not present in the response! ", (getLastResponse().getHeaders().get(headerName) != null)); + } + + /** + * Asserts given Header is <b>NOT</b> Present in the last Response. + * + * @param headerName Name of header to check. + * @throws Throwable + */ + @And("^the header \\{(.*?)\\} is NOT present in the response$") + public void the_header_is_not_present_in_response(String headerName) throws Throwable { + assertTrue("Header \"" + headerName + "\" is present in the response! ", (getLastResponse().getHeaders().get(headerName) == null)); + } + + @And("^I delete the headers$") + public void I_delete_the_headers(List<String> headerList) throws Throwable { + for (String header : headerList) + currentRequest.getHeaders().remove(header); + } + + @And("^I set a random string to the field \\{(.*?)\\}$") + public void I_set_a_random_string_to_the_field_(String fieldName) throws Throwable { + String random = RandomStringUtils.random(12, true, true); + JsonElement jsonElement = new Gson().fromJson(currentRequest.getBody(), JsonElement.class); + JsonObject jsonObject = jsonElement.getAsJsonObject(); + jsonObject.addProperty(fieldName, random); + currentRequest.setBody(new Gson().toJson(jsonObject)); + } + + /** + * Setting random value to a key for a specific object that you can locate with JsonPath from the currentRequest + * @param fieldName the key for which you will insert random value + * @param jsonPath the jsonPath of the object you want to edit + * @throws Throwable + */ + @And("^I set a random string to the key \\{(.*?)\\} inside object \\{(.*?)\\} with jsonPath \\{(.*?)\\}$") + public void ISetARandomStringToTheKeyInsideObjectWithJsonPath(String fieldName,String object,String jsonPath) throws Throwable { + String random = (RandomStringUtils.random(12, true, true) + "@example.com"); + + JsonElement jsonElement = new Gson().fromJson(currentRequest.getBody(), JsonElement.class); + JsonObject jsonObject = jsonElement.getAsJsonObject(); + String requestBody = currentRequest.getBody(); + + Map<String, String> result = JsonPath.read(requestBody, jsonPath); + result.put(fieldName, random); + + JsonElement newElement = new Gson().fromJson(result.toString(), JsonElement.class); + jsonObject.add(object, newElement); + + currentRequest.setBody(new Gson().toJson(jsonObject)); + } + + @And("^I clear the request body$") + public void I_clear_the_request_body() throws Throwable { + currentRequest.setBody(""); + } + + @And("^I clear the request parameters$") + public void I_clear_the_request_parameters() throws Throwable { + currentRequest.getParams().clear(); + } + + // DataContainer methods START: + @And("I store key \\{(.*?)\\} with value \\{(.*?)\\} in the data container$") + public void store_key_with_value_in_dataContainer(String key, String value) { + + getDataContainer().addObject(key, value); + + } + + @And("^I store last randomized value in DataContainer with key \\{(.*?)\\}$") + public void iStoreLastRandomizedValueInDataContainerWithKey(String key) throws Throwable { + if (getDataContainer() != null) { + if (lastRandomizedValue != null) { + getDataContainer().addObject(key, getLastRandomizedValue()); + } else { + System.out.println("lastRandomizedValue = null : " + getLastRandomizedValue()); + throw new RAFException("lastRandomizedValue is null", GeneralStepDefinitions.class); + } + } else { + System.out.println("---------- DataContainer is NULL -----------"); + throw new RAFException("DataContainer is null", GeneralStepDefinitions.class); + } + } + + /** + * Gets a given value, described by jsonPath, from the last response + * and stores it DataContainer with the given key. + * + * @param jsonPath JsonPath which is used to identify the element/node inside the response. For example: <i>$.error.id</i> + * @param key the key which will be used to store the value inside the Data Container. + * @throws Throwable + */ + @And("^I get the value of \\{(.*?)\\} from the last response and store it in the DataContainer with key \\{(.*?)\\}$") + public void iGetTheValueOfFromTheLastResponseAndStoreItInTheDataContainerWithKey(String jsonPath, String key) throws Throwable { + + String responseBody = getLastResponse().getBody(); + Object result = JsonPath.read(responseBody, jsonPath); + + getDataContainer().addObject(key, result); + System.out.println("Element's value [" + result + "] identified by jsonPath = [" + jsonPath + "], stored " + + "in DataContainer with key = [" + key + "]"); + + } + + @And("^I get the value of \\{(.*?)\\} from the (last|current) Request Body and store it in the DataContainer with key \\{(.*?)\\}$") + public void iGetTheValueOf__RequestAndStoreItInTheDataContainerWithKey(String jsonPath, String lastORcurrent, String key) throws Throwable { + + String requestBody; + if (lastORcurrent.equals("last")) { + requestBody = getLastRequest().getBody(); + } else { + requestBody = currentRequest.getBody(); + } + + Object result = JsonPath.read(requestBody, jsonPath); + + getDataContainer().addObject(key, result); + logger.debug("Element's value [{}] in the {} Request Body identified by jsonPath = [{}] was stored " + + "in DataContainer with key = [{}]", result, lastORcurrent, jsonPath, key); + + } + + @And("^I get the value of the \\{(.*?)\\} HEADER from the (last|current) (request|response) and store it in DataContainer using key \\{(.*?)\\}$") + public void iGetTheValueOfThe__HeaderFromThe___AndStoreItInDataContainerUsingKey(String header, String lastORcurrent, String requestORresponse, String key) throws Throwable { + Map<String, String> headers; + + if (requestORresponse.equals("request")) { // request: + if (lastORcurrent.equals("last")) { + headers = getLastRequest().getHeaders(); + } else { + headers = currentRequest.getHeaders(); + } + } else { // response: + headers = getLastResponse().getHeaders(); + } + + if (!headers.containsKey(header)) { + throw new NoSuchFieldError(String.format("[%s] HEADER is not present in the %s %s!", header, lastORcurrent, requestORresponse)); + } + + String result = headers.get(header); + getDataContainer().addObject(key, result); + + System.out.println("The value " + getDataContainer().getObject(key) + " of the " + header + " header from the " + lastORcurrent + " " + requestORresponse + " was stored in the DataContainer with key '" + key + "'"); + + logger.debug("The value [{}] of the [{}] header from the {} {} was stored in the DataContainer with key '{}'", + getDataContainer().getObject(key), header, lastORcurrent, requestORresponse, key); + + } + + /** + * Gets the value of object in DataContainer identified by key, converts it into LOWERCASE|UPPERCASE and stores the new value into + * new object with key <b>[oldKey]_lowercase</b> or <b>[oldKey]_uppercase</b> depending on the chosen option. + * + * @param key The key of the original object. + * @throws Throwable + */ + @And("^I convert the value of object stored in DataContainer with key \\{(.*?)\\} into (lowercase|uppercase)$") + public void iConvertTheValueOfObjectInDataContainer__IntoLowercase(String key, String option) throws Throwable { + + String value = (String) getObjectFromDataContainer(key); + if (option.equals("lowercase")) { + getDataContainer().addObject(key + "_lowercase", value.toLowerCase()); + + } else if (option.equals("uppercase")) { + getDataContainer().addObject(key + "_uppercase", value.toUpperCase()); + + } else { + logger.info("Unrecognized option '{}'. Skipping action.", option); + return; + } + + logger.debug("Value [{}] of object in DataContainer with key [{}] was converted to {}: [{}]", value, key, option, getObjectFromDataContainer(key + "_" + option)); + logger.debug("the new value is stored with key [{}]", key + "_" + option); + + } + + private Object getObjectFromDataContainer(String key) { + + return getDataContainer().getObject(key); + } + +// DataContainer methods END + + + @And("^I send the current request as (POST|GET|PUT|DELETE|HEAD) to endpoint \\{(.*?)\\}$") + public void I_send_the_current_request_to_endpoint(String method, String endpoint) throws Throwable { + currentRequest.setPath(endpoint); + + if (method.equals("POST")) { + Response response = RestClient.post(currentRequest); + addRequest(currentRequest); + addResponse(response); + } else if (method.equals("GET")) { + Response response = RestClient.get(currentRequest); + addRequest(currentRequest); + addResponse(response); + } else if (method.equals("PUT")) { + Response response = RestClient.put(currentRequest); + addRequest(currentRequest); + addResponse(response); + } else if (method.equals("DELETE")) { + Response response = RestClient.delete(currentRequest); + addRequest(currentRequest); + addResponse(response); + } else if (method.equals("HEAD")) { + Response response = RestClient.head(currentRequest); + addRequest(currentRequest); + addResponse(response); + } + } + + @When("^I send the current request as GET to endpoint \\{(.*?)\\}$") + public void iSendTheCurrentRequestAsGETToEndpoint(String endpoint) throws Throwable { + currentRequest.setPath(endpoint); + Response response = RestClient.get(currentRequest); + + addRequest(currentRequest); + addResponse(response); + } + + /** + * Compares the values of a json array with the supplied cucumber table + * + * @param jsonPath the jsonPath for the array + * @param values the cucumber table + * @throws Throwable + * @see <a href="https://github.com/jayway/JsonPath">https://github.com/jayway/JsonPath</a> + */ + @And("^the field \\{(.*?)\\} has the values$") + public void the_field__has_the_values_(String jsonPath, List<String> values) throws Throwable { + String responseBody = getLastResponse().getBody(); + List<Object> results = JsonPath.read(responseBody, jsonPath); + + assertEquals(values, results); + } + + /** + * Compares the values of a json object with the supplied cucumber table (a map) + * + * @param jsonPath the jsonPath for the object + * @param values the cucumber table with 2 columns + * @throws Throwable + * @see <a href="https://github.com/jayway/JsonPath">https://github.com/jayway/JsonPath</a> + */ + @And("^the field \\{(.*?)\\} has the values from the map$") + public void the_field__has_the_values_from_the_map_(String jsonPath, Map<String, Object> values) throws Throwable { + String responseBody = getLastResponse().getBody(); + Map<String, Object> results = JsonPath.read(responseBody, jsonPath); + + assertEquals(values.entrySet(), results.entrySet()); + } + + /** + * Checks if expected entries are part of the actual map being checked. + * (actual map contains expected) + * + * @param jsonPath the jsonPath pointing to the actual JSON object containing map (key/value pairs) + * @param expectedEntries the cucumber table with 2 columns providing the expected entries + * @throws Throwable + * @see <a href="https://github.com/jayway/JsonPath">https://github.com/jayway/JsonPath</a> + */ + @And("^the field \\{(.*?)\\} contains the values from the map:$") + public void the_field__contains_the_values_from_the_map_(String jsonPath, Map<String, Object> expectedEntries) throws Throwable { + String responseBody = getLastResponse().getBody(); + Map<String, Object> actualEntries = JsonPath.read(responseBody, jsonPath); + + assertTrue("Actual map doesn't contain expected entries. Actual map=[" + actualEntries + "]. Expected entries=[" + expectedEntries + "]", + actualEntries.entrySet().containsAll(expectedEntries.entrySet())); + } + + /** + * Compare the expectedValues of json Array with the supplied cucumber table (a map) + * + * @param jsonPath the jsonPath for the array. If this value contains the text <b>skip_validation</b> the validation will be skipped + * @param expectedValues the cucumber table with 2 columns + * @throws Throwable + * @see <a href="https://github.com/jayway/JsonPath">https://github.com/jayway/JsonPath</a> + */ + @Then("^the array \\{(.*?)\\} has the values from the map$") + public void the_array_has_the_values_from_the_map(String jsonPath, Map<String, Object> expectedValues) throws Throwable { + + if (jsonPath.contains("skip_validation")) { + logger.info("Special text `skip_validation` found in jsonPath param. Step will be skipped"); + return; + } + + String responseBody = getLastResponse().getBody(); + ArrayList<Object> results = JsonPath.read(responseBody, jsonPath); + + logger.info("Starting validation if Expected values: {}\nare contained inside the Actual response:{}", expectedValues, results); + assertTrue("The Array " + results + " doesn't contains the expected values provided: " + expectedValues, results.contains(expectedValues)); + logger.debug("Success - expected values are contained withing the response!"); + } + + /** + * Compares a single value from a json with the supplied expectedResultAsString + * Finding the value pointed by the jsonPath and converting it to String first, + * before compare it with the expectedResultAsString. + * + * @param jsonPath the jsonPath pointing to the actual value to be compared within the body fo the LastResponse + * @param expectedResultAsString the expectedResultAsString to be compared to + * @throws Throwable + * @see <a href="https://github.com/jayway/JsonPath">https://github.com/jayway/JsonPath</a> + */ + @And("^the field \\{(.*?)\\} contains the value \\{(.*?)\\}$") + public void the_field_contains_the_value_(String jsonPath, String expectedResultAsString) throws Throwable { + + Configuration conf = Configuration.builder().options(Option.SUPPRESS_EXCEPTIONS).build(); + ReadContext responseContext = JsonPath.using(conf).parse(getLastResponse().getBody()); + + Object parsedResult = responseContext.read(jsonPath); + String actualResultAsString = String.valueOf(parsedResult); + + assertTrue("Asserting that the ActualResult contains the ExpectedResult: ",actualResultAsString.contains(expectedResultAsString)); + logger.debug("Success: the given expected value [{}], matches the actual value [{}] pointed by jsonPath '{}' ", expectedResultAsString, actualResultAsString, jsonPath); + } + + + /** + * Compares a single value from a json with the supplied expectedResultAsString + * Finding the value pointed by the jsonPath and converting it to String first, + * before compare it with the expectedResultAsString. + * + * @param jsonPath the jsonPath pointing to the actual value to be compared within the body fo the LastResponse + * @param expectedResultAsString the expectedResultAsString to be compared to + * @throws Throwable + * @see <a href="https://github.com/jayway/JsonPath">https://github.com/jayway/JsonPath</a> + */ + @And("^the field \\{(.*?)\\} has the value \\{(.*?)\\}$") + public void the_field_has_the_value_(String jsonPath, String expectedResultAsString) throws Throwable { + + Configuration conf = Configuration.builder().options(Option.SUPPRESS_EXCEPTIONS).build(); + ReadContext responseContext = JsonPath.using(conf).parse(getLastResponse().getBody()); + + Object parsedResult = responseContext.read(jsonPath); + String actualResultAsString = String.valueOf(parsedResult); + + assertEquals("Expected doesn't match actual: ", expectedResultAsString, actualResultAsString); + logger.debug("Success: the given expected value [{}], matches the actual value [{}] pointed by jsonPath '{}' ", expectedResultAsString, actualResultAsString, jsonPath); + } + + /** + * Asserts that the expected field is present and its not null + * + * @param jsonPath the jsonPath pointing to the tested field + * @throws Throwable + * @see <a href="https://github.com/jayway/JsonPath">https://github.com/jayway/JsonPath</a> + */ + @And("^the field \\{(.*?)\\} is present and not empty$") + public void the_field_is_present_and_not_empty(String jsonPath) throws Throwable { + + Configuration conf = Configuration.builder().options(Option.SUPPRESS_EXCEPTIONS).build(); + ReadContext responseContext = JsonPath.using(conf).parse(getLastResponse().getBody()); + + Object parsedResult = responseContext.read(jsonPath); + String actualResultAsString = String.valueOf(parsedResult); + + assertNotNull("'Expected' in response is null", actualResultAsString); + assertFalse("'Expected' in response is empty", actualResultAsString.isEmpty()); + } + + /** + * Asserts that the given field is <b>NOT</b> present in the last response JSON body. + * + * @param jsonPath the jsonPath pointing to the given field + * @throws Throwable + * @see <a href="https://github.com/jayway/JsonPath">https://github.com/jayway/JsonPath</a> + */ + @And("^the field \\{(.*?)\\} is NOT present in the last response$") + public void the_field_is_NOT_present(String jsonPath) throws Throwable { + logger.info("Asserting that node {} is not present in last response JSON body...", jsonPath); + + Configuration conf = Configuration.builder().options(Option.SUPPRESS_EXCEPTIONS).build(); + ReadContext responseContext = JsonPath.using(conf).parse(getLastResponse().getBody()); + + assertNull("Field is present when we expect not to be!", responseContext.read(jsonPath)); + logger.info("Success!"); + } + + /** + * Compares a single value from a json with the supplied expectedResultAsString that its not contained. + * Finding the value pointed by the jsonPath and converting it to String first, + * before compare it with the expectedResultAsString. + * + * @param jsonPath the jsonPath pointing to the actual value to be compared within the body fo the LastResponse + * @param expectedResultAsString the expectedResultAsString to be compared to + * @throws Throwable + * @see <a href="https://github.com/jayway/JsonPath">https://github.com/jayway/JsonPath</a> + */ + @And("^the field \\{(.*?)\\} is not containing the value \\{(.*?)\\}$") + public void the_field_is_not_containing_the_value_(String jsonPath, String expectedResultAsString) throws Throwable { + + Configuration conf = Configuration.builder().options(Option.SUPPRESS_EXCEPTIONS).build(); + ReadContext responseContext = JsonPath.using(conf).parse(getLastResponse().getBody()); + + Object parsedResult = responseContext.read(jsonPath); + + String actualResultAsString = String.valueOf(parsedResult); + + assertTrue("The Response field contains the provided value: ", !actualResultAsString.contains(expectedResultAsString)); + + } + + @And("^the field \\{(.*?)\\} is not equal to the value \\{(.*?)\\}$") + public void the_field_is_not_equal_to_the_value_(String jsonPath, String expectedResultAsString) throws Throwable { + + Configuration conf = Configuration.builder().options(Option.SUPPRESS_EXCEPTIONS).build(); + ReadContext responseContext = JsonPath.using(conf).parse(getLastResponse().getBody()); + + Object parsedResult = responseContext.read(jsonPath); + + String actualResultAsString = String.valueOf(parsedResult); + + assertNotEquals("The Response field equals the provided value: ", actualResultAsString, expectedResultAsString); + } + + @And("^the field \\{(.*?)\\} has the value stored in DataContainer with key \\{(.*?)\\}$") + public void theFieldHasTheValueStoredInDataContainerWithKey(String jsonPath, String dataContainerKey) throws Throwable { + the_field_has_the_value_(jsonPath, String.valueOf(getObjectFromDataContainer(dataContainerKey))); + } + + @And("^the field \\{(.*?)\\} is containing the value stored in DataContainer with key \\{(.*?)\\}$") + public void theFieldIsContainingTheValueStoredInDataContainerWithKey(String jsonPath, String dataContainerKey) throws Throwable { + the_field_value_should_contain_the_text(jsonPath, String.valueOf(getObjectFromDataContainer(dataContainerKey))); + } + + @And("^the field \\{(.*?)\\} is not containing the value stored in DataContainer with key \\{(.*?)\\}$") + public void theFieldIsntContainingTheValueStoredInDataContainerWithKey(String jsonPath, String dataContainerKey) throws Throwable { + the_field_is_not_containing_the_value_(jsonPath, String.valueOf(getObjectFromDataContainer(dataContainerKey))); + } + + @And("^the array \\{(.*?)\\} contains the value stored in DataContainer with key \\{(.*?)\\}$") + public void theArrayContainsTheValueStoredInDataContainerWithKey(String jsonPath, String dataContainerKey) throws Throwable { + the_field_value_should_contain_the_text(jsonPath, String.valueOf(getObjectFromDataContainer(dataContainerKey))); + } + + + /** + * Check if expectedText is CONTAINED within the value of the JSON node located by jsonPath + * ! doesn't assert they are equal ! + * + * @param jsonPath @see <a href="https://github.com/jayway/JsonPath">https://github.com/jayway/JsonPath</a> + * @param expectedText The text asserted to be contained within the node value. + * @throws Throwable + */ + @Then("^the value of field \\{(.*)\\} should contain the text \\{(.*)\\}$") + public void the_field_value_should_contain_the_text(String jsonPath, String expectedText) throws Throwable { + logger.debug("jsonPath = [{}]", jsonPath); + + String responseBody = getLastResponse().getBody(); + Object result = JsonPath.read(responseBody, jsonPath); + + if (result == null) + result = "null"; + else + result = result.toString(); + + logger.debug("result= {} ; expectedText= {}", result, expectedText); + assertTrue("The expected text: <" + expectedText + "> is not contained within the field [" + jsonPath + "]'s value: <" + result + ">", + result.toString().contains(expectedText)); + } + + /** + * Compare if number of items inside an JSON Array element pointed by a jsonPath, match the expected. + * + * @param jsonPath jsonPath which identifies the array element inside the JSON body of the last response. + * @param expectedNumberOfElements Expected number of items inside the array. + * @throws Throwable + */ + @And("^the field \\{(.*?)\\} contains \\{(\\d+)\\} (?:element|elements)$") + public void the_field_contains_elements(String jsonPath, int expectedNumberOfElements) throws Throwable { + String responseBody = getLastResponse().getBody(); + ArrayList<Object> list = JsonPath.read(responseBody, jsonPath); + int actualNumberOfElements = list.size(); + System.out.println("jsonPath = [" + jsonPath + "], \n" + + "value = [" + list.toString() + "], \n" + + "Expected number of elements = [" + expectedNumberOfElements + "] \n" + + "Actual number of elements = [" + actualNumberOfElements + "]"); + + assertEquals("Number of elements doesn't match expected", expectedNumberOfElements, actualNumberOfElements); + + } + + @And("^Verify the response value with the value in the datacontainer$") + public void Verify_the_response_value_with_the_value_in_the_datacontainer(Map<String, String> cucumberTable) throws Throwable { + + for (String key : cucumberTable.keySet()) { + + the_field_has_the_value_(key, String.valueOf(getObjectFromDataContainer(cucumberTable.get(key)))); + } + } + + @And("^the Location header URL is OK$") + public void theLocationHeaderURLIsOK() throws Throwable { + + if (!getLastResponse().getHeaders().containsKey("Location")) { + throw new NoSuchFieldError("Location HEADER is not present in the last response!"); + } + + String locationHeaderValue = getLastResponse().getHeaders().get("Location"); + + assertTrue("Location header values is not 'OK' : [" + locationHeaderValue + "]", locationHeaderValue.substring(locationHeaderValue.length() - 3).contains("ok")); + + } + + /** + * Request Body + */ + @And("^I set random value with format \\{(.*?)\\} to field \\{(.*?)\\} inside Request Body$") + public void setRandomValueFieldInsideRequestBody(String inputString, String key) throws Throwable { + logger.debug("Setting random value with format: [{}] to field:[{}] in request body(JSON)", inputString, key); + + if (key.equals("")) {// if key is empty string, skip addition + logger.debug("Empty key. Skipping step..."); + } else { + + String value = RAFRandomize.retainSpecialCharsAndRandomizeAlphanumeric(inputString); + setLastRandomizedValue(value); + + Map<String, String> map = new HashMap<>(); + map.put(key, value); + I_set_the_request_fields(map); + } + } + + /** + * Request Body + */ + @And("^I set random value with UUID format to field \\{(.*?)\\} inside Request Body$") + public void setRandomValueFieldInsideRequestBody(String key) throws Throwable { + String randomUuid = RAFRandomize.getUUID(); + logger.debug("Setting random value with format: [{}] to field:[{}] in request body(JSON)",randomUuid , key); + + if (key.equals("")) {// if key is empty string, skip addition + logger.debug("Empty key. Skipping step..."); + } else { + + setLastRandomizedValue(randomUuid); + + Map<String, String> map = new HashMap<>(); + map.put(key, randomUuid); + I_set_the_request_fields(map); + } + } + + + /** + * Request Param + */ + @And("^I set random value with format \\{(.*?)\\} to field \\{(.*?)\\} as Request Param$") + public void setRandomValueFieldAsRequestParam(String inputString, String key) throws Throwable { + + String value = RAFRandomize.retainSpecialCharsAndRandomizeAlphanumeric(inputString); + System.out.println("value = " + value); + + setLastRandomizedValue(value); + + currentRequest.getParams().put(key, value); + } + + /** + * Query param + */ + @And("^I set random value with format \\{(.*?)\\} to field \\{(.*?)\\} as Query Param$") + public void setRandomValueFieldAsQueryParam(String inputString, String key) throws Throwable { + + String value = RAFRandomize.retainSpecialCharsAndRandomizeAlphanumeric(inputString); + setLastRandomizedValue(value); + + currentRequest.getQueryParams().put(key, value); + } + + /** + * <b>Example usage:</b> + * <pre> + * And I set {3} random string elements in array {arrayOfStrings} to the current REST request body using formats as follows: + * |format1| + * |formatttt2| + * |formattttttt3| + * OR + * And I set {3} random number elements in array {arrayOfNumbers} to the current REST request body using formats as follows: + * |1.1| + * |1111| + * |222.33| + * </pre> + * <p> The above examples would produce <b>output</b> as follows:</p> + * <pre> + * { + * "arrayOfStrings": ["XlvEyi7", "cnNdgTnra1", "qJCYYyIysFgr7"], + * "arrayOfNumbers": [6.3, 7267, 959.15] + * } + * </pre> + * + * @param numberOfElements the number of elements to be added to the given array. + * @param primitiveType type of elements to be added - "string" or "number". + * @param propertyName property/node name for this array inside the JSON. + * @param formats List of formats (example strings, where alphanumeric chars are randomized, and special chars are retained) + * @throws ParseException + */ + @And("^I set \\{(\\d+)\\} random (string|number) elements in array \\{(.*?)\\} to the current REST request body using formats as follows:$") + public void iSetNumberOfRandomElementsInArrayCurrentRequestBodyUsingFormats(int numberOfElements, String primitiveType, String propertyName, List<String> formats) throws ParseException { + logger.debug("Generating array of {}s: '{}'", primitiveType, propertyName); + + Gson gson = new Gson(); + JsonArray jsonArray = new JsonArray(); + + JsonElement jsonElement = gson.fromJson(currentRequest.getBody(), JsonElement.class); + // only try to load body as JsonObject if it is not null. + JsonObject jsonObject = new JsonObject(); + if (jsonElement != null) jsonObject = jsonElement.getAsJsonObject(); + + for (int i = 0; i < numberOfElements; i++) { + String rndValue = RAFRandomize.retainSpecialCharsAndRandomizeAlphanumeric(formats.get(i)); + if (primitiveType.equals("string")) { + JsonPrimitive element = new JsonPrimitive(rndValue); + jsonArray.add(element); + } else { // if number: + Number rndAsNumber = NumberFormat.getInstance().parse(rndValue); + JsonPrimitive element = new JsonPrimitive(rndAsNumber); + jsonArray.add(element); + } + + } + + jsonObject.add(propertyName, jsonArray); + currentRequest.setBody(gson.toJson(jsonObject)); + } + + /** + * Add items or Set new list of items into a JSON array inside the current request body + * + * @param operation <b>add</b> or <b>set</b> depending on what you want - add values to existing ones or set brand new values + * @param primitiveType the type of the items to be added to the array - string, number or boolean + * @param propertyName the property name of the array element inside the JSON body + * @param values list of values of the respective type to be added inside the array + * @throws ParseException + */ + @And("^I (set|add) the following (string|number|boolean) elements inside array \\{(.*?)\\} to the current REST request body:$") + public void iSetAddTheFollowingElementsInsideArrayInCurrentRequestBody(String operation, String primitiveType, String propertyName, List<Object> values) throws ParseException { + logger.debug("Creating array of {}s: '{}', operation= '{}'", primitiveType, propertyName, operation); + + boolean isAdd = operation.equals("add"); + + Gson gson = new Gson(); + JsonArray jsonArray = new JsonArray(); + + JsonElement jsonElement = gson.fromJson(currentRequest.getBody(), JsonElement.class); + // only try to load body as JsonObject if it is not null. + JsonObject jsonObject = new JsonObject(); + if (jsonElement != null) jsonObject = jsonElement.getAsJsonObject(); + + // If we want to ADD the values to already loaded/existing ones: + if (jsonObject.getAsJsonArray(propertyName) != null && isAdd) { + jsonArray = jsonObject.getAsJsonArray(propertyName); + } + + for (int i = 0; i < values.size(); i++) { + if (primitiveType.equals("string")) { // if string: + JsonPrimitive element = new JsonPrimitive(String.valueOf(values.get(i))); + jsonArray.add(element); + } else if (primitiveType.equals("number")) { // if number: + Number valueAsNumber = NumberFormat.getInstance().parse(String.valueOf(values.get(i))); + JsonPrimitive element = new JsonPrimitive(valueAsNumber); + jsonArray.add(element); + } else if (primitiveType.equals("boolean")) { // if boolean: + JsonPrimitive element = new JsonPrimitive(Boolean.valueOf(String.valueOf(values.get(i)))); + jsonArray.add(element); + } + + } + + jsonObject.add(propertyName, jsonArray); + currentRequest.setBody(gson.toJson(jsonObject)); + + } + + @And("^I set \\{(\\d+)\\} random (boolean) elements in array \\{(.*?)\\} to the current REST request body$") + public void iSetRandomBooleanElementsInArrayCurrentRequestBody(int numberOfElements, String primitiveType, String propertyName) { + logger.debug("Generating array of {}s: '{}'", primitiveType, propertyName); + Gson gson = new Gson(); + JsonArray jsonArray = new JsonArray(); + + JsonElement jsonElement = gson.fromJson(currentRequest.getBody(), JsonElement.class); + // only try to load body as JsonObject if it is not null. + JsonObject jsonObject = new JsonObject(); + if (jsonElement != null) jsonObject = jsonElement.getAsJsonObject(); + + for (int i = 0; i < numberOfElements; i++) { + JsonPrimitive element = new JsonPrimitive(new Random().nextBoolean()); + jsonArray.add(element); + } + + jsonObject.add(propertyName, jsonArray); + currentRequest.setBody(gson.toJson(jsonObject)); + } + + @And("^the member_id query param in the response Location header match DataContainer value for key \\{(.*?)\\}$") + public void theMember_idQueryParamInTheResponseLocationHeaderMatchDataContainerValueForKeyDOIMember_id(String dataContainerKey) throws Throwable { + + String actualMemberId = JsonUtils.urlQueryParamsToMap(getLastResponse().getHeaders().get("Location")).get("member_id"); + + assertEquals("member_id doesn't match expected: ", getDataContainer().getObject(dataContainerKey), actualMemberId); + } + + /** + * Returns true/false depending on what "success" is contained in the last response. + * E.g.: + * <br/> { + * <br/> "success": false, + * <br/> "error_code": "1011", + * <br/> "security_parameters": {} + * <br/> } + * + * @return The value of the "success" node if found inside last response. FALSE otherwise. + */ + public boolean getLastSuccess() throws Throwable { + boolean bSuccess; + String responseBody = getLastResponse().getBody(); + Object result = JsonPath.read(responseBody, "$..success"); + + if ((result instanceof List)) { + List lResult = (List) result; + int size = lResult.size(); + if (size != 0) { + + if (size > 1) { + throw new Throwable("Response has more than 1 'success' nodes: " + size); + } + + bSuccess = Boolean.parseBoolean(lResult.get(0).toString()); + return bSuccess; + } + } + + bSuccess = Boolean.parseBoolean(result.toString()); + + return bSuccess; + + } + + @And("^the Success in the last response is \\{(.*?)\\}$") + public void theSuccessInTheLastResponseIs(boolean expectedRes) throws Throwable { + + assertEquals("Expected 'success' doesn't match actual: ", expectedRes, getLastSuccess()); + + } + + /** + * Sleep + * + * @param millis milliseconds to sleep + * @throws Throwable + */ + @And("^I wait for \\{(\\d+)\\} mseconds$") + public void I_wait_for_mseconds(int millis) throws Throwable { + if (millis > 0) { + logger.info("I wait for " + millis + " msec."); + Thread.sleep(millis); + } + } + + /** + * Compares sets of data. Delimiter used is the <i>delimiter</i> param. + * + * @param headerName Header which value should be compared to the provided list of values. + * @param listOfValues list of values separated by <i>delimiter</i> + * @param delimiter the delimiter to be used + * @throws Throwable + */ + @And("^the response \\{(.*?)\\} header contains the following set of values \\{(.*?)\\}. delimiter:\\{(.*?)\\}$") + public void theResponseHeaderContainsTheFollowingSetOfValues(String headerName, String listOfValues, String delimiter) throws Throwable { + String headerValue = getLastResponse().getHeaders().get(headerName); + + if (headerValue == null) { + throw new RAFException(String.format("Header [%s] not present in response", headerName), GeneralStepDefinitions.class); + } + + String[] headerArray = headerValue.split(delimiter); + for (int i = 0; i < headerArray.length; i++) { + headerArray[i] = headerArray[i].trim(); + + } + Set<String> headerSet = new HashSet<>(Arrays.asList(headerArray)); + + String[] expectedArray = listOfValues.split(delimiter); + for (int i = 0; i < expectedArray.length; i++) { + expectedArray[i] = expectedArray[i].trim(); + } + Set<String> expectedSet = new HashSet<>(Arrays.asList(expectedArray)); + + logger.debug("headerSet= {} ; expectedSet= {}", headerSet, expectedSet); + logger.info("headerSet.equals(expectedSet) = {}", headerSet.equals(expectedSet)); + + assertEquals("Both sets are not equal.", expectedSet, headerSet); + } + + + @And("^I generate random alphabetic with length between \\{(\\d+)\\} and \\{(\\d+)\\} and store it in DataContainer with key \\{(.*?)\\}$") + public String iGenerateRandomAlphabeticWithLengthBetweenAndAndStoreItInDataContainerWithKey(int min, int max, String dcKey) throws Throwable { + logger.info("Generating random alphabetic with length between [{}] and [{}] and storing it into DataContainer, key= [{}] ...", min, max, dcKey); + + String generatedString = RAFRandomize.getAlphabetic(min, max); + getDataContainer().addObject(dcKey, generatedString); + + logger.info("Generated random alphabetic= [{}], stored into DataContainer, key= [{}]", getDataContainer().getObject(dcKey), dcKey); + + return generatedString; + } + + + /** + * <b>Preserves</b> the existing JSON body, loads object from DataContainer and <b>adds</b> it as new array element into + * <br/> current request Body, using provided property name. + * + * @param keyDc Key of the element to load from DataContainer + * @param propertyName property name to be used for the array inside the JSON body. + * @throws Throwable + */ + @And("^I load object with key \\{(.*?)\\} from DataContainer into JSON array \\{(.*?)\\} inside Request Body$") + public void iLoadValueFromDataContainerIntoJSONArrayInsideRequestBody(String keyDc, String propertyName) throws Throwable { + Gson gson = new Gson(); + JsonArray jsonArray = new JsonArray(); + + JsonElement initialBody = gson.fromJson(currentRequest.getBody(), JsonElement.class); + + // only try to load body as JsonObject if it is not null. + JsonObject newBody = new JsonObject(); + if (initialBody != null) newBody = initialBody.getAsJsonObject(); + + JsonPrimitive element = new JsonPrimitive((String) getDataContainer().getObject(keyDc)); + jsonArray.add(element); + newBody.add(propertyName, jsonArray); + + currentRequest.setBody(gson.toJson(newBody)); +// logger.debug("currentRequest.Body= [{}]", currentRequest.getBody()); + } + + /** + * <b>Preserves</b> the existing JSON body, loads object from DataContainer , appends the given text to it and <b>adds</b> it as new array element into + * <br/> current request Body, using provided property name. + * + * @param keyDc Key of the element to load from DataContainer + * @param propertyName property name to be used for the array inside the JSON body. + * @param textToAppend The text which will be appended to the value loaded from the DataContainer before it gets added into the array. + * @throws Throwable + */ + @And("^I load object with key \\{(.*?)\\} from DataContainer into JSON array \\{(.*?)\\} inside Request Body and append the text \\{(.*?)\\}$") + public void iLoadValueFromDataContainerIntoJSONArrayInsideRequestBodyAndAppendText(String keyDc, String propertyName, String textToAppend) throws Throwable { + Gson gson = new Gson(); + JsonArray jsonArray = new JsonArray(); + + JsonElement initialBody = gson.fromJson(currentRequest.getBody(), JsonElement.class); + + // only try to load body as JsonObject if it is not null. + JsonObject newBody = new JsonObject(); + if (initialBody != null) newBody = initialBody.getAsJsonObject(); + + JsonPrimitive element = new JsonPrimitive(((String) getDataContainer().getObject(keyDc)) + textToAppend); + jsonArray.add(element); + newBody.add(propertyName, jsonArray); + + currentRequest.setBody(gson.toJson(newBody)); + + } + + @And("^I print the current request body$") + public void iPrintTheCurrentRequestBody() throws Throwable { + logger.info("Current Request body: \n{}", JsonUtils.prettyPrintJson(currentRequest.getBody())); + } + + /** + * Adds the kye/value pairs from the supplied Map into the current request body. + * <br/> Elements are added as JSON string. + * <br/> Node names are placed without change, where values provided are considered as format and characters and numbers are randomized + * (only special chars remain unchanged) + * + * @param jsonBodyInputParams Map containing key/value pairs to be added to the currentRequest + * @throws Throwable + */ + @When("^I add list of random string nodes to the current request JSON body using property names and formats as follows:$") + public void iAddListOfRandomStringNodesToTheCurrentRequestJSONBodyUsingPropertyNamesAndFormatsAsFollows(Map<String, String> jsonBodyInputParams) throws Throwable { + + Gson gson = new Gson(); + JsonArray jsonArray = new JsonArray(); + + //load existing currentRequest body: + JsonElement initialBody = gson.fromJson(currentRequest.getBody(), JsonElement.class); + + // only try to load body as JsonObject if it is not null. + JsonObject newBody = new JsonObject(); + if (initialBody != null) newBody = initialBody.getAsJsonObject(); + + // Add supplied nodes to the current request body using random values (preserve format): + for (Map.Entry<String, String> entry : jsonBodyInputParams.entrySet()) { + newBody.addProperty(entry.getKey(), RAFRandomize.retainSpecialCharsAndRandomizeAlphanumeric(entry.getValue())); + } + currentRequest.setBody(gson.toJson(newBody)); + + } + + /** + * Removes provided nodes from the current request JSON body. + * + * @param jsonPaths List of JsonPaths pointing to the nodes that need to be removed from the document. + * @throws Throwable + */ + @When("^I remove the following nodes from the current request JSON body, using JSON paths:$") + public void iRemoveTheFollowingNodesFromTheCurrentRequestJSONBodyUsingJSONPaths(List<String> jsonPaths) throws Throwable { + + if (StringUtils.isBlank(currentRequest.getBody())) { + logger.warn("Current request body is empty: [{}]. Skipping nodes removal...", currentRequest.getBody()); + } else { + logger.debug("Initiating removal of the following nodes from the current request JSON body: {}", jsonPaths); + + logger.debug("Original request body (before node removal):\n [{}]", currentRequest.getBody()); + + // set this Option in order to get 'null' returned if node not found in the JSON document instead of exception. + Configuration conf = Configuration.builder().options(Option.SUPPRESS_EXCEPTIONS).build(); + DocumentContext requestContext = JsonPath.using(conf).parse(currentRequest.getBody()); + + for (String node : jsonPaths) { + if (requestContext.read(node) != null) { + requestContext = requestContext.delete(node); + logger.debug("Node [{}] removed.", node); + } else { + logger.debug("Node [{}] doesn't exist in currentRequest body. Removal was ignored.", node); + } + } + + currentRequest.setBody(requestContext.jsonString()); + + logger.debug("Updated request body (after node removal):\n [{}]", currentRequest.getBody()); + } + + } + + /** + * Asserts resource keys sent in request are ignored and not returned in response (fresh keys are generated by server) + * + * @param keys List of keys to be checked (those you expect to appear in the Response). + * @throws Throwable + */ + @And("^the following resource keys in response are not the same as sent in request body, if any:$") + public void theFollowingResourceKeysInResponseAreNotTheSameAsSentInRequestBodyIfAny(List<String> keys) throws Throwable { + // make sure resource keys sent in request are ignored and not returned in response (fresh keys are generated by server) + + // set this Option in order to get 'null' returned if node not found in the JSON document instead of exception. + Configuration conf = Configuration.builder().options(Option.SUPPRESS_EXCEPTIONS).build(); + ReadContext requestContext = JsonPath.using(conf).parse(getLastRequest().getBody()); + ReadContext responseContext = JsonPath.using(conf).parse(getLastResponse().getBody()); + + for (String key : keys) { + assertNotEquals("resource keys '" + key + "' are equal", requestContext.read("$." + key, String.class), responseContext.read("$." + key, String.class)); + } + + } + + /** + * Check whether Default Headers are present. Also make sure value + * is not null + * + * @param HeaderParameter list of Environment Dependent Default Header parameter that + * need to be Part of the Response Headers + */ + @Then("^I validate the response Default header parameters$") + public void the_response_header_has_all_the_Default_Header_paramters_list( + List<String> HeaderParameter) { + + for (String Hname : HeaderParameter) { + + assertTrue( + "The following header is not part of the response headers: " + Hname, + getLastResponse().getHeaders().containsKey(Hname)); + + assertNotNull("The value of the following header is null: " + Hname, getLastResponse().getHeaders().get(Hname)); + } + } + + /** + * @param cucumberTable Key Value combination of header parameter to be asserted and + * the parameters are not Environment dependent + */ + @Then("^I validate the headers in the response with the following data$") + public void Verify_content_type_oauthScopes( + Map<String, String> cucumberTable) { + + for (String key : cucumberTable.keySet()) { + + assertEquals("Header [" + key + + "] value doesn't equal expected value: ", + cucumberTable.get(key), + getLastResponse().getHeaders().get(key)); + } + } + + /** + * Check whether Dependent Header Parameter is present and value + * is not null + * + * @param list Comma separated list of Header names, which need to be part of the Response + * Headers map. <br/> For example (ETag, Expires, Last-Modified, X-Error, X-Error-Code) + */ + @Then("^I validate the response to check whether Dependent Header Parameter is listed:((?:\\S|\\W|,)+)$") + public void the_response_header_has_all_the_Dependent_Header_parameters_list(List<String> list) { + + for (String Hname : list) { + + assertTrue("Header [" + Hname + "] is not present in the response headers list! ", + getLastResponse().getHeaders().containsKey(Hname)); + + Assert.assertNotNull("The value of header [" + Hname + "] is null", (getLastResponse().getHeaders().get(Hname))); + } + } + + /** + * Checks whether a provided header contains a provided char sequence. + * + * @param headerName The name of the header that we are going to use. + * @param list List of char sequences (Strings) that will be asserted whether they appear in the header data. + */ + @And("^I validate that the header \\{(.*?)\\} in the response contain the following data$") + public void iValidateThatTheHeaderInTheResponseContainTheFollowingData(String headerName, List<String> list) throws Throwable { + + for (String charSequence : list) { + if (getLastResponse().getHeaders().get(headerName).contains(charSequence)) { + logger.debug("SUCESS :: The header [{}] contains the char sequence [{}]", headerName, charSequence); + } + assertTrue("FAILED :: The header doesn't contain the provided char sequence.", + getLastResponse().getHeaders().get(headerName).contains(charSequence)); + } + } + + @And("^I clear the query parameters$") + public void iClearTheQueryParameters() throws Throwable { + currentRequest.getQueryParams().clear(); + } + + @And("^I set the following request body \\{(.*?)\\}$") + public void iSetTheFollowingRequestBody(String newBody) throws Throwable { + currentRequest.setBody(newBody); + } + + /** + * Setting value to a key for a specific object that you can locate with JsonPath from the currentRequest + * @param fieldName the key for which you will insert value + * @param value the value of the key + * @param jsonPath the jsonPath of the object you want to edit + * @throws Throwable + */ + @And("^I set the key \\{(.*?)\\} and value \\{(.*?)\\} inside object \\{(.*?)\\} with jsonPath \\{(.*?)\\}$") + public void ISetTheKeyAndValueInsideObjectWithJsonPath(String fieldName,String value,String object,String jsonPath) throws Throwable { + JsonElement jsonElement = new Gson().fromJson(currentRequest.getBody(), JsonElement.class); + JsonObject jsonObject = jsonElement.getAsJsonObject(); + String requestBody = currentRequest.getBody(); + + Map<String, String> result = JsonPath.read(requestBody, jsonPath); + result.put(fieldName, value); + + JsonElement newElement = new Gson().fromJson(result.toString(), JsonElement.class); + jsonObject.add(object, newElement); + + currentRequest.setBody(new Gson().toJson(jsonObject)); + } + +} \ No newline at end of file diff --git a/src/test/java/api/test/rest/RestGeneralStepDefinitions.java b/src/test/java/api/test/rest/RestGeneralStepDefinitions.java new file mode 100644 index 0000000000000000000000000000000000000000..4f98fbc3f80b922fb615db3827ea2f9d6d8808f6 --- /dev/null +++ b/src/test/java/api/test/rest/RestGeneralStepDefinitions.java @@ -0,0 +1,236 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package api.test.rest; + +import api.test.core.BaseStepDefinitions; +import com.github.fge.jackson.JsonLoader; +import com.google.gson.*; +import com.jayway.jsonpath.Configuration; +import com.jayway.jsonpath.JsonPath; +import com.jayway.jsonpath.Option; +import com.jayway.jsonpath.ReadContext; +import core.*; +import cucumber.api.java.en.And; +import cucumber.api.java.en.Given; +import cucumber.api.java.en.Then; +import exceptions.RAFException; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import java.security.KeyPair; +import java.util.HashMap; +import java.util.Map; +import static org.junit.Assert.assertEquals; +import static utils.RsaGenerator.encrypt; +import static utils.RsaGenerator.generateKeyPair; + +public class RestGeneralStepDefinitions extends BaseStepDefinitions { + private static final Logger logger = LogManager.getLogger(RestGeneralStepDefinitions.class.getSimpleName()); + RestSessionContainer restSessionContainer; + Request currentRequest; + + + public RestGeneralStepDefinitions(RestSessionContainer restSessionContainer, Request currentRequest, DataContainer dataContainer) { + super(dataContainer); + this.restSessionContainer = restSessionContainer; + this.currentRequest = currentRequest; + + } + + @Given("^we are testing the VIAM Api") + public void we_are_testing_the_VIAM_api() throws Throwable { + RestClient.setDefaultEncoding("UTF8"); + RestClient.setBaseURI(JsonUtils.getVIAM()); + RestClient.appendDefaultContentCharsetToContentTypeIfUndefined(false); + currentRequest.clear(); + currentRequest.getHeaders().put("X-Client-UserAgent", "test framework"); + currentRequest.setContentType("application/json"); + } + + @Given("^we are testing the CardDav$") + public void we_are_testing_the_CardDav() throws Throwable { + RestClient.setDefaultEncoding("UTF8"); + RestClient.setBaseURI(JsonUtils.getCardDav()); + RestClient.appendDefaultContentCharsetToContentTypeIfUndefined(false); + currentRequest.clear(); + currentRequest.getHeaders().put("X-Client-UserAgent", "test framework"); + currentRequest.setContentType("application/xml"); + } + + @Given("^we are testing the WOPI") + public void we_are_testing_the_WOPI_service() throws Throwable { + RestClient.setDefaultEncoding("UTF8"); + RestClient.setBaseURI(JsonUtils.getWopi()); + RestClient.appendDefaultContentCharsetToContentTypeIfUndefined(false); + currentRequest.getHeaders().put("X-Client-UserAgent", "test framework"); + currentRequest.setContentType("application/json"); + } + + @Given("^we are testing the WebDav") + public void we_are_testing_the_WebDav_service() throws Throwable { + RestClient.setDefaultEncoding("UTF8"); + RestClient.setBaseURI(JsonUtils.getWebDav()); + RestClient.appendDefaultContentCharsetToContentTypeIfUndefined(false); + currentRequest.getHeaders().put("X-Client-UserAgent", "test framework"); + currentRequest.setContentType("application/json"); + } + + @Given("^we are testing with the current session the WOPI$") + public void we_are_testing_with_the_current_session_the_WOPI() throws Throwable { + currentRequest.clear(); + currentRequest.getHeaders().put("publicKey", restSessionContainer.getPublicKey()); + currentRequest.getHeaders().put("uuid", restSessionContainer.getOauthUUID()); + currentRequest.getHeaders().put("token", restSessionContainer.getOauthToken()); + we_are_testing_the_WOPI_service(); + } + + @Given("^we are testing with the current session the WebDav$") + public void we_are_testing_with_the_current_session_the_WebDav() throws Throwable { + currentRequest.clear(); + currentRequest.getHeaders().put("publicKey", restSessionContainer.getPublicKey()); + currentRequest.getHeaders().put("uuid", restSessionContainer.getOauthUUID()); + currentRequest.getHeaders().put("token", restSessionContainer.getOauthToken()); + currentRequest.getHeaders().put("passportuuid", restSessionContainer.getPassportEntityUUID()); + we_are_testing_the_WebDav_service(); + } + + @Given("^I load the REST request \\{(.*)\\} with profile \\{(.*)\\}$") + public void I_load_the_REST_request__with_profile_(String jsonName, String profileName) throws Throwable { + logger.info("Loading REST json into current request body. Json file= [{}] , profile= [{}]", jsonName, profileName); + String loadedProfileData = JsonUtils.getProfileFromJson("/REST/json/" + jsonName, profileName); + if (!loadedProfileData.equals("null")) { + currentRequest.setBody(loadedProfileData); + logger.info("SUCCESS - profile loaded."); + } else { + throw new RAFException(String.format("Profile loading FAILED. Value is \"null\". File= [%s] , profile= [%s]", + jsonName, + profileName) + , RestGeneralStepDefinitions.class); + } + + } + + @Then("^the response is valid according to the \\{(.*?)\\} REST schema$") + public void the_response_is_valid_according_to_the_REST_schema(String schemaName) throws Throwable { + validateJsonSchema(getLastResponse().getBody(), + JsonLoader.fromResource("/REST/schemas/" + schemaName).toString()); + } + + @Then("^the response is valid according to the \\{(.*?)\\} REST schema profile \\{(.*?)\\}$") + public void the_response_is_valid_according_to_the_schema_profile_(String schemaName, String profileName) throws Throwable { + validateJsonSchema(getLastResponse().getBody(), + JsonUtils.getProfileFromJson("/REST/schemas/" + schemaName, profileName)); + } + + /** + * Gets the values of fields pointed by the provided json paths from the last request and response + * <br/> and asserts they are equal. + * + * @param jsonPathResponseField JsonPath as string pointing to the desired field in the Response + * @param jsonPathRequestField JsonPath as string pointing to the desired field in the Request + * @throws Throwable + */ + @And("^the value of field \\{(.*?)\\} in the last response matches the value of field \\{(.*?)\\} in the last request$") + public void theValueOfFieldInTheLastResponseMatchesTheValueOfFieldInTheLastRequest(String jsonPathResponseField, String jsonPathRequestField) throws Throwable { + + logger.info("Comparing values of '{}' response and '{}' request fields:", jsonPathResponseField, jsonPathRequestField); + + // set this Option in order to get 'null' returned if node not found in the JSON document instead of exception. + Configuration conf = Configuration.builder().options(Option.SUPPRESS_EXCEPTIONS).build(); + + ReadContext responseContext = JsonPath.using(conf).parse(getLastResponse().getBody()); + ReadContext requestContext = JsonPath.using(conf).parse(getLastRequest().getBody()); + + Object actualValue = responseContext.read(jsonPathResponseField); + Object expectedValue = requestContext.read(jsonPathRequestField); + + assertEquals("value in response doesn't match what was sent in the request!", expectedValue, actualValue); + logger.debug("'{}' match SUCCESS. request= [{}], response= [{}]", jsonPathRequestField, expectedValue, actualValue); + + } + + /** + * Setting a random value (Merchant ID format) to a specific key for a specific object that you can locate with JsonPath from the currentRequest + * + * @param fieldName the key for which you will insert random value + * @param object the json Object that you want to edit + * @param jsonPath the jsonPath of the object you want to edit + * @throws Throwable + */ + @And("^I set a random value to the key \\{(.*?)\\} with length \\{(.*?)\\} inside object \\{(.*?)\\} with jsonPath \\{(.*?)\\}$") + public void i_set_a_random_value_to_the_key_with_length_inside_object_with_jsonPath(String fieldName, int length, String object, String jsonPath) throws Throwable { + + String random = (RandomStringUtils.random(length, true, false)); + + JsonElement jsonElement = new Gson().fromJson(currentRequest.getBody(), JsonElement.class); + JsonObject jsonObject = jsonElement.getAsJsonObject(); + String requestBody = currentRequest.getBody(); + + Map<String, String> result = JsonPath.read(requestBody, jsonPath); + result.put(fieldName, random); + + JsonElement newElement = new Gson().fromJson(result.toString(), JsonElement.class); + jsonObject.add(object, newElement); + + currentRequest.setBody(new Gson().toJson(jsonObject)); + } + + /** + * Load an already saved parameter from the DataContainer into an array in the current request body with jsonPath + * + * @param param the key of the parameter saved in the DataContainer + * @param object the json Object that you want to edit + * @param jsonPath the jsonPath of the object you want to edit + * @throws Throwable + */ + @And("^I load param from DataContainer with key \\{(.*?)\\} inside array \\{(.*?)\\} with key \\{(.*?)\\} and with jsonPath \\{(.*?)\\}$") + public void I_load_param_from_DataContainer_with_key_inside_array_with_key_and_with_jsonPath(String param, String object, String key, String jsonPath) throws Throwable { + String dataContainerValue = String.valueOf(getDataContainer().getObject(param)); + + JsonElement jsonElement = new Gson().fromJson(currentRequest.getBody(), JsonElement.class); + JsonObject jsonObject = jsonElement.getAsJsonObject(); + String requestBody = currentRequest.getBody(); + JsonArray jsonArray = new JsonArray(); + + HashMap result = JsonPath.read(requestBody, jsonPath); + result.put(key, dataContainerValue); + + Gson gson = new GsonBuilder().create(); + String readyObject = gson.toJson(result); + jsonArray.add(readyObject); + String readyArray = gson.toJson(jsonArray); + readyArray = readyArray.replace("\\", ""); + StringBuilder array = new StringBuilder(readyArray); + array.deleteCharAt(1); + array.deleteCharAt(array.length() - 2); + readyArray = array.toString(); + + JsonElement newElement = new Gson().fromJson(readyArray, JsonElement.class); + jsonObject.add(object, newElement); + + currentRequest.setBody(new Gson().toJson(jsonObject)); + } + + @Then("^I add a new publicKey header to the currentRequest$") + public void i_add_a_new_publicKey_header_to_the_currentRequest() throws Throwable { + KeyPair pair = generateKeyPair(); + String message = "the answer to life the universe and everything"; + String cipherText = encrypt(message, pair.getPublic()); + currentRequest.getHeaders().put("publicKey", cipherText); + } +} \ No newline at end of file diff --git a/src/test/java/api/test/rest/batch/BatchStepDefinitions.java b/src/test/java/api/test/rest/batch/BatchStepDefinitions.java new file mode 100644 index 0000000000000000000000000000000000000000..a9f21e88cbcc35d475301328ca49ac4f3aabf223 --- /dev/null +++ b/src/test/java/api/test/rest/batch/BatchStepDefinitions.java @@ -0,0 +1,155 @@ +/* +Copyright (c) 2018 Vereign AG [https://www.vereign.com] + +This is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +package api.test.rest.batch; + +import api.test.core.BaseStepDefinitions; +import api.test.rest.RestSessionContainer; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.jayway.jsonpath.JsonPath; +import core.DataContainer; +import core.Request; +import core.Response; +import core.RestClient; +import cucumber.api.java.en.Given; +import cucumber.api.java.en.Then; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import utils.RAFRandomize; +import java.util.Base64; +import static org.junit.Assert.assertTrue; + +public class BatchStepDefinitions extends BaseStepDefinitions { + private static final Logger logger = LogManager.getLogger(BatchStepDefinitions.class.getSimpleName()); + RestSessionContainer restSessionContainer; + Request currentRequest; + + public BatchStepDefinitions(RestSessionContainer restSessionContainer, Request currentRequest, DataContainer dataContainer) { + super(dataContainer); + this.restSessionContainer = restSessionContainer; + this.currentRequest = currentRequest; + } + + @Given("^I send a new batch request via API$") + public void I_send_a_new_batch_request_via_API() { + currentRequest.setPath("/sendBatch"); + + Response response = RestClient.post(currentRequest); + addRequest(currentRequest); + addResponse(response); + } + + @Given("^I call getStatuses request via API$") + public void I_call_getStatuses_request_via_API() { + currentRequest.setPath("/getStatuses"); + + Response response = RestClient.post(currentRequest); + addRequest(currentRequest); + addResponse(response); + } + + @Then("^I assert that getStatus status is the same as the sendBatch value via API$") + public void I_assert_that_getStatus_status_is_the_same_as_the_sendBatch_value_via_API() { + String responseBody = getLastResponse().getBody(); + if (restSessionContainer.getBatchValue() != null) { + String actualValue = JsonPath.read(responseBody, "$..Status").toString(); + assertTrue("'Batch Value' doesn't match expected claim: ", actualValue.contains(restSessionContainer.getBatchValue())); + } + } + + + @Given("^I call getStatuses with the current (sealKey|sealKey2) via API$") + public void I_call_getStatuses_with_the_current_sealKey_via_API(String sealKey) { + Gson gson = new Gson(); + JsonElement initialBody = gson.fromJson(currentRequest.getBody(), JsonElement.class); + // only try to load body as JsonObject if it is not null. + JsonObject newBody = new JsonObject(); + if (initialBody != null) newBody = initialBody.getAsJsonObject(); + + switch (sealKey) { + case "sealKey": + newBody.addProperty("key", restSessionContainer.getBatchKey()); + break; + case "sealKey2": + newBody.addProperty("key", restSessionContainer.getBatchKey2()); + break; + } + + currentRequest.setBody(gson.toJson(newBody)); + + I_call_getStatuses_request_via_API(); + } + + @Given("^I send a new random batch request via API$") + public void I_send_a_new_random_batch_request_via_API() throws Throwable { + String originalInput = "batchValue+" + RAFRandomize.getAlphabetic(5, 5); + String encodedString = Base64.getEncoder().encodeToString(originalInput.getBytes()); + restSessionContainer.setBatchValue(encodedString); + + String batchKey = "seal_id_" + RAFRandomize.getAlphabetic(8, 8); + restSessionContainer.setBatchKey(batchKey); + + Gson gson = new Gson(); + JsonElement initialBody = gson.fromJson(currentRequest.getBody(), JsonElement.class); + // only try to load body as JsonObject if it is not null. + JsonObject newBody = new JsonObject(); + JsonObject batch = new JsonObject(); + if (initialBody != null) newBody = initialBody.getAsJsonObject(); + batch.addProperty(batchKey, encodedString); + newBody.add("batch", batch); + currentRequest.setBody(gson.toJson(newBody)); + + I_send_a_new_batch_request_via_API(); + } + + @Given("^I send a new random batch request with 2 objects via API$") + public void I_send_a_new_random_batch_request_with_2_objects_via_API() throws Throwable { + String originalInput = "batchValue+" + RAFRandomize.getAlphabetic(5, 5); + String encodedString = Base64.getEncoder().encodeToString(originalInput.getBytes()); + restSessionContainer.setBatchValue(encodedString); + + String batchKey = "seal_id_" + RAFRandomize.getAlphabetic(8, 8); + String batchKey2 = "seal_id_" + RAFRandomize.getAlphabetic(8, 8); + restSessionContainer.setBatchKey(batchKey); + restSessionContainer.setBatchKey2(batchKey2); + + Gson gson = new Gson(); + JsonElement initialBody = gson.fromJson(currentRequest.getBody(), JsonElement.class); + // only try to load body as JsonObject if it is not null. + JsonObject newBody = new JsonObject(); + JsonObject batch = new JsonObject(); + if (initialBody != null) newBody = initialBody.getAsJsonObject(); + batch.addProperty(batchKey, encodedString); + batch.addProperty(batchKey2, encodedString); + newBody.add("batch", batch); + currentRequest.setBody(gson.toJson(newBody)); + + I_send_a_new_batch_request_via_API(); + } + + @Given("^I send a total count request via API$") + public void I_send_a_total_count_request_via_API() { + currentRequest.setPath("/getTotalCount"); + + Response response = RestClient.post(currentRequest); + addRequest(currentRequest); + addResponse(response); + } + +} \ No newline at end of file diff --git a/src/test/resources/features/batch/api/getStatuses/POST.feature b/src/test/resources/features/batch/api/getStatuses/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..beff4258066ed6153cabd7c0870ea0aaae4b9090 --- /dev/null +++ b/src/test/resources/features/batch/api/getStatuses/POST.feature @@ -0,0 +1,91 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost/api/getStatuses +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @batch @all +Feature: API - getStatuses POST + Get the previously added Batches + + Background: + Given we are testing the VIAM Api + + @getStatuses @test + Scenario: Send a batch request and then fetch it with getStatuses - Positive +#Send Batch + Given I load the REST request {Batch.json} with profile {successful_batch} + Given I send a new random batch request via API + And the status code should be {200} +#Get Statuses + Then I wait for {60000} mseconds + Given I clear the request body + Then I call getStatuses with the current sealKey via API + And the status code should be {200} + And the field {$.status} has the value {OK} + And the field {$.code} has the value {200} + And the response is valid according to the {Batch_GetStatuses_schema.json} REST schema + And I assert that getStatus status is the same as the sendBatch value via API + + @getStatuses @negative + Scenario Outline: Try to call getStatuses with invalid request - <profile> - Negative +#Get Statuses + Given I clear the request body + Given I load the REST request {Batch.json} with profile {<profile>} + Then I call getStatuses request via API + And the status code should be {400} + And the field {$.message} has the value {<msg>} + Examples: + | profile | msg | + | getStatuses_missing_key | sealID (key) is missing | + | getStatuses_missing_value | sealID (key) is missing | + | getStatuses_empty | sealID (key) is missing | + + @sendbatch + Scenario: Send a batch requests with 2 objects and then get them - Positive +#Send Batch + Given I load the REST request {Batch.json} with profile {successful_batch} + Then I send a new random batch request with 2 objects via API + And the status code should be {200} + And the field {message} has the value {batch is queued} +#Get Statuses of seal key 1 + Then I wait for {60000} mseconds + Given I clear the request body + Then I call getStatuses with the current sealKey via API + And the status code should be {200} + And the response is valid according to the {Batch_GetStatuses_schema.json} REST schema + And I assert that getStatus status is the same as the sendBatch value via API +#Get Statuses of seal key 2 + Given I clear the request body + Then I call getStatuses with the current sealKey2 via API + And the status code should be {200} + And the response is valid according to the {Batch_GetStatuses_schema.json} REST schema + And I assert that getStatus status is the same as the sendBatch value via API + + @sendbatch + Scenario: Send 2 separate batch requests for the same key and then get them - Positive +#Send Batch + Given I load the REST request {Batch.json} with profile {successful_batch} + Given I send a new random batch request via API + And the status code should be {200} + Then I send a new batch request via API + And the status code should be {200} + And the field {message} has the value {batch is queued} +#Get Statuses + Then I wait for {120000} mseconds + Given I clear the request body + Then I call getStatuses with the current sealKey via API + And the status code should be {200} + And the field {$..Status} contains {2} elements \ No newline at end of file diff --git a/src/test/resources/features/batch/api/getTotalCount/POST.feature b/src/test/resources/features/batch/api/getTotalCount/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..adcef82bab203cf994fa7f1110c52aa6bfe622a7 --- /dev/null +++ b/src/test/resources/features/batch/api/getTotalCount/POST.feature @@ -0,0 +1,41 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost/api/sendbatch +#Author: Georgi Michev georgi.michev@vereign.como + +@rest @batch @all +Feature: API - getTotalCount POST + Retrieve counters for processed seal statuses and batches + + Background: + Given we are testing the VIAM Api + + @getTotalCount + Scenario: Send request with empty body - Positive + #Send Request + Given I send a total count request via API + And the status code should be {200} + And the response is valid according to the {Batch_GetTotalCount_schema.json} REST schema + And the field {data} is present and not empty + And the field {data} is not equal to the value {0} + And the field {receivedStatus} is present and not empty + And the field {receivedStatus} is not equal to the value {0} + And the field {storedStatus} is present and not empty + And the field {storedStatus} is not equal to the value {0} + And the field {anchoredStatus} is present and not empty + And the field {anchoredStatus} is not equal to the value {0} + And the field {anchoredBatches} is present and not empty + And the field {anchoredBatches} is not equal to the value {0} diff --git a/src/test/resources/features/batch/api/sendBatch/POST.feature b/src/test/resources/features/batch/api/sendBatch/POST.feature new file mode 100644 index 0000000000000000000000000000000000000000..005ee34866dd37d73ad61bfb7e784fbad880e48d --- /dev/null +++ b/src/test/resources/features/batch/api/sendBatch/POST.feature @@ -0,0 +1,61 @@ +#Copyright (c) 2018 Vereign AG [https://www.vereign.com] +# +#This is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as +#published by the Free Software Foundation, either version 3 of the +#License, or (at your option) any later version. +# +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with this program. If not, see <http://www.gnu.org/licenses/>. + +#http://localhost/api/sendbatch +#Author: Rosen Georgiev rosen.georgiev@vereign.com + +@rest @batch @all +Feature: API - sendBatch POST + This all sends batch request + + Background: + Given we are testing the VIAM Api + + @sendbatch + Scenario: Send a new random batch - Positive +#Send Batch + Given I load the REST request {Batch.json} with profile {successful_batch} + Given I send a new random batch request via API + And the status code should be {200} + And the field {message} has the value {batch is queued} + + @sendbatch + Scenario: Send 2 batch requests for the same key - Positive +#Send Batch + Given I load the REST request {Batch.json} with profile {successful_batch} + Given I send a new random batch request via API + And the status code should be {200} + Then I send a new batch request via API + And the status code should be {200} + And the field {message} has the value {batch is queued} + + @sendbatch @negative + Scenario Outline: Try to send invalid batch requests for sendBatch - <profile> - Negative +#Send Batch + Given I load the REST request {Batch.json} with profile {<profile>} + Given I send a new batch request via API + And the status code should be {<code>} + And the field {message} has the value {<message>} + And the field {kind} has the value {<kind>} + And the field {id} is present and not empty + Examples: + | profile | message | code | kind | + | missing_batch | no status entries to process | 400 | 1 | + | empty_seal_key | invalid batch | 400 | 1 | + | empty_seal_value | invalid batch | 400 | 1 | + | missing_seal | no status entries to process | 400 | 1 | + | not_base64_value | invalid batch | 400 | 1 | + + diff --git a/~/.config/google-chrome/BrowserMetrics-spare.pma b/~/.config/google-chrome/BrowserMetrics-spare.pma new file mode 100644 index 0000000000000000000000000000000000000000..98fc2c0bd7fa41623709dbf737993f8b9e26311d Binary files /dev/null and b/~/.config/google-chrome/BrowserMetrics-spare.pma differ diff --git a/~/.config/google-chrome/CertificateRevocation/4984/LICENSE b/~/.config/google-chrome/CertificateRevocation/4984/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..33072b59fd7044d7faab523237587dac24654423 --- /dev/null +++ b/~/.config/google-chrome/CertificateRevocation/4984/LICENSE @@ -0,0 +1,27 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateRevocation/4984/_metadata/verified_contents.json b/~/.config/google-chrome/CertificateRevocation/4984/_metadata/verified_contents.json new file mode 100644 index 0000000000000000000000000000000000000000..609b1de7f64232265a589573100c79e8c8b5b2e4 --- /dev/null +++ b/~/.config/google-chrome/CertificateRevocation/4984/_metadata/verified_contents.json @@ -0,0 +1 @@ +[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJMSUNFTlNFIiwicm9vdF9oYXNoIjoiUGIwc2tBVUxaUzFqWldTQnctV0hIRkltRlhVcExiZDlUcVkwR2ZHSHBWcyJ9LHsicGF0aCI6ImNybC1zZXQiLCJyb290X2hhc2giOiJrRFpxUHoyemlvQ3QyanNIQ0hEOU4yQjN6NXhqTHAwMFlteVdnNnQ0eDhVIn0seyJwYXRoIjoibWFuaWZlc3QuanNvbiIsInJvb3RfaGFzaCI6ImI2Ni1uTFcyRTRYYWs2dFR2SmNnR0FhOFdtMk1BVWRjVDR6cktrQ3dNTDgifV0sImZvcm1hdCI6InRyZWVoYXNoIiwiaGFzaF9ibG9ja19zaXplIjo0MDk2fV0sIml0ZW1faWQiOiJoZm5rcGltbGhoZ2llYWRkZ2ZlbWpob2ZtZmJsbW5pYiIsIml0ZW1fdmVyc2lvbiI6IjQ5ODQiLCJwcm90b2NvbF92ZXJzaW9uIjoxfQ","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"P82slM31EJUcXaTPRjCBsGIJRL_RpZEGR-vw5-parbYIez_xbqdBn_4ubHjACebaQqXonxTvbbjVI1RqDCsMyDwMdTszW-k_2YBuamh8AmBCSgq7zals3A4_yit3RH7Yu4AURIBCOvbmKeB1_8rBC8SdCHxmAsQEQtszkVq8oxlodGQaQIcymcehUXvjbDoY8i3WgfoGrPYRl24dPIUW7hfOvKdfB8ssWKt98HjQ4IhetMi4nW8f0tBkNFkLIELPwMRUOSxMD6E8p9oo3vVwa7g6nrPc_VOVhole8sd5zkJyeg7N61K3B7YTiTxBY9IWNxLTXQSGJ7cGmGe2uovevw"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"gaEMxJS0VfRT2ejH9RoZrBhbht7yVKSvyJu4tWJ68gEIw1HXshOg7XHQGX_GUOF9FIbJUKcTmpLUVn_ydKkuvs5X3SUn3QzSKRTkydK1cbVgWBg0HcdpJKn9Cel0Rl0r6UxBB0PDxNyUq7zAWcRkUPr7iWfWvq7BvfOoEaOd9UhsQkoGm1uvWPTQaAQG2Ou0Zbcb3yMnqywFqNqgmeNZWNfgu017ktbZIZrYF7rfGqbvt65iCzDj15nedjDAWU2yq7aYukN-G0NcC0aK7oJSZRDxD4Si-dzR1pbHCnifcjlzwWPJyqzxbmvb18wN96y2wzbVPomoc1cAzLA-GigDNg"}]}}] \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateRevocation/4984/crl-set b/~/.config/google-chrome/CertificateRevocation/4984/crl-set new file mode 100644 index 0000000000000000000000000000000000000000..d6264a4cfeefae7b7b31eb78f13526d5e0b5cacc Binary files /dev/null and b/~/.config/google-chrome/CertificateRevocation/4984/crl-set differ diff --git a/~/.config/google-chrome/CertificateRevocation/4984/manifest.fingerprint b/~/.config/google-chrome/CertificateRevocation/4984/manifest.fingerprint new file mode 100644 index 0000000000000000000000000000000000000000..c2f0a85d5a486a67945a2532b408b53946e4fdf6 --- /dev/null +++ b/~/.config/google-chrome/CertificateRevocation/4984/manifest.fingerprint @@ -0,0 +1 @@ +1.436ac29abc77ac8b56a21751366b32e8ab1eacc2a601ae38bb07f32319de7a20 \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateRevocation/4984/manifest.json b/~/.config/google-chrome/CertificateRevocation/4984/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..3df89dd557d76e8c2bae777d711249b1eb0811af --- /dev/null +++ b/~/.config/google-chrome/CertificateRevocation/4984/manifest.json @@ -0,0 +1,5 @@ +{ + "manifest_version": 2, + "name": "crl-set-13890693941302340246.data", + "version": "4984" +} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_metadata/verified_contents.json b/~/.config/google-chrome/CertificateTransparency/1037/_metadata/verified_contents.json new file mode 100644 index 0000000000000000000000000000000000000000..4ae482a884a8070e81d1a092e4e7829e9900536b --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_metadata/verified_contents.json @@ -0,0 +1 @@ +[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvMDMwMTlkZjNmZDg1YTY5YThlYmQxZmFjYzZkYTliYTczZTQ2OTc3NGZlNzdmNTc5ZmM1YTA4YjgzMjhjMWQ2Yi5zdGgiLCJyb290X2hhc2giOiJSOE9lM2E5MVZ5Wkh3MFFUY1lXSFJYdGFHY0pLZWtSWXJTb3A3ejIyeVd3In0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzLzE1OTcwNDg4ZDdiOTk3YTA1YmViNTI1MTJhZGVlOGQyZThiNGEzMTY1MjY0MTIxYTlmYWJmYmQ1Zjg1YWQ5M2Yuc3RoIiwicm9vdF9oYXNoIjoiZm1ISnROQ0lqTHpPT3I3eHNmNmhaa0hlWTV2bVFSQXo0TmtES0I2ek4yRSJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy8yMjQ1NDUwNzU5NTUyNDU2OTYzZmExMmZmMWY3NmQ4NmUwMjMyNjYzYWRjMDRiN2Y1ZGM2ODM1YzZlZTIwZjAyLnN0aCIsInJvb3RfaGFzaCI6Ims4TkZzNTZEdnJBWE9BZFN2dGkyNWM4NHBseUVvUElRbUdxV09IbUhHeWMifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvMjkzYzUxOTY1NGM4Mzk2NWJhYWE1MGZjNTgwN2Q0Yjc2ZmJmNTg3YTI5NzJkY2E0YzMwY2Y0ZTU0NTQ3ZjQ3OC5zdGgiLCJyb290X2hhc2giOiI4MXBkdVk5TnZtcDJUTUgzSlRzb1Q5eHA1N0JPbDFCaFBuX19vWUE1dkdZIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzLzM0YmI2YWQ2YzNkZjljMDNlZWE4YTQ5OWZmNzg5MTQ4NmM5ZDVlNWNhYzkyZDAxZjdiZmQxYmNlMTlkYjQ4ZWYuc3RoIiwicm9vdF9oYXNoIjoiME9xcnZLM3lZS1lyQ2FQanoxd1pwX0FLZEt4d3g2Tl9qSXdMM1dPLTd5USJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy80MWIyZGMyZTg5ZTYzY2U0YWYxYmE3YmIyOWJmNjhjNmRlZTZmOWYxY2MwNDdlMzBkZmZhZTNiM2JhMjU5MjYzLnN0aCIsInJvb3RfaGFzaCI6IkRVQmZOS29acXZVNnJQV3oteGR6RW9XSTNvaDBTQkl3UXVJY1hWQTdRRHcifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvNDQ5NDY1MmViMGVlY2VhZmM0NDAwN2Q4YThmZTI4YzBkYWU2ODJiZWQ4Y2IzMWI1M2ZkMzMzOTZiNWI2ODFhOC5zdGgiLCJyb290X2hhc2giOiJnU092VTNoTGlRSU1XRWFiQ2YzNXBmZEw2anNYMjYtLWJEWG53Z1c5M0dRIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzLzUxYTNiMGY1ZmQwMTc5OWM1NjZkYjgzNzc4OGYwY2E0N2FjYzFiMjdjYmY3OWU4ODQyOWEwZGZlZDQ4YjA1ZTUuc3RoIiwicm9vdF9oYXNoIjoid1gzN1FYMzVteWpWM0UxZEhrcWlvby0tRWNfVGNxWEw1UTI1aVpESzVTSSJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy81NTgxZDRjMjE2OTAzNjAxNGFlYTBiOWI1NzNjNTNmMGMwZTQzODc4NzAyNTA4MTcyZmEzYWExZDA3MTNkMzBjLnN0aCIsInJvb3RfaGFzaCI6IkYzQjRXVFZFUVBFTEhvcS1KYm5Yd2NMNldyQ0IzVmRYV2dybkRVbU1RQkkifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvNTYxNDA2OWEyZmQ3YzJlY2QzZjVlMWJkNDRiMjNlYzc0Njc2YjliYzk5MTE1Y2MwZWY5NDk4NTVkNjg5ZDBkZC5zdGgiLCJyb290X2hhc2giOiJ0Q0NpWElUOE44Mi10NDBuSDVzenA3VW9OUEhpMS1zTUptZzRNYWhGeng4In0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzLzVjZGM0MzkyZmVlNmFiNDU0NGIxNWU5YWQ0NTZlNjEwMzdmYmQ1ZmE0N2RjYTE3Mzk0YjI1ZWU2ZjZjNzBlY2Euc3RoIiwicm9vdF9oYXNoIjoiVkdyeUt4d2Y5ZUN5bm4xS1FlYm5NME1QWmVxVGRZWGdSYlhaeFN6RGdGWSJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy81ZWE3NzNmOWRmNTZjMGU3YjUzNjQ4N2RkMDQ5ZTAzMjdhOTE5YTBjODRhMTEyMTI4NDE4NzU5NjgxNzE0NTU4LnN0aCIsInJvb3RfaGFzaCI6ImxmU2NTN1dlclZhZVJSRkluNURuUmVoVWhRaWdYQUNOLXRTeUtGMUt5WlEifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvNjNmMmRiY2RlODNiY2MyY2NmMGI3Mjg0Mjc1NzZiMzNhNDhkNjE3NzhmYmQ3NWE2MzhiMWM3Njg1NDRiZDg4ZC5zdGgiLCJyb290X2hhc2giOiI0Q2VzUHVISFg2SFBtQnJTaVk3elFuNnJiZWxuUTJXZnkxSUlsdWRjN2hrIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzLzY4ZjY5OGY4MWY2NDgyYmUzYThjZWViOTI4MWQ0Y2ZjNzE1MTVkNjc5M2Q0NDRkMTBhNjdhY2JiNGY0ZmZiYzQuc3RoIiwicm9vdF9oYXNoIjoiSlBadURpelk1eFVIRVZ2R3lvRUZVd01VNkVIQ3JZa1Q3MzZWMDhCc3NqSSJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy82ZjUzNzZhYzMxZjAzMTE5ZDg5OTAwYTQ1MTE1ZmY3NzE1MWMxMWQ5MDJjMTAwMjkwNjhkYjIwODlhMzdkOTEzLnN0aCIsInJvb3RfaGFzaCI6IlY2aUZLdlhzMlVYNVh6UFJhVldKUHNGTk4xYTVRcnJLTXpGTDZOV2REV00ifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvNmZmMTQxYjU2NDdlNDIyMmY3ZWYwNTJjZWZhZTdjMjFmZDYwOGUyN2QyYWY1YTZlOWY0YjhhMzdkNjYzM2VlNS5zdGgiLCJyb290X2hhc2giOiJDQzZWSFkyMVlERTdLZ0hEdUU0aHdZbFVRcW00czJDSE5semhRWTZYZmpvIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzLzc0NjFiNGEwOWNmYjNkNDFkNzUxNTk1NzViMmU3NjQ5YTQ0NWE4ZDI3NzA5YjBjYzU2NGE2NDgyYjdlYjQxYTMuc3RoIiwicm9vdF9oYXNoIjoiU1hEM1N0WEJxNlhuTFM2akJ5VVhQcHlYbnpvRFFIdy15Ym5DcExuQjgtSSJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy83NDdlZGE4MzMxYWQzMzEwOTEyMTljY2UyNTRmNDI3MGMyYmZmZDVlNDIyMDA4YzYzNzM1NzllNjEwN2JjYzU2LnN0aCIsInJvb3RfaGFzaCI6Ik9rV0pObE9keGxFRHNqS0pTWDBOU3hBZ2Y2QV81SVJ6RGV4NXNjYzJWbWsifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvODc3NWJmZTc1OTdjZjg4YzQzOTk1ZmJkZjM2ZWZmNTY4ZDQ3NTYzNmZmNGFiNTYwYzFiNGVhZmY1ZWEwODMwZi5zdGgiLCJyb290X2hhc2giOiJoZ3NfOUtJQWRZUWo3MWxJSHRRaGVLQ0F6bUtqcl9IU0N3OUI5YlV4SkFvIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzL2E0NTAxMjY5MDU1YTE1NTQ1ZTYyMTFhYjM3YmMxMDNmNjJhZTU1NzZhNDVlNGIxNzE0NDUzZTFiMjIxMDZhMjUuc3RoIiwicm9vdF9oYXNoIjoiQlN1Uzl4ZFJZTGVVMlZXR1pVRUdteDhScE9iUnp3eFpzbkRnTFNTS0d6OCJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy9hNGI5MDk5MGI0MTg1ODE0ODdiYjEzYTJjYzY3NzAwYTNjMzU5ODA0ZjkxYmRmYjhlMzc3Y2QwZWM4MGRkYzEwLnN0aCIsInJvb3RfaGFzaCI6IjRtUGtZXzdFM0ttVUhJd0d0WVE5REZNUkJ0MTFQdUlvZVotZEV3eWFrZUUifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvYTU3N2FjOWNlZDc1NDhkZDhmMDI1YjY3YTI0MTA4OWRmODZlMGY0NzZlYzIwM2MyZWNiZWRiMTg1ZjI4MjYzOC5zdGgiLCJyb290X2hhc2giOiI2a2tnT0xmWVdNemxTVmFMLXd1NXRlc0cyYW5hWjFDRUxEMTFlcG9SU0hNIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzL2FjM2I5YWVkN2ZhOTY3NDc1NzE1OWU2ZDdkNTc1NjcyZjlkOTgxMDA5NDFlOWJkZWZmZWNhMTMxM2I3NTc4MmQuc3RoIiwicm9vdF9oYXNoIjoiUVJLckx3dm44WkFrRWNMQURfemNwdnhXOVplMW9WeXprT2hla3ozMG5sUSJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy9iMjFlMDVjYzhiYTJjZDhhMjA0ZTg3NjZmOTJiYjk4YTI1MjA2NzZiZGFmYTcwZTdiMjQ5NTMyZGVmOGI5MDVlLnN0aCIsInJvb3RfaGFzaCI6ImlMdGc3M2VPVFdnWWhTeno2c3Z4dTl2RGYyazA3YWFFTTZ3RlpqSjNtVzQifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvYmJkOWRmYmMxZjhhNzFiNTkzOTQyMzk3YWE5MjdiNDczODU3OTUwYWFiNTJlODFhOTA5NjY0MzY4ZTFlZDE4NS5zdGgiLCJyb290X2hhc2giOiJ3TWMxSE54Sl8tdGhYbk1IQS10MFhSaE9HQ19YeUtiYXktR09mVkxDU3pFIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzL2JjNzhlMWRmYzVmNjNjNjg0NjQ5MzM0ZGExMGZhMTVmMDk3OTY5MjAwOWMwODFiNGYzZjY5MTdmM2VkOWI4YTUuc3RoIiwicm9vdF9oYXNoIjoidlpKRm9Kc3Z0VjlLX0V6VkRFUjJQdE5ZR0RMTHRzRzFLSmVUMFR2MDhUQSJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy9jMTE2NGFlMGE3NzJkMmQ0MzkyZGM4MGFjMTA3NzBkNGYwYzQ5YmRlOTkxYTQ4NDBjMWZhMDc1MTY0ZjYzMzYwLnN0aCIsInJvb3RfaGFzaCI6IkRMZVpIRjNGSjAxZUdBUXhHYWdHdHN1MC16NnhxNmI1YkoyLU9BTVI4S2MifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvYzY1MmEwZWM0OGNlYjNmY2FiMTcwOTkyYzQzYTg3NDEzMzA5ZTgwMDY1YTI2MjUyNDAxYmEzMzYyYTE3YzU2NS5zdGgiLCJyb290X2hhc2giOiJQa3JkRHF6cTF2dFM3c1p5dEdPZWdMZWFGTk5PQXJBekFfaDRQNmhnTG84In0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzL2NkYjUxNzliN2ZjMWMwNDZmZWVhMzExMzZhM2Y4ZjAwMmU2MTgyZmFmODg5NmZlY2M4YjJmNWI1YWI2MDQ5MDAuc3RoIiwicm9vdF9oYXNoIjoiZVRrOGR6c2dvTENERW5vU2tVNjZTSFl0MnV5WXkwaUJwcnlMdVVWMFFRdyJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy9kYjc0YWZlZWNiMjllY2IxZmVjYTNlNzE2ZDJjZTViOWFhYmIzNmY3ODQ3MTgzYzc1ZDlkNGYzN2I2MWZiZjY0LnN0aCIsInJvb3RfaGFzaCI6IkxlNUdpSmJhYXVPSzE1OHBlYkdpSll0ZVI4a2VoLVpORnZsOGFldTN2SWMifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvZGRlYjFkMmI3YTBkNGZhNjIwOGI4MWFkODE2ODcwN2UyZThlOWQwMWQ1NWM4ODhkM2QxMWM0Y2RiNmVjYmVjYy5zdGgiLCJyb290X2hhc2giOiJMUGJOQ1d5VHRjR1VWVWoyVHMtczh1d0FWaVZuMy1CM1NxaFJaaGRjVXdNIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzL2UyNjk0YmFlMjZlOGU5NDAwOWU4ODYxYmI2M2I4M2Q0M2VlN2ZlNzQ4OGZiYTQ4ZjI4OTMwMTlkZGRmMWRiZmUuc3RoIiwicm9vdF9oYXNoIjoiYjVHaHU1N0w1TkQ1MGdFY0ZwYWNpcFFTRTJOTXpodGl6cGhvN05NT3VpVSJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy9lZTRiYmRiNzc1Y2U2MGJhZTE0MjY5MWZhYmUxOWU2NmEzMGY3ZTVmYjA3MmQ4ODMwMGM0N2I4OTdhYThmZGNiLnN0aCIsInJvb3RfaGFzaCI6IlZnSFdKTWt1Z3B5YlhfdURGUGR5U1A4Q0lUcE9EcUxid0hlQndWZjhOU00ifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvZWVjMDk1ZWU4ZDcyNjQwZjkyZTNjM2I5MWJjNzEyYTM2OTZhMDk3YjRiNmExYTE0MzhlNjQ3YjJjYmVkYzVmOS5zdGgiLCJyb290X2hhc2giOiJjTEJPblF5bU9NbnJuMkNHQUhHSHNhNjJOZzVYa0JyTVE4b0JBZFA0eDhRIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL2FsbC9zdGhzL2YwOTVhNDU5ZjIwMGQxODI0MDEwMmQyZjkzODg4ZWFkNGJmZTFkNDdlMzk5ZTFkMDM0YTZiMGE4YWE4ZWIyNzMuc3RoIiwicm9vdF9oYXNoIjoiQmk5a0hCWHk3WGxLeDQ4bmtoa1o5Q3gtS19YWnBJMEUyaEZFTVQ5TXhfNCJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9hbGwvc3Rocy9mNjVjOTQyZmQxNzczMDIyMTQ1NDE4MDgzMDk0NTY4ZWUzNGQxMzE5MzNiZmRmMGMyZjIwMGJjYzRlZjE2NGUzLnN0aCIsInJvb3RfaGFzaCI6Im13U0UxWE5wbm1ZZEZNZWNJU3NKZ29walJfREt5a3ZtVWdfTlVpdGN3U1EifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvYWxsL3N0aHMvZmU0NDYxMDhiMWQwMWFiNzhhNjJjY2ZlYWI2YWIyYjJiYWJmZjNhYmRhZDgwYTRkOGIzMGRmMmQwMDA4ODMwYy5zdGgiLCJyb290X2hhc2giOiIyNV9GZ2RqOTNXaXRjTDBBWmlDOHlhcWlMT3RtdHFZNUNiVk9majNzRFNzIn0seyJwYXRoIjoibWFuaWZlc3QuanNvbiIsInJvb3RfaGFzaCI6Im53NFEyXzNTaS1GOE1fWHVfQ1czYnJxLWFnZ3J1eURZNDBPMTVJenRGMjQifV0sImZvcm1hdCI6InRyZWVoYXNoIiwiaGFzaF9ibG9ja19zaXplIjo0MDk2fV0sIml0ZW1faWQiOiJvampnbnBraW9vbmRlbG1nZ2Jla2ZobGxoZGFpbW5obyIsIml0ZW1fdmVyc2lvbiI6IjEwMzciLCJwcm90b2NvbF92ZXJzaW9uIjoxfQ","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"Nl0F1hjMQhFuNMJGayUr2AcNQueHoQdhQ7fdQxabWc3dOXBH96GOhAbuYyDQvmhA5ufv3_2bSwMvHRBbLXSFtMds_qmCcDwl2ke-ssW-py8aAWsnEFqHx81WnR2StoQ2inuq5gX0LBP_y2Usi1q7HyIx8R3y7bbCf9zF6NwUFtm1ZsZ1pIvp4p_ckpCMDRZyYKC_cQzZbCtZHEVnwaIJJKGq1TiQaaRDI8YJkp3Tgr5mhJbTtwzJmxUT-tTpMACVsuzngvQGw0GGKlo8BzvYfoMZ0-CZr0xxQTxx4eYVdEK17xCVXDsI9fLwgDBE9pF2rMq2T8YsjpVyxTh254N5Cw"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"fRNNxl6i6QrLRZYFL2qPErIJ1ZSvMQf5LlbUm0fr7BxicUN2566ZoQsBBMk0fdd4UKwqGEJLTei6KwFdMys6zAryoZqvto84KG4SNPjWoNA3U_ynEgiyAM5rMC9orxC0jv0hQUFQu-SE9EFZfMhPFZ4cFCJSkTYIss2Ykowf-B6utFMIRARCm5MnWb_l8bnLGjRGrr9Q6Gtg9DxSXS5VmGb2h2auDj1XTpTIxOoL84ZAK0iBP10iKFdmRSxiY8jaO8g-TyibePzsApVCf-DV4pA0jQTH-g0bD7O9Ij3xHWwTAFiuaJQABmVxOYHdZA4t2GF0mr6FrohUUQnbhP5LsQ"}]}}] \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/03019df3fd85a69a8ebd1facc6da9ba73e469774fe77f579fc5a08b8328c1d6b.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/03019df3fd85a69a8ebd1facc6da9ba73e469774fe77f579fc5a08b8328c1d6b.sth new file mode 100644 index 0000000000000000000000000000000000000000..cd483eb16d4b91dde2124e033fd82e6c9beccb16 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/03019df3fd85a69a8ebd1facc6da9ba73e469774fe77f579fc5a08b8328c1d6b.sth @@ -0,0 +1 @@ +{"tree_size":111554066,"timestamp":1550570684414,"sha256_root_hash":"+wpnQSIAXAgRm10MIGYSpVdsrbuzKR5fPsxZUrddtWk=","tree_head_signature":"BAMARjBEAiASvuoSKOi5yzZ2poCPbvKFB2BCxNIpC6yxbcUpjVJXQQIgINwADgLeri2PjLCLHST4Qk1xdFQltlfNM9EwEDxgD4Y="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/15970488d7b997a05beb52512adee8d2e8b4a3165264121a9fabfbd5f85ad93f.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/15970488d7b997a05beb52512adee8d2e8b4a3165264121a9fabfbd5f85ad93f.sth new file mode 100644 index 0000000000000000000000000000000000000000..77b942766326f695cc8d87b43b39ee42c775bc62 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/15970488d7b997a05beb52512adee8d2e8b4a3165264121a9fabfbd5f85ad93f.sth @@ -0,0 +1 @@ +{"tree_size":1403918,"timestamp":1539370801177,"sha256_root_hash":"m4VPlnLkoLdBRaM7IESD+unqPj73h8d1SewHzX3Tb3Q=","tree_head_signature":"BAMARjBEAiBzPR9XcJFS8F9h6wszz/HjWe3B+ZxaI0i8KjyDGrndqQIgfljsT2SPvLuCE+lzX+jQhzoyyU5QwEmIbaI0uYPcuuk="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/2245450759552456963fa12ff1f76d86e0232663adc04b7f5dc6835c6ee20f02.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/2245450759552456963fa12ff1f76d86e0232663adc04b7f5dc6835c6ee20f02.sth new file mode 100644 index 0000000000000000000000000000000000000000..5198c5fd2e3288d198f8a2c06cdcebcc7febbdaa --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/2245450759552456963fa12ff1f76d86e0232663adc04b7f5dc6835c6ee20f02.sth @@ -0,0 +1 @@ +{"tree_size":3627,"timestamp":1550527239537,"sha256_root_hash":"g4NbPuWqenN8cE/QkKiUp0/vXD+S91lsGlemEEjYkXI=","tree_head_signature":"BAMARzBFAiBedOvFyYZ+CWniwSYcpT3bSwmmiLT6xYA6D5pqxJjWpwIhANkRepJB8CRfpt67l1lapVAthkq2AWPZlwCuf0uDL/UU"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/293c519654c83965baaa50fc5807d4b76fbf587a2972dca4c30cf4e54547f478.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/293c519654c83965baaa50fc5807d4b76fbf587a2972dca4c30cf4e54547f478.sth new file mode 100644 index 0000000000000000000000000000000000000000..e31b3209d6ebd56b78c8695c0f8a61246234b836 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/293c519654c83965baaa50fc5807d4b76fbf587a2972dca4c30cf4e54547f478.sth @@ -0,0 +1 @@ +{"tree_size":507322092,"timestamp":1550569233048,"sha256_root_hash":"72wuToVZMCYna3UbfGITi1/XeRw9renPtmEGq3iSHWo=","tree_head_signature":"BAMARzBFAiAM0rJHvHoGFyZWjkQSrHjr0yKiqJbKcT/TIjKVa6PfOwIhALCxi2fmca7bLkQxhAcqLukh1dixvCg5yoPQDWQSii1H"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/34bb6ad6c3df9c03eea8a499ff7891486c9d5e5cac92d01f7bfd1bce19db48ef.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/34bb6ad6c3df9c03eea8a499ff7891486c9d5e5cac92d01f7bfd1bce19db48ef.sth new file mode 100644 index 0000000000000000000000000000000000000000..701d09045fe5d4e84346fa9929195b99ea346f65 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/34bb6ad6c3df9c03eea8a499ff7891486c9d5e5cac92d01f7bfd1bce19db48ef.sth @@ -0,0 +1 @@ +{"tree_size":359346,"timestamp":1524017300260,"sha256_root_hash":"428iUm6Ff/Z9nbC1suFID2JnSOYWzIcaIRaRupf4VHM=","tree_head_signature":"BAMARzBFAiEAzuCxFO4ZYrQDibWr3io+An7cD4zpcEC4LmcY/Zlt/hUCIF0rlzwoWPzEl5ZcKTZD0IEvAKfYwAJE8jlldYzD1NMk"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/41b2dc2e89e63ce4af1ba7bb29bf68c6dee6f9f1cc047e30dffae3b3ba259263.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/41b2dc2e89e63ce4af1ba7bb29bf68c6dee6f9f1cc047e30dffae3b3ba259263.sth new file mode 100644 index 0000000000000000000000000000000000000000..d23df10f18380e26e17e033af87af01aab3e5f1d --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/41b2dc2e89e63ce4af1ba7bb29bf68c6dee6f9f1cc047e30dffae3b3ba259263.sth @@ -0,0 +1 @@ +{"tree_size":9214605,"timestamp":1524011290478,"sha256_root_hash":"oXJvQUJ6D/lgCn78V7FIXueahi+b21FPUzYQaOoAxj8=","tree_head_signature":"BAMARzBFAiEA0eN7alw8PO6LI0O7nxVYy3h//rgswZuqJrs3xRKDkVACIH0VIdSvPIgtfSg6iYYJtWxagn54o532RQNWZYNLFxcw"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/4494652eb0eeceafc44007d8a8fe28c0dae682bed8cb31b53fd33396b5b681a8.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/4494652eb0eeceafc44007d8a8fe28c0dae682bed8cb31b53fd33396b5b681a8.sth new file mode 100644 index 0000000000000000000000000000000000000000..77e52cddad6cb885e83d8024cb3eace3b37ddbfc --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/4494652eb0eeceafc44007d8a8fe28c0dae682bed8cb31b53fd33396b5b681a8.sth @@ -0,0 +1 @@ +{"tree_size":2042574,"timestamp":1550567508142,"sha256_root_hash":"R3nx8BuMv+Jd037MXGJ6NpQEbcvGZwUoyvPs3/5oTaw=","tree_head_signature":"BAMARzBFAiB0t+8NMbZ0uKv/ICxQ8DHCBGJNJKb+55v6kTqa2vvt+AIhALQiQKKtRBtv6rp4USJjczzaXxtVu9WkzINZOoFTjzlc"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/51a3b0f5fd01799c566db837788f0ca47acc1b27cbf79e88429a0dfed48b05e5.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/51a3b0f5fd01799c566db837788f0ca47acc1b27cbf79e88429a0dfed48b05e5.sth new file mode 100644 index 0000000000000000000000000000000000000000..7e5a8ec9ede2cdc1e358d5627047de7ce7926842 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/51a3b0f5fd01799c566db837788f0ca47acc1b27cbf79e88429a0dfed48b05e5.sth @@ -0,0 +1 @@ +{"tree_size":3380,"timestamp":1550527249411,"sha256_root_hash":"To6HVQBa/o+ZuLbvbS4oA38KEHOR7AvK0NwjVlVXZJo=","tree_head_signature":"BAMARzBFAiEA5iRAyS3onstSwcsVYRcbOpzQfBDEdDILjJkfphT0r50CIGqTT/13zSGulM9RbGnBKlfbbEm1Eh2WQJu1HdCyggwL"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5581d4c2169036014aea0b9b573c53f0c0e43878702508172fa3aa1d0713d30c.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5581d4c2169036014aea0b9b573c53f0c0e43878702508172fa3aa1d0713d30c.sth new file mode 100644 index 0000000000000000000000000000000000000000..ede2d0cf49360765c6fdcaa51ae9f05b803a6127 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5581d4c2169036014aea0b9b573c53f0c0e43878702508172fa3aa1d0713d30c.sth @@ -0,0 +1 @@ +{"tree_size":144938005,"timestamp":1550570114643,"sha256_root_hash":"qFLjPlKuVHlBSuwZUsXzx6n+TJYi+A4YnevK2cLsDIE=","tree_head_signature":"BAMARjBEAiB8rf/jZmKYP+294Y5ekJxK5ZyBzLTGCEjXrgVENhhzqgIgdFmBJz6G/CcPJCd11Ry5f51Hoo/ANumq0VX5y8SXD40="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5614069a2fd7c2ecd3f5e1bd44b23ec74676b9bc99115cc0ef949855d689d0dd.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5614069a2fd7c2ecd3f5e1bd44b23ec74676b9bc99115cc0ef949855d689d0dd.sth new file mode 100644 index 0000000000000000000000000000000000000000..e5cce7b01e051683d9cccac458147b8eaa653aac --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5614069a2fd7c2ecd3f5e1bd44b23ec74676b9bc99115cc0ef949855d689d0dd.sth @@ -0,0 +1 @@ +{"tree_size":9723454,"timestamp":1550527225077,"sha256_root_hash":"c74+Vmnmo0mKnUJeebXHxZC+7R/G0W6Y3irEju9/xGs=","tree_head_signature":"BAMASDBGAiEArjgpOKxtu46UK3kcOxvNjWIo7CKerpAzxG/1bjWQirACIQChaSsXsdOH+27vPQ40fTWhHX4A8KBS1a1OSAhClc3Izw=="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5cdc4392fee6ab4544b15e9ad456e61037fbd5fa47dca17394b25ee6f6c70eca.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5cdc4392fee6ab4544b15e9ad456e61037fbd5fa47dca17394b25ee6f6c70eca.sth new file mode 100644 index 0000000000000000000000000000000000000000..300f93dcdcb7691ea0839ebc2fd5c77a00c8f38b --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5cdc4392fee6ab4544b15e9ad456e61037fbd5fa47dca17394b25ee6f6c70eca.sth @@ -0,0 +1 @@ +{"tree_size":644414,"timestamp":1550527216881,"sha256_root_hash":"Dc2AFLUBbXry70GqgkOS3t2N7GJsQHIFUrAMYZlqB08=","tree_head_signature":"BAMARzBFAiEA4EfAb9zZUGQGL975/MaUufigvIfqIQFSye0y9Z3nKekCIDFwTg+Gll/DUmJaZS4TP+ya3P+oHE89fw1TpwYzFQkF"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5ea773f9df56c0e7b536487dd049e0327a919a0c84a112128418759681714558.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5ea773f9df56c0e7b536487dd049e0327a919a0c84a112128418759681714558.sth new file mode 100644 index 0000000000000000000000000000000000000000..684a73e5ac4b8d7f69988e2d1f0c543f985e2e0b --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/5ea773f9df56c0e7b536487dd049e0327a919a0c84a112128418759681714558.sth @@ -0,0 +1 @@ +{"tree_size":15370958,"timestamp":1550567507299,"sha256_root_hash":"OiKLVz85vHakXco9C8YK6Z8OuyKReAHp4wMKVdDthI8=","tree_head_signature":"BAMASDBGAiEA4nDNlPk0J9e5SD7khU36pds5TLxwCMUxVij+fDK40kMCIQDFsyWOrHpFEuP8EndX3/9i1mZNgVlfkLDBooOQFnKjQQ=="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/63f2dbcde83bcc2ccf0b728427576b33a48d61778fbd75a638b1c768544bd88d.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/63f2dbcde83bcc2ccf0b728427576b33a48d61778fbd75a638b1c768544bd88d.sth new file mode 100644 index 0000000000000000000000000000000000000000..f8d9a8a61f393fecb0aa68d3aa41c39f737b0476 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/63f2dbcde83bcc2ccf0b728427576b33a48d61778fbd75a638b1c768544bd88d.sth @@ -0,0 +1 @@ +{"tree_size":287597135,"timestamp":1550568993067,"sha256_root_hash":"v2agRzuykcuFuQKQVyvQ94lKpQdYaIPjKNAntvN1liY=","tree_head_signature":"BAMARzBFAiBW+sdN4memVoZ/vLzZMRWoAsx3DnIGp8/F8FpNOTSpXgIhAK6/gMRRRQaUZIwv+LUkqU88OdBun1Ypv85gNgWRDScB"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/68f698f81f6482be3a8ceeb9281d4cfc71515d6793d444d10a67acbb4f4ffbc4.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/68f698f81f6482be3a8ceeb9281d4cfc71515d6793d444d10a67acbb4f4ffbc4.sth new file mode 100644 index 0000000000000000000000000000000000000000..533a16183a9052d22cc5e2aa81040d7b9e03298d --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/68f698f81f6482be3a8ceeb9281d4cfc71515d6793d444d10a67acbb4f4ffbc4.sth @@ -0,0 +1 @@ +{"tree_size":46466472,"timestamp":1480512258330,"sha256_root_hash":"LcGcZRsm+LGYmrlyC5LXhV1T6OD8iH5dNlb0sEJl9bA=","tree_head_signature":"BAMASDBGAiEA/M0Nvt77aNe+9eYbKsv6rRpTzFTKa5CGqb56ea4hnt8CIQCJDE7pL6xgAewMd5i3G1lrBWgFooT2kd3+zliEz5Rw8w=="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/6f5376ac31f03119d89900a45115ff77151c11d902c10029068db2089a37d913.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/6f5376ac31f03119d89900a45115ff77151c11d902c10029068db2089a37d913.sth new file mode 100644 index 0000000000000000000000000000000000000000..149942ba50c00ca09f0bffa78c2e0f5ee13851c8 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/6f5376ac31f03119d89900a45115ff77151c11d902c10029068db2089a37d913.sth @@ -0,0 +1 @@ +{"tree_size":119969244,"timestamp":1550568404166,"sha256_root_hash":"o1buJvTMnQztFj/xNXlVj4Jz3VxtoXsdSiukwmBH74w=","tree_head_signature":"BAMARjBEAiA6W6lSLclLWP2YBH2wNC50z2tZ04xB8GTBaOMp4hyReAIgA1QcQgR74BmnKWepRV2beKCIby62Nom9Wcs6Ep/pEFw="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/6ff141b5647e4222f7ef052cefae7c21fd608e27d2af5a6e9f4b8a37d6633ee5.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/6ff141b5647e4222f7ef052cefae7c21fd608e27d2af5a6e9f4b8a37d6633ee5.sth new file mode 100644 index 0000000000000000000000000000000000000000..8f0212b12489e14b61c515b389d5a3d105dbd84e --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/6ff141b5647e4222f7ef052cefae7c21fd608e27d2af5a6e9f4b8a37d6633ee5.sth @@ -0,0 +1 @@ +{"tree_size":102686882,"timestamp":1550527206720,"sha256_root_hash":"a5v+TrZUAAZ8qzA/FVRjeHpKPjW0HUu/eAAL7hXNvuk=","tree_head_signature":"BAMASDBGAiEA6QnoaVmkSIFc/BUSlRjs36wlg7vMBh1n9q1T9VzeKzUCIQDerk88p8vixZt4/SKaRR9ExW49qQCMMsxdo/ecqvaCjg=="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/7461b4a09cfb3d41d75159575b2e7649a445a8d27709b0cc564a6482b7eb41a3.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/7461b4a09cfb3d41d75159575b2e7649a445a8d27709b0cc564a6482b7eb41a3.sth new file mode 100644 index 0000000000000000000000000000000000000000..2d0e293bbce089b69a19949e6558cf30ba21a934 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/7461b4a09cfb3d41d75159575b2e7649a445a8d27709b0cc564a6482b7eb41a3.sth @@ -0,0 +1 @@ +{"tree_size":163222,"timestamp":1477122240742,"sha256_root_hash":"Va3P0ZdT3NAFQo5mOedXq+LDyZokGQnV4LPvxwpyztY=","tree_head_signature":"BAMARjBEAiBdmkhpq+zSsyH2O8p3ZMypRIAlo9xibT3QMnPNSgWUkQIgQXOJLNpi9/9g+j7xVV3cjLbgASXbMmV2rVXaeZ1G6Vg="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/747eda8331ad331091219cce254f4270c2bffd5e422008c6373579e6107bcc56.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/747eda8331ad331091219cce254f4270c2bffd5e422008c6373579e6107bcc56.sth new file mode 100644 index 0000000000000000000000000000000000000000..fa0944066f3bf5c0a892b1f78eb5d4f6836b2082 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/747eda8331ad331091219cce254f4270c2bffd5e422008c6373579e6107bcc56.sth @@ -0,0 +1 @@ +{"tree_size":179773759,"timestamp":1550564146357,"sha256_root_hash":"SWk2mQ9p/lrNJT9FUDwRkn1BvFpA0oT+Z33uyiZ6HaI=","tree_head_signature":"BAMARjBEAiBqdGWezRW5vsGg0+W3cZyr96AN49SLilvD7Q0YSPpmpwIgZ4jUl/oG0isED7ImdkmZMtIKvuuoN5QWofnYo5p9h4k="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/8775bfe7597cf88c43995fbdf36eff568d475636ff4ab560c1b4eaff5ea0830f.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/8775bfe7597cf88c43995fbdf36eff568d475636ff4ab560c1b4eaff5ea0830f.sth new file mode 100644 index 0000000000000000000000000000000000000000..b5821fb839d0c7e8a910248f32dd8914f5de5a15 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/8775bfe7597cf88c43995fbdf36eff568d475636ff4ab560c1b4eaff5ea0830f.sth @@ -0,0 +1 @@ +{"tree_size":26487937,"timestamp":1550523618524,"sha256_root_hash":"P8zVukoFL3J7yCBySpTKjAN5r885qi04d5KP7VrhIFc=","tree_head_signature":"BAMARjBEAiBMvpMLPJ/r1EuFGaPrqPb+WXuP5ZosF762iIFbFsoi9wIgPD6dxL1VGJYrFJZXOrAieossZacgTiwTRh6P29F0hp0="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/a4501269055a15545e6211ab37bc103f62ae5576a45e4b1714453e1b22106a25.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/a4501269055a15545e6211ab37bc103f62ae5576a45e4b1714453e1b22106a25.sth new file mode 100644 index 0000000000000000000000000000000000000000..122bd1a3809527c01e0eea110d4ea48bf026dd13 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/a4501269055a15545e6211ab37bc103f62ae5576a45e4b1714453e1b22106a25.sth @@ -0,0 +1 @@ +{"tree_size":427479569,"timestamp":1550568722805,"sha256_root_hash":"TszskdIzeHoddb0gJJZ+DR7aNqjSrfRwW+q9kbizEIw=","tree_head_signature":"BAMARzBFAiBUKi/rSJO0zM74NuvQNTykUFtR1nCKN30bLwhXghridQIhAICRf3IXeeKAXtRczrfTRbjMrOVs0Ujl/hDgWZ9d8J20"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/a4b90990b418581487bb13a2cc67700a3c359804f91bdfb8e377cd0ec80ddc10.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/a4b90990b418581487bb13a2cc67700a3c359804f91bdfb8e377cd0ec80ddc10.sth new file mode 100644 index 0000000000000000000000000000000000000000..3f792a1ebb43c86bfdef0a549100ff75ed07f9f7 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/a4b90990b418581487bb13a2cc67700a3c359804f91bdfb8e377cd0ec80ddc10.sth @@ -0,0 +1 @@ +{"tree_size":524625005,"timestamp":1550569592194,"sha256_root_hash":"ZpCglK16KbWdBvitgk+X31sf8HQQFYfkGlM6Fx+JbXs=","tree_head_signature":"BAMARzBFAiA0B9T7UYIT+fzUXSBv+NrZiP9LVK9q4ALjU+MwCB7fkAIhALejhtVjOSsHNM6DfiSN09w0AwuYRaUU05sm6Kh6sVEc"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/a577ac9ced7548dd8f025b67a241089df86e0f476ec203c2ecbedb185f282638.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/a577ac9ced7548dd8f025b67a241089df86e0f476ec203c2ecbedb185f282638.sth new file mode 100644 index 0000000000000000000000000000000000000000..fecbf558b5065605cbd8886a10fd96493607ce16 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/a577ac9ced7548dd8f025b67a241089df86e0f476ec203c2ecbedb185f282638.sth @@ -0,0 +1 @@ +{"tree_size":52670,"timestamp":1550568959037,"sha256_root_hash":"Pw4e3FlXgrD3f5VbWHsT3tQ7jE73X6Qfe5OBgjjJbqM=","tree_head_signature":"BAEBAIqdyVLSdTt/8TPg9ZoBNa+j3iiZjkPeip8whMAABI5z3aS198++siTnETQ+XDTw9UhV1ShuIQHrPsl5PnnyCDsXMwUDttYGF7IVmfxZpgENE2B/jUvGk+SYZQ21Iwji1bGpNfgwa83+G2ER5q1nIg+xHfuLWYCVhLZxLiRf0PxR/pp0cyMCe5HFLK3s7ckFDxTo3C29S+KHwsXXtX/pqLKENicWDWd7mG8YUmqxYSStN+3zl8BC4TNb7ad81PAbOD+xTIBVzJ+ExI7VKiz80GiTNTEk3oXdqYFBIJYxP0BixWDCUsFRkyBDKnGb+i+qZzfJYyiXlTJV7G1NUJMxOUs="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/ac3b9aed7fa9674757159e6d7d575672f9d98100941e9bdeffeca1313b75782d.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/ac3b9aed7fa9674757159e6d7d575672f9d98100941e9bdeffeca1313b75782d.sth new file mode 100644 index 0000000000000000000000000000000000000000..1b1ca970a7a876ec43e1cdb33870d1d06d5080fc --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/ac3b9aed7fa9674757159e6d7d575672f9d98100941e9bdeffeca1313b75782d.sth @@ -0,0 +1 @@ +{"tree_size":99988,"timestamp":1509737762425,"sha256_root_hash":"PYhXTZxlpXgNk1vb4PRizDaR2fC1lheH/LdwgEtq+Og=","tree_head_signature":"BAEBAEtSo8+NFoTXj0EIBJ0e3nYmaT5Rm7OnsWF9xKyNAixfjuaPxQhPqoH0tStKD07m+mtOHmxYuBJiEhbq9DPiGLzCBnu5tsZSlXFJE0HD8+jFgCc3DIRLvpb63+RenAvAIJb9lWtbHy7g9WF61Kw6nzV90xgPpKWByoVnvuGsbFRwS9oBKsljNgu7QXXqgTtIKNMlBg/HTJk+dkNLPT1ISu/ZqMZlk4gvMrOfHf5Hi+PW0jej+9rq5sHxvQltYNiHlK4KuM3xRX7TauRPyjQ7bhDIqV7aor3MwL9m/aIbwoGzCXAyWrrd7lOl4sfpvdbAgk3u99AyWwwXp1OIK1AGecI="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/b21e05cc8ba2cd8a204e8766f92bb98a2520676bdafa70e7b249532def8b905e.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/b21e05cc8ba2cd8a204e8766f92bb98a2520676bdafa70e7b249532def8b905e.sth new file mode 100644 index 0000000000000000000000000000000000000000..01f5e12160de1f69b0bd764f258302cb94a046e6 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/b21e05cc8ba2cd8a204e8766f92bb98a2520676bdafa70e7b249532def8b905e.sth @@ -0,0 +1 @@ +{"tree_size":5733150,"timestamp":1550569110885,"sha256_root_hash":"PyAWo/XB6wDf3G6PPAFcveluvClOYsumw7UnCzypcww=","tree_head_signature":"BAMASDBGAiEAxIKjzy67QdKusKxJfahb2WoI0hu/Qswq3yQq/tjjgM0CIQD7Mzag+ydfDU0qoCY/ZgUNENcLiSkjUP8UaVwEGJSl0w=="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/bbd9dfbc1f8a71b593942397aa927b473857950aab52e81a909664368e1ed185.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/bbd9dfbc1f8a71b593942397aa927b473857950aab52e81a909664368e1ed185.sth new file mode 100644 index 0000000000000000000000000000000000000000..0a933546f37827e9b71826b688bf7d8e4b37e31e --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/bbd9dfbc1f8a71b593942397aa927b473857950aab52e81a909664368e1ed185.sth @@ -0,0 +1 @@ +{"tree_size":118105632,"timestamp":1550569473321,"sha256_root_hash":"NY0ky3Ysyw7oROKSLwvuONSwP3Zi8MX2HTEo3Bzhwvc=","tree_head_signature":"BAMASDBGAiEA65N4FU1O4q8zAJgoweNA6yVc+0DPA1v5OTU5bmT78NgCIQCpAKn3uZMzcHAWeQF6OrDjAXaLSNzchBSt2bv8SjaSyw=="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/bc78e1dfc5f63c684649334da10fa15f0979692009c081b4f3f6917f3ed9b8a5.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/bc78e1dfc5f63c684649334da10fa15f0979692009c081b4f3f6917f3ed9b8a5.sth new file mode 100644 index 0000000000000000000000000000000000000000..b374710d6d30daf0aae22ff9673875d09b3dda74 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/bc78e1dfc5f63c684649334da10fa15f0979692009c081b4f3f6917f3ed9b8a5.sth @@ -0,0 +1 @@ +{"tree_size":1673300,"timestamp":1539370800228,"sha256_root_hash":"exIiZblvO5m9buxRmCzBt4NcpsNJzeuixfYsAm7z/Ls=","tree_head_signature":"BAMARjBEAiAiX7hEhCq9rnpKFsvRhwU4X2Q+uBmXaL1YUvbj6w+RAAIgZJRDlMjexskBVQwLRMB0Xd7rO+tmiQFFw9+0DQUBzLI="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/c1164ae0a772d2d4392dc80ac10770d4f0c49bde991a4840c1fa075164f63360.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/c1164ae0a772d2d4392dc80ac10770d4f0c49bde991a4840c1fa075164f63360.sth new file mode 100644 index 0000000000000000000000000000000000000000..3cd30242d7cec59f9fc5b55b17c49265939817e0 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/c1164ae0a772d2d4392dc80ac10770d4f0c49bde991a4840c1fa075164f63360.sth @@ -0,0 +1 @@ +{"tree_size":90785920,"timestamp":1550527239280,"sha256_root_hash":"l+XrWXWRyp4SmATORgTfz4CcYS/VlE7CeTuWI0FAk3o=","tree_head_signature":"BAMASDBGAiEAh+o1sE80qY4I9xGeeBxWH57Lnaw5p28JyJtGsVATZvICIQDI1pYcy6CWrlo3f7kfhqgw7zhZmv2zHO/kkfh4YBoHXA=="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/c652a0ec48ceb3fcab170992c43a87413309e80065a26252401ba3362a17c565.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/c652a0ec48ceb3fcab170992c43a87413309e80065a26252401ba3362a17c565.sth new file mode 100644 index 0000000000000000000000000000000000000000..3a071bd5d4dc58accf23032424e72d0dfa57dab3 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/c652a0ec48ceb3fcab170992c43a87413309e80065a26252401ba3362a17c565.sth @@ -0,0 +1 @@ +{"tree_size":65858,"timestamp":1550527219032,"sha256_root_hash":"nFRoMRpaIQu8nINBp6pA+SDul+VdO/Kd9PWSwD2bBFU=","tree_head_signature":"BAMARzBFAiEA7lERRj891ymdUZyhvFHrmvM6sjQPW26dRp1JVKm/bP8CIB4V4upU1DrQFgSCz2xDrNNiyGJ4ZdFTxoPDRs8oZZs/"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/cdb5179b7fc1c046feea31136a3f8f002e6182faf8896fecc8b2f5b5ab604900.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/cdb5179b7fc1c046feea31136a3f8f002e6182faf8896fecc8b2f5b5ab604900.sth new file mode 100644 index 0000000000000000000000000000000000000000..d663ac6612d742736719c09a8ab88881fe4464c8 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/cdb5179b7fc1c046feea31136a3f8f002e6182faf8896fecc8b2f5b5ab604900.sth @@ -0,0 +1 @@ +{"tree_size":1721095,"timestamp":1461290803313,"sha256_root_hash":"2E5dWr2KW4fopwyKIx++9bKDqLJ7+4SDkpartqOxyp8=","tree_head_signature":"BAMASDBGAiEA8lQ799AMGDtbjx7Dfe46Xk31mOuHdFD1lpYrHZKrSRkCIQDD/Hh6s9F2VYkZwZ2X/zf4t2yHaZDz1NPiF1tanCJvzw=="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/db74afeecb29ecb1feca3e716d2ce5b9aabb36f7847183c75d9d4f37b61fbf64.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/db74afeecb29ecb1feca3e716d2ce5b9aabb36f7847183c75d9d4f37b61fbf64.sth new file mode 100644 index 0000000000000000000000000000000000000000..87636be6bbe23162328c9b83f7fa0a09495fa3ce --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/db74afeecb29ecb1feca3e716d2ce5b9aabb36f7847183c75d9d4f37b61fbf64.sth @@ -0,0 +1 @@ +{"tree_size":265514260,"timestamp":1546451090108,"sha256_root_hash":"kCdsLaegBfSkoDDRuglFDxiCXZbuRmTgki65u6XsPTU=","tree_head_signature":"BAMARjBEAiBH1be4Jqid5mFpCdxbht8sBJd01WbEl/rWxFHx60G1MwIgVXzN3ubHGZM2BisfGamLUceFpcDAjQhqv8stbGFbCfw="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/ddeb1d2b7a0d4fa6208b81ad8168707e2e8e9d01d55c888d3d11c4cdb6ecbecc.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/ddeb1d2b7a0d4fa6208b81ad8168707e2e8e9d01d55c888d3d11c4cdb6ecbecc.sth new file mode 100644 index 0000000000000000000000000000000000000000..8e191030bb320c3aa76258c12bd673ec69f1516a --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/ddeb1d2b7a0d4fa6208b81ad8168707e2e8e9d01d55c888d3d11c4cdb6ecbecc.sth @@ -0,0 +1 @@ +{"tree_size":9426803,"timestamp":1539370800423,"sha256_root_hash":"jp0zpJ0QKhAKtAbP430u22zSmIjeIoUrBNGbms05Sv4=","tree_head_signature":"BAMARzBFAiAwhXVvTSaIdyTxdoLUAtrSRhCn0hS3xM0wnzRZsLz40QIhAIDQYoOBjVqSi9aMx3GVEhrpTubcNnJVwou826A2HVXP"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/e2694bae26e8e94009e8861bb63b83d43ee7fe7488fba48f2893019dddf1dbfe.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/e2694bae26e8e94009e8861bb63b83d43ee7fe7488fba48f2893019dddf1dbfe.sth new file mode 100644 index 0000000000000000000000000000000000000000..20b9fe126a2e29928fa064b4d3117cd700cde2d2 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/e2694bae26e8e94009e8861bb63b83d43ee7fe7488fba48f2893019dddf1dbfe.sth @@ -0,0 +1 @@ +{"tree_size":93357187,"timestamp":1550527232417,"sha256_root_hash":"r6c7LfGjcjODA87No4Kby3YrSd/HWU+bca7/99zXYRk=","tree_head_signature":"BAMARzBFAiEAmkM/w5hiddLpFiodvLDYn2i7AKXX8y/p82vs3SROsN8CIExTIbTNevaNlhME+Oowli5kTh6pD6g8l4W9rVbp3y11"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/ee4bbdb775ce60bae142691fabe19e66a30f7e5fb072d88300c47b897aa8fdcb.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/ee4bbdb775ce60bae142691fabe19e66a30f7e5fb072d88300c47b897aa8fdcb.sth new file mode 100644 index 0000000000000000000000000000000000000000..78c9c9e8d3906122b03a56dff4a2e0a0f597a194 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/ee4bbdb775ce60bae142691fabe19e66a30f7e5fb072d88300c47b897aa8fdcb.sth @@ -0,0 +1 @@ +{"tree_size":592674323,"timestamp":1550568993517,"sha256_root_hash":"6RtiB7MTvdQa/9BBAEF2nxl8ZEKe4jURl6I4W9r4ubs=","tree_head_signature":"BAMASDBGAiEAkczz5agjrlk0qYuw7e32uwPg1XtY6Qsb8c2VWeXgmCUCIQDAQe0mYWbQnd7jlO1NJZvb+OWhE327YaXuIOhsxL9fQw=="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/eec095ee8d72640f92e3c3b91bc712a3696a097b4b6a1a1438e647b2cbedc5f9.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/eec095ee8d72640f92e3c3b91bc712a3696a097b4b6a1a1438e647b2cbedc5f9.sth new file mode 100644 index 0000000000000000000000000000000000000000..a5b0b65be765c5f456f9f3a6fe80cc8154e580ef --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/eec095ee8d72640f92e3c3b91bc712a3696a097b4b6a1a1438e647b2cbedc5f9.sth @@ -0,0 +1 @@ +{"tree_size":57064,"timestamp":1550527202341,"sha256_root_hash":"6uSxHLQ0qrUVM2xQLr5I9BnkrPZJh4879SRLOjjHeeI=","tree_head_signature":"BAMARzBFAiEAn3tX2RdiWt6hXywDCnkUFB76G0M0qQI/l+vJSyyWNuECIE1FeUf7lugW0JC8eem9sjpeqhPatsKebKG54Qlbx6hd"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/f095a459f200d18240102d2f93888ead4bfe1d47e399e1d034a6b0a8aa8eb273.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/f095a459f200d18240102d2f93888ead4bfe1d47e399e1d034a6b0a8aa8eb273.sth new file mode 100644 index 0000000000000000000000000000000000000000..c18fac00cebf6a46c80ded483b579567b5921985 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/f095a459f200d18240102d2f93888ead4bfe1d47e399e1d034a6b0a8aa8eb273.sth @@ -0,0 +1 @@ +{"tree_size":1047797,"timestamp":1550527246965,"sha256_root_hash":"7WvyXtY9NqswvehRPvUIzb8PEPCZTVTLQgIsv9BNJAw=","tree_head_signature":"BAMARjBEAiBjTYeFJfiZcKWtwB3LuQgJ/YF9gr9YLsjobGqpFqm/hgIgIrTQ6iu0o+YSJrCipfriXyiEVqcaqNWIhDTVPq93LZY="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/f65c942fd1773022145418083094568ee34d131933bfdf0c2f200bcc4ef164e3.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/f65c942fd1773022145418083094568ee34d131933bfdf0c2f200bcc4ef164e3.sth new file mode 100644 index 0000000000000000000000000000000000000000..49d21a7793977bbffc7f58a85753a525242562e2 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/f65c942fd1773022145418083094568ee34d131933bfdf0c2f200bcc4ef164e3.sth @@ -0,0 +1 @@ +{"tree_size":676479,"timestamp":1550569919474,"sha256_root_hash":"MrLn7XHXy3P4C0iQZuiPTCMkG6ABc3GfkKJ7/jOlDmA=","tree_head_signature":"BAMARzBFAiEA51NRYrNGd4s/4Y45C9GnfIN06uW/X4EMRLw1KmOwfTICICm8NrMZfrbwWtmrBW91yiSgvX1VE7pU3go0JpyeB5Y4"} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/fe446108b1d01ab78a62ccfeab6ab2b2babff3abdad80a4d8b30df2d0008830c.sth b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/fe446108b1d01ab78a62ccfeab6ab2b2babff3abdad80a4d8b30df2d0008830c.sth new file mode 100644 index 0000000000000000000000000000000000000000..3cd18eb4b9e76a8fde838027196bffcae1e9c530 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/_platform_specific/all/sths/fe446108b1d01ab78a62ccfeab6ab2b2babff3abdad80a4d8b30df2d0008830c.sth @@ -0,0 +1 @@ +{"tree_size":66081,"timestamp":1550527245845,"sha256_root_hash":"L4B2s9ImyQMYb+enTSvsISbCGeVY8ma/fIpn9cF4p/Y=","tree_head_signature":"BAMASDBGAiEA7FnPJwUQCSNa7T+a1mO5lXErxFFXGovQ5w4bOqW2JLMCIQCD929iXifmvukKMQ/YoreJH9QlBvwjYku6qbFSQ88pTw=="} \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/manifest.fingerprint b/~/.config/google-chrome/CertificateTransparency/1037/manifest.fingerprint new file mode 100644 index 0000000000000000000000000000000000000000..40e2fa0c5bbe1f4152fd32d008c9170b47bc604b --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/manifest.fingerprint @@ -0,0 +1 @@ +1.1d7bd8ff31b51d80905c64c72e9aef37bf06f19d8e6f2457594dad7202dc5828 \ No newline at end of file diff --git a/~/.config/google-chrome/CertificateTransparency/1037/manifest.json b/~/.config/google-chrome/CertificateTransparency/1037/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..8b7382644a64ea4f85a546ad3c3ca5419fbf28b8 --- /dev/null +++ b/~/.config/google-chrome/CertificateTransparency/1037/manifest.json @@ -0,0 +1,5 @@ +{ + "manifest_version": 2, + "name": "sthset", + "version": "1037" +} \ No newline at end of file diff --git a/~/.config/google-chrome/Default/000003.log b/~/.config/google-chrome/Default/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/BudgetDatabase/000003.log b/~/.config/google-chrome/Default/BudgetDatabase/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/BudgetDatabase/CURRENT b/~/.config/google-chrome/Default/BudgetDatabase/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..7ed683d17118b70e46011ddc3562b455d0a4f866 --- /dev/null +++ b/~/.config/google-chrome/Default/BudgetDatabase/CURRENT @@ -0,0 +1 @@ +MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/BudgetDatabase/LOCK b/~/.config/google-chrome/Default/BudgetDatabase/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/BudgetDatabase/LOG b/~/.config/google-chrome/Default/BudgetDatabase/LOG new file mode 100644 index 0000000000000000000000000000000000000000..37e30865b73a588f9502f828b542f553a028b032 --- /dev/null +++ b/~/.config/google-chrome/Default/BudgetDatabase/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:10.885 4730 Reusing MANIFEST /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/BudgetDatabase/MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/BudgetDatabase/MANIFEST-000001 b/~/.config/google-chrome/Default/BudgetDatabase/MANIFEST-000001 new file mode 100644 index 0000000000000000000000000000000000000000..18e5cab72c1550d8dc398e3413eea91bee24db77 Binary files /dev/null and b/~/.config/google-chrome/Default/BudgetDatabase/MANIFEST-000001 differ diff --git a/~/.config/google-chrome/Default/CURRENT b/~/.config/google-chrome/Default/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..1a84852211ef37da31d6906c4e1784f38d1a63d5 --- /dev/null +++ b/~/.config/google-chrome/Default/CURRENT @@ -0,0 +1 @@ +MANIFEST-000002 diff --git a/~/.config/google-chrome/Default/Cache/0050ed68775f6bdc_0 b/~/.config/google-chrome/Default/Cache/0050ed68775f6bdc_0 new file mode 100644 index 0000000000000000000000000000000000000000..0307008b9c8f3ca72dbc29f414c49a498e160700 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/0050ed68775f6bdc_0 differ diff --git a/~/.config/google-chrome/Default/Cache/005e504aa780588b_0 b/~/.config/google-chrome/Default/Cache/005e504aa780588b_0 new file mode 100644 index 0000000000000000000000000000000000000000..5e729db5235fd2d728a6104d0cbf7bd1f5ecb91e Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/005e504aa780588b_0 differ diff --git a/~/.config/google-chrome/Default/Cache/012c97fdf7421a9a_0 b/~/.config/google-chrome/Default/Cache/012c97fdf7421a9a_0 new file mode 100644 index 0000000000000000000000000000000000000000..ee7fe9c2115246a39fe00fa795f9ae6292cd6238 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/012c97fdf7421a9a_0 differ diff --git a/~/.config/google-chrome/Default/Cache/092f5949c782a6aa_0 b/~/.config/google-chrome/Default/Cache/092f5949c782a6aa_0 new file mode 100644 index 0000000000000000000000000000000000000000..4391e3771dc0e1de48be247eea260faefe2f107e Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/092f5949c782a6aa_0 differ diff --git a/~/.config/google-chrome/Default/Cache/10bc90368ae5a61d_0 b/~/.config/google-chrome/Default/Cache/10bc90368ae5a61d_0 new file mode 100644 index 0000000000000000000000000000000000000000..2d9668e55f3300dbaa42e53515c7287aed1bea52 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/10bc90368ae5a61d_0 differ diff --git a/~/.config/google-chrome/Default/Cache/10bc90368ae5a61d_1 b/~/.config/google-chrome/Default/Cache/10bc90368ae5a61d_1 new file mode 100644 index 0000000000000000000000000000000000000000..b0d3207a75289212590a92b1d1fe8b4496db8f78 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/10bc90368ae5a61d_1 differ diff --git a/~/.config/google-chrome/Default/Cache/10c7004cbe37e293_0 b/~/.config/google-chrome/Default/Cache/10c7004cbe37e293_0 new file mode 100644 index 0000000000000000000000000000000000000000..d47e51c4b89f3cd163701f483f1a77bbc1beeb47 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/10c7004cbe37e293_0 differ diff --git a/~/.config/google-chrome/Default/Cache/10c7004cbe37e293_1 b/~/.config/google-chrome/Default/Cache/10c7004cbe37e293_1 new file mode 100644 index 0000000000000000000000000000000000000000..9b1c57dd748f4ce59c64d3f5947b8a70d04a94c5 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/10c7004cbe37e293_1 differ diff --git a/~/.config/google-chrome/Default/Cache/1551f6ce48ddf59d_0 b/~/.config/google-chrome/Default/Cache/1551f6ce48ddf59d_0 new file mode 100644 index 0000000000000000000000000000000000000000..9d8c6656cdf69a8cf8e565cc0679d5546a1bf8d3 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/1551f6ce48ddf59d_0 differ diff --git a/~/.config/google-chrome/Default/Cache/2286a0bba39063eb_0 b/~/.config/google-chrome/Default/Cache/2286a0bba39063eb_0 new file mode 100644 index 0000000000000000000000000000000000000000..9095532bfa5903e64071b89d99578cec9e76447f Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/2286a0bba39063eb_0 differ diff --git a/~/.config/google-chrome/Default/Cache/275b030a4a6f4cf0_0 b/~/.config/google-chrome/Default/Cache/275b030a4a6f4cf0_0 new file mode 100644 index 0000000000000000000000000000000000000000..6b18d74c61ff9f408bc9ac79185e55ec21092c20 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/275b030a4a6f4cf0_0 differ diff --git a/~/.config/google-chrome/Default/Cache/275b030a4a6f4cf0_1 b/~/.config/google-chrome/Default/Cache/275b030a4a6f4cf0_1 new file mode 100644 index 0000000000000000000000000000000000000000..626f55d7d06eaf85daa980232d84c73f1aafb6fb Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/275b030a4a6f4cf0_1 differ diff --git a/~/.config/google-chrome/Default/Cache/2d1ea55bf51ab62b_0 b/~/.config/google-chrome/Default/Cache/2d1ea55bf51ab62b_0 new file mode 100644 index 0000000000000000000000000000000000000000..4b1875cf1e8d3a0ccda483e37363eec1f29d0ed5 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/2d1ea55bf51ab62b_0 differ diff --git a/~/.config/google-chrome/Default/Cache/2dedde9d16245e0a_0 b/~/.config/google-chrome/Default/Cache/2dedde9d16245e0a_0 new file mode 100644 index 0000000000000000000000000000000000000000..39432f4fa8cc1d0fb5a418b6e457ac1f0f835586 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/2dedde9d16245e0a_0 differ diff --git a/~/.config/google-chrome/Default/Cache/2dedde9d16245e0a_1 b/~/.config/google-chrome/Default/Cache/2dedde9d16245e0a_1 new file mode 100644 index 0000000000000000000000000000000000000000..629464cddc0df1c301ad1e1a7df4a14b065c62f0 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/2dedde9d16245e0a_1 differ diff --git a/~/.config/google-chrome/Default/Cache/3218ac74999df283_0 b/~/.config/google-chrome/Default/Cache/3218ac74999df283_0 new file mode 100644 index 0000000000000000000000000000000000000000..5d0322eb5050346b0fe6154d9eb3b95b9a8667a0 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/3218ac74999df283_0 differ diff --git a/~/.config/google-chrome/Default/Cache/38ce44346fcef0b2_0 b/~/.config/google-chrome/Default/Cache/38ce44346fcef0b2_0 new file mode 100644 index 0000000000000000000000000000000000000000..acbdd5c0d9f8f9d76e965a9258451550d01c2a68 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/38ce44346fcef0b2_0 differ diff --git a/~/.config/google-chrome/Default/Cache/3c2cd2c816e7b78b_0 b/~/.config/google-chrome/Default/Cache/3c2cd2c816e7b78b_0 new file mode 100644 index 0000000000000000000000000000000000000000..4575769f5e9b3924c84975ca5b9a595a24049c7f Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/3c2cd2c816e7b78b_0 differ diff --git a/~/.config/google-chrome/Default/Cache/41b97b7e8d083d1f_0 b/~/.config/google-chrome/Default/Cache/41b97b7e8d083d1f_0 new file mode 100644 index 0000000000000000000000000000000000000000..b71fa3c222bc1ee65dc80ba9c0d10ef707a6eae5 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/41b97b7e8d083d1f_0 differ diff --git a/~/.config/google-chrome/Default/Cache/44694c872322c3b5_0 b/~/.config/google-chrome/Default/Cache/44694c872322c3b5_0 new file mode 100644 index 0000000000000000000000000000000000000000..1fad3b3485cc4da950485902fbbe94b62bb61c96 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/44694c872322c3b5_0 differ diff --git a/~/.config/google-chrome/Default/Cache/49c524a8d2890dd3_0 b/~/.config/google-chrome/Default/Cache/49c524a8d2890dd3_0 new file mode 100644 index 0000000000000000000000000000000000000000..eab44b48e3402cbacb436b9dca2233845c21fb8d Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/49c524a8d2890dd3_0 differ diff --git a/~/.config/google-chrome/Default/Cache/49c524a8d2890dd3_1 b/~/.config/google-chrome/Default/Cache/49c524a8d2890dd3_1 new file mode 100644 index 0000000000000000000000000000000000000000..134fbbc5c47528207eb99a31998aa0810dcb5ce5 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/49c524a8d2890dd3_1 differ diff --git a/~/.config/google-chrome/Default/Cache/4b708aa6fca448c3_0 b/~/.config/google-chrome/Default/Cache/4b708aa6fca448c3_0 new file mode 100644 index 0000000000000000000000000000000000000000..fef28aab27c7ba625b076c745912148c78da5fbe Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/4b708aa6fca448c3_0 differ diff --git a/~/.config/google-chrome/Default/Cache/4e984f162dfb1951_0 b/~/.config/google-chrome/Default/Cache/4e984f162dfb1951_0 new file mode 100644 index 0000000000000000000000000000000000000000..42eca06e6eb2362950b2b0ca19761610f5c45ea1 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/4e984f162dfb1951_0 differ diff --git a/~/.config/google-chrome/Default/Cache/50e93f39c69a06d9_0 b/~/.config/google-chrome/Default/Cache/50e93f39c69a06d9_0 new file mode 100644 index 0000000000000000000000000000000000000000..709deed129667e61f32c769d6a0e067cd685a36a Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/50e93f39c69a06d9_0 differ diff --git a/~/.config/google-chrome/Default/Cache/5275a1e77dc8eadf_0 b/~/.config/google-chrome/Default/Cache/5275a1e77dc8eadf_0 new file mode 100644 index 0000000000000000000000000000000000000000..b52e9198b74c9f2d856601a52adce3a7dca8d3b3 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/5275a1e77dc8eadf_0 differ diff --git a/~/.config/google-chrome/Default/Cache/52ca51d9c6d90996_0 b/~/.config/google-chrome/Default/Cache/52ca51d9c6d90996_0 new file mode 100644 index 0000000000000000000000000000000000000000..ffdac07c5dd371e503e60f74a06310bfec472d41 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/52ca51d9c6d90996_0 differ diff --git a/~/.config/google-chrome/Default/Cache/52ca51d9c6d90996_1 b/~/.config/google-chrome/Default/Cache/52ca51d9c6d90996_1 new file mode 100644 index 0000000000000000000000000000000000000000..528e4d5cd66f589e45faad047bc44e612469703a Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/52ca51d9c6d90996_1 differ diff --git a/~/.config/google-chrome/Default/Cache/573356a07cd43f3f_0 b/~/.config/google-chrome/Default/Cache/573356a07cd43f3f_0 new file mode 100644 index 0000000000000000000000000000000000000000..50591d0e56b1f9a35ba0dc099b66da6f2b6ce478 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/573356a07cd43f3f_0 differ diff --git a/~/.config/google-chrome/Default/Cache/57a78b0251d7c372_0 b/~/.config/google-chrome/Default/Cache/57a78b0251d7c372_0 new file mode 100644 index 0000000000000000000000000000000000000000..ea33d120f85c46d0df3809e0c43bdb1f4c7f9d9e Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/57a78b0251d7c372_0 differ diff --git a/~/.config/google-chrome/Default/Cache/57a78b0251d7c372_1 b/~/.config/google-chrome/Default/Cache/57a78b0251d7c372_1 new file mode 100644 index 0000000000000000000000000000000000000000..7be81a54192fd34a1ffce88d519da8dbd41d0c3a Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/57a78b0251d7c372_1 differ diff --git a/~/.config/google-chrome/Default/Cache/5ca50924ce3c5c59_0 b/~/.config/google-chrome/Default/Cache/5ca50924ce3c5c59_0 new file mode 100644 index 0000000000000000000000000000000000000000..be70f334d789835886b69a67dd27c15fb18173c8 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/5ca50924ce3c5c59_0 differ diff --git a/~/.config/google-chrome/Default/Cache/5eaaa43a55140d42_0 b/~/.config/google-chrome/Default/Cache/5eaaa43a55140d42_0 new file mode 100644 index 0000000000000000000000000000000000000000..e78bb94e3b553c50dfbd07e29013ca1054871f1b Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/5eaaa43a55140d42_0 differ diff --git a/~/.config/google-chrome/Default/Cache/5f7316f70d14043c_0 b/~/.config/google-chrome/Default/Cache/5f7316f70d14043c_0 new file mode 100644 index 0000000000000000000000000000000000000000..599e04a90745983557545c05f0ebfeb9b67c870d Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/5f7316f70d14043c_0 differ diff --git a/~/.config/google-chrome/Default/Cache/61a29654fae1f4f3_0 b/~/.config/google-chrome/Default/Cache/61a29654fae1f4f3_0 new file mode 100644 index 0000000000000000000000000000000000000000..8daf8b5e2f3884221186b51dfc3794c128f103d7 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/61a29654fae1f4f3_0 differ diff --git a/~/.config/google-chrome/Default/Cache/66a9fd7fbb2466b6_0 b/~/.config/google-chrome/Default/Cache/66a9fd7fbb2466b6_0 new file mode 100644 index 0000000000000000000000000000000000000000..8814dd926a3ca6ca1065eedba242cd450372aad0 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/66a9fd7fbb2466b6_0 differ diff --git a/~/.config/google-chrome/Default/Cache/670a85b798d71828_0 b/~/.config/google-chrome/Default/Cache/670a85b798d71828_0 new file mode 100644 index 0000000000000000000000000000000000000000..6d72965a07eb69c34c64ecac41d34725d50f4d12 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/670a85b798d71828_0 differ diff --git a/~/.config/google-chrome/Default/Cache/6738554eea59ace6_0 b/~/.config/google-chrome/Default/Cache/6738554eea59ace6_0 new file mode 100644 index 0000000000000000000000000000000000000000..cf23f73417afd1b70c1a54f084ebed4d62538b28 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/6738554eea59ace6_0 differ diff --git a/~/.config/google-chrome/Default/Cache/685d5dc355d7845a_0 b/~/.config/google-chrome/Default/Cache/685d5dc355d7845a_0 new file mode 100644 index 0000000000000000000000000000000000000000..a08ecf35456cc7ff0c4e9011474aefd7b6d4b80a Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/685d5dc355d7845a_0 differ diff --git a/~/.config/google-chrome/Default/Cache/688a675c6c16fbca_0 b/~/.config/google-chrome/Default/Cache/688a675c6c16fbca_0 new file mode 100644 index 0000000000000000000000000000000000000000..d8bf1124150d6106bdb9cb997ecdcbb78a18fd36 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/688a675c6c16fbca_0 differ diff --git a/~/.config/google-chrome/Default/Cache/688a675c6c16fbca_1 b/~/.config/google-chrome/Default/Cache/688a675c6c16fbca_1 new file mode 100644 index 0000000000000000000000000000000000000000..2d1cc4fa72ba9276de5e2a8d26afb85bc32474dc Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/688a675c6c16fbca_1 differ diff --git a/~/.config/google-chrome/Default/Cache/6b0e97f45a6e517e_0 b/~/.config/google-chrome/Default/Cache/6b0e97f45a6e517e_0 new file mode 100644 index 0000000000000000000000000000000000000000..af21667e4e020a2a22d7d9f3387687dc46c25544 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/6b0e97f45a6e517e_0 differ diff --git a/~/.config/google-chrome/Default/Cache/6d784bc3309a249b_0 b/~/.config/google-chrome/Default/Cache/6d784bc3309a249b_0 new file mode 100644 index 0000000000000000000000000000000000000000..a491e9ab4dc9f8c35ec9ce54b305fdb1a4c65788 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/6d784bc3309a249b_0 differ diff --git a/~/.config/google-chrome/Default/Cache/6d784bc3309a249b_1 b/~/.config/google-chrome/Default/Cache/6d784bc3309a249b_1 new file mode 100644 index 0000000000000000000000000000000000000000..d54c33b055e66ffd777568ae48a9411df0899e8e Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/6d784bc3309a249b_1 differ diff --git a/~/.config/google-chrome/Default/Cache/6fd21bf59cb7ff35_0 b/~/.config/google-chrome/Default/Cache/6fd21bf59cb7ff35_0 new file mode 100644 index 0000000000000000000000000000000000000000..886c397a77a38f4710879a87a97e554a4a908fdf Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/6fd21bf59cb7ff35_0 differ diff --git a/~/.config/google-chrome/Default/Cache/6fd21bf59cb7ff35_1 b/~/.config/google-chrome/Default/Cache/6fd21bf59cb7ff35_1 new file mode 100644 index 0000000000000000000000000000000000000000..bcfb7e07540c26a7419c791d0176e22bda78f4c5 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/6fd21bf59cb7ff35_1 differ diff --git a/~/.config/google-chrome/Default/Cache/72f4c4a87d9d8ae3_0 b/~/.config/google-chrome/Default/Cache/72f4c4a87d9d8ae3_0 new file mode 100644 index 0000000000000000000000000000000000000000..3d5f5252c487581f43de1ee9494eef21d3244c41 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/72f4c4a87d9d8ae3_0 differ diff --git a/~/.config/google-chrome/Default/Cache/72f4c4a87d9d8ae3_1 b/~/.config/google-chrome/Default/Cache/72f4c4a87d9d8ae3_1 new file mode 100644 index 0000000000000000000000000000000000000000..fb5515de4bb3dbb55b9a8cdf7bce21cf8e46642d Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/72f4c4a87d9d8ae3_1 differ diff --git a/~/.config/google-chrome/Default/Cache/7a1eb3e7de751c41_0 b/~/.config/google-chrome/Default/Cache/7a1eb3e7de751c41_0 new file mode 100644 index 0000000000000000000000000000000000000000..c675a83222364ba1dc63e5ba88dc97fd10daf4ad Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/7a1eb3e7de751c41_0 differ diff --git a/~/.config/google-chrome/Default/Cache/7f6647e671d67b00_0 b/~/.config/google-chrome/Default/Cache/7f6647e671d67b00_0 new file mode 100644 index 0000000000000000000000000000000000000000..f9716e57962a635e6c6697a9675d7c4a8e7851f1 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/7f6647e671d67b00_0 differ diff --git a/~/.config/google-chrome/Default/Cache/7f89955f32934816_0 b/~/.config/google-chrome/Default/Cache/7f89955f32934816_0 new file mode 100644 index 0000000000000000000000000000000000000000..65e8a6109be2db933e4209b85e97c8ebe6adef6a Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/7f89955f32934816_0 differ diff --git a/~/.config/google-chrome/Default/Cache/84062d5fbcc52821_0 b/~/.config/google-chrome/Default/Cache/84062d5fbcc52821_0 new file mode 100644 index 0000000000000000000000000000000000000000..f5e62c266d89e0b7e0af87fd365712ff44d5996c Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/84062d5fbcc52821_0 differ diff --git a/~/.config/google-chrome/Default/Cache/8bc683d7a7662e1c_0 b/~/.config/google-chrome/Default/Cache/8bc683d7a7662e1c_0 new file mode 100644 index 0000000000000000000000000000000000000000..23deb1630e1f0aa9c27e5483589b825f85a85462 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/8bc683d7a7662e1c_0 differ diff --git a/~/.config/google-chrome/Default/Cache/8e8dcd288a0d7920_0 b/~/.config/google-chrome/Default/Cache/8e8dcd288a0d7920_0 new file mode 100644 index 0000000000000000000000000000000000000000..b6a1f371a812f5fe2c8eeef5edcd293bbe700695 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/8e8dcd288a0d7920_0 differ diff --git a/~/.config/google-chrome/Default/Cache/8e8dcd288a0d7920_1 b/~/.config/google-chrome/Default/Cache/8e8dcd288a0d7920_1 new file mode 100644 index 0000000000000000000000000000000000000000..f274e73eaea2df074e5b66c18c1237ff2112172f Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/8e8dcd288a0d7920_1 differ diff --git a/~/.config/google-chrome/Default/Cache/8fd376d3a984ae7b_0 b/~/.config/google-chrome/Default/Cache/8fd376d3a984ae7b_0 new file mode 100644 index 0000000000000000000000000000000000000000..cc7b74a6e9ef49ccb97e25dfd94b033131da351a Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/8fd376d3a984ae7b_0 differ diff --git a/~/.config/google-chrome/Default/Cache/9672d74ea660455d_0 b/~/.config/google-chrome/Default/Cache/9672d74ea660455d_0 new file mode 100644 index 0000000000000000000000000000000000000000..c321eaf328ac453d4e664b803982bb31dbde83c0 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/9672d74ea660455d_0 differ diff --git a/~/.config/google-chrome/Default/Cache/9672d74ea660455d_1 b/~/.config/google-chrome/Default/Cache/9672d74ea660455d_1 new file mode 100644 index 0000000000000000000000000000000000000000..f8b9a02d6e94656c6b0829d84647f77fae3f4ef9 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/9672d74ea660455d_1 differ diff --git a/~/.config/google-chrome/Default/Cache/9ab25684c02b5c2d_0 b/~/.config/google-chrome/Default/Cache/9ab25684c02b5c2d_0 new file mode 100644 index 0000000000000000000000000000000000000000..5919368aebbdf09828af8ac2bd6bc23c4beedeb7 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/9ab25684c02b5c2d_0 differ diff --git a/~/.config/google-chrome/Default/Cache/9d2b51f667d97b31_0 b/~/.config/google-chrome/Default/Cache/9d2b51f667d97b31_0 new file mode 100644 index 0000000000000000000000000000000000000000..c168ddf86180599ffd637013fc673d5802e39fd0 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/9d2b51f667d97b31_0 differ diff --git a/~/.config/google-chrome/Default/Cache/a0b75a656bf0eb74_0 b/~/.config/google-chrome/Default/Cache/a0b75a656bf0eb74_0 new file mode 100644 index 0000000000000000000000000000000000000000..0c5aff159838d057a107b87f5a97d364aca12c50 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/a0b75a656bf0eb74_0 differ diff --git a/~/.config/google-chrome/Default/Cache/a57fb1e5f913b398_0 b/~/.config/google-chrome/Default/Cache/a57fb1e5f913b398_0 new file mode 100644 index 0000000000000000000000000000000000000000..4f9c740e21484c44e24c4c7b78648f042735c2a6 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/a57fb1e5f913b398_0 differ diff --git a/~/.config/google-chrome/Default/Cache/aea6dafe0d398edd_0 b/~/.config/google-chrome/Default/Cache/aea6dafe0d398edd_0 new file mode 100644 index 0000000000000000000000000000000000000000..b10b8d116acabf08ff182b84bfb644c0a615d4a0 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/aea6dafe0d398edd_0 differ diff --git a/~/.config/google-chrome/Default/Cache/b0bb6b46fb426113_0 b/~/.config/google-chrome/Default/Cache/b0bb6b46fb426113_0 new file mode 100644 index 0000000000000000000000000000000000000000..90f033f462857c3248c8d184b67eeb398cf6661b Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/b0bb6b46fb426113_0 differ diff --git a/~/.config/google-chrome/Default/Cache/b1e4bd6de133a5ba_0 b/~/.config/google-chrome/Default/Cache/b1e4bd6de133a5ba_0 new file mode 100644 index 0000000000000000000000000000000000000000..69a8aacc35fac54b6006e84feb8c381cedff2ac7 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/b1e4bd6de133a5ba_0 differ diff --git a/~/.config/google-chrome/Default/Cache/b4a483fc3cbc213d_0 b/~/.config/google-chrome/Default/Cache/b4a483fc3cbc213d_0 new file mode 100644 index 0000000000000000000000000000000000000000..c7a2b33c302df4a852b09f7c2f121442692e2378 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/b4a483fc3cbc213d_0 differ diff --git a/~/.config/google-chrome/Default/Cache/b8121b1ae7471772_0 b/~/.config/google-chrome/Default/Cache/b8121b1ae7471772_0 new file mode 100644 index 0000000000000000000000000000000000000000..43d805773650ec518105f5911ad41ec304434f7e Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/b8121b1ae7471772_0 differ diff --git a/~/.config/google-chrome/Default/Cache/bbfeb4daab7ac926_0 b/~/.config/google-chrome/Default/Cache/bbfeb4daab7ac926_0 new file mode 100644 index 0000000000000000000000000000000000000000..c8d0943010b8695ad9a9080ae45f02113edfe88a Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/bbfeb4daab7ac926_0 differ diff --git a/~/.config/google-chrome/Default/Cache/bf9805969db8d663_0 b/~/.config/google-chrome/Default/Cache/bf9805969db8d663_0 new file mode 100644 index 0000000000000000000000000000000000000000..e6a547c5173a0c7debdb7dab7c8a73ce5dff291c Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/bf9805969db8d663_0 differ diff --git a/~/.config/google-chrome/Default/Cache/c3be2442b305bb6c_0 b/~/.config/google-chrome/Default/Cache/c3be2442b305bb6c_0 new file mode 100644 index 0000000000000000000000000000000000000000..56742510aa84b713b8ab21cdfe8179f148443f0a Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/c3be2442b305bb6c_0 differ diff --git a/~/.config/google-chrome/Default/Cache/c3d5cfb6a1cf033d_0 b/~/.config/google-chrome/Default/Cache/c3d5cfb6a1cf033d_0 new file mode 100644 index 0000000000000000000000000000000000000000..ef98a9d43e37980d3104558e9f25e0eb2d654e73 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/c3d5cfb6a1cf033d_0 differ diff --git a/~/.config/google-chrome/Default/Cache/c6155b8e89e0318a_0 b/~/.config/google-chrome/Default/Cache/c6155b8e89e0318a_0 new file mode 100644 index 0000000000000000000000000000000000000000..e01825199cab4c9b48e4c47272e1ee2fe28720a6 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/c6155b8e89e0318a_0 differ diff --git a/~/.config/google-chrome/Default/Cache/c8466875380fa316_0 b/~/.config/google-chrome/Default/Cache/c8466875380fa316_0 new file mode 100644 index 0000000000000000000000000000000000000000..c626456f16d6283f90263fd5c86294b39e49e184 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/c8466875380fa316_0 differ diff --git a/~/.config/google-chrome/Default/Cache/c8466875380fa316_1 b/~/.config/google-chrome/Default/Cache/c8466875380fa316_1 new file mode 100644 index 0000000000000000000000000000000000000000..59d695a41a19b668c1720f4ea771625504424e40 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/c8466875380fa316_1 differ diff --git a/~/.config/google-chrome/Default/Cache/c86e336c5c9a6a53_0 b/~/.config/google-chrome/Default/Cache/c86e336c5c9a6a53_0 new file mode 100644 index 0000000000000000000000000000000000000000..f035b98c4d9ae9d5bde66a3ab173053df7ff81df Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/c86e336c5c9a6a53_0 differ diff --git a/~/.config/google-chrome/Default/Cache/ca9e6f72e85ab121_0 b/~/.config/google-chrome/Default/Cache/ca9e6f72e85ab121_0 new file mode 100644 index 0000000000000000000000000000000000000000..2d5c53d25f022ddc6ec61acd27d4b5d1c2f74d1f Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/ca9e6f72e85ab121_0 differ diff --git a/~/.config/google-chrome/Default/Cache/cd29c3fd019d788c_0 b/~/.config/google-chrome/Default/Cache/cd29c3fd019d788c_0 new file mode 100644 index 0000000000000000000000000000000000000000..585be88acaa190f4fb1db60acdc41c4d4575facc Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/cd29c3fd019d788c_0 differ diff --git a/~/.config/google-chrome/Default/Cache/cd29c3fd019d788c_1 b/~/.config/google-chrome/Default/Cache/cd29c3fd019d788c_1 new file mode 100644 index 0000000000000000000000000000000000000000..72813738b163d74e594d2cdd9d6a73a70634672c Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/cd29c3fd019d788c_1 differ diff --git a/~/.config/google-chrome/Default/Cache/ce876887d888175e_0 b/~/.config/google-chrome/Default/Cache/ce876887d888175e_0 new file mode 100644 index 0000000000000000000000000000000000000000..6693b1cf56ac6f87ccf9128cbb6275bfaacf8cf9 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/ce876887d888175e_0 differ diff --git a/~/.config/google-chrome/Default/Cache/cfba60a070a7dedd_0 b/~/.config/google-chrome/Default/Cache/cfba60a070a7dedd_0 new file mode 100644 index 0000000000000000000000000000000000000000..72a1234909ad95e8823f14caea569772d9e957fa Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/cfba60a070a7dedd_0 differ diff --git a/~/.config/google-chrome/Default/Cache/d139da03cd40916a_0 b/~/.config/google-chrome/Default/Cache/d139da03cd40916a_0 new file mode 100644 index 0000000000000000000000000000000000000000..2cedd1660736fe1845b3833608a3dbfbe30af8c2 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/d139da03cd40916a_0 differ diff --git a/~/.config/google-chrome/Default/Cache/d3f3424b8c67f2ac_0 b/~/.config/google-chrome/Default/Cache/d3f3424b8c67f2ac_0 new file mode 100644 index 0000000000000000000000000000000000000000..8f2107f2c2371e4e48fab6c9a5ad181fbb722b7f Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/d3f3424b8c67f2ac_0 differ diff --git a/~/.config/google-chrome/Default/Cache/d3f3424b8c67f2ac_1 b/~/.config/google-chrome/Default/Cache/d3f3424b8c67f2ac_1 new file mode 100644 index 0000000000000000000000000000000000000000..67d289d4981a4b51762ca5e14c3c3af272accd63 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/d3f3424b8c67f2ac_1 differ diff --git a/~/.config/google-chrome/Default/Cache/d4417f3dca70b189_0 b/~/.config/google-chrome/Default/Cache/d4417f3dca70b189_0 new file mode 100644 index 0000000000000000000000000000000000000000..c77e5d60fec0201d2f8930b5d02b6acae40e4d75 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/d4417f3dca70b189_0 differ diff --git a/~/.config/google-chrome/Default/Cache/d50833c86ea67d97_0 b/~/.config/google-chrome/Default/Cache/d50833c86ea67d97_0 new file mode 100644 index 0000000000000000000000000000000000000000..ad94f4d3f376385088b25cb9fb659955085c655e Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/d50833c86ea67d97_0 differ diff --git a/~/.config/google-chrome/Default/Cache/d9012d925d4eeea3_0 b/~/.config/google-chrome/Default/Cache/d9012d925d4eeea3_0 new file mode 100644 index 0000000000000000000000000000000000000000..e69aeeeeb398d70eebe095ed823f8df5d95d48cc Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/d9012d925d4eeea3_0 differ diff --git a/~/.config/google-chrome/Default/Cache/db7c3d9435b5eb95_0 b/~/.config/google-chrome/Default/Cache/db7c3d9435b5eb95_0 new file mode 100644 index 0000000000000000000000000000000000000000..10c1698ac9cb7c9b5e39b6f0307b5ebb8188af64 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/db7c3d9435b5eb95_0 differ diff --git a/~/.config/google-chrome/Default/Cache/de5032c33a16f1da_0 b/~/.config/google-chrome/Default/Cache/de5032c33a16f1da_0 new file mode 100644 index 0000000000000000000000000000000000000000..e68ce38bb532896f2da2bfcec8a4e1e79010e01e Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/de5032c33a16f1da_0 differ diff --git a/~/.config/google-chrome/Default/Cache/e0b1992666c1ae1a_0 b/~/.config/google-chrome/Default/Cache/e0b1992666c1ae1a_0 new file mode 100644 index 0000000000000000000000000000000000000000..19b03a0ac690d67233ac24322d4e4f2eccff3e2e Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/e0b1992666c1ae1a_0 differ diff --git a/~/.config/google-chrome/Default/Cache/e0df32e495b447ef_0 b/~/.config/google-chrome/Default/Cache/e0df32e495b447ef_0 new file mode 100644 index 0000000000000000000000000000000000000000..27f783e298dab217deab4b5e94e8ea04886c6a31 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/e0df32e495b447ef_0 differ diff --git a/~/.config/google-chrome/Default/Cache/e43178aa7e531f3a_0 b/~/.config/google-chrome/Default/Cache/e43178aa7e531f3a_0 new file mode 100644 index 0000000000000000000000000000000000000000..7e651bdf00e41817442778f079701fea5e099987 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/e43178aa7e531f3a_0 differ diff --git a/~/.config/google-chrome/Default/Cache/f3e36e97b485bfc2_0 b/~/.config/google-chrome/Default/Cache/f3e36e97b485bfc2_0 new file mode 100644 index 0000000000000000000000000000000000000000..f6fdf7c907d9bba323d2a2be89653e7aed255f56 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/f3e36e97b485bfc2_0 differ diff --git a/~/.config/google-chrome/Default/Cache/f4ff1d121067b382_0 b/~/.config/google-chrome/Default/Cache/f4ff1d121067b382_0 new file mode 100644 index 0000000000000000000000000000000000000000..65f93a9e66736695ad5982dbee4b62a368f7272e Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/f4ff1d121067b382_0 differ diff --git a/~/.config/google-chrome/Default/Cache/f55ab4f0b63f03bc_0 b/~/.config/google-chrome/Default/Cache/f55ab4f0b63f03bc_0 new file mode 100644 index 0000000000000000000000000000000000000000..ce0c8b30e56087abc0c8157f2a58d6fab02f8f56 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/f55ab4f0b63f03bc_0 differ diff --git a/~/.config/google-chrome/Default/Cache/f8c36bd7997ba50f_0 b/~/.config/google-chrome/Default/Cache/f8c36bd7997ba50f_0 new file mode 100644 index 0000000000000000000000000000000000000000..de4da51ea53edcfded141d5d215743e2d5f39536 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/f8c36bd7997ba50f_0 differ diff --git a/~/.config/google-chrome/Default/Cache/f932ab8b1d038bcd_0 b/~/.config/google-chrome/Default/Cache/f932ab8b1d038bcd_0 new file mode 100644 index 0000000000000000000000000000000000000000..a7691cc2a323fb6f3c8a6ba3223e5be32e954af2 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/f932ab8b1d038bcd_0 differ diff --git a/~/.config/google-chrome/Default/Cache/fc56be7ddcb57904_0 b/~/.config/google-chrome/Default/Cache/fc56be7ddcb57904_0 new file mode 100644 index 0000000000000000000000000000000000000000..d74c08f3d7c17678410b7d9dd8da354ea7179f9f Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/fc56be7ddcb57904_0 differ diff --git a/~/.config/google-chrome/Default/Cache/fed0019f2ff0c1fd_0 b/~/.config/google-chrome/Default/Cache/fed0019f2ff0c1fd_0 new file mode 100644 index 0000000000000000000000000000000000000000..1bfa27005209f7afcf1be0f375e2fb97f1f6da60 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/fed0019f2ff0c1fd_0 differ diff --git a/~/.config/google-chrome/Default/Cache/ffeb976f1603d96e_0 b/~/.config/google-chrome/Default/Cache/ffeb976f1603d96e_0 new file mode 100644 index 0000000000000000000000000000000000000000..f43faa127c864c3b2f7b35e32c388e97f3a3539c Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/ffeb976f1603d96e_0 differ diff --git a/~/.config/google-chrome/Default/Cache/ffeb976f1603d96e_1 b/~/.config/google-chrome/Default/Cache/ffeb976f1603d96e_1 new file mode 100644 index 0000000000000000000000000000000000000000..f0ee617e4d017b66a7436d1782236e194d6394df Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/ffeb976f1603d96e_1 differ diff --git a/~/.config/google-chrome/Default/Cache/fff1c4999a5049f4_0 b/~/.config/google-chrome/Default/Cache/fff1c4999a5049f4_0 new file mode 100644 index 0000000000000000000000000000000000000000..b4488fc6b8bdad9042eaba4af16e57d681e80499 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/fff1c4999a5049f4_0 differ diff --git a/~/.config/google-chrome/Default/Cache/fff1c4999a5049f4_1 b/~/.config/google-chrome/Default/Cache/fff1c4999a5049f4_1 new file mode 100644 index 0000000000000000000000000000000000000000..5667a9e65052838ac1108080152f230f88ca222d Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/fff1c4999a5049f4_1 differ diff --git a/~/.config/google-chrome/Default/Cache/index b/~/.config/google-chrome/Default/Cache/index new file mode 100644 index 0000000000000000000000000000000000000000..f0cbd5412753d7c3930f82789e52c30933739993 Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/index differ diff --git a/~/.config/google-chrome/Default/Cache/index-dir/the-real-index b/~/.config/google-chrome/Default/Cache/index-dir/the-real-index new file mode 100644 index 0000000000000000000000000000000000000000..aceb61a46184c989d941f53be822dfa188f1b3cb Binary files /dev/null and b/~/.config/google-chrome/Default/Cache/index-dir/the-real-index differ diff --git a/~/.config/google-chrome/Default/Cookies b/~/.config/google-chrome/Default/Cookies new file mode 100644 index 0000000000000000000000000000000000000000..fc8249ef5bc1c82a3634f60b2391702ee67627f7 Binary files /dev/null and b/~/.config/google-chrome/Default/Cookies differ diff --git a/~/.config/google-chrome/Default/Cookies-journal b/~/.config/google-chrome/Default/Cookies-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Current Session b/~/.config/google-chrome/Default/Current Session new file mode 100644 index 0000000000000000000000000000000000000000..ba111a6a577aa21157c06dd51404ad67ed11ead9 Binary files /dev/null and b/~/.config/google-chrome/Default/Current Session differ diff --git a/~/.config/google-chrome/Default/Current Tabs b/~/.config/google-chrome/Default/Current Tabs new file mode 100644 index 0000000000000000000000000000000000000000..532921e212a86f311ed97ea10aa55343a1807729 Binary files /dev/null and b/~/.config/google-chrome/Default/Current Tabs differ diff --git a/~/.config/google-chrome/Default/Extension Rules/000003.log b/~/.config/google-chrome/Default/Extension Rules/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..4acb4c8d5c47996e9884098a6890c39122102268 Binary files /dev/null and b/~/.config/google-chrome/Default/Extension Rules/000003.log differ diff --git a/~/.config/google-chrome/Default/Extension Rules/CURRENT b/~/.config/google-chrome/Default/Extension Rules/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..7ed683d17118b70e46011ddc3562b455d0a4f866 --- /dev/null +++ b/~/.config/google-chrome/Default/Extension Rules/CURRENT @@ -0,0 +1 @@ +MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Extension Rules/LOCK b/~/.config/google-chrome/Default/Extension Rules/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Extension Rules/LOG b/~/.config/google-chrome/Default/Extension Rules/LOG new file mode 100644 index 0000000000000000000000000000000000000000..8747b664c6b3ec6b498d97bf95fc4e01680486ce --- /dev/null +++ b/~/.config/google-chrome/Default/Extension Rules/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:10.906 472f Reusing MANIFEST /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/Extension Rules/MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Extension Rules/MANIFEST-000001 b/~/.config/google-chrome/Default/Extension Rules/MANIFEST-000001 new file mode 100644 index 0000000000000000000000000000000000000000..18e5cab72c1550d8dc398e3413eea91bee24db77 Binary files /dev/null and b/~/.config/google-chrome/Default/Extension Rules/MANIFEST-000001 differ diff --git a/~/.config/google-chrome/Default/Extension State/000003.log b/~/.config/google-chrome/Default/Extension State/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..aa265aaa39caf43136ea3ccc14f465a80c46552e Binary files /dev/null and b/~/.config/google-chrome/Default/Extension State/000003.log differ diff --git a/~/.config/google-chrome/Default/Extension State/CURRENT b/~/.config/google-chrome/Default/Extension State/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..7ed683d17118b70e46011ddc3562b455d0a4f866 --- /dev/null +++ b/~/.config/google-chrome/Default/Extension State/CURRENT @@ -0,0 +1 @@ +MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Extension State/LOCK b/~/.config/google-chrome/Default/Extension State/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Extension State/LOG b/~/.config/google-chrome/Default/Extension State/LOG new file mode 100644 index 0000000000000000000000000000000000000000..7c7f431c23c9813b1195cd46dfe196b9adc04ff8 --- /dev/null +++ b/~/.config/google-chrome/Default/Extension State/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:11.997 4732 Reusing MANIFEST /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/Extension State/MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Extension State/MANIFEST-000001 b/~/.config/google-chrome/Default/Extension State/MANIFEST-000001 new file mode 100644 index 0000000000000000000000000000000000000000..18e5cab72c1550d8dc398e3413eea91bee24db77 Binary files /dev/null and b/~/.config/google-chrome/Default/Extension State/MANIFEST-000001 differ diff --git a/~/.config/google-chrome/Default/Favicons b/~/.config/google-chrome/Default/Favicons new file mode 100644 index 0000000000000000000000000000000000000000..16aee58b9f4aaa960afa1a86d44b18d6ef18f2a5 Binary files /dev/null and b/~/.config/google-chrome/Default/Favicons differ diff --git a/~/.config/google-chrome/Default/Favicons-journal b/~/.config/google-chrome/Default/Favicons-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/000003.log b/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..bd876bead4e46e9f55bfa9823f15c6c88cd29470 Binary files /dev/null and b/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/000003.log differ diff --git a/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/CURRENT b/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..7ed683d17118b70e46011ddc3562b455d0a4f866 --- /dev/null +++ b/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/CURRENT @@ -0,0 +1 @@ +MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/LOCK b/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/LOG b/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/LOG new file mode 100644 index 0000000000000000000000000000000000000000..3672867f0a429e42cb767a44d321ded15ab7a75a --- /dev/null +++ b/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:17.113 4730 Reusing MANIFEST /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/MANIFEST-000001 b/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/MANIFEST-000001 new file mode 100644 index 0000000000000000000000000000000000000000..18e5cab72c1550d8dc398e3413eea91bee24db77 Binary files /dev/null and b/~/.config/google-chrome/Default/Feature Engagement Tracker/AvailabilityDB/MANIFEST-000001 differ diff --git a/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/000003.log b/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/CURRENT b/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..7ed683d17118b70e46011ddc3562b455d0a4f866 --- /dev/null +++ b/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/CURRENT @@ -0,0 +1 @@ +MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/LOCK b/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/LOG b/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/LOG new file mode 100644 index 0000000000000000000000000000000000000000..41c36cc28800948ad62680e6fb8f363d452d2ccc --- /dev/null +++ b/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:17.111 4730 Reusing MANIFEST /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/MANIFEST-000001 b/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/MANIFEST-000001 new file mode 100644 index 0000000000000000000000000000000000000000..18e5cab72c1550d8dc398e3413eea91bee24db77 Binary files /dev/null and b/~/.config/google-chrome/Default/Feature Engagement Tracker/EventDB/MANIFEST-000001 differ diff --git a/~/.config/google-chrome/Default/GPUCache/data_0 b/~/.config/google-chrome/Default/GPUCache/data_0 new file mode 100644 index 0000000000000000000000000000000000000000..d76fb77e93ac8a536b5dbade616d63abd00626c5 Binary files /dev/null and b/~/.config/google-chrome/Default/GPUCache/data_0 differ diff --git a/~/.config/google-chrome/Default/GPUCache/data_1 b/~/.config/google-chrome/Default/GPUCache/data_1 new file mode 100644 index 0000000000000000000000000000000000000000..f92ded7d01fc6cdf1bd4698b352f624fccd0e93f Binary files /dev/null and b/~/.config/google-chrome/Default/GPUCache/data_1 differ diff --git a/~/.config/google-chrome/Default/GPUCache/data_2 b/~/.config/google-chrome/Default/GPUCache/data_2 new file mode 100644 index 0000000000000000000000000000000000000000..c7e2eb9adcfb2d3313ec85f5c28cedda950a3f9b Binary files /dev/null and b/~/.config/google-chrome/Default/GPUCache/data_2 differ diff --git a/~/.config/google-chrome/Default/GPUCache/data_3 b/~/.config/google-chrome/Default/GPUCache/data_3 new file mode 100644 index 0000000000000000000000000000000000000000..5eec97358cf550862fd343fc9a73c159d4c0ab10 Binary files /dev/null and b/~/.config/google-chrome/Default/GPUCache/data_3 differ diff --git a/~/.config/google-chrome/Default/GPUCache/index b/~/.config/google-chrome/Default/GPUCache/index new file mode 100644 index 0000000000000000000000000000000000000000..7e406c8fe3772f155f8b61e723778390b6ffec05 Binary files /dev/null and b/~/.config/google-chrome/Default/GPUCache/index differ diff --git a/~/.config/google-chrome/Default/History b/~/.config/google-chrome/Default/History new file mode 100644 index 0000000000000000000000000000000000000000..64497aacbdc818d75721faf1c8a6025d0ff401c8 Binary files /dev/null and b/~/.config/google-chrome/Default/History differ diff --git a/~/.config/google-chrome/Default/History Provider Cache b/~/.config/google-chrome/Default/History Provider Cache new file mode 100644 index 0000000000000000000000000000000000000000..3b7dc1c893b772a8d697b0c6b9099a0679a98cca Binary files /dev/null and b/~/.config/google-chrome/Default/History Provider Cache differ diff --git a/~/.config/google-chrome/Default/History-journal b/~/.config/google-chrome/Default/History-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/000003.log b/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..967326b0cd219150bc865d3708240eb61fb26b7a Binary files /dev/null and b/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/000003.log differ diff --git a/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/CURRENT b/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..7ed683d17118b70e46011ddc3562b455d0a4f866 --- /dev/null +++ b/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/CURRENT @@ -0,0 +1 @@ +MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/LOCK b/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/LOG b/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/LOG new file mode 100644 index 0000000000000000000000000000000000000000..69a5f04de2550b5ff6392afd7dd035c25ab8f5e6 --- /dev/null +++ b/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:11.390 4732 Reusing MANIFEST /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/MANIFEST-000001 b/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/MANIFEST-000001 new file mode 100644 index 0000000000000000000000000000000000000000..3ccb46a2f1a61881a6644043c21b21edbdb22526 Binary files /dev/null and b/~/.config/google-chrome/Default/IndexedDB/chrome-extension_ipbiihkmbodokjpigdgnmggjklnmgohc_0.indexeddb.leveldb/MANIFEST-000001 differ diff --git a/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/000003.log b/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..73f0f534d6a4f0c8ac8a22a23d5fe9fd18f195b9 Binary files /dev/null and b/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/000003.log differ diff --git a/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/CURRENT b/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..7ed683d17118b70e46011ddc3562b455d0a4f866 --- /dev/null +++ b/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/CURRENT @@ -0,0 +1 @@ +MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/LOCK b/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/LOG b/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/LOG new file mode 100644 index 0000000000000000000000000000000000000000..ff4075f76e8263f74e7d7e80fdbec65ed9a1ff51 --- /dev/null +++ b/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/LOG @@ -0,0 +1,3 @@ +2019/02/19-15:53:31.268 4725 Reusing MANIFEST /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/MANIFEST-000001 +2019/02/19-15:53:31.268 4725 Recovering log #3 +2019/02/19-15:53:31.268 4725 Reusing old log /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/000003.log diff --git a/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/LOG.old b/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/LOG.old new file mode 100644 index 0000000000000000000000000000000000000000..5b9addb364f985306ef767f9ef32346d7104eb8a --- /dev/null +++ b/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/LOG.old @@ -0,0 +1,3 @@ +2019/02/19-15:53:17.292 472f Reusing MANIFEST /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/MANIFEST-000001 +2019/02/19-15:53:17.293 472f Recovering log #3 +2019/02/19-15:53:17.293 472f Reusing old log /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/000003.log diff --git a/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/MANIFEST-000001 b/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/MANIFEST-000001 new file mode 100644 index 0000000000000000000000000000000000000000..3ccb46a2f1a61881a6644043c21b21edbdb22526 Binary files /dev/null and b/~/.config/google-chrome/Default/IndexedDB/https_www.google.com_0.indexeddb.leveldb/MANIFEST-000001 differ diff --git a/~/.config/google-chrome/Default/LOCK b/~/.config/google-chrome/Default/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/LOG b/~/.config/google-chrome/Default/LOG new file mode 100644 index 0000000000000000000000000000000000000000..bc291f07d23ef2ab68abb6af1bf5f2fa9dda0ba3 --- /dev/null +++ b/~/.config/google-chrome/Default/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:10.908 4730 Delete type=3 #1 diff --git a/~/.config/google-chrome/Default/Local Storage/leveldb/000003.log b/~/.config/google-chrome/Default/Local Storage/leveldb/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..1b2b34e660b19bf2f0615c3f4a3a0808f790affc Binary files /dev/null and b/~/.config/google-chrome/Default/Local Storage/leveldb/000003.log differ diff --git a/~/.config/google-chrome/Default/Local Storage/leveldb/CURRENT b/~/.config/google-chrome/Default/Local Storage/leveldb/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..7ed683d17118b70e46011ddc3562b455d0a4f866 --- /dev/null +++ b/~/.config/google-chrome/Default/Local Storage/leveldb/CURRENT @@ -0,0 +1 @@ +MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Local Storage/leveldb/LOCK b/~/.config/google-chrome/Default/Local Storage/leveldb/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Local Storage/leveldb/LOG b/~/.config/google-chrome/Default/Local Storage/leveldb/LOG new file mode 100644 index 0000000000000000000000000000000000000000..2b4e5f239d9656d1f6f02b8c74e15064476dbd9a --- /dev/null +++ b/~/.config/google-chrome/Default/Local Storage/leveldb/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:11.172 472e Reusing MANIFEST leveldb/MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Local Storage/leveldb/MANIFEST-000001 b/~/.config/google-chrome/Default/Local Storage/leveldb/MANIFEST-000001 new file mode 100644 index 0000000000000000000000000000000000000000..18e5cab72c1550d8dc398e3413eea91bee24db77 Binary files /dev/null and b/~/.config/google-chrome/Default/Local Storage/leveldb/MANIFEST-000001 differ diff --git a/~/.config/google-chrome/Default/Login Data b/~/.config/google-chrome/Default/Login Data new file mode 100644 index 0000000000000000000000000000000000000000..74e09e4e5b69092fdebe13178abc31c116bb5804 Binary files /dev/null and b/~/.config/google-chrome/Default/Login Data differ diff --git a/~/.config/google-chrome/Default/Login Data-journal b/~/.config/google-chrome/Default/Login Data-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/MANIFEST-000002 b/~/.config/google-chrome/Default/MANIFEST-000002 new file mode 100644 index 0000000000000000000000000000000000000000..bbbc585686bcbcc33686059c69d80b7b4e1291cd Binary files /dev/null and b/~/.config/google-chrome/Default/MANIFEST-000002 differ diff --git a/~/.config/google-chrome/Default/Network Action Predictor b/~/.config/google-chrome/Default/Network Action Predictor new file mode 100644 index 0000000000000000000000000000000000000000..126a97110fca0b6d04d7ef5121c99cacad266161 Binary files /dev/null and b/~/.config/google-chrome/Default/Network Action Predictor differ diff --git a/~/.config/google-chrome/Default/Network Action Predictor-journal b/~/.config/google-chrome/Default/Network Action Predictor-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Network Persistent State b/~/.config/google-chrome/Default/Network Persistent State new file mode 100644 index 0000000000000000000000000000000000000000..9dd53eae2e14eb3d54dee8782d32cf2e6703a539 --- /dev/null +++ b/~/.config/google-chrome/Default/Network Persistent State @@ -0,0 +1 @@ +{"net":{"http_server_properties":{"servers":[{"https://csi.gstatic.com":{"supports_spdy":true}},{"https://accounts.youtube.com":{"supports_spdy":true}},{"https://play.google.com":{"supports_spdy":true}},{"https://mail.google.com":{"supports_spdy":true}},{"https://ssl.google-analytics.com":{"supports_spdy":true}},{"https://fonts.googleapis.com":{"supports_spdy":true}},{"https://fonts.gstatic.com":{"supports_spdy":true}},{"https://ssl.gstatic.com":{"supports_spdy":true}},{"https://www.gstatic.com":{"supports_spdy":true}},{"https://apis.google.com":{"supports_spdy":true}},{"https://www.google.com":{"supports_spdy":true}},{"https://accounts.google.com":{"supports_spdy":true}}],"version":5}}} \ No newline at end of file diff --git a/~/.config/google-chrome/Default/Preferences b/~/.config/google-chrome/Default/Preferences new file mode 100644 index 0000000000000000000000000000000000000000..a3b89d8ed51458c4a42505ef1cee0d88bac10b55 --- /dev/null +++ b/~/.config/google-chrome/Default/Preferences @@ -0,0 +1 @@ +{"account_id_migration_state":2,"account_tracker_service_last_update":"13195057990906379","alternate_error_pages":{"enabled":false},"autofill":{"credit_card_enabled":false,"enabled":false,"japan_city_field_migrated_to_street_address":true,"orphan_rows_removed":true,"profile_enabled":false},"browser":{"check_default_browser":false,"window_placement":{"bottom":1070,"left":10,"maximized":true,"right":955,"top":10,"work_area_bottom":1080,"work_area_left":0,"work_area_right":1920,"work_area_top":0}},"countryid_at_install":21843,"data_reduction":{"daily_original_length":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","6211102"],"daily_original_length_application":"176616","daily_original_length_unknown":"0","daily_original_length_via_data_reduction_proxy":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"daily_original_length_via_data_reduction_proxy_application":"0","daily_original_length_via_data_reduction_proxy_unknown":"0","daily_original_length_via_data_reduction_proxy_video":"0","daily_original_length_video":"0","daily_original_length_with_data_reduction_proxy_enabled":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"daily_original_length_with_data_reduction_proxy_enabled_application":"0","daily_original_length_with_data_reduction_proxy_enabled_unknown":"0","daily_original_length_with_data_reduction_proxy_enabled_video":"0","daily_received_length":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","6211102"],"daily_received_length_application":"176616","daily_received_length_https_with_data_reduction_proxy_enabled":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"daily_received_length_long_bypass_with_data_reduction_proxy_enabled":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"daily_received_length_short_bypass_with_data_reduction_proxy_enabled":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"daily_received_length_unknown":"0","daily_received_length_unknown_with_data_reduction_proxy_enabled":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"daily_received_length_via_data_reduction_proxy":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"daily_received_length_via_data_reduction_proxy_application":"0","daily_received_length_via_data_reduction_proxy_unknown":"0","daily_received_length_via_data_reduction_proxy_video":"0","daily_received_length_video":"0","daily_received_length_with_data_reduction_proxy_enabled":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"daily_received_length_with_data_reduction_proxy_enabled_application":"0","daily_received_length_with_data_reduction_proxy_enabled_unknown":"0","daily_received_length_with_data_reduction_proxy_enabled_video":"0","last_update_date":"13195000800000000","network_properties":{},"this_week_number":2563,"this_week_services_downstream_foreground_kb":{"112189210":4,"117963307":2,"35565745":1},"this_week_user_traffic_contenttype_downstream_kb":{"0":122,"1":420,"2":2459,"3":7,"4":2366,"5":398,"6":284}},"distribution":{"import_bookmarks":false,"import_history":false,"import_search_engine":false,"make_chrome_default_for_user":false,"skip_first_run_ui":true},"dns_prefetching":{"enabled":false},"download":{"directory_upgrade":true},"extensions":{"alerts":{"initialized":true},"autoupdate":{"next_check":"13195067535243808"},"chrome_url_overrides":{},"settings":{"aapnijgdinlhnhlmodcfapnahmbfebeb":{"active_permissions":{"api":["management","tabs"],"explicit_host":["\u003Call_urls>","chrome://favicon/*"],"manifest_permissions":[]},"commands":{},"content_settings":[],"creation_flags":38,"events":[],"from_bookmark":false,"from_webstore":false,"granted_permissions":{"api":["management","tabs"],"explicit_host":["\u003Call_urls>","chrome://favicon/*"],"manifest_permissions":[]},"incognito_content_settings":[],"incognito_preferences":{},"install_time":"13195057990904258","location":8,"never_activated_since_loaded":true,"newAllowFileAccess":true,"path":"/tmp/.com.google.Chrome.Q451HP/internal","preferences":{},"regular_only_preferences":{},"state":1,"was_installed_by_default":false,"was_installed_by_oem":false},"ahfgeienlihckogmohjhadlkjgocpleb":{"active_permissions":{"api":["management","system.display","system.storage","webstorePrivate","system.cpu","system.memory","system.network"],"manifest_permissions":[]},"app_launcher_ordinal":"t","commands":{},"content_settings":[],"creation_flags":1,"events":[],"from_bookmark":false,"from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"install_time":"13195057990826228","location":5,"manifest":{"app":{"launch":{"web_url":"https://chrome.google.com/webstore"},"urls":["https://chrome.google.com/webstore"]},"description":"Discover great apps, games, extensions and themes for Google Chrome.","icons":{"128":"webstore_icon_128.png","16":"webstore_icon_16.png"},"key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtl3tO0osjuzRsf6xtD2SKxPlTfuoy7AWoObysitBPvH5fE1NaAA1/2JkPWkVDhdLBWLaIBPYeXbzlHp3y4Vv/4XG+aN5qFE3z+1RU/NqkzVYHtIpVScf3DjTYtKVL66mzVGijSoAIwbFCC3LpGdaoe6Q1rSRDp76wR6jjFzsYwQIDAQAB","name":"Web Store","permissions":["webstorePrivate","management","system.cpu","system.display","system.memory","system.network","system.storage"],"version":"0.2"},"never_activated_since_loaded":true,"page_ordinal":"n","path":"/opt/google/chrome/resources/web_store","preferences":{},"regular_only_preferences":{},"state":1,"was_installed_by_default":false,"was_installed_by_oem":false},"ipbiihkmbodokjpigdgnmggjklnmgohc":{"active_permissions":{"api":["background","identity","identity.email","storage","tabs"],"explicit_host":["https://inbox.google.com/*","https://mail.google.com/*"],"manifest_permissions":[],"scriptable_host":["https://inbox.google.com/*","https://mail.google.com/*"]},"commands":{},"content_settings":[],"creation_flags":38,"events":[],"from_bookmark":false,"from_webstore":false,"granted_permissions":{"api":["background","identity","identity.email","storage","tabs"],"explicit_host":["https://inbox.google.com/*","https://mail.google.com/*"],"manifest_permissions":[],"scriptable_host":["https://inbox.google.com/*","https://mail.google.com/*"]},"incognito_content_settings":[],"incognito_preferences":{},"install_time":"13195057990903729","location":8,"never_activated_since_loaded":true,"newAllowFileAccess":true,"path":"/home/borisdimitrov/Desktop/Framework/framework/drivers/dist","preferences":{},"regular_only_preferences":{},"state":1,"was_installed_by_default":false,"was_installed_by_oem":false},"mfehgcgbbipciphmccgaenjidiccnmng":{"active_permissions":{"api":["cloudPrintPrivate"],"manifest_permissions":[]},"commands":{},"content_settings":[],"creation_flags":1,"events":[],"from_bookmark":false,"from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"install_time":"13195057990825855","location":5,"manifest":{"app":{"launch":{"web_url":"https://www.google.com/cloudprint"},"urls":["https://www.google.com/cloudprint/enable_chrome_connector"]},"description":"Cloud Print","display_in_launcher":false,"icons":{},"key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqOhnwk4+HXVfGyaNsAQdU/js1Na56diW08oF1MhZiwzSnJsEaeuMN9od9q9N4ZdK3o1xXOSARrYdE+syV7Dl31nf6qz3A6K+D5NHe6sSB9yvYlIiN37jdWdrfxxE0pRYEVYZNTe3bzq3NkcYJlOdt1UPcpJB+isXpAGUKUvt7EQIDAQAB","name":"Cloud Print","permissions":["cloudPrintPrivate"],"version":"0.1"},"never_activated_since_loaded":true,"path":"/opt/google/chrome/resources/cloud_print","preferences":{},"regular_only_preferences":{},"state":1,"was_installed_by_default":false,"was_installed_by_oem":false},"mhjfbmdgcfjbbpaeojofohoefgiehjai":{"active_permissions":{"api":["contentSettings","metricsPrivate","resourcesPrivate"],"explicit_host":["chrome://resources/*"],"manifest_permissions":[]},"commands":{},"content_settings":[],"creation_flags":1,"events":[],"from_bookmark":false,"from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"install_time":"13195057990826490","location":5,"manifest":{"content_security_policy":"script-src 'self' blob: filesystem: chrome://resources; object-src * blob: externalfile: file: filesystem: data:; plugin-types application/x-google-chrome-pdf","description":"","incognito":"split","key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDN6hM0rsDYGbzQPQfOygqlRtQgKUXMfnSjhIBL7LnReAVBEd7ZmKtyN2qmSasMl4HZpMhVe2rPWVVwBDl6iyNE/Kok6E6v6V3vCLGsOpQAuuNVye/3QxzIldzG/jQAdWZiyXReRVapOhZtLjGfywCvlWq7Sl/e3sbc0vWybSDI2QIDAQAB","manifest_version":2,"mime_types":["application/pdf"],"mime_types_handler":"index.html","name":"Chrome PDF Viewer","offline_enabled":true,"permissions":["chrome://resources/","contentSettings","metricsPrivate","resourcesPrivate"],"version":"1"},"never_activated_since_loaded":true,"path":"/opt/google/chrome/resources/pdf","preferences":{},"regular_only_preferences":{},"state":1,"was_installed_by_default":false,"was_installed_by_oem":false}},"theme":{"use_system":true}},"gaia_cookie":{"changed_time":1550584391.125338,"hash":"2jmj7l5rSw0yVb/vlWAYkK/YBwk="},"gcm":{"product_category_for_subtypes":"com.chrome.linux"},"google":{"services":{"signin_scoped_device_id":"e3b99fb0-f1dd-438b-9039-0b99b2b5b8e9"}},"http_original_content_length":"6211102","http_received_content_length":"6211102","invalidator":{"client_id":"N3eYC7Ct3EIWS1uX+CDZ4w=="},"language_model_counters":{"bg":1,"en":1},"media":{"device_id_salt":"79C9AC407EDBE59C9BCA2C8CDC33271D","engagement":{"schema_version":4}},"net":{"network_qualities":{"CAISC1ZlcmVpZ25XaUZpGICAgID4/////wE=":"4G"}},"ntp":{"custom_background_local_to_device":false,"num_personal_suggestions":3},"partition":{"per_host_zoom_levels":{}},"pinned_tabs":[],"plugins":{"plugins_list":[]},"previews":{"litepage":{"user-needs-notification":false}},"profile":{"avatar_index":26,"content_settings":{"exceptions":{"accessibility_events":{},"app_banner":{},"auto_select_certificate":{},"automatic_downloads":{},"autoplay":{},"background_sync":{},"bluetooth_guard":{},"client_hints":{},"clipboard":{},"cookies":{},"durable_storage":{},"flash_data":{},"geolocation":{},"images":{},"important_site_info":{},"javascript":{},"media_engagement":{"https://accounts.google.com:443,*":{"last_modified":"13195060961727121","setting":{"audiblePlaybacks":0,"audioContextPlaybacks":0,"hasHighScore":false,"highScoreChanges":0,"lastMediaPlaybackTime":0.0,"mediaElementPlaybacks":0,"mediaPlaybacks":0,"significantPlaybacks":0,"visits":1,"visitsWithMediaTag":0}},"https://www.google.com:443,*":{"last_modified":"13195060961726356","setting":{"audiblePlaybacks":0,"audioContextPlaybacks":0,"hasHighScore":false,"highScoreChanges":0,"lastMediaPlaybackTime":0.0,"mediaElementPlaybacks":0,"mediaPlaybacks":0,"significantPlaybacks":0,"visits":3,"visitsWithMediaTag":0}}},"media_stream_camera":{},"media_stream_mic":{},"midi_sysex":{},"mixed_script":{},"notifications":{},"password_protection":{},"payment_handler":{},"permission_autoblocking_data":{},"plugins":{},"popups":{},"ppapi_broker":{},"protocol_handler":{},"sensors":{},"site_engagement":{"https://www.google.com:443,*":{"last_modified":"13195058004074410","setting":{"lastEngagementTime":13195058004074388.0,"lastShortcutLaunchTime":0.0,"pointsAddedToday":3.0,"rawScore":3.0}}},"sound":{},"ssl_cert_decisions":{},"subresource_filter":{},"subresource_filter_data":{},"usb_chooser_data":{},"usb_guard":{}},"pattern_pairs":{"https://*,*":{"media-stream":{"audio":"Default","video":"Default"}}},"pref_version":1},"credentials_with_wrong_signon_realm_removed":true,"default_content_setting_values":{"geolocation":1},"default_content_settings":{"geolocation":1,"mouselock":1,"notifications":1,"popups":1,"ppapi-broker":1},"duplicated_blacklisted_credentials_removed":true,"exit_type":"Normal","exited_cleanly":true,"last_engagement_time":"13195058004074389","last_time_obsolete_http_credentials_removed":1550584450.885809,"local_profile_id":11739217,"managed_user_id":"","name":"Person 1","observed_session_time":{"incognito_window_in_product_help_observed_session_time_key":34.0,"new_tab_in_product_help_observed_session_time_key":34.0},"password_manager_enabled":false},"protection":{"macs":{"browser":{"show_home_button":"9DDE23BD288B95F7CE675BBD01A9E2B63A7624B8C3CDB431097FDF3F63AB4E51"},"default_search_provider_data":{"template_url_data":"705F2D2FDD2FF483A1A9E675DFD71CCB223E81A2CEBF5D20C031A68B0020CF77"},"extensions":{"settings":{"aapnijgdinlhnhlmodcfapnahmbfebeb":"4AFDB4E334569B7F52B9724F2002444FF3DAE33B897F946EB461FD45F1C0F236","ahfgeienlihckogmohjhadlkjgocpleb":"3D78D79A3CB9697D8724EB8B026AF42034BAE6AF25A2EF87D97E640EA9F6BEED","ipbiihkmbodokjpigdgnmggjklnmgohc":"29DE74E9FE441FABBF64F9A4A6DB05147289CF699003ED0E1D94273FC015A176","mfehgcgbbipciphmccgaenjidiccnmng":"27F3C721072D56320BABDE5B4770A4CC6526E53E38DB61733E86BBB4C9A710AD","mhjfbmdgcfjbbpaeojofohoefgiehjai":"F237A7335287727E6995F795031378E7E71605AC3E23BFD373FA0605B0A91B87"}},"google":{"services":{"account_id":"07620F46EF9994C94D86883494C13E89DC6509B3D4E8978B2E18F6776C85CDBF","last_account_id":"8452449E1468A5CF585BF23BDC52A3CA1BED67E36262AAE4BAC3583936F8B7AB","last_username":"C202CF3B01A560B8B7D71D3B0076B61126EF72F4B11D79B3EA6E3661DB757E93","username":"1CA30EB4EEE885888D93E71C93383D2E2A14715338EDF9B157FF935504B57767"}},"homepage":"B2A199504AEACAAD5C3A7BB4A96D9C3A9536D7A29672EB4DA3B9552B8D39C49C","homepage_is_newtabpage":"306C67E79E036278678ED45B3C668C4421665A206FC4B97F053015981C8BAAE2","media":{"storage_id_salt":"C29149AE129B959FDEB0CA9E54B924BF0A8BAF533937C017ADFBC9AA2FC7BC0C"},"pinned_tabs":"14F8B2B035A86C0AEA5637DFD2AA7F5BDEADD0AAFF13141260E56C9477047715","prefs":{"preference_reset_time":"7B22235E8A603BE387D81441C8C88F0C4E591567147FA05BE235C96189AC4490"},"safebrowsing":{"incidents_sent":"F1827D0C55798CE7843DAF5DDEAB06A9BB2F9628970A5DCDA2543102436E4749"},"search_provider_overrides":"99AC1EA12DA6196886F08A934B3B5006A725063DF41E9D0EE38F1FCFFDFDD5B0","session":{"restore_on_startup":"74E1D625EF359DDAF159A835BC3731F9BCEC2AFE542FE783845A6292F572D0F5","startup_urls":"D7174760A7168B445632139CD74E389AA027590889201AF1A252FFDE27B0531D"}}},"safebrowsing":{"enabled":false},"search":{"suggest_enabled":false},"signin":{"AccountReconcilor":{"kDiceMigrationOnStartup2":true},"allowed":true},"token_service":{"dice_compatible":true},"translate":{"enabled":false},"translate_site_blacklist_with_time":{}} \ No newline at end of file diff --git a/~/.config/google-chrome/Default/QuotaManager b/~/.config/google-chrome/Default/QuotaManager new file mode 100644 index 0000000000000000000000000000000000000000..d76c25159d03cafe10bb4e4de0e07eff384df4c2 Binary files /dev/null and b/~/.config/google-chrome/Default/QuotaManager differ diff --git a/~/.config/google-chrome/Default/QuotaManager-journal b/~/.config/google-chrome/Default/QuotaManager-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Secure Preferences b/~/.config/google-chrome/Default/Secure Preferences new file mode 100644 index 0000000000000000000000000000000000000000..f06075202876d075ddbc225fc667aeeb4ee3e34e --- /dev/null +++ b/~/.config/google-chrome/Default/Secure Preferences @@ -0,0 +1 @@ +{"protection":{"super_mac":"33F663353631B144EA660B5F809D89BA41CAF954EE5776BE5004BB589CA96BE1"}} \ No newline at end of file diff --git a/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/10c7004cbe37e293_0 b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/10c7004cbe37e293_0 new file mode 100644 index 0000000000000000000000000000000000000000..c1fc4f3690dc87fcc53f418ce3954ec200ca4623 Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/10c7004cbe37e293_0 differ diff --git a/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/4b708aa6fca448c3_0 b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/4b708aa6fca448c3_0 new file mode 100644 index 0000000000000000000000000000000000000000..de39b9ce5e1e25ff6219a96d298c70289f80a242 Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/4b708aa6fca448c3_0 differ diff --git a/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/5ca50924ce3c5c59_0 b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/5ca50924ce3c5c59_0 new file mode 100644 index 0000000000000000000000000000000000000000..818aaf3fad5cff7832141b8a625da716c8d8e4b8 Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/5ca50924ce3c5c59_0 differ diff --git a/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/6d784bc3309a249b_0 b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/6d784bc3309a249b_0 new file mode 100644 index 0000000000000000000000000000000000000000..a97e7208df27d76d398452981234e0e728e6f698 Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/6d784bc3309a249b_0 differ diff --git a/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/6d784bc3309a249b_1 b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/6d784bc3309a249b_1 new file mode 100644 index 0000000000000000000000000000000000000000..8f82610a249714856b94a7eb43fda95791c5d49d Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/6d784bc3309a249b_1 differ diff --git a/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/c3d5cfb6a1cf033d_0 b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/c3d5cfb6a1cf033d_0 new file mode 100644 index 0000000000000000000000000000000000000000..49512c1ecd3016d96311312e18899c1b426b09c1 Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/c3d5cfb6a1cf033d_0 differ diff --git a/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/de5032c33a16f1da_0 b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/de5032c33a16f1da_0 new file mode 100644 index 0000000000000000000000000000000000000000..29a957eae63af3b409685dd69837fc1c1981b180 Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/de5032c33a16f1da_0 differ diff --git a/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/index b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/index new file mode 100644 index 0000000000000000000000000000000000000000..f0cbd5412753d7c3930f82789e52c30933739993 Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/index differ diff --git a/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/index-dir/the-real-index b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/index-dir/the-real-index new file mode 100644 index 0000000000000000000000000000000000000000..704db067b5e50b948057dce6e83f0239a2de722c Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/4c0ec0fc-477f-4153-907d-969dad13f814/index-dir/the-real-index differ diff --git a/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/index.txt b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/index.txt new file mode 100644 index 0000000000000000000000000000000000000000..2304b770cfcae3af5b46ac0c7fd66c9832d47f9a Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/CacheStorage/28da9c56fde4021055a681112c092453f74d8dd8/index.txt differ diff --git a/~/.config/google-chrome/Default/Service Worker/Database/000003.log b/~/.config/google-chrome/Default/Service Worker/Database/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..583f16e7d0e9e00fb1d23259ef387c52ae6f31ca Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/Database/000003.log differ diff --git a/~/.config/google-chrome/Default/Service Worker/Database/CURRENT b/~/.config/google-chrome/Default/Service Worker/Database/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..7ed683d17118b70e46011ddc3562b455d0a4f866 --- /dev/null +++ b/~/.config/google-chrome/Default/Service Worker/Database/CURRENT @@ -0,0 +1 @@ +MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Service Worker/Database/LOCK b/~/.config/google-chrome/Default/Service Worker/Database/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Service Worker/Database/LOG b/~/.config/google-chrome/Default/Service Worker/Database/LOG new file mode 100644 index 0000000000000000000000000000000000000000..fc9b289879f84c9627e64137bc46b75f03518a72 --- /dev/null +++ b/~/.config/google-chrome/Default/Service Worker/Database/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:17.357 472f Reusing MANIFEST /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/Service Worker/Database/MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Service Worker/Database/MANIFEST-000001 b/~/.config/google-chrome/Default/Service Worker/Database/MANIFEST-000001 new file mode 100644 index 0000000000000000000000000000000000000000..18e5cab72c1550d8dc398e3413eea91bee24db77 Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/Database/MANIFEST-000001 differ diff --git a/~/.config/google-chrome/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_0 b/~/.config/google-chrome/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_0 new file mode 100644 index 0000000000000000000000000000000000000000..5c9dc6f0c6c7684d9c85aa2c7faa0e5e07d63d57 Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_0 differ diff --git a/~/.config/google-chrome/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_1 b/~/.config/google-chrome/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_1 new file mode 100644 index 0000000000000000000000000000000000000000..7a9dba505a008a57b018d3b743eb9a0005247879 Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_1 differ diff --git a/~/.config/google-chrome/Default/Service Worker/ScriptCache/index b/~/.config/google-chrome/Default/Service Worker/ScriptCache/index new file mode 100644 index 0000000000000000000000000000000000000000..f0cbd5412753d7c3930f82789e52c30933739993 Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/ScriptCache/index differ diff --git a/~/.config/google-chrome/Default/Service Worker/ScriptCache/index-dir/the-real-index b/~/.config/google-chrome/Default/Service Worker/ScriptCache/index-dir/the-real-index new file mode 100644 index 0000000000000000000000000000000000000000..55dcae112340c77986490be172b5fdb354bb474d Binary files /dev/null and b/~/.config/google-chrome/Default/Service Worker/ScriptCache/index-dir/the-real-index differ diff --git a/~/.config/google-chrome/Default/Session Storage/000003.log b/~/.config/google-chrome/Default/Session Storage/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..82f894e362dd0928e7278c98be0e50da2b1e4bd9 Binary files /dev/null and b/~/.config/google-chrome/Default/Session Storage/000003.log differ diff --git a/~/.config/google-chrome/Default/Session Storage/CURRENT b/~/.config/google-chrome/Default/Session Storage/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..7ed683d17118b70e46011ddc3562b455d0a4f866 --- /dev/null +++ b/~/.config/google-chrome/Default/Session Storage/CURRENT @@ -0,0 +1 @@ +MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Session Storage/LOCK b/~/.config/google-chrome/Default/Session Storage/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Session Storage/LOG b/~/.config/google-chrome/Default/Session Storage/LOG new file mode 100644 index 0000000000000000000000000000000000000000..c6c0e7d4b88d29b3c3d32a5cb0f307497f613599 --- /dev/null +++ b/~/.config/google-chrome/Default/Session Storage/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:19.358 4732 Reusing MANIFEST /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/Session Storage/MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Session Storage/MANIFEST-000001 b/~/.config/google-chrome/Default/Session Storage/MANIFEST-000001 new file mode 100644 index 0000000000000000000000000000000000000000..18e5cab72c1550d8dc398e3413eea91bee24db77 Binary files /dev/null and b/~/.config/google-chrome/Default/Session Storage/MANIFEST-000001 differ diff --git a/~/.config/google-chrome/Default/Shortcuts b/~/.config/google-chrome/Default/Shortcuts new file mode 100644 index 0000000000000000000000000000000000000000..eea14358bdf2cecb5ca8bc47bad55cd82f9e1c95 Binary files /dev/null and b/~/.config/google-chrome/Default/Shortcuts differ diff --git a/~/.config/google-chrome/Default/Shortcuts-journal b/~/.config/google-chrome/Default/Shortcuts-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Thumbnails/000003.log b/~/.config/google-chrome/Default/Thumbnails/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Thumbnails/CURRENT b/~/.config/google-chrome/Default/Thumbnails/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..7ed683d17118b70e46011ddc3562b455d0a4f866 --- /dev/null +++ b/~/.config/google-chrome/Default/Thumbnails/CURRENT @@ -0,0 +1 @@ +MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Thumbnails/LOCK b/~/.config/google-chrome/Default/Thumbnails/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Thumbnails/LOG b/~/.config/google-chrome/Default/Thumbnails/LOG new file mode 100644 index 0000000000000000000000000000000000000000..d3eb19128d136d668534b4d84fa71d2ccd0b41e0 --- /dev/null +++ b/~/.config/google-chrome/Default/Thumbnails/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:10.886 4732 Reusing MANIFEST /home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/Default/Thumbnails/MANIFEST-000001 diff --git a/~/.config/google-chrome/Default/Thumbnails/MANIFEST-000001 b/~/.config/google-chrome/Default/Thumbnails/MANIFEST-000001 new file mode 100644 index 0000000000000000000000000000000000000000..18e5cab72c1550d8dc398e3413eea91bee24db77 Binary files /dev/null and b/~/.config/google-chrome/Default/Thumbnails/MANIFEST-000001 differ diff --git a/~/.config/google-chrome/Default/Top Sites b/~/.config/google-chrome/Default/Top Sites new file mode 100644 index 0000000000000000000000000000000000000000..0963f93d31caa0b73a8f58461732d06dfd52e5b6 Binary files /dev/null and b/~/.config/google-chrome/Default/Top Sites differ diff --git a/~/.config/google-chrome/Default/Top Sites-journal b/~/.config/google-chrome/Default/Top Sites-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/Translate Ranker Model b/~/.config/google-chrome/Default/Translate Ranker Model new file mode 100644 index 0000000000000000000000000000000000000000..0785a973c003f805b4f0a28cfd6430dc99e5964c Binary files /dev/null and b/~/.config/google-chrome/Default/Translate Ranker Model differ diff --git a/~/.config/google-chrome/Default/TransportSecurity b/~/.config/google-chrome/Default/TransportSecurity new file mode 100644 index 0000000000000000000000000000000000000000..24904c406713b979534e9a1bd7629b63ff7bfde9 --- /dev/null +++ b/~/.config/google-chrome/Default/TransportSecurity @@ -0,0 +1,38 @@ +{ + "26YaoM4gVrY0ie3hywpFBUJh47nIlvTljf0QEZuoLCM=": { + "dynamic_spki_hashes_expiry": 0.0, + "expiry": 1561470804.271064, + "mode": "force-https", + "pkp_include_subdomains": false, + "pkp_observed": 0.0, + "sts_include_subdomains": true, + "sts_observed": 1550584404.271067 + }, + "5EdUoB7YUY9zZV+2DkgVXgho8WUvp+D+6KpeUOhNQIM=": { + "dynamic_spki_hashes_expiry": 0.0, + "expiry": 1582120411.481243, + "mode": "force-https", + "pkp_include_subdomains": false, + "pkp_observed": 0.0, + "sts_include_subdomains": false, + "sts_observed": 1550584411.481245 + }, + "8/RrMmQlCD2Gsp14wUCE1P8r7B2C5+yE0+g79IPyRsc=": { + "dynamic_spki_hashes_expiry": 0.0, + "expiry": 1582120463.667253, + "mode": "force-https", + "pkp_include_subdomains": false, + "pkp_observed": 0.0, + "sts_include_subdomains": true, + "sts_observed": 1550584463.667256 + }, + "nAuqgR4iEWti7SOdT3UHPl6rmZU/DeaIm38P2O2OkgA=": { + "dynamic_spki_hashes_expiry": 0.0, + "expiry": 1582120404.434247, + "mode": "force-https", + "pkp_include_subdomains": false, + "pkp_observed": 0.0, + "sts_include_subdomains": false, + "sts_observed": 1550584404.434249 + } +} diff --git a/~/.config/google-chrome/Default/Visited Links b/~/.config/google-chrome/Default/Visited Links new file mode 100644 index 0000000000000000000000000000000000000000..85498b84cbc72a129eb9bf6f1ba6f08248ad3069 Binary files /dev/null and b/~/.config/google-chrome/Default/Visited Links differ diff --git a/~/.config/google-chrome/Default/Web Data b/~/.config/google-chrome/Default/Web Data new file mode 100644 index 0000000000000000000000000000000000000000..c81496bb381f5c483c9a62018ca1e8a765296076 Binary files /dev/null and b/~/.config/google-chrome/Default/Web Data differ diff --git a/~/.config/google-chrome/Default/Web Data-journal b/~/.config/google-chrome/Default/Web Data-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/000003.log b/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/000003.log new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/CURRENT b/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..1a84852211ef37da31d6906c4e1784f38d1a63d5 --- /dev/null +++ b/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/CURRENT @@ -0,0 +1 @@ +MANIFEST-000002 diff --git a/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/LOCK b/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/LOCK new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/LOG b/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/LOG new file mode 100644 index 0000000000000000000000000000000000000000..9a6ade612a2df143bf756179254ec07dd1d13309 --- /dev/null +++ b/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/LOG @@ -0,0 +1 @@ +2019/02/19-15:53:10.830 472f Delete type=3 #1 diff --git a/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/MANIFEST-000002 b/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/MANIFEST-000002 new file mode 100644 index 0000000000000000000000000000000000000000..bbbc585686bcbcc33686059c69d80b7b4e1291cd Binary files /dev/null and b/~/.config/google-chrome/Default/data_reduction_proxy_leveldb/MANIFEST-000002 differ diff --git a/~/.config/google-chrome/Default/databases/Databases.db b/~/.config/google-chrome/Default/databases/Databases.db new file mode 100644 index 0000000000000000000000000000000000000000..d7132d2135215b1ff55ae2a80525f8dbf1214357 Binary files /dev/null and b/~/.config/google-chrome/Default/databases/Databases.db differ diff --git a/~/.config/google-chrome/Default/databases/Databases.db-journal b/~/.config/google-chrome/Default/databases/Databases.db-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/page_load_capping_opt_out.db b/~/.config/google-chrome/Default/page_load_capping_opt_out.db new file mode 100644 index 0000000000000000000000000000000000000000..b3e1b76f40c9faca9f8477d733539c13388404bc Binary files /dev/null and b/~/.config/google-chrome/Default/page_load_capping_opt_out.db differ diff --git a/~/.config/google-chrome/Default/page_load_capping_opt_out.db-journal b/~/.config/google-chrome/Default/page_load_capping_opt_out.db-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/Default/previews_opt_out.db b/~/.config/google-chrome/Default/previews_opt_out.db new file mode 100644 index 0000000000000000000000000000000000000000..bba7aacbe8a0e098b4ec61e61b9df6f8b60cdaf5 Binary files /dev/null and b/~/.config/google-chrome/Default/previews_opt_out.db differ diff --git a/~/.config/google-chrome/Default/previews_opt_out.db-journal b/~/.config/google-chrome/Default/previews_opt_out.db-journal new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/DevToolsActivePort b/~/.config/google-chrome/DevToolsActivePort new file mode 100644 index 0000000000000000000000000000000000000000..fcea1bef220c9e607a18935b699d3799366fc15c --- /dev/null +++ b/~/.config/google-chrome/DevToolsActivePort @@ -0,0 +1,2 @@ +41697 +/devtools/browser/570e3df8-88f5-402d-a6f2-d64c3561b951 \ No newline at end of file diff --git a/~/.config/google-chrome/FileTypePolicies/26/_metadata/verified_contents.json b/~/.config/google-chrome/FileTypePolicies/26/_metadata/verified_contents.json new file mode 100644 index 0000000000000000000000000000000000000000..e3657a4b81d28e25ec3e16cceabd3811b2593a49 --- /dev/null +++ b/~/.config/google-chrome/FileTypePolicies/26/_metadata/verified_contents.json @@ -0,0 +1 @@ +[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJkb3dubG9hZF9maWxlX3R5cGVzLnBiIiwicm9vdF9oYXNoIjoieV9uaFlQOXpkS09wcjVUaWdfeW5hMjBLSUVfd3ZyZzVvSWt0OEJRVFQ4MCJ9LHsicGF0aCI6Im1hbmlmZXN0Lmpzb24iLCJyb290X2hhc2giOiJ6bTVTZVRCNGJJeUpNT1VSZVVIcFQ2OXJ0dGx4dzA2VVhZZGIxaU03OTZ3In1dLCJmb3JtYXQiOiJ0cmVlaGFzaCIsImhhc2hfYmxvY2tfc2l6ZSI6NDA5Nn1dLCJpdGVtX2lkIjoia2hhb2llYm5ka29qbG1wcGVlbWpoYnBiYW5kaWxqcGUiLCJpdGVtX3ZlcnNpb24iOiIyNiIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"o51o10PtZO-ii__MTVghsZAakR92Ya4Tj5F-IhBAjfcw7923C56HN8BERVLP6UMMq0E6sSgH0zJoHEAu8_VVhoNtali8fQ9ZsXaM78h6X9GKICJNSVpPoftzsloPv0pX4-PQD-YzfvLA5T-UKd1-KIPg_cUD1Qht89MYMt3BSRDDOiA66zoj_lYG2NxlWEL4iP77nLKlSv0i1tBfiCeNcFCVtxKQTAMQ3_sa5LoSEA4j3VDzJ17IDsMxmdLEt8x_YYUs8B275gP2KtJTpLYm3pGw32glrYJm9KkT7-R4q7Joj7t25KiEttihendxev9FSLufLZffcBnN98eDIdBCQw"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"ivGiC0FtJ6iTfInH96m9TufQLoCCnSYV4N4CNYMIDhX7NBUTaGoKtx_5YB0zsAqna4Qs51hOP4sJeVxDWBLrKdE-NUMWhxCUnK5DQIzm3lTEniLtLPkW2v1HLImSSzCwRUujqGlwbE4pReo44gx_HAGXVRUsaLqGvshlMdLeCeh4hGUl9Khszt9eYGN0Bj3ugJn5d5k8AEh8YwxAbTyN28CURDRRtjI5J6uXXhieum22RewfneeyxoesvsGeHvGc5vtc1F-E9gy-gozpdja8ELi_c414IBnXXGwPQOXPRSUExz03W_-K5Z2_E83E9SFzZmiFc52BmK4KnO_sfbHAeg"}]}}] \ No newline at end of file diff --git a/~/.config/google-chrome/FileTypePolicies/26/download_file_types.pb b/~/.config/google-chrome/FileTypePolicies/26/download_file_types.pb new file mode 100644 index 0000000000000000000000000000000000000000..df954a8cbc12bda473309cb0d803b0e4497bc0b8 Binary files /dev/null and b/~/.config/google-chrome/FileTypePolicies/26/download_file_types.pb differ diff --git a/~/.config/google-chrome/FileTypePolicies/26/manifest.fingerprint b/~/.config/google-chrome/FileTypePolicies/26/manifest.fingerprint new file mode 100644 index 0000000000000000000000000000000000000000..5f5702b268430984d0bb196bd23a38665720727b --- /dev/null +++ b/~/.config/google-chrome/FileTypePolicies/26/manifest.fingerprint @@ -0,0 +1 @@ +1.bc4b0c55035c205b77b7d23f38b9258ab78d7b92be24f8b30b32c21167a81357 \ No newline at end of file diff --git a/~/.config/google-chrome/FileTypePolicies/26/manifest.json b/~/.config/google-chrome/FileTypePolicies/26/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..a8a300008fc4d2c208e3aa2d745ad9f07a085b49 --- /dev/null +++ b/~/.config/google-chrome/FileTypePolicies/26/manifest.json @@ -0,0 +1,5 @@ +{ + "manifest_version": 2, + "name": "fileTypePolicies", + "version": "26" +} \ No newline at end of file diff --git a/~/.config/google-chrome/First Run b/~/.config/google-chrome/First Run new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/_metadata/verified_contents.json b/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/_metadata/verified_contents.json new file mode 100644 index 0000000000000000000000000000000000000000..114e005defc93ef61c61682aefe7b6f977c996d1 --- /dev/null +++ b/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/_metadata/verified_contents.json @@ -0,0 +1 @@ +[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJpbnRlcnZlbnRpb25fcG9saWN5X2RhdGFiYXNlLnBiIiwicm9vdF9oYXNoIjoidlRfU2xrb1BIbGt3OW9LRENEcnRlUVpfdDhCdHlHa05rU3k0UWFoa3RkbyJ9LHsicGF0aCI6Im1hbmlmZXN0Lmpzb24iLCJyb290X2hhc2giOiJzaDhKSko1NFRMUE45Unc4WXM2UHlDaklqbW1rTXJjbksxR01mQXE5ZEZZIn1dLCJmb3JtYXQiOiJ0cmVlaGFzaCIsImhhc2hfYmxvY2tfc2l6ZSI6NDA5Nn1dLCJpdGVtX2lkIjoiY29wamJtamJvamJha3BhZWRtcGtobWlwbG1tZWhmY2siLCJpdGVtX3ZlcnNpb24iOiIyMDE4LjkuNi4wIiwicHJvdG9jb2xfdmVyc2lvbiI6MX0","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"SYz3ud5Pp_6o_uh8aYuN0h84i3_CUVTGoePK1FZCcgN06-dz5waBwZ53O2-mFlNAboD7PrS_Jd45iXLP3sxaUt_FwIePvvB7Xa1q0UpO0MEKatlelQAE3DFsVXYdgJxO0Nw_RkuHrBl1sS9Uw1nA8Kb3NPvFbKEQvlWcKIOeqyB8p1uvFjqQOyoLOuzMLCNH8tDeftQAzkku854PwBKc2n8ALtQe0Zp-9fwNIfihudBHxrrEIt3d6COGH3cDma3qvrDFhOSTELJ7IyBQc0lxdaVNuCqPhjRXlXbZRMZ2KEDyylGtnv5LAZfMCN3bN1Z85qSf88hWwl6opQmVGOySXDOFEZGpc8rsw-hpQ_jVJvU7oy_XZoQCEc-MxNX-T3zBDbIgKKnhVOKDH0Bm4G5ftnxiKKdINLxBbiJMg1DeLIDVK6LdijWgNA0aYVKSKCB2UzFRe5JvHmHxniU4Yf6oRP6IbxxKXlZJjgrRaJCebNJFmgqCdpYiOH1iG5zvee_6Qrrq505OLB9lfxtC_HWgEmJPRTseX3thxpUPHaPNzmLwDrYegfr6E1vcvu5lBvQvBpHJH_dOEuyjaGs4zg9ZQP_Ze4EETxAxv5dAYY0tr1ozs8DHlyL1H5aaYjHztNFY-AfMrEO-tsPnc_sJlzG8DL4T7Imu2Fj_cGhkcxADbz8"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"CDdENkuwMWwpejBB6npFXuaV7SnUD-tsVbqF_xqKsgMFtHrLczH8wB7lxboKu6f068uDLJGUyxqY5Uo9McnH_sl27bcRRN80LOh7Yw63zEBbSVf_sXmq7LF9TlxEWIDBg1lO6Jx9IMKzWBqAI8jn7O1ilv69VcXZouo4UKenumBlW_x8X4Pzd1DQWg76fNIumWaCe7M2vXQNWzpngPf1DppaoqCWwSXHLLv-c5f_y20PNHu1TlVLaU0-s4UTNdGCmLhlUbJdp-5jjs_64W7dyfFSO_MCVTS9tB1aXi2r_DUr5P76zcWC4S_H-8j1DW93S4-KhLKeO7HShUtP81VPSg"}]}}] \ No newline at end of file diff --git a/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/intervention_policy_database.pb b/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/intervention_policy_database.pb new file mode 100644 index 0000000000000000000000000000000000000000..0a7400c02d0f127c955563c6aa0fc32d52bcb1b2 --- /dev/null +++ b/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/intervention_policy_database.pb @@ -0,0 +1,109 @@ + +& + 843202b981b5a9c1a4278b69a1aec038 +& + 813f328845c7894b33d28457fe2f3f77 +& + 0724282bffe03be510c3efe1b8b49fef +& + 17759d14b27785efbe584e913c2ab705 +& + 7afe89dd340d4822fe50080f63883253 +& + b0f7ed7928d578c6c3800b55b7ded9c1 +& + 6171df9a002f9e87b149b5a37ede559f +& + a885b73a8cc698bc9083643953484656 +& + 7cd4cbe237224b1cc65a104ff2b195c5 +& + 9673922cc640fb09bcaa49100224cd1c +& + 7ad794fe369f7df79095f16fb3fdc98a +& + c2f5dc9e5b9335256d5b812a2a609502 +& + 12190afc77a807e8c6bafc3186575e5c +& + 97b023d5871589d87af9a295fd9b475c +& + 7f9d2ffa404042b84af96915c0c55601 +& + 57c36255cdff7091782094a7571dbcab +& + 581d934b794d7757bb69aaf001d0ac34 +& + 97349262b5ab52c52000af07bbf2128b +& + 069cac3caf4acf1138b896af8f1a1033 +& + 1ef021a65e3ad893330872ee1dbad421 +& + c47a39624eb6d0f1ee800cfae9be1a22 +& + e01e5d5ffe39697c18a512946999187a +& + 2f066ad833187709de9fbf26c49223be +& + 87e5a9854a8c2b9fc443447a949763da +& + a76652306283501c0d18d0f3ec2a537a +& + 3208ed792d2c4564112f3a469dc64309 +& + e8cfd6eb7509d6c53e3f8746752a0bc2 +& + e4976a61b8d204eb0dbe142ed2138813 +& + c151ba18c5c3bbd8d9443c80ceccec9f +& + 2dad97bcc6147bad73258dffb08063b4 +& + ed8c0d3abb74ccaff2194abc728f61d5 +& + 0474489fb5b3591ac0f3b315b1c41cba +& + 2c197bdcf34bf3876b510b96966164d3 +& + 0ab108c305521a85a6604da2ad53a53f +& + fa78deccb7d27e476d45f6b2325c58c5 +& + 149e4cdd287b70fea99a70f0855310e0 +& + 6c2fd6b05a406fc0a0e82d3f679a9ac5 +& + fb74a140acb376112e4af0fa198ee1d6 +& + 25f23e755b5377b61299db39b1944c9b +& + 13ca09ddf93932bba2ed1619133f98a8 +& + 9504f6567ce615d852133463c41e5a78 +& + d54078e3e12eb754f95b7542f836d6d3 +& + d7f21143e125013a61968844ace32831 +& + 0b96b55a0090600b49b59520af5d13b9 +& + 299cb934bb65c61dd3195be62f1f2a40 +& + e2c96533489670236ff9a31153eb1397 +& + d5da668f60934d088bc79ddd9a4c27fa +& + aeb405d0c37bc5e05aa2d51906451178 +& + 0be114fb1c580f5f9d56eb2bc6edfeb4 +& + caf7fdc8e58559509eb1892346764d52 +& + 904653240d11ff4eb7f1ee28682fa3d6 +& + be5cab0695415d9363d18ad1345c73eb +& + 336f7a96485d9bbcfd22b64d55c4ed34 +& + 141924ecb471a6e0c70732bd329da5f5 \ No newline at end of file diff --git a/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/manifest.fingerprint b/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/manifest.fingerprint new file mode 100644 index 0000000000000000000000000000000000000000..64ca76cba49720eb48c514d3422e54d43bfbbfae --- /dev/null +++ b/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/manifest.fingerprint @@ -0,0 +1 @@ +1.207921137eee9c0831e0bd890330986c10dfd9382034491b82de3f86ae6915f7 \ No newline at end of file diff --git a/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/manifest.json b/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..cf3b1b95468868fe1b452ed38e14a0abed84cd0d --- /dev/null +++ b/~/.config/google-chrome/InterventionPolicyDatabase/2018.9.6.0/manifest.json @@ -0,0 +1,5 @@ +{ + "manifest_version": 2, + "name": "intervention_policy_database", + "version": "2018.9.6.0" +} \ No newline at end of file diff --git a/~/.config/google-chrome/Local State b/~/.config/google-chrome/Local State new file mode 100644 index 0000000000000000000000000000000000000000..3edb98537ed4ac539d26d6175c887bc890efcc20 --- /dev/null +++ b/~/.config/google-chrome/Local State @@ -0,0 +1 @@ +{"background_mode":{"enabled":false},"hardware_acceleration_mode_previous":true,"policy":{"last_statistics_update":"13195057990754003"},"profile":{"info_cache":{"Default":{"active_time":1550584390.89697,"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_26","background_apps":false,"gaia_id":"","is_ephemeral":false,"is_omitted_from_profile_list":false,"is_using_default_avatar":true,"is_using_default_name":true,"managed_user_id":"","name":"Person 1","user_name":""}},"last_active_profiles":[]},"rappor":{"cohort_seed":489,"last_daily_sample":"13195058005754496","secret":"6KBF52Wao+jjmkri5QpvU1JRUCNWZU7BNlzs8JzP4gDe6brlRiLABInOSXwz+l9x"},"shutdown":{"num_processes":7,"num_processes_slow":0,"type":1},"ssl":{"rev_checking":{"enabled":false}},"startup_metric":{"last_startup_timestamp":"13195057990370000","last_startup_version":"71.0.3578.98","same_version_startup_count":1},"subresource_filter":{"ruleset_version":{"checksum":1167208528,"content":"9.1","format":23}},"supervised_users":{"whitelists":{}},"tab_stats":{"last_daily_sample":"13195057990898880","max_tabs_per_window":3,"total_tab_count_max":3,"window_count_max":1},"ukm":{"persisted_logs":[]},"uninstall_metrics":{"installation_date2":"1550584390","launch_count":"1","page_load_count":"12"},"updateclientdata":{"apps":{"aemomkdncapdnfajjbbcbdebjljbpmpj":{"cohort":"","cohortname":"","dlrc":4432,"pf":"bdecdc35-5089-4e47-a5f8-1e2071b7e381"},"copjbmjbojbakpaedmpkhmiplmmehfck":{"cohort":"1:p1x:","cohortname":"Auto","dlrc":4432,"pf":"8e31fc5e-94d2-4ee7-a440-253f1178cd53"},"gcmjkmgdlgnkkcocmoeiminaijmmjnii":{"cohort":"1:bm1:","cohortname":"M54ToM99","dlrc":4432,"pf":"d3951933-96d2-43a0-b809-6ec6c461f5f6"},"giekcmmlnklenlaomppkphknjmnnpneh":{"cohort":"1:j5l:","cohortname":"Auto","dlrc":4432,"pf":"330a47b7-3887-4718-876f-b534086a0d94"},"hfnkpimlhhgieaddgfemjhofmfblmnib":{"cohort":"1:jcl:","cohortname":"Auto","dlrc":4432,"pf":"176bdda3-84e6-4b4d-9bdc-0ecd3eba4efb"},"hnimpnehoodheedghdeeijklkeaacbdc":{"cohort":"","cohortname":"","dlrc":4432,"pf":"0752baa9-291a-4bb1-9e95-35df3135bdbf"},"khaoiebndkojlmppeemjhbpbandiljpe":{"cohort":"1:cux:","cohortname":"Auto","dlrc":4432,"pf":"5c78220e-fc23-4746-8054-3d79ea5d924c"},"llkgjffcdpffmhiakmfcdcblohccpfmo":{"dlrc":4432,"pf":"ac0c2d5a-7920-4deb-aa9b-5780fbb860ff"},"mimojjlkmoijpicakmndhoigimigcmbb":{"cohort":"1:d0j:","cohortname":"Chrome [M50... M99]","dlrc":4432,"pf":"8e8db15d-7647-43ca-ba6e-762b2f9207e7"},"ojjgnpkioondelmggbekfhllhdaimnho":{"cohort":"1:0:","cohortname":"Auto","dlrc":4432,"pf":"71572358-860d-464d-b412-92b58a8e261c"}}},"user_experience_metrics":{"client_id2":"bacba032-ccad-4c7a-b51e-eff5208ea816","client_id_timestamp":"1550584390","low_entropy_source2":6639,"session_id":0,"stability":{"breakpad_registration_fail":1,"breakpad_registration_ok":0,"browser_last_live_timestamp":"13195060961738803","child_process_crash_count":0,"crash_count":0,"debugger_not_present":1,"debugger_present":0,"deferred_count":0,"discard_count":1,"execution_phase":700,"exited_cleanly":true,"extension_renderer_crash_count":0,"extension_renderer_failed_launch_count":0,"extension_renderer_launch_count":2,"gpu_crash_count":0,"incomplete_session_end_count":0,"launch_count":1,"page_load_count":12,"plugin_stats2":[],"renderer_crash_count":0,"renderer_failed_launch_count":0,"renderer_hang_count":0,"renderer_launch_count":11,"session_end_completed":true,"stats_buildtime":"1544504400","stats_version":"71.0.3578.98-64","version_mismatch_count":0}},"was":{"restarted":false}} \ No newline at end of file diff --git a/~/.config/google-chrome/MEIPreload/1.0.4.0/_metadata/verified_contents.json b/~/.config/google-chrome/MEIPreload/1.0.4.0/_metadata/verified_contents.json new file mode 100644 index 0000000000000000000000000000000000000000..e575071b3816d91ec0721bb9b4cef6d09bd88d56 --- /dev/null +++ b/~/.config/google-chrome/MEIPreload/1.0.4.0/_metadata/verified_contents.json @@ -0,0 +1 @@ +[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJtYW5pZmVzdC5qc29uIiwicm9vdF9oYXNoIjoiTEUtUC1rb2R3dE1GOFg2cHZHSno3OWxBVmFvSGpxdVltUzV0QjRSN0pZdyJ9LHsicGF0aCI6InByZWxvYWRlZF9kYXRhLnBiIiwicm9vdF9oYXNoIjoiWFhzdDZYVlZGbUIzRXBYVWY3d09VMGx0OTdIMzFlTEd3MGRGRXZKbG1aQSJ9XSwiZm9ybWF0IjoidHJlZWhhc2giLCJoYXNoX2Jsb2NrX3NpemUiOjQwOTZ9XSwiaXRlbV9pZCI6ImFlbW9ta2RuY2FwZG5mYWpqYmJjYmRlYmpsamJwbXBqIiwiaXRlbV92ZXJzaW9uIjoiMS4wLjQuMCIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"eI-Cc5urAm35mExQrw2c0alUGr023Q4yBX83CuOpmz1O_cr8fKor9s7YM2RGXR1mNuLMjtagCy9wDbkHvaVE3BvPWvYdQVeEqWm7cX903TZBB1mjjQMVsFrK_iBMlmUTTv61D-9DMBCTneJtshLLhikfXMkI2orBSlq0GQxG4lManaVP87GQJn3-ltDDLnsR0Td4dvYXq5PO6JY-zsSBsiAUW2IjxqMgD9PyxjXXKa9V8CTmvezsk1lfM1lzJwFO_3uw5iWGJ20WxUoA0h_fMWGbiq5XZQ5p_1-SMVm_DW1JUqlC4Ub_9-RnMTPYmpfyjPZXIU9J7vCY_qZedAuQdg"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"hL6RQhINCVcK2PEgRgBQhkOmejxT8wrlc4c2GIXxkQ3KdsCTsUB5-L4Y2keAg6PiLRtMzMo_I8FYxaL33-B8Kg7Uy-c-R8K9rJFGyerFRecrfCjD_Y0FW1yUohVDTVFQ03CtrD5oLCq45zJIe-GnEvM_9gMN7t7x2lCJ2Umx96rHNa5lyawl5Gzsm00uYEy4uyFCb7er3dnmuCYCXT4qPMZGGz4xYtb5riZ--uqmerx6sBgIpvPFQiNJU5q0HyOVg0Nv8tVVg7VnNZf-0X8MHzWB8OtCHhDu29x4jg6HctcdtXuPoCkXvCgPayR2IGhhpCFrhrT4aW7cMb9iiqiRWQ"}]}}] \ No newline at end of file diff --git a/~/.config/google-chrome/MEIPreload/1.0.4.0/manifest.fingerprint b/~/.config/google-chrome/MEIPreload/1.0.4.0/manifest.fingerprint new file mode 100644 index 0000000000000000000000000000000000000000..e39a87fdd5de625b84d209da8b8ed39233b5ef31 --- /dev/null +++ b/~/.config/google-chrome/MEIPreload/1.0.4.0/manifest.fingerprint @@ -0,0 +1 @@ +1.e8b89decb6a9092d1a53e8c75f566d3b01c9ff0f58857b502e914a24fc56c82e \ No newline at end of file diff --git a/~/.config/google-chrome/MEIPreload/1.0.4.0/manifest.json b/~/.config/google-chrome/MEIPreload/1.0.4.0/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..9473387e90469d7d3984a270fb834c1715043184 --- /dev/null +++ b/~/.config/google-chrome/MEIPreload/1.0.4.0/manifest.json @@ -0,0 +1,8 @@ +{ + "name": "MEI Preload", + "icons": {}, + "version": "1.0.4.0", + "manifest_version": 2, + "update_url": "https://clients2.google.com/service/update2/crx", + "description": "Contains preloaded data for Media Engagement" +} \ No newline at end of file diff --git a/~/.config/google-chrome/MEIPreload/1.0.4.0/preloaded_data.pb b/~/.config/google-chrome/MEIPreload/1.0.4.0/preloaded_data.pb new file mode 100644 index 0000000000000000000000000000000000000000..87b37beae3887e957d5b9578e49613305e592ced Binary files /dev/null and b/~/.config/google-chrome/MEIPreload/1.0.4.0/preloaded_data.pb differ diff --git a/~/.config/google-chrome/PepperFlash/32.0.0.142/_metadata/verified_contents.json b/~/.config/google-chrome/PepperFlash/32.0.0.142/_metadata/verified_contents.json new file mode 100644 index 0000000000000000000000000000000000000000..0565d30e7ba65a4458e05865156c4752e79317d5 --- /dev/null +++ b/~/.config/google-chrome/PepperFlash/32.0.0.142/_metadata/verified_contents.json @@ -0,0 +1 @@ +[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJsaWJwZXBmbGFzaHBsYXllci5zbyIsInJvb3RfaGFzaCI6IkF4RDNfeUhMMEIydUNIMGlJa2NyNlY4VmlGSDVWcllHNEVaX0w5eWNnREUifSx7InBhdGgiOiJtYW5pZmVzdC5qc29uIiwicm9vdF9oYXNoIjoiZFk5Y2tYbDN5UHZPNXFVRU4yZFN3UzRVYmdRNVo5NjRmVW12YW9mb1hBQSJ9XSwiZm9ybWF0IjoidHJlZWhhc2giLCJoYXNoX2Jsb2NrX3NpemUiOjQwOTZ9XSwiaXRlbV9pZCI6Im1pbW9qamxrbW9panBpY2FrbW5kaG9pZ2ltaWdjbWJiIiwiaXRlbV92ZXJzaW9uIjoiMzIuMC4wLjE0MiIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"UK4zZsNQiOzLpLmrIMuDDgboJc2krZizzjSy8fmMHustY-GgFt-rv2SSb9zwH7rqb1aj8_Esbl0_B4S95JOOfua-JKlYcoirtoCmVp_rSrUx9LzAaM0GFc5gFMIIKH8ahpcHCeO9AU9CjI6CrjIbXJ5OMdQcyI99mYoD-RQLhoU"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"abPdN3uu9sajlZmD0nZlZxGU_oAPUW8BkCsJKkbg7WyZln2kwLe5zls6EIpX8FDSrmH2XJFzPmoMuqzjJfuHcqJtOe4TqBrXy2OsL3BSQXHbNiVbcOLP94scJ-15taxmRNrQcMGXR6tf18w_gxxmFP1bdnMmNBT6BsxxZaziZUIwj-V4ZhuPUtfI8AU4kp-t7uRVU2K1-MmBGi86VAGs6XmUBbOG-7_0mjCcfkc6WSGFsBpJkgnAL7Kvy57xaWBepbtwzMFESwp1kfByLxJm2xeoye0lIoUcv6daKNoFB01OXVsKE_EKNlIAwJCv3ZP9BpQp3u2vVaqZZD0k2c4tyg"}]}}] \ No newline at end of file diff --git a/~/.config/google-chrome/PepperFlash/32.0.0.142/libpepflashplayer.so b/~/.config/google-chrome/PepperFlash/32.0.0.142/libpepflashplayer.so new file mode 100644 index 0000000000000000000000000000000000000000..97dd81311ac92c24b8e19351053279309f684200 Binary files /dev/null and b/~/.config/google-chrome/PepperFlash/32.0.0.142/libpepflashplayer.so differ diff --git a/~/.config/google-chrome/PepperFlash/32.0.0.142/manifest.fingerprint b/~/.config/google-chrome/PepperFlash/32.0.0.142/manifest.fingerprint new file mode 100644 index 0000000000000000000000000000000000000000..5088966dd5a14cd00fada85ebcb252e99715e1e3 --- /dev/null +++ b/~/.config/google-chrome/PepperFlash/32.0.0.142/manifest.fingerprint @@ -0,0 +1 @@ +1.59ecd9365705e812966f5160e583876622cfc0cf10277275ce3d2c1988a94127 \ No newline at end of file diff --git a/~/.config/google-chrome/PepperFlash/32.0.0.142/manifest.json b/~/.config/google-chrome/PepperFlash/32.0.0.142/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..09052e38e9af5d9eb711299176731ef57099b8f3 --- /dev/null +++ b/~/.config/google-chrome/PepperFlash/32.0.0.142/manifest.json @@ -0,0 +1,50 @@ +{ + "description": "Pepper Flash Player", + "name": "Flapper", + "version": "32.0.0.142", + "x-flapper-revision": "96243", + "x-ppapi-arch": "x64", + "x-ppapi-os": "linux", + "x-ppapi-required-interfaces": [ + "PPB_AudioConfig;1.1|PPB_AudioConfig;1.0", + "PPB_AudioInput(Dev);0.4|PPB_AudioInput(Dev);0.3", + "PPB_Audio;1.1|PPB_Audio;1.0", + "PPB_BrowserFont_Trusted;1.0", + "PPB_Buffer(Dev);0.4", + "PPB_CharSet(Dev);0.4", + "PPB_Core;1.0", + "PPB_Crypto(Dev);0.1", + "PPB_CursorControl(Dev);0.4", + "PPB_FileChooser(Dev);0.6|PPB_FileChooser(Dev);0.5", + "PPB_FileChooserTrusted;0.6|PPB_FileChooserTrusted;0.5", + "PPB_FileRef;1.2|PPB_FileRef;1.1|PPB_FileRef;1.0", + "PPB_Flash_Clipboard;5.1|PPB_Flash_Clipboard;5.0|PPB_Flash_Clipboard;4.0", + "PPB_Flash_File_FileRef;2", + "PPB_Flash_File_ModuleLocal;3", + "PPB_Flash_FontFile;0.2|PPB_Flash_FontFile;0.1|PPB_PDF;1", + "PPB_FlashFullscreen;1.0|PPB_FlashFullscreen;0.1", + "PPB_Flash;13.0|PPB_Flash;12.6|PPB_Flash;12.5|PPB_Flash;12.4", + "PPB_Flash_Menu;0.2", + "PPB_Graphics2D;1.1|PPB_Graphics2D;1.0", + "PPB_Graphics3D;1.0", + "PPB_ImageData;1.0", + "PPB_IMEInputEvent(Dev);0.2|PPB_IMEInputEvent(Dev);0.1", + "PPB_InputEvent;1.0", + "PPB_Instance;1.0", + "PPB_Memory(Dev);0.1", + "PPB_NetAddress_Private;1.1|PPB_NetAddress_Private;1.0|PPB_NetAddress_Private;0.1", + "PPB_OpenGLES2ChromiumMapSub;1.0|PPB_OpenGLES2ChromiumMapSub(Dev);1.0|PPB_GLESChromiumTextureMapping(Dev);0.1", + "PPB_OpenGLES2;1.0", + "PPB_TCPSocket_Private;0.5|PPB_TCPSocket_Private;0.4|PPB_TCPSocket_Private;0.3", + "PPB_TextInput(Dev);0.2|PPB_TextInput(Dev);0.1", + "PPB_UDPSocket_Private;0.4|PPB_UDPSocket_Private;0.3", + "PPB_URLLoader;1.0", + "PPB_URLLoaderTrusted;0.3", + "PPB_URLRequestInfo;1.0", + "PPB_URLResponseInfo;1.0", + "PPB_URLUtil(Dev);0.7|PPB_URLUtil(Dev);0.6", + "PPB_Var;1.2|PPB_Var;1.1|PPB_Var;1.0", + "PPB_VideoCapture(Dev);0.3", + "PPB_View;1.2|PPB_View;1.1|PPB_View;1.0" + ] +} diff --git a/~/.config/google-chrome/PepperFlash/latest-component-updated-flash b/~/.config/google-chrome/PepperFlash/latest-component-updated-flash new file mode 100644 index 0000000000000000000000000000000000000000..2177a1287cf6d7a721aaeec3c97f9b5a42108403 --- /dev/null +++ b/~/.config/google-chrome/PepperFlash/latest-component-updated-flash @@ -0,0 +1 @@ +{"Hash":"B8zZha3eKoBmMGFcbUgbAoV/fHe1BxQbDBsdBeTs8+I=","HashAlgorithm":0,"PluginPath":"/home/borisdimitrov/Desktop/Framework/framework/~/.config/google-chrome/PepperFlash/32.0.0.142/libpepflashplayer.so","PluginVersion":"32.0.0.142","Version":16} \ No newline at end of file diff --git a/~/.config/google-chrome/SSLErrorAssistant/7/_metadata/verified_contents.json b/~/.config/google-chrome/SSLErrorAssistant/7/_metadata/verified_contents.json new file mode 100644 index 0000000000000000000000000000000000000000..9cc5f75408176ea589de7b02b9051faf5f6dab72 --- /dev/null +++ b/~/.config/google-chrome/SSLErrorAssistant/7/_metadata/verified_contents.json @@ -0,0 +1 @@ +[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJtYW5pZmVzdC5qc29uIiwicm9vdF9oYXNoIjoiSUxrUllPSmhIVEZacllLRmN5UC12SkJrVjNWbWVLdHo4d1hEb2VPWjBZMCJ9LHsicGF0aCI6InNzbF9lcnJvcl9hc3Npc3RhbnQucGIiLCJyb290X2hhc2giOiJyRFZLUnlPcXBQQnI3RGhkM2VTazBKZzYxUlJXOVNzeHFBYU95WDFiWHFjIn1dLCJmb3JtYXQiOiJ0cmVlaGFzaCIsImhhc2hfYmxvY2tfc2l6ZSI6NDA5Nn1dLCJpdGVtX2lkIjoiZ2lla2NtbWxua2xlbmxhb21wcGtwaGtuam1ubnBuZWgiLCJpdGVtX3ZlcnNpb24iOiI3IiwicHJvdG9jb2xfdmVyc2lvbiI6MX0","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"nBdNk-7bgnEftAs4hWaHwF1Lk9pt7Eh6pcqe2gyNsE7VnVRp-H27tm1RFAF4htCUlXNJxX6YY-MUiK2DqJpQ3c73KDaFV8DcnadQfcXO3Lbrw7jLYSUaSdzujPkTyhuFcq_BhK0KWiIJ0aJgh7nVOBfAa5AbE6oFlLKMB2Ls0gmzS1-a5hUIu4rw2h9r9jkr6gLYbein5Jk2hdwW3u-1GNjyki4dftG2iZNAI8VhUf5gnCiF4AHCnYSGJsM0RGkmO_HJIzgwpQpP3RDsG2ioeKgxL-kcHhjXWOj3uVGyxpp1FkyHGkeGuqpFZMAxx3CEBiOtFj7i3iQxkgEW-E3uMKI3yA3fSVFqw-GihlLhx9v8S79kDny_JtYvAv9LzphJ34090JUMrBG_hVeuIpeOG3Z3LcI1KIV7mKS7IfXl-ZAMb5qsL3YzHD7KCMPyKlHrrw5ZJ_oJxMBZqQC_qZLC36_5wmnRxtfzej34HpzP1HvkR4vkofN5BXZ5p0Xq774l0b0A-N-giOuvcbLNFBrY47L17HJbrjMbB3ZpWKlL5dyOylYgQNU0nmvBd_r8gTBg9X16_z5Ib-W8-FoJBRFLDD0EqEDp6H2CWuBcGWc80dZCH9nA6w8ZAQtqHZOqdbX2YDdJ8Xg64MVvPer2hNbC5ZyI5mVcCr2lR7O-wt2DBD8"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"eU4ORDVSV8PBvRKcnzbrqQ-HyUkwslGv1NfXKybzBh8IA31azpRYidoTBWgBV1m-apgBUlm846hM9XSPtDEec0VGgWWSCHrCOsDHF5Jb_SEpAm1dhxrKITWvjk1KuNnvQBezUjlszJKBw-ZVGQ0-FeS1rHMg-auzxsWcOYhG57ac0v4L4nazraZO_Q3ykiSjBCGpHG3WXa7WAL1mbe0TY5BSNzccSTVUVo182OEuRR3Napu_6hNoarZ4EZOw-BtaFGmKoswmrVvIu7FJKO61ar54iX5M1qy185pdiFuTxqzQN75I7KgD6yZ-RfCuyAbO7B0gDfjnegDr1iEeUcf_ig"}]}}] \ No newline at end of file diff --git a/~/.config/google-chrome/SSLErrorAssistant/7/manifest.fingerprint b/~/.config/google-chrome/SSLErrorAssistant/7/manifest.fingerprint new file mode 100644 index 0000000000000000000000000000000000000000..5dfe3b21950b9de3466e3b5553fa7e608707ffd5 --- /dev/null +++ b/~/.config/google-chrome/SSLErrorAssistant/7/manifest.fingerprint @@ -0,0 +1 @@ +1.3eb16d6c28b502ac4cfee8f4a148df05f4d93229fa36a71db8b08d06329ff18a \ No newline at end of file diff --git a/~/.config/google-chrome/SSLErrorAssistant/7/manifest.json b/~/.config/google-chrome/SSLErrorAssistant/7/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..51f082ae9eb5476d265ea9b4ff0f559fa9573300 --- /dev/null +++ b/~/.config/google-chrome/SSLErrorAssistant/7/manifest.json @@ -0,0 +1,5 @@ +{ + "manifest_version": 2, + "name": "sslErrorAssistant", + "version": "7" +} \ No newline at end of file diff --git a/~/.config/google-chrome/SSLErrorAssistant/7/ssl_error_assistant.pb b/~/.config/google-chrome/SSLErrorAssistant/7/ssl_error_assistant.pb new file mode 100644 index 0000000000000000000000000000000000000000..254d873fed68240127dd0469f42327f52fcf80b7 --- /dev/null +++ b/~/.config/google-chrome/SSLErrorAssistant/7/ssl_error_assistant.pb @@ -0,0 +1,54 @@ +5 +3sha256/fjZPHewEHTrMDX3I1ecEIeoy3WFxHyGplOLv28kIbtI=5 +3sha256/m/nBiLhStttu1YmOz7Y3D2u1iB1dV2CbIfFa3R2YW5M=5 +3sha256/8Iuf4xRbVCmCMQTJn3rxlglIO1IOKoyuSUgmXyfaIKs=5 +3sha256/8IHdrS+r6IWzSMcRcD/GA6mBxk1ECX8tGRW0rtGWILE=5 +3sha256/k/2eeJTznE32mblA/du19wpVDSIReFX44M8wXa2JY30=5 +3sha256/urWd7jMwR6DJgvWhp6xfRHF5b/cba3iG0ggXtTR6AfM=5 +3sha256/IJPCDSE5tM9H3nuD5m6RU2i9KDdPXVn4qmC/ULlcZzc=5 +3sha256/0Gy8RMdbxHNWR2GQJ62QKDXORYf5JmMmnr1FJFPYpzM=5 +3sha256/8tTICtyaxIQrdbYYDdgZhTN0OpM9kYndvoImtw1Ys5E=5 +3sha256/F7HIlsaG0bpJW8CzYekRbtFqLVTTGqwvuwPDqnlLct0=5 +3sha256/zaV2Aw1A742R1+WpXWvL5atsJbGmeSS6dzZOfe6f1Yw=5 +3sha256/UwOkRGMlP0K/mKNJdpQ0sTg2ean9Tje8UTOvFYzt1GE=5 +3sha256/w7KUXE4/BAo1YVZdO3mBsrMpu4IQuN0mhUXUI//agVU=5 +3sha256/JnPvGqEn36FjHQlBXtG1uWwNtdMj1o2ojR/asqyypNk=5 +3sha256/AUSXlKDCf1X30WhWeAWbjToABfBkJrKWPL6KwEi5VH0=5 +3sha256/zSyVjjFJMIeXK0ktVTIjewwr6U5OePRqyY/nEXTI4P8=5 +3sha256/9dcHlrXN2WV/ehbEdMxMZ8IV4qvGejCtNC5r6nfTviM=5 +3sha256/E+0WZLGSIe5nddlVKZ5fYzaNHHCE3hNqi/OWZD3iKgA=5 +3sha256/QJ/69CTHYPRa0I3UVlwD6N4MtToxpQ1+0izyGnqEHQo=5 +3sha256/LKtpdq9q7F7msGK0w1+b/gKoDHaQcZKTHIf9PTz2u+U=- +BadSSL AntivirusBadSSL MITM Software TestF +Avast Antivirusavast! Web/Mail Shield Rootavast! Web/Mail ShieldK +Bitdefender Antivirus%Bitdefender Personal CA\.Net-DefenderBitdefender/ +Cisco UmbrellaCisco Umbrella Root CACisco5 +Cisco UmbrellaCisco Umbrella Primary SubCACiscoO + ContentKeeper"ContentKeeper Appliance CA \(\d+\)ContentKeeper Technologies3 +Cyberoam FirewallCyberoam Certificate Authority1 + +ForcePointForcepoint Cloud CAForcepoint LLC# + FortigateFortiGate CAFortinet +FortinetFortinet( Ltd\.)?M +Kaspersky Internet Security.Kaspersky Anti-Virus Personal Root Certificate( +McAfee Web GatewayMcAfee Web Gateway( +NetSparkwww\.netspark\.comNetSparkD +SmoothWall Firewall-Smoothwall-default-root-certificate-authority@ +SonicWall Firewall*HTTPS Management Certificate for SonicWALL+ +SophosSophos SSL CA_[A-Z0-9\-]+Sophos +SophosSophos_CA_[A-Z0-9]++ + +Sophos UTMsophosutm Proxy CA sophosutm8 +Sophos Web ApplianceSophos Web Appliance +Sophos Plc! +Symantec Blue CoatBlue Coat.*> +/Trend Micro InterScan Web Security Suite (IWSS)IWSS\.TREND +Zscaler Zscaler Inc\."@ +3sha256/cH02TnKuUhQx3ZU4l/nEhG1bjDJCmP5T+9StofLRFX8="Mitel(0"@ +3sha256/cH02TnKuUhQx3ZU4l/nEhG1bjDJCmP5T+9StofLRFX8="Mitel(0"@ +3sha256/atuOPgVUYJItFQHLl/lMagLjnI8ndMpAiCW3tYN53BQ="Mitel(0"@ +3sha256/SQtuxr6y1gNHILUUm2spzTVRWYjMFq+FQUiwe5sfihE="Mitel(0"@ +3sha256/71UShHFSMt6S4kbDIzKTYrEySTuxa1ieR3VSC+uHGlY="Mitel(0"@ +3sha256/71UShHFSMt6S4kbDIzKTYrEySTuxa1ieR3VSC+uHGlY="Mitel(0"O +3sha256/DEPqi83p/DvKFlZkrIIVVn40idU5OgyB4aeRQZkuGVM="Sennheiser HeadSetup(0"O +3sha256/j1kfeqTcPv6UkMOKRpLJAR7RKPHeWVVpQG13tvofa0w="Sennheiser HeadSetup(0 \ No newline at end of file diff --git a/~/.config/google-chrome/ShaderCache/GPUCache/data_0 b/~/.config/google-chrome/ShaderCache/GPUCache/data_0 new file mode 100644 index 0000000000000000000000000000000000000000..80bf9a554c6ffca363334bc900a3161b5fe0a437 Binary files /dev/null and b/~/.config/google-chrome/ShaderCache/GPUCache/data_0 differ diff --git a/~/.config/google-chrome/ShaderCache/GPUCache/data_1 b/~/.config/google-chrome/ShaderCache/GPUCache/data_1 new file mode 100644 index 0000000000000000000000000000000000000000..bd2b87880eedaa183360f741b697a60025f6b559 Binary files /dev/null and b/~/.config/google-chrome/ShaderCache/GPUCache/data_1 differ diff --git a/~/.config/google-chrome/ShaderCache/GPUCache/data_2 b/~/.config/google-chrome/ShaderCache/GPUCache/data_2 new file mode 100644 index 0000000000000000000000000000000000000000..c7e2eb9adcfb2d3313ec85f5c28cedda950a3f9b Binary files /dev/null and b/~/.config/google-chrome/ShaderCache/GPUCache/data_2 differ diff --git a/~/.config/google-chrome/ShaderCache/GPUCache/data_3 b/~/.config/google-chrome/ShaderCache/GPUCache/data_3 new file mode 100644 index 0000000000000000000000000000000000000000..b3acdb927eb0212b583167fe2db3380ce541febb Binary files /dev/null and b/~/.config/google-chrome/ShaderCache/GPUCache/data_3 differ diff --git a/~/.config/google-chrome/ShaderCache/GPUCache/f_000001 b/~/.config/google-chrome/ShaderCache/GPUCache/f_000001 new file mode 100644 index 0000000000000000000000000000000000000000..1cd5b34680d275f40deb375c74658224bf23ec6d Binary files /dev/null and b/~/.config/google-chrome/ShaderCache/GPUCache/f_000001 differ diff --git a/~/.config/google-chrome/ShaderCache/GPUCache/f_000002 b/~/.config/google-chrome/ShaderCache/GPUCache/f_000002 new file mode 100644 index 0000000000000000000000000000000000000000..9272d1d95e1045904de7f61e7bf1d8bc58816781 Binary files /dev/null and b/~/.config/google-chrome/ShaderCache/GPUCache/f_000002 differ diff --git a/~/.config/google-chrome/ShaderCache/GPUCache/index b/~/.config/google-chrome/ShaderCache/GPUCache/index new file mode 100644 index 0000000000000000000000000000000000000000..5a65969b33b2c315bfc344c447802a7a247462bc Binary files /dev/null and b/~/.config/google-chrome/ShaderCache/GPUCache/index differ diff --git a/~/.config/google-chrome/Subresource Filter/Indexed Rules/23/9.1/Ruleset Data b/~/.config/google-chrome/Subresource Filter/Indexed Rules/23/9.1/Ruleset Data new file mode 100644 index 0000000000000000000000000000000000000000..eab5d9f5ab7ec663ed846fcc24af632e973f8552 Binary files /dev/null and b/~/.config/google-chrome/Subresource Filter/Indexed Rules/23/9.1/Ruleset Data differ diff --git a/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/Filtering Rules b/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/Filtering Rules new file mode 100644 index 0000000000000000000000000000000000000000..a61009a90c919d293f7d996413e8fef8c7ffd786 --- /dev/null +++ b/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/Filtering Rules @@ -0,0 +1,40254 @@ +î +ÿ/08@R/googleads. +ÿ/08@R /pagead2. +ÿ/08@R pubmatic.com^ +%ÿ/* + openx.com08@R.openx. +,ÿ/08@Rgooglesyndication.com/pagead/ +ÿ/08@R/securepubads. +Ýÿ/* +ads.quasaraffiliates.com* +ads.toplayaffiliates.com* +ads.colombiaonline.com* +ads.viksaffiliates.com* +ads.socialtheater.com* +caravansforsale.co.uk* +ads.adstream.com.ro* +ads.lapalingo.com* +ads.lordlucky.com* +ads.mobilebet.com* +ads.xtribeapp.com* +seriouswheels.com* +ads.elcarado.com* +ads.harvard.edu* +ads.msstate.edu* +badassembly.com* +ads.comeon.com* +ads.google.com* + ads.watson.ch* + reempresa.org* +ads.route.cc* + ads.ac.uk* +fusac.fr* +memo2.nl* +ads.red* + +ads.am* + +ads.nc* + +ads.sk08@R://ads. +"ÿ/08@Rrubiconproject.com^ +ÿ/08@Radsrvr.org^ +ÿ/08@Rpubmine.com^ +”08@R .com/ads/ +,ÿ/* +adservice.io08@R/adservice. +#ÿ/08@Ramazon-adsystem.com^ +ÿ/08@R lkqd.net^ +ÿ/08@Rcasalemedia.com^ +ÿ/08@R d.adroll.com^ +ÿ/08@Rspringserve.com^ +ÿ/08@R +tapad.com^ +ÿ/08@R impact-ad.jp^ +ÿ/08@Rsitescout.com^ +!ÿ/08@Rsmartadserver.com^ +!ÿ/08@Rbidder.criteo.com^ +ÿ/08@Rmookie1.com^ +ÿ/08@R +/adserver- +ÿ/08@Rcontextweb.com^ +/ÿ/08@R googlesyndication.com/safeframe/ +*û/* + mediaplex.com08@R.com/ad/ +ÿ/08@R turn.com^ +¿/08@R 2mdn.net^ +ÿ/08@Rspotxchange.com^ +.ÿ/08@Rgooglesyndication.com^*/simgad/ +ÿ/08@Rmoatads.com^ +ÿ/08@R1rx.io^ +!ÿ/08@Rgoogle.com/pagead/ +ÿ/08@R +nexac.com^ +,ÿ/08@Rgooglesyndication.com/simgad/ +ÿ/08@R +3lift.com^ +ÿ/08@Raralego.com^ +ÿ/08@Radhigh.net^ +ÿ/08@R /ad_data_ + ÿ/08@Rtribalfusion.com^ +ÿ/08@Rmicroadinc.com^ +#ÿ/08@Radsafeprotected.com^ +ÿ/08@R 33across.com^ +ÿ/08@Rad-stir.com^ +ÿ/08@R/ad_status. +Mÿ/* +motortrader.com.my* + advert.ae* + advert.io08@R/advert. +ÿ/08@R +adingo.jp^ +ÿ/08@Rgumgum.com^ +"ÿ/08@R/pagead/conversion. +ÿ/08@R/openx/ +ÿ/08@R livedoor.net^ +ÿ/08@R adnxs.com/ut/ +ÿ/08@Rvertamedia.com^ + ÿ/08@Rads.linkedin.com^ +ÿ/08@R +ml314.com^ +ÿ/08@Rgwallet.com^ +"¿/08@Rad.doubleclick.net^ +"ÿ/08@R/pagead/conversion/ +ÿ/08@R +media.net^ +!ÿ/08@Rmedia6degrees.com^ +ÿ/08@Rdomdex.com^ +%ÿ/08@Rimasdk.googleapis.com^ +ÿ/08@Rmicroad.jp^Ï +ÿ/08@Rweborama.fr^ + ÿ/08@R.ace.advertising. +¿/08@R .adriver. +ÿ/08@Rtidaltv.com^ +ÿ/08@R 360yield.com^ +ÿ/08@Radscale.de^ +ÿ/08@Radm.shinobi.jp^ +ÿ/08@R =300x250& +ÿ/08@Rbasebanner.com^ +ÿ/08@R/www/delivery/ +ÿ/08@R ad-arata.com^ +ÿ/08@Rbannerflow.com^ +ÿ/08@R/yads. +ÿ/08@Rsonobi.com^ +ÿ/08@R sumo.com^ +ÿ/08@R s.adroll.com^ +ÿ/08@R +adgrx.com^ + ÿ/08@Rdoubleverify.com^ +/ÿ/08@R googlesyndication.com/sadbundle/ +ÿ/08@Rzemanta.com^ +7ÿ/* + adx.wowfi.com* + +adx.uk.com08@R/adx. +ÿ/08@Rmicroad.net^ +ÿ/08@Rbrealtime.com^ +ÿ/08@Rads-twitter.com^ +ß/08@R +/adserver. +ÿ/08@Rcreativecdn.com^ +ÿ/08@R +/houseads/ +&* + +prebid.org08@R/prebid. ++ÿ/08@Rgooglesyndication.com/sodar/ +ÿ/08@R/pubads. +ÿ/08@Radocean.pl^ +ÿ/08@Rdoublemax.net^ +ÿ/08@Rsascdn.com^ +ÿ/08@R 254a.com^ +ÿ/08@Ripredictive.com^ +ÿ/08@R +adtdp.com^ +ÿ/08@R /adsense/ +ÿ/08@R exoclick.com^ ++ÿ/08@Rviglink.com/images/pixel.gif +ÿ/08@R teads.tv^ +ÿ/08@Ralgovid.com^ +ÿ/08@R +bnmla.com^ +ÿ/08@Rinfolinks.com^ +ÿ/08@R /showads. +Aÿ/* +marketgid.com.ua* + marketgid.com08@R mgid.com^ +ÿ/08@R .com/adx/ +ÿ/08@Rmarketgid.com^ +ÿ/08@Rcas.criteo.com^ +ÿ/08@R?adspot_ + ÿ/08@Rflashtalking.com^ +ÿ/08@Rbbelements.com^ +&ÿ/08@Radaptv.advertising.com^ +ÿ/08@Rexosrv.com^ +ÿ/08@Raniview.com^ +ÿ/08@Romnitagjs.com^ +ÿ/08@Reyereturn.com^ +ÿ/08@R&adurl= +ÿ/08@R +/adserver/ +ÿ/08@Radxcore.com^ +ÿ/08@Rsociomantic.com^ + ÿ/08@Rassoc-amazon.com^ +ÿ/08@R/adpic/ +ÿ/08@R=728x90& +ÿ/08@Reyeviewads.com^º +ÿ/08@R republer.com^ +ÿ/08@R/yads- +ÿ/08@Rbetrad.com^ +ÿ/08@Radmixer.net^ +ÿ/08@R/ad/images/ +ÿ/08@R.com/js/ad. +!ÿ/08@Rim.ov.yahoo.co.jp^ +ÿ/08@Rnexage.com^ +ÿ/08@R/prebid/ +ÿ/08@Radition.com^ +ÿ/08@Rda-ads.com^ +ÿ/08@Rswitchadhub.com^ +ÿ/08@Rad.mail.ru^ +ÿ/08@R yieldlab.net^ +ÿ/08@R/adfox/ + ÿ/08@Rsharethrough.com^ +ÿ/08@R_prebid_ +ÿ/08@R cogocast.net^ +ÿ/08@Radverticum.net^ +ÿ/08@R ://affiliate. +ÿ/08@R +afy11.net^ +ÿ/08@Rsmartclip.net^ +ÿ/08@Radsniper.ru^ +ÿ/08@Rconnexity.net^ +ÿ/08@R://banners. +ÿ/08@R /html/ad. +ÿ/08@Runrulymedia.com^ +(* +photobucket.com08@Rhttp:// +ÿ/08@R am15.net^ +ÿ/08@Rbttrack.com^ +!ÿ/08@Rvaluecommerce.com^ +"ÿ/08@Ryieldoptimizer.com^ +ÿ/08@R _300x250_ +ÿ/08@R/us-ads. +)ÿ/* +vereinslinie.de08@R/ad2. +ÿ/08@Rprebid.org^ +ÿ/08@Rcnt.my^ +ÿ/08@Rbuysellads.com^ + ÿ/08@Rbizographics.com^ +ÿ/08@R/prebid- +…ß/* +commercialplanet.eu* +advertising.org.il* +kloterfarms.com* + themarker.com* + +temple.edu08@R /advertising/ +ÿ/08@Radotmob.com^ +ÿ/08@Radvertur.ru^ +ÿ/08@Rcaltat.com^ +ÿ/08@R_728x90_ +ÿ/08@Radvg.jp^ +ÿ/08@R /ad_spot. +ÿ/08@Radadvisor.net^ +¿/08@Radap.tv^ +ÿ/08@Rfacetz.net^ +ÿ/08@Rrevcontent.com^ +ÿ/08@R/acc_random= +2ÿ/08@R#googletagservices.com/dcm/dcmads.js +ÿ/08@R ayads.co^ +ÿ/08@Rpro-market.net^ +ÿ/08@R .admicro. +ÿ/08@R/js/ads. +ÿ/08@R +?bannerid= +ÿ/08@Rtrafmag.com^ +ÿ/08@Rsekindo.com^ +ÿ/08@R/admax/ +ÿ/08@R zedo.com^ +”08@Rcom/banners/ +ÿ/08@R/yads/Ã. +ÿ/08@Rnetseer.com^ +ÿ/08@Rsape.ru^ +ÿ/08@R /feedads. +ÿ/08@Rrtax.criteo.com^ +&ÿ/* + adlabs.ru08@R.adlabs. +ÿ/08@R adx1.com^ +ÿ/08@R recreativ.ru^ +ÿ/08@R adthrive.com^ +ÿ/08@R /adserve. +ÿ/08@R.jp/ads/ +ÿ/08@Rjustpremium.com^ +ÿ/08@Rinnity.net^ + ÿ/08@R.com/doubleclick/ +ÿ/08@Rdeployads.com^ +ÿ/08@R.theadtech. +)ÿ/08@Rgooglesyndication.com/ddm/ +™ÿ/* +escreverdireito.com* +forex-tv-online.com* +adv.michaelgat.com* +typeform.com* +welaika.com* + +adv.msk.ru* + +farapp.com* + adv.co.it* + adv.works* + advids.co* +erti.se* + +adv.ee* + +adv.gg* + +adv.ru* + +adv.vg* + +r7.com08@R://adv. +ÿ/08@R _300x250. +ÿ/08@Rtaggify.net^ +¿/08@R +fwmrm.net^ +(ÿ/08@Rsurvey.g.doubleclick.net^ +ÿ/08@R .com/ads. +ÿ/08@Rstackadapt.com^ +ÿ/08@Rdirectadvert.ru^ +ÿ/08@Retargetnet.com^ +$ÿ/* + ads4.city08@R/ads4. +ÿ/08@R=adunit& +ÿ/08@R adsco.re^ +08@R/prebid_ +‡* +intellectualconservative.com* +americasfreedomfighters.com* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +conservativetribune.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +bigleaguepolitics.com* +conservativeintel.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +patriotnewswire.com* +thelibertydaily.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +americanewshub.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +survivalnation.com* +theblacksphere.net* +thepolitistick.com* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +beforeitsnews.com* +chicksonright.com* +deneenborelli.com* +freewarefiles.com* +ifyouonlynews.com* +joeforamerica.com* +knowledgedish.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +technobuffalo.com* +therightscoop.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +gamersheroes.com* +healthstatus.com* +honesttopaws.com* +madworldnews.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +breakingnews.ie* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +moneyversed.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +cheatsheet.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +rpnewswire.com* +sarahpalin.com* +shark-tank.com* +stevedeace.com* +terezowens.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + reviveusa.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +cheapism.com* +crossmap.com* +dailydot.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +lifebuzz.com* +makeagif.com* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +bugout.news* +coviral.com* +damnlol.com* +enstarz.com* +faithit.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* +tinypic.com* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + vgpie.com* + +hngn.com* +wnd.com08@Rhttps:// +!ÿ/08@Rrhythmxchange.com^ +ÿ/08@Rpopads.net^ +ÿ/08@Rligadx.com^ ++ÿ/08@Rserving-sys.com/BurstingRes/ +ÿ/08@Rtsyndicate.com^ +ÿ/08@Rpostrelease.com^ +ÿ/08@R clickagy.com^ + ÿ/08@Rvindicosuite.com^ +ÿ/08@R +apxlv.com^ +ÿ/08@R adkernel.com^ +"ÿ/08@Rbetweendigital.com^ +*ÿ/* + adcore.com.au08@R/adcore_ +#ÿ/08@Rtechnoratimedia.com^ +ÿ/08@R +ad-m.asia^ +ÿ/08@R /adclick. +ÿ/08@Ratemda.com^ +ÿ/08@R +jivox.com^ +ÿ/08@R juicyads.com^ +ÿ/08@R juiceadv.com^ +ÿ/08@Rpowerlinks.com^ +ÿ/08@Rstickyadstv.com^ +ÿ/08@Rbannersnack.com^ +ÿ/08@R =160x600& +*ÿ/* +ad6media.fr08@R +.ad6media. +ÿ/08@R +dynad.net^ +ÿ/08@R +extend.tv^ +ÿ/08@R +://banner. +#ÿ/08@Rero-advertising.com^ +ÿ/08@R saymedia.com^ +(ÿ/* + +adtrack.ca08@R /adtrack. +ÿ/08@R ownlocal.com^ +,ÿ/08@Rserving-sys.com/BurstingPipe/ +"ÿ/08@Radform.net/banners/ +ÿ/08@R/showad/„ +(ÿ/08@Rstatic.criteo.net/images^ +ÿ/08@Radsnative.com^ +ÿ/08@R/images/ads/ +ÿ/08@Radgebra.co.in^ +ÿ/08@Rmixmarket.biz^ +ÿ/08@Rmediavine.com^ +ÿ/08@R/ads2. +ÿ/08@R/ads5. +ÿ/08@Ruuidksinc.net^ +ÿ/08@Rpub.network^ +ÿ/08@Rcontentabc.com^ +ÿ/08@Rinnity.com^ +ÿ/08@Re-planning.net^ +ÿ/08@R.php?zoneid= +ÿ/08@R +eqads.com^ +ÿ/08@R /300x250/ +ÿ/08@Rinnovid.com^ +ÿ/08@Rtrustx.org^ +$ÿ/08@Reffectivemeasure.net^ +$ÿ/08@Rx.fidelity-media.com^ +ÿ/08@Rindexww.com^ +ÿ/08@R +&adserver= +,ÿ/08@Rpartner.googleadservices.com^ +ÿ/08@R +/files/ad/ +ÿ/08@R +/adbanner/ +0÷/* +reklama.mariafm.ru08@R /reklama. +ÿ/08@R/adv.asp +ÿ/08@R.com/ad? +ÿ/08@R/cdn.ad. +ÿ/08@R +nxtck.com^ +ÿ/08@R/addelivery/ +ÿ/08@Rad.duga.jp^ +¦ÿ/* + +admax.info* + admax.net* + admax.org* +admax.cn* +admax.co* +admax.eu* +admax.fi* +admax.nu* +admax.se* +admax.us08@R/admax. +ÿ/08@R vihub.ru^ +ÿ/08@Rmediad2.jp^ +ÿ/08@Rmarfeel.com^ +ÿ/08@R /settings/ad. +ëÿ/*% +!advertising.sevenwestmedia.com.au*! +advertising.berlin-airport.de* +advertising.dailymotion.com* +advertising.theguardian.com* +advertising.bulurum.com* +advertising.byhoxby.com* +advertising.expedia.com* +advertising.lavenir.net* +advertising.shpock.com* +advertising.mobile.de* +advertising.org.il08@R /advertising. +ÿ/08@Rtubemogul.com^ +$ÿ/08@Rservedbyadbutler.com^ +ÿ/08@R _ads.html +$ÿ/* +openx.tv08@R/openx. +ÿ/08@R&ad_channel= +ÿ/08@Radmission.net^ +ÿ/08@Rsteepto.com^ +ÿ/08@R onscroll.com^ +ÿ/08@R +adnico.jp^ +ÿ/08@Radmanmedia.com^ +ÿ/08@Radmedo.com^ +"ÿ/08@Rad.linksynergy.com^ +ÿ/08@Rmamydirect.com^ +ÿ/08@R adbetnet.com^ +ÿ/08@Rtargeterra.info^ +ÿ/08@Rsmaato.net^ +ÿ/08@Radvertserve.com^ +-ÿ/08@Rd2cgumzzqhgmdu.cloudfront.net^ +ÿ/08@R.ads3- +ÿ/08@R +a-ads.com^ +ÿ/08@R/script/ads. +ÿ/08@Rkorrelate.net^ +)* +photobucket.com08@Rhttps:// +ÿ/08@Rrcm*.amazon. +ÿ/08@R/getads. +ÿ/08@R clmbtech.com^¿ +ÿ/08@Rad-srv.net^ +ÿ/08@R adstatic.com^ +ÿ/08@R +crm4d.com^ +Aÿ/* +vereinslinie.de* + +ad1.de* + +ad1.in08@R/ad1. +ÿ/08@R/ads.js? +ÿ.08@R +/adimages/ +ÿ/08@R/ads/js/ +ÿ/08@R.tv/ads/ +ÿ/08@R adtechus.com^ +ÿ/08@R/a/display.php? +ÿ/08@R.ads1- +$ÿ/* +adimg.ru08@R/adimg. +ÿ/08@Rloadercdn.com^ +¿/08@R.net/ad/ +$ÿ/08@Rinsightexpressai.com^ +ÿ/08@R/advanced-ads- +ÿ/08@Rcontent-ad.net^ +ÿ/08@R +/adrotate/ +“ÿ/* +blogs.technet.microsoft.com* +online.wsj.com* + mediaplex.com* +channel4.com* +linkedin.com* + +cspace.com08@R.com/ad/ +ÿ/08@R +ezoic.net^ +ÿ/08@Rmediaforge.com^ +ÿ/08@Rmonu.delivery^ +ÿ/08@R +adtech.de^ +ÿ/08@R,728x90, +ÿ/08@Rrfihub.net^ +ÿ/08@Roctopuspop.com^ +7ÿ/* +panel.rightflow.com08@R?advertiser_id= +ÿ/08@Rluxupcdnc.com^ +ºn*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +watchparksandrecreation.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +zippysharemediafire.club* +4horlover2.blogspot.com* +animemusicdownload.info* +atchtheofficeonline.net* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +watchmygamesonline.com* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +worldfree4umovie.live* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +freemoviestream.xyz* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +myreadingmanga.info* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +taxidrivermovie.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +sankakucomplex.com* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +viralfeedhindi.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +yourbittorrent.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +centrum-dramy.pl* +clicknupload.org* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +latinohentai.com* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +playpornfree.org* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaihaven.org* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +smallencode.com* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +worldfree4u.lol* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +4downfiles.org* +adultdouga.biz* +akvideo.stream* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bdsmstreak.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +fileflares.com* +firstrowas1.cc* +freeomovie.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +newmusic.trade* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +rapidvideo.com* +sexloading.com* +streamango.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +worldfree4u.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + animepahe.com* + arabloads.net* + axxomovies.in* + azkempire.com* + bilasport.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + imagecool.org* + img2share.com* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + mbfsports.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mp4upload.com* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + nbastreams.me* + neko-miku.com* + nflstream.net* + nflstreams.me* + nhlstreams.me* + nodefiles.com* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + owndrives.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + streamjav.net* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +123videos.tv* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.me* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +fbstreams.me* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgshots.com* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +livecamtv.me* +macnwins.com* +marapcana.eu* +mlbstream.me* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sportp2p.com* +sports4u.net* +strikeout.co* +strikeout.me* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +vipleague.co* +vipleague.ws* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +bemetal.net* +cinetux.net* +coreimg.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filma24.org* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +mkvcage.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +openload.co* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +sportups.me* +srkcast.com* +swfchan.com* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vidfile.net* +vpornex.com* +watcheng.tv* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +acidimg.cc* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +foxurl.net* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +realcam.me* + +ripvod.com* + +sexkino.to* + +sextop.net* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vipcast.pw* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + a-o.ninja* + bludv.com* + byetv.org* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + go4up.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hitomi.la* + hkfree.co* + hqq.watch* + i-gay.org* + iiddl.net* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + minkly.me* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + raptu.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + twoddl.co* + v100v.net* + veyqo.net* + vidz7.com* + vipbox.nu* + xbnat.com* + youav.com* + zoomtv.me* + +2ddl.ooo* + +6jav.com* + +ddlfr.pw* + +leech.ae* + +oload.tv* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +0dt.net* +ally.sh* +btdb.in* +btdb.to* +clik.pw* +pahe.in* +root.sx* +tddl.tv* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@ +ÿ/08@R rbnt.org^ +ÿ/08@R/adview? +ÿ/08@R/ads3. +ÿ/08@Rfaggrim.com^ +0ÿ/08@R!googletagservices.com/tag/js/gpt_ +Dÿ/* +adsense.googleblog.com* + +adsense.az08@R /adsense. +ÿ/08@R_728x90. +ÿ/08@R spotx.tv^ +)ÿ/08@Rentitlements.jwplayer.com^ +ÿ/08@Radventori.com^ +ÿ/08@R pagefair.net^ +ÿ/08@R mycdn.co^ +ÿ/08@Rpopcash.net^ + ÿ/08@Rneodatagroup.com^ +%ÿ/08@Rima3vpaid.appspot.com^ +ÿ/08@R/adssp. +û/08@R&advid= +ÿ/08@Rkomoona.com^ +ÿ/08@Rcameraprive.com^ +ÿ/08@R/synad3. +ÿ/08@R +ylx-1.com^ + ÿ/08@Rbannerbridge.net^ +)ÿ/08@Rmynativeplatform.com/pub2/ + ÿ/08@Rtrafficstars.com^ +-ÿ/08@Rd3dytsf4vrjn5x.cloudfront.net^ +!ÿ/08@Rdreamsearch.or.kr^ +'ÿ/* +legl.co08@R/advertise/ +ÿ/08@R /reklama/ +ÿ/08@R /300x250_ +"ÿ/08@Radlooxtracking.com^ +ÿ/08@R/delivery/afr. +ÿ/08@R .net/ads/ +ÿ/08@Relasticad.net^ +ÿ/08@R /300x250. +Gÿ/*' +#advertisement.solutions.zalando.com08@R/advertisement.Û +ÿ/08@R ?adsdata= +$ÿ/08@Rclick.aliexpress.com^ +ÿ/08@R=adlabs& +ÿ/08@R /adspace/ +ÿ/08@Rclickmon.co.kr^ +ÿ/08@Rintellitxt.com^ +ÿ/08@R_ad_render_ +ÿ/08@Rurldelivery.com^ +ÿ/08@Radnxs.com/ast/ +ÿ/08@R/adbox. +ÿ/08@R /adverts/ +ÿ/08@R +yldbt.com^ +ÿ/08@R /afs/ads/ +ÿ/08@R/domainads/ +ÿ/08@R s.cxt.ms^ +ÿ/08@R a.adroll.com^ +ÿ/08@R +c8.net.ua^ +ÿ/08@R/amp-ad- +ÿ/08@R begun.ru^ +ÿ/08@Rchitika.net^ +,ÿ/08@Rfacebook.com/audiencenetwork/ +ÿ/08@R adsafety.net^ +ÿ/08@Rshoofle.tv^ +ÿ/08@Rexponential.com^ +*ÿ/* + +strava.com08@Radzerk.net^ +ÿ/08@Radsfactor.net^ +ÿ/08@Rclicktripz.com^ +ÿ/08@R/publicidad/ +ÿ/08@R/tncms/ads/ +ÿ/08@Rrealclick.co.kr^ +ÿ/08@R clevernt.com^ + ÿ/08@R247realmedia.com^ +ÿ/08@Rmmaaxx.com^ +ÿ/08@Rgeovisite.com^ +ÿ/08@R/ads2/ +"ÿ/08@Rfirstimpression.io^ +ÿ/08@R ie8eamus.com^ +#ÿ/08@Rredintelligence.net^ +!ÿ/08@Rads.tremorhub.com^ +ÿ/08@R.ads5- +ÿ/08@Rpubnation.com^ +ÿ/08@R /ajs.php? +ÿ/08@R/advertisement/ +ÿ/08@Reroterest.net^ +ÿ/08@Rsbs-ad.com^ +ÿ/08@Radspirit.de^ + ÿ/08@Rclickcertain.com^ +ÿ/08@R +spider.ad^ +ÿ/08@R/advert/ +ÿ/08@Rpolarmobile.com^ + ÿ/08@Ryumenetworks.com^ +ÿ/08@R +&bannerid= +ÿ/08@R medialand.ru^ +ÿ/08@R=468x60& +ÿ/08@R/images/ad/ +ÿ/08@R&banner_id= +$ÿ/* +getad.pl08@R/getad. +êÿ/* +pagesuite-professional.co.uk* +nintendoeverything.com* +player.theplatform.com* +hothiphopdetroit.com* +youtube-nocookie.com* +zhiphopcleveland.com* +cbs3springfield.com* +mycolumbuspower.com* +theglobeandmail.com* +addictinggames.com* +hellobeautiful.com* +ipowerrichmond.com* +oldschoolcincy.com* +rottentomatoes.com* +washingtonpost.com* +boom92houston.com* +gorillanation.com* +hawaiinewsnow.com* +theboxhouston.com* +darkhorizons.com* +doubleviking.com* +radionowindy.com* +allbusiness.com* +bizjournals.com* +dailymail.co.uk* +livestation.com* +miamiherald.com* +nbcrightnow.com* +boomphilly.com* +hot1041stl.com* +hotspotatl.com* +indiatimes.com* +indyhiphop.com* +livestream.com* +myboom1029.com* +thebeatdfw.com* + bloomberg.com* + fox5vegas.com* + live5news.com* + neatorama.com* + shacknews.com* + sk-gaming.com* + wiznation.com* +cbslocal.com* +euronews.com* +fandango.com* +hiphopnc.com* +metronews.ca* +news4jax.com* +3news.co.nz* +boom945.com* +complex.com* +extratv.com* +neopets.com* +news.com.au* +newsone.com* +pandora.com* +timesnow.tv* +youtube.com* + +kolotv.com* + +kypost.com* + +ustream.tv* + +wbaltv.com* + +wxii12.com* + abc-7.com* + break.com* + fox19.com* + joblo.com* + kctv5.com* + kysdc.com* + my9nj.com* + radio.com* + sbsun.com* + wired.com* + wyff4.com* + yahoo.com* + +cbs19.tv* + +hulu.com* + +imdb.com* + +kcra.com* + +ketv.com* + +koat.com* + +koco.com* + +kpho.com* + +kptv.com* + +ksat.com* + +ksbw.com* + +ksfy.com* + +metro.us* + +necn.com* + +wapt.com* + +wate.com* + +wcvb.com* + +wdrb.com* + +wdsu.com* + +wflx.com* + +wfmz.com* + +wfsb.com* + +wgal.com* + +whdh.com* + +wisn.com* + +wlky.com* + +wlns.com* + +wlwt.com* + +wmur.com* + +wnem.com* + +wowt.com* + +wral.com* + +wsmv.com* + +wsvn.com* + +wtae.com* + +wthr.com* +92q.com* +ksl.com* +play.it* +ted.com* +wsj.com* +bnn.ca* +cbc.ca* +tv2.no08@Rdoubleclick.net^ +ÿ/08@R/reklam/ +ÿ/08@R +/easyazon- +ÿ/08@Rconsumable.com^ +ÿ/08@R/mellowads. +ÿ/08@Rfreeskreen.com^ +,ÿ/08@Rdjtflbt20bdde.cloudfront.net^® +ÿ/08@R =300x250, +ÿ/08@Rmadsone.com^ +ÿ/08@Rntv.io^ +ÿ/08@Radtelligent.com^ +ÿ/08@Radglare.net^ +3ÿ/* + adsco.com* +adsco.nl08@R/adsco. +ÿ/08@R/banner.php +)ÿ/08@Rvidible.tv/placement/vast/ +ÿ/08@Radnium.com^ +ÿ/08@Rmultiview.com^ +&ÿ/08@R/AudienceNetworkPrebid. +ÿ/08@Ryieldmo.com^ +ß/08@R -300x250- +ÿ/08@R +/adstream_ +ÿ/08@Raimatch.com^ +ÿ/08@R adspruce.com^ +ÿ/08@Rbidvertiser.com^ +ÿ/08@Rtrafforsrv.com^ +ÿ/08@R/adtag. +ÿ/08@R spotxcdn.com^ +!ÿ/08@Ritweb.co.za/logos/ +ÿ/08@R/img/ad/ +Ÿ* +concursovirtual.com.br* +lavozdegalicia.es* +forum.kooora.com* +posta.com.tr* + +payback.pl* + +uol.com.br08@R"g.doubleclick.net/gpt/pubads_impl_ +&ÿ/* + adnext.pl08@R/adnext. +ÿ/08@Radhese.com^ +ÿ/08@R luxup.ru^ +ÿ/08@Radskeeper.co.uk^ +/ÿ/08@R readthedocs.org*/sustainability/ +%ÿ/08@R/viewid=*/site=*/size= +ÿ/08@R/static/ad/ +ÿ/08@R _160x600. +ÿ/08@Rad.about.co.kr^ +*û/* + mediaplex.com08@R/adfarm. +ÿ/08@Rdianomi.com^ +ÿ/08@R districtm.ca^ +"ÿ/08@Rbroadstreetads.com^ +ÿ/08@R adman.gr^ +ÿ/08@Radsensecamp.com^ +ÿ/08@Rspoutable.com^ +,ÿ/* +adpartner.cz08@R.adpartner. +ÿ/08@R +o333o.com^ +ÿ/08@R/ad_img/ +*ÿ/* +adsearch.fr08@R +/adsearch. +ÿ/08@R +.adserver. +ÿ/08@R/advertisements/ +!ÿ/08@Rperfectmarket.com^ +ÿ/08@R/ads11. +ÿ/08@R +morgdm.ru^ + ÿ/08@Rpromos.fling.com^ +ÿ/08@R +/adrotate- +ÿ/08@R/ads10. +ÿ/08@Rsolocpm.com^ +ÿ/08@Radnuntius.com^ +ÿ/08@R/nuggad. +ÿ/08@R-728x90. +ÿ/08@R=728x90, +ÿ/08@Rbepolite.eu^ +ÿ/08@R /adsense- +‹* +greyhoundbet.racingpost.com* +consequenceofsound.net* +vroomvroomvroom.com.au* +washingtonexaminer.com* +video.foxbusiness.com* +winnipegfreepress.com* +lehighvalleylive.com* +merriam-webster.com* +thesimsresource.com* +urbandictionary.com* +casamientos.com.ar* +drupalcommerce.org* +flightcentre.co.uk* +thoughtcatalog.com* +casamentos.com.br* +casamiento.com.uy* +independent.co.uk* +indianexpress.com* +matrimonio.com.co* +matrimonio.com.pe* +weddingspot.co.uk* +blastingnews.com* +caranddriver.com* +investopedia.com* +africanindy.com* +ebaumsworld.com* +fastcompany.com* +liverpoolfc.com* +livescience.com* +nydailynews.com* +brandonsun.com* +daveramsey.com* +lifehacker.com* +matrimonio.com* +matrimonios.cl* +nauticexpo.com* +oregonlive.com* +phonearena.com* +pianobuyer.com* +sendtonews.com* +vanityfair.com* + 120sports.com* + casamentos.pt* + cleveland.com* + denofgeek.com* + economist.com* + mardigras.com* + pocketnow.com* + ripley.com.pe* +allmusic.com* +bodas.com.mx* +deadspin.com* +denofgeek.co* +foodkick.com* +gamespot.com* +gsmarena.com* +gulflive.com* +jalopnik.com* +mariages.net* +masslive.com* +pennlive.com* +phoronix.com* +seahawks.com* +syracuse.com* +cbsnews.com* +foxnews.com* +gizmodo.com* +jezebel.com* +latimes.com* +nytimes.com* +weather.com* + +beqala.com* + +gawker.com* + +goalzz.com* + +kotaku.com* + +marvel.com* + +noodle.com* + +orbitz.com* + +silive.com* + +zillow.com* + bodas.net* + canoe.com* + m.tmz.com* + mlive.com* + ripley.cl* + zavvi.com* + zdnet.com* + +cwtv.com* + +nola.com* + +time.com* + +wtop.com* +io9.com* +kbb.com* +mlb.com* +opb.org* +out.com* +tmz.com* +upi.com* +wlj.net* +wsj.com* +wwe.com* +al.com* +ew.com* +nj.com* +qz.com08@R"g.doubleclick.net/gpt/pubads_impl_ +ÿ/08@Rintentmedia.net^ +ÿ/08@R +ebdr3.com^ +ÿ/08@R/ad-api- +ÿ/08@R nanigans.com^ +ÿ/08@R -300x250_Û- +ÿ/08@R .net/bnr/ +&ÿ/08@Rnewsmaxfeednetwork.com^ +ÿ/08@Rnspmotion.com^ +ÿ/08@Rnativeads.com^ +ÿ/08@R /ads/www/ +ÿ/08@R/ads.css +ÿ/08@Rsedoparking.com^ +-ÿ/08@Rero-advertising.com^*/banners/ +ÿ/08@R/js.ad/size= +ÿ/08@R_120x60. +ÿ/08@R/ad.php? + ÿ/08@Ryieldmanager.com^ +-ÿ/* +j.gs* +q.gs08@R +adf.ly/js/ +ÿ/08@R +-auto-ads- +!ÿ/08@Rbrand-display.com^ +ÿ/08@Raffiliate-b.com^ +ÿ/08@R bebi.com^ +ÿ/08@R +mycdn2.co^ +"ÿ/08@Rcpmstar.com/cached/ +"ÿ/08@Rchoices.truste.com^ +¿/08@R /adriver. +ÿ/08@Rbitcoadz.io^ +ÿ/08@Rweborama.io^ +ÿ/08@R/showad. +ÿ/08@R /img/ads/ +ÿ/08@R +h-bid.com^ +ó/08@R/popup-builder- +ÿ/08@Rox-d.*^auid= +™* +intellectualconservative.com* +americasfreedomfighters.com* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +conservativetribune.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +bigleaguepolitics.com* +conservativeintel.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +patriotnewswire.com* +thelibertydaily.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +americanewshub.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +survivalnation.com* +theblacksphere.net* +thepolitistick.com* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +beforeitsnews.com* +chicksonright.com* +deneenborelli.com* +freewarefiles.com* +ifyouonlynews.com* +joeforamerica.com* +knowledgedish.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +technobuffalo.com* +therightscoop.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +gamersheroes.com* +healthstatus.com* +honesttopaws.com* +madworldnews.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +breakingnews.ie* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +moneyversed.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +cheatsheet.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +rpnewswire.com* +sarahpalin.com* +shark-tank.com* +stevedeace.com* +terezowens.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + reviveusa.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +cheapism.com* +crossmap.com* +dailydot.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +lifebuzz.com* +makeagif.com* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +bugout.news* +coviral.com* +damnlol.com* +enstarz.com* +faithit.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* +tinypic.com* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + vgpie.com* + +hngn.com* +wnd.com08@Rhttp:// +ÿ/08@Radvombat.ru^ +ÿ/08@Rrtk.io^ +ÿ/08@R/bannerfarm. +ÿ/08@Ryieldlove.com^ +ÿ/08@R/728x90. +ÿ/08@R /ads/ads. +ÿ/08@R _300x600_ +ÿ/08@R /adframe. +ÿ/08@Rrockyou.net^ +ÿ/08@Rhotwords.com.br^ +ÿ/08@R ://promo. +ÿ/08@R +mpnrs.com^ +ÿ/08@Rppc-direct.com^ +ÿ/08@R4dsply.com^ +ÿ/08@Rtargetspot.com^ +ÿ/08@Rtagcade.com^ +ÿ/08@R /publicidade/ +ÿ/08@Rpubwise.io^ +!ÿ/08@Rpmm.people.com.cn^ +ü†*# +advertisers.easyweddings.com.au* +advertisers.careerone.com.au* +advertisers.adversense.com* +advertisers.ypfboost.ph* +advertisers.leadia.ru* +panel.rightflow.com* +advertisers.dk* +advertisers.io08@R /advertisers. +ÿ/08@R /bserver/ +ÿ/08@R/all/ad/ +ÿ/08@R +apvdr.com^ +ÿ/08@R /uploads/ads/ +ÿ/08@Rdpmsrv.com^ +%ÿ/08@Rimp*.tradedoubler.com^ +ÿ/08@Rclickintext.net^ +ÿ/08@R/adtags/ +ÿ/08@R/ads20. +ÿ/08@R&adunit= +$ÿ/* +adfox.hu08@R/adfox. +ÿ/08@Radhitzads.com^ +ÿ/08@R +/adbanner. +ÿ/08@Rdumedia.ru^ +)ÿ/* +adscale.com08@R /adscale.‰ +ÿ/08@R +_ads_only& +ÿ/08@R.adserver01. +¿/08@Rvideoplaza.tv^ +ÿ/08@Rdemand.supply^ +ÿ/08@Ralimama.com^ +ÿ/08@R/iframe.ad/ +ÿ/08@Rconnextra.com^ +ÿ/08@Rinsticator.com^ +ÿ/08@R/728x90/ +ÿ/08@Rimonomy.com^ +ÿ/08@R +nui.media^ +"ÿ/08@R?offer_id=*&aff_id= +ÿ/08@Rrotaban.ru^ +ÿ/08@Retcodes.com^ +ÿ/08@R_468x60. +¿/08@R/oascentral. +ÿ/08@R +adk2x.com^ +!ÿ/08@Rkumpulblogger.com^ +ÿ/08@Rptclassic.com^ +ÿ/08@R.php?ad_ +ÿ/08@R/adchoices/ +ÿ/08@R /adv_teasers. +ÿ/08@R /ad?data= +?ÿ/* +ad4.wpengine.com* +vereinslinie.de08@R/ad4. +ÿ/08@Rfastclick.net^ +·/08@R/publicidad. +ÿ/08@Rcwkuki.com^ +ÿ/08@Rlfstmedia.com^ +§†* +feedback.pornhub.com* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rhttps:// +ÿ/08@Rtmdn2015x9.com^ +$ÿ/08@Rcpmstar.com/view.aspx +@ÿ/* +superfilm.pl08@R2mdn.net/instream/html5/ima3.js +'÷/08@R/amazon-associates-link- +ÿ/08@Rplaytem.com^ +5ÿ/* +vereinslinie.de* + +ad3.eu08@R/ad3. +ÿ/08@R/adserv. +U* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rphncdn.com^ +ÿ/08@R_video_ads/ + ÿ/08@Rcas.*.criteo.com^ +ÿ/08@Radnxs.com/p/ +ÿ/08@R/pc_ads. +ÿ/08@R /300x250- +ÿ/08@Radtrue.com^ +ÿ/08@R/image/ads/ +÷/08@R/oiopub-direct/ +"ÿ/08@Rawin1.com/cshow.php +ÿ/08@R bumq.com^ +ÿ/08@R +eclick.vn^ +ÿ/08@Rcircularhub.com^ +:û.* +netaffiliation.com08@Rmetaffiliation.com^ +ÿ/08@Rbidgear.com^ +ÿ/08@R/adservices. +ÿ/08@R /img/adv/ +ÿ/08@R _160x600_ +ÿ/08@R://affiliates. +ÿ/08@R?banner_id= +ÿ/08@R -ads-manager/ +ÿ/08@R exdynsrv.com^ +ÿ/08@R a2gw.com^ +Aÿ/08@R2/wp-content/uploads/useful_banner_manager_banners/ +ÿ/08@R/adcode. +ÿ/08@R ad4989.co.kr^ +(08@Rnpttech.com/advertising.js +ÿ/08@Rrxthdr.com^«' +ÿ/08@R +/bannerad/ +$* +tinypic.com08@Rhttp:// +(ÿ/08@Rsecureserver.net^*/event? +08@Rredtram.com^ +ÿ/08@Rakavita.com^ +ÿ/08@R _adsense_ +ÿ/08@Rclickfuse.com^ + ÿ/08@Rlycos.com/catman/ +ÿ/08@R/adsby. +ÿ/08@R _advertising. +$ÿ/08@Rshareasale.com/image/ +ÿ/08@R/publicidades/ +ÿ/08@Rmadadsmedia.com^ +ÿ/08@R/simpleads/ +ÿ/08@R +/show_ads_ +ÿ/08@R/adv.php +ÿ/08@Rad-delivery.net^ +ÿ/08@R/img/ad_ +ÿ/08@Rparkingcrew.net^ +-ÿ/08@Rd2na2p72vtqyok.cloudfront.net^ +"ÿ/08@Raltitude-arena.com^ +ÿ/08@Rgrmtas.com^ +ÿ/08@R +/adscript. +ÿ/08@R-ads-widget/ +ß/08@R-gpt-ad- +ÿ/08@R go2speed.org^ +ÿ/08@Rtoboads.com^ +ÿ/08@R _300_250. +!ÿ/08@Ra-ssl.ligatus.com^ +ÿ/08@R/728x90_ +ÿ/08@R onclasrv.com^ +ÿ/08@R/adcdn. +ÿ/08@R/adjs. +ÿ/08@R/advanced-ads/ +ÿ/08@R/adx-exchange. +0ÿ/08@R!/wp-content/plugins/wp-bannerize/ +#ÿ/08@Rematicsolutions.com^ +ÿ/08@Remediate.eu^ +ÿ/08@Radup-tech.com^ +ÿ/08@Rfastapi.net^ +ÿ/08@Radalliance.io^ +ÿ/08@R/files/ads/ +ÿ/08@R/assets/ads/ +ÿ/08@R/adm/ad/ +ÿ/08@Rctrmanager.com^ +$ÿ/08@R/ignitecampaigns.com/ ++ÿ/08@Rstatic.plista.com^*/resized/ +ÿ/08@R/advert_ +ÿ/08@Rlivestatisc.com^ +ÿ/08@R/banner.cgi? +ÿ/08@R qwertize.com^ +ÿ/08@R/textad. +ÿ/08@Radrecover.com^ +)ÿ/* +ad-tuning.de08@R.com/ad. +»* +zanesvilletimesrecorder.com* +wisconsinrapidstribune.com* +bucyrustelegraphforum.com* +lancastereaglegazette.com* +portclintonnewsherald.com* +democratandchronicle.com* +greenbaypressgazette.com* +mansfieldnewsjournal.com* +marshfieldnewsherald.com* +montgomeryadvertiser.com* +battlecreekenquirer.com* +burlingtonfreepress.com* +hattiesburgamerican.com* +lansingstatejournal.com* +poughkeepsiejournal.com* +stevenspointjournal.com* +chillicothegazette.com* +vroomvroomvroom.com.au* +courierpostonline.com* +desmoinesregister.com* +greatfallstribune.com* +thenews-messenger.com* +visaliatimesdelta.com* +wausaudailyherald.com* +coshoctontribune.com* +greenvilleonline.com* +statesmanjournal.com* +theleafchronicle.com* +computerworlduk.com* +courier-journal.com* +livingstondaily.com* +merriam-webster.com* +mycentraljersey.com* +shreveporttimes.com* +thedailyjournal.com* +thenorthwestern.com* +thesimsresource.com* +urbandictionary.com* +virginaustralia.com* +baxterbulletin.com* +casamientos.com.ar* +delawareonline.com* +drupalcommerce.org* +flightcentre.co.uk* +newarkadvocate.com* +sheboyganpress.com* +thetimesherald.com* +thoughtcatalog.com* +casamentos.com.br* +casamiento.com.uy* +clarionledger.com* +games.latimes.com* +ithacajournal.com* +matrimonio.com.co* +matrimonio.com.pe* +press-citizen.com* +pressconnects.com* +theadvertiser.com* +weddingspot.co.uk* +blastingnews.com* +floridatoday.com* +hometownlife.com* +investopedia.com* +postcrescent.com* +thestarpress.com* +argusleader.com* +dailyrecord.com* +defensenews.com* +escapegames.com* +fdlreporter.com* +liverpoolfc.com* +livescience.com* +news-leader.com* +stargazette.com* +tallahassee.com* +thenewsstar.com* +thespectrum.com* +thetowntalk.com* +ticketek.com.ar* +boatshop24.com* +cincinnati.com* +coloradoan.com* +dailyworld.com* +daveramsey.com* +jacksonsun.com* +lifehacker.com* +marionstar.com* +matrimonio.com* +matrimonios.cl* +motorcycle.com* +nauticexpo.com* +news-press.com* +newsleader.com* +tennessean.com* + autoguide.com* + casamentos.pt* + economist.com* + podomatic.com* + ripley.com.pe* +bodas.com.mx* +deadspin.com* +indystar.com* +jalopnik.com* +jconline.com* +mariages.net* +mydesert.com* +pal-item.com* +phoronix.com* +foxnews.com* +gizmodo.com* +guampdn.com* +htrnews.com* +jezebel.com* +sctimes.com* + +beqala.com* + +gawker.com* + +kotaku.com* + +mysoju.com* + +nonags.com* + +noodle.com* + +orbitz.com* + +volokh.com* + +zillow.com* + bodas.net* + freep.com* + lohud.com* + ripley.cl* + zavvi.com* +app.com* +dnj.com* +io9.com* +kbb.com* +rgj.com* +wlj.net* +wsj.com* +zui.com* +gz.com* +qz.com08@Rg.doubleclick.net/gampad/ads? +,ÿ/08@Rbongacash.com/dynamic_banner/ +ÿ/08@R/468x60. +%ÿ/08@Radexchangetracker.com^ +Üÿ/*) +%advertise.directoryofillustration.com* +advertise.sphamovingads.com* +advertise.sobihamilton.ca* +advertise.apartments.com* +advertise.isleofskye.com* +advertise.welovebuzz.com* +advertise.medillsb.com* +advertise.movem.co.uk* +bingads.microsoft.com* +advertise.market* +engineering.com08@R/advertise. +ÿ/08@R-120x60. +ÿ/08@R-728x90- +#ÿ/08@Ri.skimresources.com^ +ÿ/08@R +_ad_sense/ +ÿ/08@Rdeepintent.com^± +ÿ/08@R affec.tv^ +ÿ/08@R/ads1. +ÿ/08@Roclasrv.com^ +ÿ/08@Rremintrex.com^ +ÿ/08@R/images/ad- +ÿ/08@R/images/adv_ +ÿ/08@R +/popunder- +ÿ/08@Rscanscout.com^ +ÿ/08@R/display.ad. +ÿ/08@R/modules/ad/ +/ÿ/08@R cloudfront.net/scripts/js3caf.js +ÿ/08@Ramgdgt.com^ +ÿ/08@R .com/adv/ +ÿ/08@R/advdl. +$ÿ/08@Rbet365affiliates.com^ +%ÿ/08@Rimpressionmonster.com^ +ÿ/08@R +_728x90px_ +ÿ/08@R.sponsorads. +ÿ/08@Rozon.ru^ +ÿ/08@Radxpansion.com^ +ÿ/08@R/ad.gif +ÿ/08@R /adsetup. +ÿ/08@R adnet.lt^ +ÿ/08@R/advs/ +ÿ/08@R +/imp?slot= +9ÿ/* + adview.online* + adview.mu08@R/adview. +L…* +youporngay.com* + youpornru.com* +youporn.com08@Rypncdn.com^ +ÿ/08@Radhood.com^ +ÿ/08@R=simpleads/ +ÿ/08@R -160x600_ +ÿ/08@Rzanox.com/ppv/ +ÿ/08@R/ox/www/ +'ÿ/08@R/adClosefeedbackUpgrade. +ÿ/08@R/ads.php +ÿ/08@R /adition. +ÿ/08@R/dfp.js +ÿ/08@Rboudja.com^ +ÿ/08@R /core/ad/ +ÿ/08@R _300x600. +ÿ/08@R +yceml.net^ +ÿ/08@Rbnserving.com^ +%* +tinypic.com08@Rhttps:// +ÿ/08@Rbannersnack.net^ +5ÿ/* +berlin-airport.de08@R/advertisement- +'ÿ/08@Ryoutube.com/get_midroll_ +ÿ/08@R /videojs.ads. +ÿ/08@Rmrelko.com^ +ÿ/08@R +vntsm.com^ +ÿ/08@Rhot-mob.com^ +ÿ/08@Radmedia.com^ +ÿ/08@R +/asyncspc. +ÿ/08@R/custom/ads +ÿ/08@R /adnexus- +2ÿ/* +radom.pl* + +ppc.ee08@R /adwords. +ÿ/08@R.ads2- +ÿ/08@R/components/ads_ +ÿ/08@R&adsrc= +ÿ/08@R _300_250_ +ÿ/08@Rad.wsod.com^ +ÿ/08@Rpulpix.com^ +ÿ/08@R aso1.net^ +ÿ/08@Rbuysellads.net^ +ÿ/08@R/ad.min. +ÿ/08@R_468_60_Ó +ÿ/08@Rgenieessp.com^ +ÿ/08@R/synad2. +ÿ/08@R +4wnet.com^ +;ÿ/08@R,pressdisplay.com/advertising/showimage.aspx? +P+* +fmovies.taxi* + +fmovies.is* + +fmovies.se* + +fmovies.to08@Rhttps:// +08@R.bid^ +ÿ/08@R adikteev.com^ +ÿ/08@R/ads01. +ÿ/08@Rluxupadva.com^ +ÿ/08@R/adchoices. +ÿ/08@R _ad_logo. +ÿ/08@Rdisqusads.com^ +ÿ/08@Rsnack-media.com^ +ÿ/08@Rcoinad.com^ +ÿ/08@Rbc.coupons.com^ +ÿ/08@R/show_ads.js +ÿ/08@Rsancdn.net^ +>ÿ/* +adnetwork.ie* +adnetwork.sk08@R.adnetwork. +#ÿ/08@Rws.amazon.*/widgets/ +'ÿ/08@Rclickiocdn.com/t/common_ +ÿ/08@Rprf.hn^ +ÿ/08@R/adlog.php? +ÿ/08@Radpnut.com^ +ÿ/08@Rhlserve.com^ +ÿ/08@R /adsbygoogle. +ÿ/08@Rmobtrks.com^ +#ÿ/08@Rti.tradetracker.net^ + ÿ/08@Rinstreamvideo.ru^ +.ÿ/08@Rshorte.st/link-converter.min.js +ÿ/08@Radsrv.eacdn.com^ +ÿ/08@R_ads_iframe_ +ÿ/08@R.net/ad_ +ÿ/08@R amp.services^ +ÿ/08@R/adserver3. +!ÿ/08@Radingo.jp.eimg.jp^ +ÿ/08@R +/nativead. +#ÿ/08@Rtools.bongacams.com^ +!ÿ/08@Rtrafficfabrik.com^ +6ÿ/* +adman.studio* +adman.ee08@R/adman. +ÿ/08@Rspongecell.com^ +ÿ/08@R-468x60. +ÿ/08@R/ads.min.js +ÿ/08@R/components/ads/ +ÿ/08@Rtraffichaus.com^ +ÿ/08@Rlockerdome.com^ +ÿ/08@R +adxxx.org^ +ÿ/08@R /adv_out. +ÿ/08@R/bsa-pro-upload/ +ÿ/08@Radlightning.com^ +ÿ/08@Rumekana.ru^ +)ÿ/* +asyncjs.com08@R /asyncjs. +ÿ/08@R/showbanner. +ÿ/08@R moevideo.net^ +ÿ/08@Rkavanga.ru^ +ÿ/08@Ratwola.com^ +ÿ/08@Rrealssp.co.kr^ +F* +redtube.com.br* +redtube.com08@Rthumbs-cdn.redtube.com^ +ÿ/08@Rr66net.com^ +ÿ/08@R +/ad/jsonp/ +ÿ/08@R udmserve.net^ + ÿ/08@Rvidsdelivery.com^ +ÿ/08@R/css/ad. +ÿ/08@Rvelocecdn.com^ + ÿ/08@Rgetscorecash.com^¹ +*ÿ/08@Rwidgets.fccinteractive.com^ +ÿ/08@Rundertone.com^ +ÿ/08@Rutarget.ru^ +ÿ/08@R inskinad.com^ +)ÿ/08@Rchaturbate.com/affiliates/ +ÿ/08@Rtrfpump.com^ +ÿ/08@R -dfp-ads/ +ÿ/08@R nglmedia.com^ +=ÿ/08@R.images-amazon.com/images/*/associates/widgets/ +ÿ/08@Rmainadv.com^ +ÿ/08@Raddroplet.com^ +ÿ/08@R/reklam. +ÿ/08@R ://oas.*@ +ÿ/08@R +swoop.com^ +‰ÿ/* +panel.rightflow.com* +datalift360.com* +home.tapjoy.com* +propelmedia.com* +publisuites.com08@R /advertisers/ +ÿ/08@R .org/ads/ +!ÿ/08@Rgamesrevenu24.com^ +ÿ/08@R -160x600. +ÿ/08@R/728x90- +ÿ/08@R/bannerads/ +ÿ/08@Rcarbonads.com^ +Lÿ/* +advert-technology.com* +advert-technology.ru08@R/advert- +%ÿ/08@Rtrack.effiliation.com^ +ÿ/08@R_120x60_ +&08@Rfastly.net/ad2/ + ÿ/08@Rgamesrevenue.com^ +ÿ/08@R adnet.de^ +ÿ/08@Rfuckyoucash.com^ +"ÿ/08@Reboundservices.com^ +ÿ/08@R /adshow2. +ÿ/08@R advideum.com^ +ÿ/08@Radrcdn.com^ +ÿ/08@R_120_60. +ÿ/08@R /adj.php? +ÿ/08@Rindeed.com/ads/ +ÿ/08@R/banners/300 +ÿ/08@Ronclickmega.com^ +p* +tomshardware.co.uk* +tomshardware.com* +wonderhowto.com* + tomsguide.com08@Rservebom.com/tmn*.js +ÿ/08@Rdtmpub.com^ +ÿ/08@R/adimg/ +Dÿ/* + amazon.de08@R&ssl-images-amazon.com/images/*/banner/ +ÿ/08@R/ad_images/ +ÿ/08@R/js/ads_ +ÿ/08@Rretargeter.com^ +ÿ/08@R_468x60_ +ÿ/08@Rhttpool.com^ +ÿ/08@R/sam-pro-free/ +ÿ/08@R _120x600. +ÿ/08@R adpushup.com^ +ÿ/08@R/_ads/ +ÿ/08@R .net/ads. +#ÿ/08@Rtradeadexchange.com^ +ÿ/08@R/adblockdetect/ +ÿ/08@R/adserver1. +'ÿ/08@Rstatic.tradetracker.net^ +ÿ/08@Rmp-https.info^ +#ÿ/08@Rselectablemedia.com^ +ÿ/08@Rlucklayed.info^ +ÿ/08@Rintergi.com^ +ÿ/08@Rysm.yahoo.com^ +ÿ/08@Rluxadv.com^ +ÿ/08@Rcroissed.info^ +ÿ/08@R +/adbayimg/ + ÿ/08@Rtrafficforce.com^òs +ÿ/08@Rweb.adblade.com^ +ÿ/08@R grabo.bg^ +>ÿ/* +adnetwork.ai* +adnetwork.ie08@R/adnetwork. +oÿ/* + marketgid.com* +marketgid.ru* +marketgid.ua* +thechive.com* +mgid.com08@R dt00.net^ +%ÿ/08@Radf.ly/images/banners/ +ÿ/08@Radbooth.com^ +ÿ/08@Roclaserver.com^ +ÿ/08@R /dfp/dfp- +ÿ/08@R/servlet/view/ +ÿ/08@R +/popunder. +ÿ/08@R/sticky-ad- +ÿ/08@Radclick.lv^ +ÿ/08@Rsrcsmrtgs.com^ +ÿ/08@R /adimage. +ÿ/08@R /main_ad_ +'ÿ/08@Rexoclick.com/ad_track.js +ÿ/08@R /your-ad- +ÿ/08@R/ad_agency/ +ÿ/08@Rrevsci.net^ +"ÿ/08@Rinstinctiveads.com^ +ÿ/08@R +mixpo.com^ +ÿ/08@R /pcad.js? +ÿ/08@Rquinstreet.com^ +ÿ/08@R /openads/ +!ÿ/08@Rspotscenered.info^ +ÿ/08@Rato.mx^ + ÿ/08@Rkarma.mdpcdn.com^ +Óc*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@Rgoogle.com^ +#ÿ/08@Rspeedshiftmedia.com^ +ÿ/08@R /ads/scripts/ +ÿ/08@Rhilltopads.net^ +ÿ/08@R /show_ad_ +ÿ/08@R &ad_type= +Cÿ/08@R4/wp-content/plugins/amazon-product-in-a-post-plugin/ +ÿ/08@R /300x150_ +ÿ/08@R /160x600. +ÿ/08@Rvrtzads.com^ +*"* +urlgalleries.net08@Rhttps:// +ÿ/08@Rcdnjke.com^ +ÿ/08@R .com/ads- +ÿ/08@R /300_250_ +ÿ/08@R/adpic. +ÿ/08@R popmyads.com^ +ÿ/08@Rprscripts.com^ +#ÿ/08@Rimpactradius-go.com^ +ÿ/08@R _300x250- +ÿ/08@R.adsby. +0ÿ/* +booking.loganair.co.uk08@R?ads= +ÿ/08@Radplugg.com^ +ÿ/08@R +.adbutler- +!ÿ/08@Radbetclickin.pink^ +2ÿ/* +daijiworld.com08@Rtvdaijiworld.com^ +ÿ/08@R ?ad_type= +ÿ/08@R/images/adv/ +ÿ/08@R /publicidade. +.ÿ/08@Rgemini.yahoo.com^*^syndication^ +ÿ/08@R +tqlkg.com^ +ÿ/08@R +n2s.co.kr^ +ÿ/08@Rliqwid.net^ +ÿ/08@Rawestatic.com^ +ÿ/08@Rwnp.com^ +ÿ/08@R/ad-bucket. +#ÿ/08@Rtraffic-media.co.uk^ +ÿ/08@R/nativeads/¯Í +ÿ/08@Rmobisla.com^ +ÿ/08@R +rareru.ru^ +ÿ/08@Rrtbnowads.com^ +ÿ/08@Rgrapeshot.co.uk^ +!ÿ/08@Rlockerdomecdn.com^ +ÿ/08@R /js2.ad/size= +ÿ/08@R/banner-ads- +ÿ/08@R +/adengine. +ÿ/08@Raddoer.com^ +ÿ/08@R/xpopunder. +ÿ/08@R +aio.media^ +&ÿ/08@Rcreative.stripchat.com^ + ÿ/08@Rtrafficjunky.net^ +ÿ/08@R +loopme.me^ +2÷/08@R#/wp-content/plugins/wp-super-popup/ +ÿ/08@Rmathads.com^ +ÿ/08@Rad.bitmedia.io^ +ÿ/08@Repnt.ebay.com^ +ÿ/08@R /ad-exchange. +ÿ/08@R -300x600. +ÿ/08@R/banner_ads/ +Ìÿ/*$ + advertiser.autorepairconnect.com* +advertiser.growmobile.com* +advertiser.adverbid.com* +panel.rightflow.com* + linkpizza.com* +trialpay.com* +unity3d.com08@R/advertiser. +ÿ/08@R clicksor.net^ +ÿ/08@R/advertisment/ +¦ÿ/* +advertising-direct.com* +advertising-factory.de* +abramarketing.com* +yellowimages.com* + microsoft.com* +outbrain.com08@R /advertising- +ÿ/08@R /sp/delivery/ +ÿ/08@R.ru/ads/ +ÿ/08@Radfrontiers.com^ +ÿ/08@R/ad-invalid- +ÿ/08@R pay-click.ru^ +ÿ/08@R/eas?cu=*;cre= +%ÿ/08@Rinterworksmedia.co.kr^ +(ÿ/08@Rsmart.styria-digital.com^ +›ÿ/* +bingads.microsoft.com* +mobileapptracking.com* +affiliprint.com* + linkpizza.com* +trialpay.com* + +affili.net08@R/advertiser/ +ÿ/08@R/ad/afc_ +ÿ/08@Ryunshipei.com^ +ÿ/08@R awltovhc.com^ +÷/08@R-ad-manager/ +ÿ/08@Rmarphezis.com^ +ÿ/08@R/adview/ + * + dato.porn08@Rblob: +¸b*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@Rapi.peer5.com^ +Öc*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@Raspnetcdn.com^ +Ùc*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@Rbootstrapcdn.com^ +¢d*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +atchparksandrecreation.net* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +freeomovie.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +livecamtv.me* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +strikeout.me* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + vipbox.nu* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@R chatango.com^ +©d*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +freemoviestream.xyz* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bdsmstreak.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + animepahe.com* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +realcam.me* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@Rcloudflare.com/ajax/libs/ +×c*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@Rcse.google.com^ +2* + dato.porn08@Rdatoporn.com/assets/js/ +Óc*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@Rdisqus.com^ +‰`*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cwtube.dj* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +video.az* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +k18.co* +l2s.io* +u2s.io* +al.ly08@Rdisquscdn.com^ +·b*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@R facebook.net^ +Óc*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@Rgoogle.com^ +‘d*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +freemoviestream.xyz* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bdsmstreak.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mp4upload.com* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@Rgoogleapis.com^ +àc*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +freemoviestream.xyz* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@Rgstatic.com^ +Âb*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + youav.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@Rjquery.com^ +L* + bilasport.com* +bilasport.me* +bilasport.pw08@R jsdelivr.net^ +×c*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@Rjwplatform.com^ +d*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +sky-streams.blogspot.co.uk* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +minatosuki.website* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filesupload.org* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +media1fire.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + nbastreams.me* + neko-miku.com* + nflstream.net* + nflstreams.me* + nhlstreams.me* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + putarfilm.com* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +fbstreams.me* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +hulkload.com* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mlbstream.me* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +animeid.io* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +tfpdl.de* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +l2s.io* +u2s.io* +al.ly08@Rjwpsrv.com^ +Ûb*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +aniwatchtheofficeonline.net* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mezone.pl* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@Rmaps.google.com/maps/ +/* + couchtuner.nu08@Rmycouchtuner.nu^ +¸b*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +linclik.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@Ronesignal.com^ +²b*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@Rplatform.instagram.com^ +›bÿ/*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@Rs.gravatar.com^ +§b*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@Rs.ytimg.com^†¤ +¯b*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@Rsecure.gravatar.com^ +¦b*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@Rtumblr.com^ +§b*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@Rtwitter.com^ +°b*& +$seriesparalatinoamerica.blogspot.com*# +!sexyeroticgirls.comshofonline.org* +masterfilmesonlinegratis.info* +seriesparaassistironline.org* +savvystreams.blogspot.co.uk* +telugusexstorieskathalu.net* +alivefootballstreaming.com* +onlinefilmovisaprevodom.cc* +watchparksandrecreation.cc* +assistirfilmesonline2.net* +discografiascompletas.net* +iptvsatlinks.blogspot.com* +savvystreams.blogspot.com* +felipephtutoriais.com.br* +pokemonlaserielatino.com* +programasvirtualespc.net* +skidrowgamesreloaded.com* +soccerembed.blogspot.com* +verpeliculasporno.gratis* +watchtheofficeonline.net* +zippysharealbum.download* +4horlover2.blogspot.com* +animemusicdownload.info* +bajarjuegospcgratis.com* +filmeseseriesonline.net* +jdownloader2premium.com* +picanteeproibido.com.br* +soparagamestorrents.com* +watchtheofficeonline.cc* +4horlover.blogspot.com* +andrija-i-andjelka.com* +filmeserialeonline.org* +flashbd24.blogspot.com* +hindimoviesonlines.net* +iwatchgameofthrones.cc* +jogostorrentgratis.net* +q3sk-dizi.blogspot.com* +veziserialeonline.info* +asianporndistrict.com* +depedlps.blogspot.com* +filmesonline1080p.com* +filmesonlineagora.com* +filmetraduseonline.ro* +ilovefilmesonline.biz* +macgames-download.com* +maniacosporcomics.com* +movieshdgratis.com.mx* +nontononlinedrama.com* +onlinefilmsitesii.net* +onlinemoviesprime.net* +serialed.blogspot.com* +torrentscompletos.com* +watcharcheronline.com* +animesenzalimiti.com* +assistirfilmeshd.org* +bugiltelanjang17.com* +downloadgamexbox.com* +filmesonlineplay.com* +freesoftwaredlul.com* +goldchannelmovie.net* +megafilmeshdplus.org* +megahentaicomics.com* +megaseriesonline.com* +moviesgoldonline.net* +moviesgoldonline.pro* +namethatpornstar.com* +ninfetasnovinhas.net* +onlinemoviesgold.one* +pcgames-download.com* +peliculastomas01.org* +polskie-torrenty.com* +thebestofcafucus.com* +tuportaldemusica.com* +videobokepincest.xyz* +wolverdon-filmes.com* +yallakora-online.com* +animesonline2hd.org* +animesonlinetk.info* +beautiesbondage.com* +calcioitalia.stream* +centraldeanimes.biz* +czechmoneyteens.com* +downloadgameps3.com* +downloadgamepsp.com* +dragonball-time.com* +drakorindofilms.com* +estrenosdoramas.net* +estrenosdoramas.org* +eurostreaming.video* +fullpinoymovies.net* +girlswithmuscle.com* +itastreaming.gratis* +livestreaming24.net* +peliculasmega1k.com* +pornhubz.tumblr.com* +pornotorrent.com.br* +projectfreetvi.info* +seriesintorrent.com* +torrentfilmesbr.com* +videobokepgratis.me* +zambianobserver.com* +baixarsomusica.com* +balkandownload.org* +blackboxrepack.com* +blacklionmusic.com* +cookiesnetfl1x.com* +electro-torrent.pl* +freeadultcomix.com* +fuckingsession.com* +hentaicomicsbr.net* +musculoduro.com.br* +mzansiporntube.com* +perfecthdmovies.pw* +projectfreetvhd.co* +series-cravings.tv* +sexy-youtubers.com* +streampornfree.com* +teluguringtones.co* +tuhentaionline.com* +tumejortorrent.com* +vivetusnovelas.com* +watchjavonline.com* +watchxxxparody.com* +300mbmovies4u.lol* +devil-torrents.pl* +filmesonline4.com* +filmesonlinex.biz* +freeiptvlinks.net* +freelivesports.co* +garotosbrasil.com* +icwutudidare.info* +iprojectfreetv.us* +koreansubindo.net* +link2download.net* +livesoccertv.live* +manatelugump3.net* +mp3mydownload.com* +nasze-kino.online* +nungmovies-hd.com* +nxtcomicsclub.com* +otaku-animehd.com* +pornfromczech.com* +pornpassw0rds.com* +pornsexonline.xxx* +portalultautv.com* +pubfilmonline.net* +reallifecamhd.com* +reallifecamvd.com* +thepiratebay24.ga* +thepiratebay3.org* +tokusatsuindo.com* +torrentcounter.cc* +torrentlocura.com* +torrentsgroup.com* +unduhfilmrama.biz* +vertusnovelas.net* +videosexbokep.org* +vidiobokeptop.com* +watchcommunity.cc* +watchcommunity.tv* +xvideospanish.com* +aflamtorrent.com* +allpeliculas.com* +anime-music.info* +aquariumgays.com* +artgifsocean.com* +cartoonhd.global* +columbia-xxx.com* +comicsmanics.com* +dailyuploads.net* +download-xyz.com* +dzrepackteam.com* +flixanity.online* +gravuregirlz.com* +incestoporno.org* +javkimochiii.com* +javonline.online* +kreskowkazone.pl* +mangacanblog.com* +masflowmusik.net* +moviehd-free.com* +moviezplanet.org* +newhdmovie24.biz* +nulledcenter.com* +peliculasabc.net* +pirateaccess.xyz* +playpornfree.net* +pornotorrent.org* +querofilmehd.com* +sdmoviespoint.in* +seriesblanco.com* +seriesfuture.com* +sinevizyonda.org* +skidrow-games.io* +skidrowcrack.com* +stadium-live.biz* +streamcherry.com* +tamilrasigan.net* +teenboytwink.com* +telugupalaka.com* +theputlocker.net* +thesimplebay.pro* +torrentrapid.com* +turkishseries.li* +vercanalestv.com* +verdirectotv.com* +vivatorrents.com* +watchjavidol.com* +watchme247.co.il* +watchpornfree.me* +xxxstooorage.com* +yify-torrent.xyz* +abcmalayalam.co* +anime-shitai.tv* +anime-sugoi.com* +animesorion.org* +arab-moviez.org* +bdmusicboss.net* +bestsongspk.com* +big4umovies.net* +bolly2tolly.com* +bouncebreak.com* +cartoonhd.globa* +cartoonth12.com* +filminvazio.com* +filmuptobox.net* +gamestorrent.co* +hacknetfl1x.net* +happy-foxie.com* +hdporner720.com* +healthsoul.info* +hentaistream.co* +hyperdebrid.net* +immunicity.plus* +immunicity.team* +layarindo21.com* +marvin-vibez.to* +movieerotic.net* +moviehd-xxx.com* +moviesgolds.com* +movietubenow.bz* +movieztimes.com* +newhdmovie24.co* +newhdmovies.net* +nontonanime.org* +ondeeubaixo.com* +peliculasgo.com* +pelisxporno.com* +piratebay.co.in* +pornlibrary.net* +pornmegabox.net* +pornocomics.net* +seriesblanco.tv* +serieslatino.tv* +solotorrent.net* +streamingok.com* +theapricity.com* +thebarchive.com* +thepiratebay.cd* +twitchstats.net* +veekyforums.com* +videosnudes.com* +yuptorrents.com* +zfilmeonline.eu* +zippymoviez.top* +300mbfilms.org* +adultdouga.biz* +ancensored.com* +antenasport.eu* +avpockiehd.com* +bitch-show.com* +bokepcewek.net* +cholotubex.com* +coastalhut.com* +comicporno.org* +divxatope1.com* +djmazamp3.info* +donlotfile.com* +drakorindo.com* +drhmonegyi.net* +easyxtubes.com* +embedlink.info* +erodouga69.com* +full-serie.biz* +futebolps2.com* +gameofporn.net* +gottateens.com* +guasavemp3.com* +hdencoders.com* +hdpornfull.net* +hdteenvids.com* +hentaiplay.net* +image-bugs.com* +immunicity.cab* +kingstheme.com* +kooora2day.com* +livehd90m.info* +loonertube.com* +megafodabr.com* +meguminime.com* +minatosuki.com* +moviesak47.com* +mymoviepot.xyz* +nosteam.com.ro* +nosteam.org.ro* +ocsstream.info* +ohyeah1080.com* +okmovie-hd.com* +perulareshd.pw* +planetsport.pw* +pornfromcz.com* +portalroms.com* +sexloading.com* +streamlord.com* +superteenz.com* +tele-wizja.com* +thiruttuvcd.me* +tlenovelas.net* +todoinmega.com* +torjackan.info* +torrentool.com* +torrentoon.com* +unblocked.plus* +unblocked.team* +viralshow.info* +viveseries.com* +world4ufree.ws* +xmovies247.com* +xxx-comics.com* +yeucontrai.com* +zone-series.cc* + 2ddl.download* + 353online.com* + 9xmovies.site* + abgdianci.com* + aflamfree.net* + animakai.info* + arabloads.net* + axxomovies.in* + azkempire.com* + bokep2017.com* + brazzershd.co* + bypassed.plus* + bypassed.team* + catosports.ml* + cinemamkv.xyz* + cliphayho.com* + cooltamil.com* + couchtuner.fr* + couchtuner.nu* + debrideco.com* + faststream.in* + faststream.ws* + gamepciso.com* + gaycock4u.com* + gibanica.club* + hdarkzone.com* + hdmovie24.net* + hdmusic23.net* + hdmusic25.com* + hdpornfull.co* + hentai-for.me* + hentaiplus.co* + igg-games.com* + imagecoin.net* + javmobile.net* + jpgayporn.net* + kissasian.com* + koraspeak.com* + lecheanal.com* + maxinlive.com* + megatobox.net* + metaserie.com* + milfcomix.com* + milversite.me* + minhaserie.me* + mitemovie.com* + mixhdporn.com* + modelblog.org* + movierulz.xyz* + movies24hd.co* + mp3songdl.net* + mzansifun.com* + mzansixxx.com* + nbafullhd.com* + neko-miku.com* + nflstream.net* + nudeyoung.xyz* + omberbagi.com* + one-series.cc* + otorrents.com* + pandamovie.eu* + peliculasm.tv* + pinaycute.com* + pornhardx.com* + pure-anime.tv* + pussybook.xyz* + rosextube.com* + sexisfree.net* + speedplay.pro* + suki48.web.id* + teentubeq.com* + telugudon.com* + thplayers.com* + tushyporn.net* + unblocked.cab* + uporniahd.com* + utaseries.com* + uwatchfree.co* + vipracing.biz* + watchfomny.tv* + worldvidz.com* + xfilmywap.com* + xgatinhas.com* + xteenchan.com* + youpornzz.com* + yourporn.sexy* + zonavideo.net* +6teentube.am* +alivefoot.us* +amabitch.com* +animeado.net* +animeai2.net* +animelek.com* +animezone.pl* +anyanime.com* +apklover.net* +archived.moe* +balkanje.com* +behchala.com* +bilasport.pw* +bitporno.com* +blogqpot.com* +bokepseks.co* +bypassed.cab* +camrouge.com* +camwhores.co* +cartoonhd.be* +cartoonhd.cc* +catchcoin.pw* +coroas40.com* +dblatino.com* +dclinks.info* +dd-books.com* +desixnxx.net* +ekasiwap.com* +fastdrama.co* +filecrypt.cc* +filerocks.us* +fullmaza.net* +gaysex69.net* +gogoanime.ch* +halacima.net* +hdmovie16.ws* +hdmusic90.co* +hentai-id.tv* +idolblog.org* +imgsmile.com* +insharee.com* +ivhunter.com* +javfinder.to* +javstream.co* +kissanime.ru* +kreskowki.tv* +lacajita.xyz* +lambingan.su* +layar-21.com* +macnwins.com* +marapcana.eu* +mmfilmes.com* +movierulz.ch* +movierulz.cm* +movies5x.com* +nekonime.com* +pelisplus.tv* +pentasex.com* +playbokep.me* +pleermp3.net* +pornhd5k.com* +pornleak.net* +pornobae.com* +pornvibe.org* +pornzexx.com* +primewire.io* +runvideo.net* +seriescr.com* +sexxdesi.net* +sports4u.net* +strikeout.co* +tamilyogi.fm* +upcomics.org* +utaseries.co* +vibokep.info* +videoexa.com* +vidzcode.com* +watchaha.com* +wibudesu.com* +wplocker.com* +xdvideos.org* +xmovies1.com* +xmovies8.org* +xxhdporn.com* +youswear.com* +171gifs.com* +69sugar.com* +7starhd.com* +agarios.org* +ahlamtv.com* +animeai.org* +arabp2p.com* +asianxv.com* +avonline.tv* +bakacan.com* +bdsmporn.us* +becekin.net* +cinetux.net* +cricbox.net* +datpiff.biz* +demonoid.co* +e-hentai.me* +etsmods.net* +exposure.pw* +filmaon.com* +filmclub.tv* +filmehd.net* +filmgur.com* +filmozu.net* +haylike.net* +heymanga.me* +homeporn.tv* +hon3yhd.com* +iimgur.club* +javhd4k.com* +javleak.com* +javmost.com* +jizzman.com* +k2nblog.com* +karanpc.com* +kizzboy.com* +kshowes.net* +leosims.com* +letsjav.com* +movie24k.ch* +mp3haat.com* +mp3kart.com* +newpct1.com* +olangal.pro* +ottakae.com* +phimotv.net* +pipocao.com* +pornvxl.com* +psarips.com* +r34anim.com* +rapcloud.co* +sitpad.info* +spacemov.tv* +sportshd.me* +tousatu.biz* +tr7music.me* +tuserie.com* +ufreetv.com* +vpornex.com* +watchers.to* +wetblog.org* +xkorean.net* +yodrama.com* +ytsyify.com* + +321jav.com* + +61tube.com* + +alantv.net* + +alltube.tv* + +amateur.ug* + +anitube.es* + +aznude.com* + +beelink.in* + +bersek.xyz* + +coshurl.co* + +dvdwap.com* + +embedsr.to* + +erostar.jp* + +fagken.com* + +filmi7.com* + +filmovi.eu* + +filsex.com* + +fxporn.net* + +hdshows.in* + +herobo.com* + +hiper.cool* + +ig2fap.com* + +ightdl.xyz* + +imgshot.pw* + +izporn.net* + +jav-for.me* + +javgay.com* + +javpob.com* + +javrom.com* + +jilhub.xyz* + +jpfiles.eu* + +jpidols.tv* + +kingvid.tv* + +lyricsy.ir* + +mbfcast.pw* + +mocnoi.com* + +movietv.ws* + +mp3kart.cc* + +mp3kart.co* + +mp3puu.com* + +muvibg.com* + +mylucah.co* + +newpct.com* + +ngentot.tv* + +nuttit.com* + +opujem.com* + +pass69.com* + +popjav.com* + +porneq.com* + +ripvod.com* + +sexkino.to* + +sexvui.net* + +singgah.in* + +sweext.com* + +tamilmv.eu* + +tamilmv.vc* + +thevid.net* + +todaypk.ag* + +todaypk.li* + +usabit.com* + +vdizpk.com* + +veporn.net* + +vidabc.com* + +vidtome.co* + +vixvids.to* + +vpondo.com* + +xrares.com* + +xxgasm.com* + +yedhit.com* + +zoocine.co* + +zw-net.com* + 1proxy.de* + 4proxy.de* + bludv.com* + cloudy.ec* + cwtube.dj* + dato.porn* + dokazm.mk* + e-jav.com* + edmdl.com* + grcrt.net* + hdtube.co* + hdzex.net* + hentai.to* + her69.net* + hkfree.co* + hqq.watch* + i-gay.org* + ilinks.ug* + javeu.com* + javfhd.tv* + javhd.pro* + javus.net* + magesy.be* + mkvtv.net* + naphi.lol* + nungg.com* + ohohd.com* + sceper.ws* + sexix.net* + sexiz.net* + sklns.net* + tvrex.net* + v100v.net* + veyqo.net* + vidz7.com* + zoomtv.me* + +6jav.com* + +leech.ae* + +openx.tv* + +short.am* + +shush.se* + +uskip.me* + +video.az* + +viooz.ac* + +yuuk.net* +ally.sh* +btdb.in* +clik.pw* +pahe.in* +urle.co* +yify.bz* +fas.li* +k18.co* +u2s.io* +al.ly08@Rwp.com/wp-content/js/ +%ÿ/08@Ryoutube.com/iframe_api +%ÿ/08@Ryoutube.com/player_api +?* + 9anime.is08@R$9anime.is/assets/min/frontend/all.js +A08@R39anime.is/assets/player/jwplayer-7.12.3/jwplayer.js +$08@Rgogoanime.to/player.js +608@R(readcomiconline.to^*/customjavascript.js +608@R(readcomiconline.to^*/jquery.tools.min.js +208@R$readcomiconline.to^*/jquery17.min.js +<08@R.watchcartoononline.io/tema/images/jwplayer.jpg +,ÿ/* +xclusivejams2.com08@Rcbox.ws^ +.* +xclusivejams2.com08@Rdisqus.com^ +2ÿ/* +xclusivejams2.com08@Rdisquscdn.com^ +8* +xclusivejams2.com08@Rfonts.googleapis.com^ +** +xclusivejams2.com08@Rwp.com^ +6ÿ/* +xclusivejams2.com08@Ryoutube.com/embed/ + 08@Rimx.to/dropzone.js +(08@Rimx.to/js/bootstrap.min.js ++08@Rimx.to/js/csTransPieManual.js +08@Rimx.to/js/jquery +1* +torlock.com08@Rajax.cloudflare.com^ +: * +torlock.com08@Rtorlock.com/cdn-cgi/pe/bag2?r +208@R$imageporter.com/jquery-uploadifyd.js +'08@Rimageporter.com/tabber.js +.08@R imageporter.com/ZeroClipboard.js +M* +estream.xyz* + +estream.nu* + +estream.to08@Rcloudflare.com/ajax/ +S* +estream.xyz* + +estream.nu* + +estream.to08@Rescdn.co/js/sandblaster.js +N* +estream.xyz* + +estream.nu* + +estream.to08@Rescdn.co/js/tabber.js +H* +estream.xyz* + +estream.nu* + +estream.to08@Rescdn.co/player +E* +estream.xyz* + +estream.nu* + +estream.to08@Rescdn.co/t6/ +B(* +estream.xyz* + +estream.nu* + +estream.to08@R escdn.co^ +H* +estream.xyz* + +estream.nu* + +estream.to08@Rescdn.co^*/1.js +H* +estream.xyz* + +estream.nu* + +estream.to08@Rflowplayer.org^ +N* +estream.xyz* + +estream.nu* + +estream.to08@Rfonts.googleapis.com^ +-* + +r4dm.com08@Rapi.solvemedia.com^ +9* + +r4dm.com08@Rcdnjs.cloudflare.com/ajax/libs/ +** + +r4dm.com08@Rcode.jquery.com^ +:* + +vidoza.net08@Rajax.googleapis.com/ajax/libs/ +;* + +vidoza.net08@Rcdnjs.cloudflare.com/ajax/libs/ +0* + +vidoza.net08@Rvidoza.net/js/ads.js +0* + +vidoza.net08@Rvidoza.net/js/pop.js +*08@Rfilecrypt.cc/js/container.js +)08@Rfilecrypt.cc/js/fcwindow.js +(08@Rfilecrypt.cc/js/indexV2.js +/08@R!filecrypt.cc/js/indexV2_Plugin.js +*08@Rfilecrypt.cc/js/prototype.js +608@R(filecrypt.cc/js/scriptaculous/builder.js +708@R)filecrypt.cc/js/scriptaculous/controls.js +708@R)filecrypt.cc/js/scriptaculous/dragdrop.js +608@R(filecrypt.cc/js/scriptaculous/effects.js +<08@R.filecrypt.cc/js/scriptaculous/scriptaculous.js +508@R'filecrypt.cc/js/scriptaculous/slider.js +V * +iwatchonline.cr* +iwatchonline.eu* +watchonline.to08@Rspot.im/api/all/ +` * +iwatchonline.cr* +iwatchonline.eu* +watchonline.to08@Rspot.im/api/newsfeed-sync/ +O‚* +iwatchonline.cr* +iwatchonline.eu* +watchonline.to08@Rspot.im^ +9* +blacklistednews.com08@Rajax.googleapis.com^ +1ÿ/* +blacklistednews.com08@Rdisqus.com^ +4ÿ/* +blacklistednews.com08@Rdisquscdn.com^ +=* +blacklistednews.com08@Rmaxcdn.bootstrapcdn.com^ +@ÿ/* +blacklistednews.com08@Rravenjs.com^*/raven.min.js +(ÿ/08@Rimagenpic.com/jquery-*.jsü +(ÿ/08@Rimagenpic.com/jquery.*.js +'ÿ/08@Rimagenpic.com/xupload.js ++ÿ/08@Rimageshimage.com/jquery-*.js ++ÿ/08@Rimageshimage.com/jquery.*.js +*ÿ/08@Rimageshimage.com/xupload.js +.ÿ/08@Rimagetwist.com/bootstrap.min.js +.ÿ/08@Rimagetwist.com/clipboard.min.js +)ÿ/08@Rimagetwist.com/jquery-*.js +)ÿ/08@Rimagetwist.com/jquery.*.js +*ÿ/08@Rimagetwist.com/swfobject.js +(ÿ/08@Rimagetwist.com/xupload.js +.ÿ/08@Rimagetwist.com/ZeroClipboard.js ++08@Rimgspice.com/jquery.cookie.js +,08@Rimgspice.com/jquery.uploadify. +$08@Rimgspice.com/tabber.js +%08@Rimgspice.com/xupload.js ++08@Rimgspice.com/ZeroClipboard.js +2ÿ/08@R#pixhost.to/js/clipboard-helpers.js? +(ÿ/08@Rpixhost.to/js/helpers.js? +&ÿ/08@Rpixhost.to/js/image.js? +%ÿ/08@Rpixhost.to/js/main.js? ++ÿ/08@Rpixhost.to/js/new-upload.js? +1ÿ/08@R"pixhost.to/js/upload_functions.js? +5ÿ/08@R&pixhost.to/js/vendor/clipboard.min.js? +0ÿ/08@R!pixhost.to/js/vendor/jquery-*.js? +/ÿ/08@R pixhost.to/js/vendor/jquery.*.js +0ÿ/08@R!pixhost.to/js/vendor/nprogress.js +7ÿ/08@R(pixhost.to/js/vendor/rangeslider.min.js? +&ÿ/08@Rpixhost.to/lang.js.php? +4ÿ/08@R%pixhost.to/PhotoSwipe/photoswipe-*.js +4ÿ/08@R%pixhost.to/PhotoSwipe/photoswipe.*.js +.ÿ/08@Rpixhost.to/plupload/i18n/en.js? +/ÿ/08@R pixhost.to/plupload/jquery.*.js? +1ÿ/08@R"pixhost.to/plupload/plupload.*.js? +-ÿ/08@Rpixhost.to/vendor/jquery-*.js? +Zÿ/08@RKpixroute.com/cdn-cgi/scripts/ddc5a536/cloudflare-static/email-decode.min.js +'ÿ/08@Rpixroute.com/jquery-*.js +'ÿ/08@Rpixroute.com/jquery.*.js +(ÿ/08@Rpixroute.com/swfobject.js +%ÿ/08@Rpixroute.com/tabber.js +'ÿ/08@Rpixroute.com/xupload.js? +Cÿ/* +stream2watch.org* +stream2watch.mx08@R chatango.com^ +D* +stream2watch.org* +stream2watch.mx08@Rgoogleapis.com^ +@* +stream2watch.org* +stream2watch.mx08@Rjquery.com^ +D* + +shink.me* + +shon.xyz08@Rajax.googleapis.com/ajax/libs/ +:* + +shink.me* + +shon.xyz08@Rcloudflare.com/ajax/ +<ÿ/* + +shink.me* + +shon.xyz08@Rgoogle.com/recaptcha/ +Q* + +shink.me* + +shon.xyz08@R+maxcdn.bootstrapcdn.com^$stylesheet,domain= +2* +up-4ever.com08@Rajax.googleapis.com^ +3* +up-4ever.com08@Rconnect.facebook.net^ +3* +up-4ever.com08@Rfonts.googleapis.com^ +6* +up-4ever.com08@Rmaxcdn.bootstrapcdn.com^ +8ÿ/* +freewarefiles.com08@Rajax.googleapis.com^ +1* +demonoid.pw08@Rcloudflare.com/ajax/ +*08@Rdemonoid.pw/cached/bb_f28.js +(08@Rdemonoid.pw/cached/code.js +-08@Rdemonoid.pw/cached/dropdown7.js +&08@Rdemonoid.pw/cached/se.js +?08@R1demonoid.pw/cdn-cgi/scripts/*/email-decode.min.js +#08@Rdemonoid.pw/js/jq3.js +$ 08@Rdemonoid.pw/new_pm.php +608@R(demonoid.pw/torrent_categories_script.js +708@R)demonoid.pw/torrent_categories_script.php +2* +imagebam.com08@Rajax.googleapis.com^Ö +/08@R!imagebam.com/img/clicktostart.png +'08@Rimagebam.com/img/help.png ++08@Rimagebam.com/img/ib_badge.gif +208@R$imagebam.com/img/icons/lightbulb.png +708@R)imagebam.com/img/icons/page_white_get.png +-08@Rimagebam.com/img/icons/star.png ++08@Rimagebam.com/img/imagebam.png ++08@Rimagebam.com/img/input_bg.png ++08@Rimagebam.com/img/tab-back.png ++08@Rimagebam.com/img/tab-line.gif +&08@Rimagebam.com/img/tux.png +)08@Rimagebam.com/JS/imagebam.js ++08@Rimagebam.com/JS/jquery.1.5.js +608@R(imagebam.com/JS/plupload.full.min.new.js +#08@Rimagebam.com/JS/pt.js +-08@Rimagebam.com/JS/pupload_anon.js +6* +imagebam.com08@Rmaxcdn.bootstrapcdn.com^ +O* +myprojectfreetv.net* +my-project-free.tv08@Rajax.googleapis.com^ +f* +fmovies.taxi* + +fmovies.is* + +fmovies.se* + +fmovies.to08@Rajax.googleapis.com/ajax/libs/ +W +* +fmovies.taxi* + +fmovies.is* + +fmovies.se* + +fmovies.to08@Rcloudflare.com^ +S"* +fmovies.taxi* + +fmovies.is* + +fmovies.se* + +fmovies.to08@Rdisqus.com^ +V** +fmovies.taxi* + +fmovies.is* + +fmovies.se* + +fmovies.to08@Rdisquscdn.com^ +W * +fmovies.taxi* + +fmovies.is* + +fmovies.se* + +fmovies.to08@Rfmovies.*/ajax/ +`ÿ/* +fmovies.taxi* + +fmovies.is* + +fmovies.se* + +fmovies.to08@Rfmovies.*/grabber-api/? +W * +fmovies.taxi* + +fmovies.is* + +fmovies.se* + +fmovies.to08@Rfmovies.*/user/ +]* +fmovies.taxi* + +fmovies.is* + +fmovies.se* + +fmovies.to08@Rplatform.twitter.com^ +a +* +fmovies.taxi* + +fmovies.is* + +fmovies.se* + +fmovies.to08@Rstatic1.akacdn.ru/assets/ +4* +wholecloud.net08@Rajax.googleapis.com^ +- 08@Rmovdivx.com/cgi-bin/upload.cgi? +9* +ancient-origins.net08@Rajax.googleapis.com^ +:* +ancient-origins.net08@Rconnect.facebook.net^ +/* + vshare.eu08@Rajax.googleapis.com^ +0* + vshare.eu08@Rcdnjs.cloudflare.com^ +0* + vshare.eu08@Rlp.longtailvideo.com^ +** + vshare.eu08@Rvjs.zencdn.net^ +@* + 9anime.is08@R%ajax.googleapis.com/ajax/libs/jquery/ +0* + 9anime.is08@Rconnect.facebook.net^ +'ÿ/* + 9anime.is08@Rdisqus.com^ +*ÿ/* + 9anime.is08@Rdisquscdn.com^ +9* + 9anime.is08@Rgoogleusercontent.com/gadgets/ +0* + 9anime.is08@Rplatform.twitter.com^ +® * +watchvideo10.us* +watchvideo11.us* +watchvideo12.us* +watchvideo13.us* +watchvideo14.us* +watchvideo15.us* + watchvideo.us* +vidwatch3.me08@R /index-*.m3u8 + * +watchvideo10.us* +watchvideo11.us* +watchvideo12.us* +watchvideo13.us* +watchvideo14.us* +watchvideo15.us* + watchvideo.us* +vidwatch3.me08@R/master.m3u8 +ª * +watchvideo10.us* +watchvideo11.us* +watchvideo12.us* +watchvideo13.us* +watchvideo14.us* +watchvideo15.us* + watchvideo.us* +vidwatch3.me08@R /seg-*.ts + 08@Rwatchers.to/pop.js +** +yify.bz08@Rp.media-imdb.com^ +4* +yifytorrent.co08@Rajax.googleapis.com^ +5* +yifytorrent.co08@Rcdnjs.cloudflare.com^ +A* +ancensored.com08@R!cdn1-ancensored.network/script.js +1ÿ/* +ancensored.com08@Rcode.jquery.com^ +.ÿ/08@Rcdndoge.xyz/common/js/cookie.js +.ÿ/08@Rcdndoge.xyz/common/js/jquery.js +7ÿ/08@R(cdndoge.xyz/lib/sweetalert/sweetalert.js +9ÿ/08@R*cdndoge.xyz/video-download/js/bootstrap.js +8ÿ/08@R)cdndoge.xyz/video-download/js/dropdown.js +5ÿ/08@R&cdndoge.xyz/video-download/js/event.js +5ÿ/08@R&cdndoge.xyz/video-download/js/waves.js +0* +video-download.co08@R loadercdn.io^ +F* +video-download.co08@R#static.h-bid.com/video-download.co/ +0* + +tamilmv.yt08@Rgoogleapis.com/ajax/ +2* +adlipay.com08@Rconnect.facebook.net^ +3€* +adlipay.com08@Rgoogle.com/recaptcha/ +J* +adlipay.com08@R-rawgit.com/Brando07/seocips/newbe/loading1.js +5* +veekyforums.com08@Rajax.googleapis.com^Ù +Ë* +projectwatchseries.com* +watchseriesonline.info* +shupebrothers.com* +projectfreetv.at* +projectfreetv.sc* +projectfreetv.us* +candyreader.com* + likesblog.com08@Rajax.googleapis.com^ +Ì* +projectwatchseries.com* +watchseriesonline.info* +shupebrothers.com* +projectfreetv.at* +projectfreetv.sc* +projectfreetv.us* +candyreader.com* + likesblog.com08@Rcdnjs.cloudflare.com^ +/ÿ/08@R 4archive.org/js/extension.min.js +,ÿ/08@R4archive.org/js/jquery.min.js +4ÿ/08@R%4archive.org/js/linkify-jquery.min.js +-ÿ/08@R4archive.org/js/linkify.min.js +!08@R4archive.org/style/ +Z* +randomarchive.com* +thebarchive.com* +4archive.org08@Rajax.googleapis.com^ +4ÿ/08@R%randomarchive.com/js/extension.min.js +1ÿ/08@R"randomarchive.com/js/jquery.min.js +9ÿ/08@R*randomarchive.com/js/linkify-jquery.min.js +2ÿ/08@R#randomarchive.com/js/linkify.min.js +&08@Rrandomarchive.com/style/ +$ 08@Rthebarchive.com/_/api/ +(08@Rthebarchive.com/foolfuuka/ +Qÿ/08@RBthebarchive.com/foolfuuka/components/highlightjs/highlight.pack.js +9ÿ/08@R*thebarchive.com/foolfuuka/foolz/*/board.js +Aÿ/08@R2thebarchive.com/foolfuuka/foolz/*/bootstrap.min.js +;ÿ/08@R,thebarchive.com/foolfuuka/foolz/*/plugins.js +808@R*thebarchive.com/foolfuuka/mathjax/mathjax/ +=* +watchtheofficeonline.tv08@Rajax.googleapis.com^ +6* +watchtheofficeonline.tv08@R chatango.com^ +,* + +rule34.xxx08@Rcode.jquery.com^ +08@Rrule34.xxx/ads.js +%08@Rrule34.xxx/css/sinni.js +.08@R rule34.xxx/script/application.js +208@R$rule34.xxx/script/awesomplete.min.js +208@R$rule34.xxx/script/fluidplayer.min.js +-* + +rule34.xxx08@Rsweetcaptcha.com^ +0ÿ/* + +yibada.com08@Rajax.aspnetcdn.com^ +0* + +yibada.com08@Rajax.googleapis.com^ +,* + +yibada.com08@Rapis.google.com^ +1* + +yibada.com08@Rcdnjs.cloudflare.com^ +1* + +yibada.com08@Rconnect.facebook.net^ +'* + +yibada.com08@Rdisqus.com^ +** + +yibada.com08@Rdisquscdn.com^ +4* + +yibada.com08@Rmaxcdn.bootstrapcdn.com^ +3* + +yibada.com08@Rplatform.instagram.com^ +1* + +yibada.com08@Rplatform.twitter.com^ +0* + +kickass.cd08@Rajax.googleapis.com^ +1* + +kickass.cd08@Rconnect.facebook.net^ +<ÿ/* + +kickass.cd08@Rplatform.twitter.com/widgets.js +.ÿ/08@Rvidshare.us/player6/jwplayer.js +0* + +stream.moe08@Rajax.googleapis.com^ +< * + +stream.moe08@R wabbit.moecdn.io/core/page/ajax/ +(* +uploadocean.com08@Rhttp:// +)* +uploadocean.com08@Rhttps:// +5* +uploadocean.com08@Rajax.googleapis.com^ +:ÿ/* +uploadocean.com08@Rmaxcdn.bootstrapcdn.com^ +P* +xmovies8.es* +xmovies8.ru* +xmovies8.tv08@Rconnect.facebook.net^ +F* +xmovies8.es* +xmovies8.ru* +xmovies8.tv08@Rdisqus.com^ +I* +xmovies8.es* +xmovies8.ru* +xmovies8.tv08@Rdisquscdn.com^ +J* +xmovies8.es* +xmovies8.ru* +xmovies8.tv08@Rjwplatform.com^ +F* +xmovies8.es* +xmovies8.ru* +xmovies8.tv08@Rjwpsrv.com^ +P* +fullmatchesandshows.com08@R'amazonaws.com/html5player.gamezone.com/ +@* +fullmatchesandshows.com08@Rplatform.instagram.com^ +6"* +fullmatchesandshows.com08@R playwire.com^ +8* +fullmatchesandshows.com08@Rs.gravatar.com^ +- * +twitter.com08@Rvideo.twimg.com^ +>* +fullmatchesandshows.com08@Rwp.com/wp-content/js/ +/08@R!yts.am/assets/minified/modded1.js +."* + streamwoop.tv08@Ralgolianet.com^ +0* + streamwoop.tv08@Rcdn.jsdelivr.net^ +4* + streamwoop.tv08@Rcdnjs.cloudflare.com^ +4* + streamwoop.tv08@Rconnect.facebook.net^ +.* + streamwoop.tv08@Rstreamwoop.com^ +% 08@Rgelbooru.com/index.php? +2 * +gelbooru.com08@Rgelbooru.com/public/ +008@R"gelbooru.com/script/application.js +3* +gelbooru.com08@Rplatform.twitter.com^ +G* +professionaladviser.com* +theinquirer.net08@Rdisqus.com^ +J* +professionaladviser.com* +theinquirer.net08@Rdisquscdn.com^ +Eÿ/* +theinquirer.net08@R#googletagservices.com/tag/js/gpt.js +P* +theinquirer.net08@R/securepubads.g.doubleclick.net/gpt/pubads_impl_ +K* +theinquirer.net08@R*tpc.googlesyndication.com/pagead/imgad?id= +/ÿ/* + +vidto.me08@Rajax.googleapis.com^ +5ÿ/* + +vidto.me08@Rplugins.longtailvideo.com^ +3* + games.pch.com08@Rajax.googleapis.com^ +/* + games.pch.com08@Rapis.google.com^ +4* + games.pch.com08@Rcdnjs.cloudflare.com^ +7ÿ/* + games.pch.com08@Rcontent.jwplatform.com^ +*ÿ/* + games.pch.com08@R +gigya.com^ +-* + games.pch.com08@Rpchassets.com^ +-* + games.pch.com08@Rshoqolate.com^ +0ÿ/* + games.pch.com08@Rtags.tiqcdn.com^ +„* +ifirstrowit.eu* +webfirstrow.eu* + firstrowas.co* + gofirstrow.eu* +ifirstrow.eu08@R ?stream=/embed/*&width=*&height= +x* +ifirstrowit.eu* +webfirstrow.eu* + firstrowas.co* + gofirstrow.eu* +ifirstrow.eu08@Rajax.googleapis.com^ +y* +ifirstrowit.eu* +webfirstrow.eu* + firstrowas.co* + gofirstrow.eu* +ifirstrow.eu08@Rplatform.twitter.com^ +J* +gowatchfreemovies.to* +watchfree.to08@Rajax.googleapis.com^ +K* +gowatchfreemovies.to* +watchfree.to08@Rconnect.facebook.net^ +K* +gowatchfreemovies.to* +watchfree.to08@Rplatform.twitter.com^ +,* +s0ft4pc.com08@Rs.gravatar.com^ +2* +s0ft4pc.com08@Rwp.com/wp-content/js/ +Aÿ/* +pixsense.net* + +imgvip.net08@Rajax.googleapis.com^ +b* +putlocker.live* + putlocker9.co* + putlockers.ch* +putlocker.is08@Rapis.google.com^ +g* +putlocker.live* + putlocker9.co* + putlockers.ch* +putlocker.is08@Rconnect.facebook.net^ +_* +putlocker.live* + putlocker9.co* + putlockers.ch* +putlocker.is08@R jsc.mgid.com^ +kÿ/* +depositfiles.com* +depositfiles.org* + dfiles.eu* + dfiles.ru08@Rapi-secure.solvemedia.com^ +dÿ/* +depositfiles.com* +depositfiles.org* + dfiles.eu* + dfiles.ru08@Rapi.solvemedia.com^ +# 08@Rdepositfiles.com/api/ ++ 08@Rdepositfiles.com/get_file.php +$ 08@Rdepositfiles.com/gold/ +"08@Rdepositfiles.com/js/ +% 08@Rdepositfiles.com/thumb/ +'€08@Rdepositfiles.com/upload/ +# 08@Rdepositfiles.org/api/ ++ 08@Rdepositfiles.org/get_file.php +$ 08@Rdepositfiles.org/gold/ +"08@Rdepositfiles.org/js/ +% 08@Rdepositfiles.org/thumb/ +' 08@Rdepositfiles.org/upload/ +c * +depositfiles.com* +depositfiles.org* + dfiles.eu* + dfiles.ru08@Rdepositvpn.com/api/ +g€* +depositfiles.com* +depositfiles.org* + dfiles.eu* + dfiles.ru08@Rdepositvpn.com/iframe/ + 08@Rdfiles.eu/api/ +% 08@Rdfiles.eu/get_file.php? + 08@Rdfiles.eu/gold/ +08@R dfiles.eu/js/ + 08@Rdfiles.eu/thumb/ + 08@Rdfiles.eu/upload/ + 08@Rdfiles.ru/api/ +$ 08@Rdfiles.ru/get_file.php + 08@Rdfiles.ru/gold/ +08@R dfiles.ru/js/ + 08@Rdfiles.ru/thumb/ + 08@Rdfiles.ru/upload/ +a* +depositfiles.com* +depositfiles.org* + dfiles.eu* + dfiles.ru08@Rgoogle.com/js/bg/ +f€* +depositfiles.com* +depositfiles.org* + dfiles.eu* + dfiles.ru08@Rgoogle.com/recaptcha/ +&08@Rstatic.depositfiles.com^®$ +&08@Rstatic.depositfiles.org^ +08@Rstatic.dfiles.eu^ +08@Rstatic.dfiles.ru^ +* +biohealthinnovation.org* +scienceworldreport.com* +universityherald.com* +travelerstoday.com* +autoworldnews.com* +foodworldnews.com* +wrestlinginc.com* +counselheal.com* +mobilenapps.com* +gamenguide.com* + dolphnsix.com* + itechpost.com08@Rajax.googleapis.com^ +Š* +biohealthinnovation.org* +scienceworldreport.com* +universityherald.com* +travelerstoday.com* +autoworldnews.com* +foodworldnews.com* +counselheal.com* +mobilenapps.com* +gamenguide.com* + dolphnsix.com* + itechpost.com08@Rcdnjs.cloudflare.com^ +ž* +biohealthinnovation.org* +scienceworldreport.com* +universityherald.com* +travelerstoday.com* +autoworldnews.com* +foodworldnews.com* +wrestlinginc.com* +counselheal.com* +mobilenapps.com* +gamenguide.com* + dolphnsix.com* + itechpost.com08@Rconnect.facebook.net^ +?* +wrestlinginc.com* +gamenguide.com08@Rdisqus.com^ +;ÿ/* +wrestlinginc.com08@Rmaxcdn.bootstrapcdn.com^ +Š* +biohealthinnovation.org* +scienceworldreport.com* +universityherald.com* +autoworldnews.com* +foodworldnews.com* +wrestlinginc.com* +counselheal.com* +mobilenapps.com* +gamenguide.com* + dolphnsix.com* + itechpost.com08@Rplatform.instagram.com^ +I* +wrestlinginc.com* +gamenguide.com08@Rplatform.twitter.com^ +¤ÿ/* +biohealthinnovation.org* +universityherald.com* +foodworldnews.com* +counselheal.com* + dolphnsix.com* + itechpost.com08@Rspringboardplatform.com^ +0ÿ/* + itechpost.com08@Rtv.bsvideos.com^ +2€* + +getcpm.com08@Rgoogle.com/recaptcha/ +6* +publicleech.xyz08@Rcdnjs.cloudflare.com^ +C* +eztv.ag* +eztv.tf* +eztv.yt08@Rajax.googleapis.com^ +D* +eztv.ag* +eztv.tf* +eztv.yt08@Rcdnjs.cloudflare.com^ +D* +eztv.ag* +eztv.tf* +eztv.yt08@Rconnect.facebook.net^ +J* +eztv.ag* +eztv.tf* +eztv.yt08@Reztv.ag/js/search_shows*.js +Pÿ/* +eztv.ag08@R6pagead2.googlesyndication.com/pagead/js/adsbygoogle.js +"08@Radf.ly/static/image/ +/€* +adf.ly08@Rs1-adfly.com/show.php? +8ÿ/* + salefiles.com08@Rmaxcdn.bootstrapcdn.com^ +,08@Rimgadult.com*/advertisement.js +,08@Rimgdrive.net*/advertisement.js ++08@Rimgtaxi.com*/advertisement.js +-08@Rimgwallet.com*/advertisement.js +7* +embed.nowvideo.sx08@Rajax.googleapis.com^ +- * +nowvideo.sx08@Rzerocdn.to/dash/ +3* + mediafire.com08@Rajax.googleapis.com^ +-* + mediafire.com08@Rcdn.mxpnl.com^ +0ÿ/* + mediafire.com08@Rcdn.polyfill.io^ +4* + mediafire.com08@Rconnect.facebook.net^ +7 * + mediafire.com08@Rmediafireuserupload.com^ ++* + mediafire.com08@Rravenjs.com^ +.* + mediafire.com08@Rsolvemedia.com^ +4* + mediafire.com08@Rtranslate.google.com^ +8* + mediafire.com08@Rtranslate.googleapis.com^ +E* +thevideo.website* +thevideo.me08@Rajax.googleapis.com^ +F* +thevideo.website* +thevideo.me08@Rconnect.facebook.net^ +=* +thevideo.website* +thevideo.me08@Rgstatic.com^ +O * +thevideo.website* +thevideo.me08@Rplayer.thevideo.me/timeupdate? +9"* +thevideo.website* +thevideo.me08@Rtawk.to^ +:* +4shared.com08@Rapis.google.com/js/plusone.js +2* +4shared.com08@Rconnect.facebook.net^ +,* + +tvmuse.com08@Rapis.google.com^ +(* + +tvmuse.com08@Rs.tvmuze.eu^ +@* + streamplay.to08@R!streamplay.to/js/bootstrap.min.js +=* + streamplay.to08@Rstreamplay.to/js/jquery*min.js +@* + streamplay.to08@R!streamplay.to/js/jquery.cookie.js +E* + streamplay.to08@R&streamplay.to/js/modernizr.custom.*.js +:* + streamplay.to08@Rstreamplay.to/js/xupload.js +F* + streamplay.to08@R'streamplay.to/player*/jwplayer.html5.js +A* + streamplay.to08@R"streamplay.to/player*/jwplayer.js? +>* + streamplay.to08@Rstreamplay.to/player*/jwpsrv.js +A* + streamplay.to08@R"streamplay.to/player*/lightsout.js +B* +povwideo.net* +powvideo.net08@Rajax.googleapis.com^ +>* +povwideo.net* +powvideo.net08@Rcode.jquery.com^ +Eÿ/* +povwideo.net* +powvideo.net08@Rcodeorigin.jquery.com^ +1* +cinenews.be08@Rajax.googleapis.com^ +2* +cinenews.be08@Rconnect.facebook.net^ +** + +uplod.it08@Rcode.jquery.com^ +/* + +uplod.it08@Rconnect.facebook.net^ +2* + +uplod.it08@Rnetdna.bootstrapcdn.com^ +0* + +daclips.in08@Rajax.googleapis.com^³ +6* + +daclips.in08@Rtrandsey.info/popunder.gif +1€* +tinypic.com08@Raddthis.com/static/ +1ÿ/* +tinypic.com08@Rapi.solvemedia.com^ +0* +vidspot.net08@Rjwpsrv.com/library/ +4* +streamcloud.eu08@Rajax.googleapis.com^ +-* +streamcloud.eu08@R hoortols.org^ +;ÿ/* +streamcloud.eu08@Rstreamcloud.eu^*/jwpsrv.js + 08@Rstreamango.com^ +&* + adsrt.com08@Radshort.co^ +1ÿ/* + adsrt.com08@Rgoogle.com/recaptcha/ +9ÿ/* +opensubtitles.org08@Rgoogle.com/recaptcha/ +_ÿ/* +opensubtitles.org08@R;opensubtitles.org/cdn-cgi/nexp/dok3v=*/cloudflare/rocket.js +D* +opensubtitles.org08@R!static.opensubtitles.org/libs/js/ +/* + uplea.com08@Rajax.googleapis.com^ +s* +thefreethoughtproject.com08@RHfreethoughtllc.netdna-cdn.com/wp-content/uploads/2014/03/submit-link.png +5* +thefreethoughtproject.com08@R +p.po.st/p? +O* +thegatewaypundit.com08@R)pagely.netdna-cdn.com/wp-content/uploads/ +?* +couchtuner.rocks* +couchtuner.onl08@Rdisqus.com^ +C* +uptostream.com* +uptobox.com08@Rajax.googleapis.com^ +R* +uptostream.com* +uptobox.com08@R#googleapis.com/js/sdkloader/ima3.js +K* +uptostream.com* +uptobox.com08@Rgoogletagmanager.com/gtag/js +;* +uptostream.com* +uptobox.com08@Rgstatic.com^ +Oÿ/* +uptostream.com* +uptobox.com08@Rplatform.twitter.com/widgets.js +a* +userscloud.com08@RAd3edizycpjjo07.cloudfront.net/assets/library/jquery/jquery.min.js +H* +userscloud.com08@R(d3edizycpjjo07.cloudfront.net/xupload.js +@€* +userscloud.com08@Rusercdn.com/cgi-bin/upload.cgi? +=€* +userscloud.com08@Rusercdn.com/tmp/status.html? +5* +userscloud.com08@Rwidget.uservoice.com^ +5* +uploadrocket.net08@Rapi.solvemedia.com^ +4* + revclouds.com08@Rconnect.facebook.net^ +3* + gorillavid.in08@Rajax.googleapis.com^ +3* + gorillavid.in08@Ruse.fontawesome.com^ +(* + +monova.org08@Rgstatic.com^ +&08@Rmonova.org/js/main.js?v= +** + +1337x.to08@Rcode.jquery.com^ ++* + +1337x.to08@Rsweetcaptcha.com^ +* +thewatchseries.ac* +dwatchseries.to* +swatchseries.to* +watchseries.sk* +unblckd.org08@Rconnect.facebook.net^ +‚* +thewatchseries.ac* +dwatchseries.to* +swatchseries.to* +watchseries.sk* +unblckd.org08@Rmaxcdn.bootstrapcdn.com^ +* +thewatchseries.ac* +dwatchseries.to* +swatchseries.to* +watchseries.sk* +unblckd.org08@Rplatform.twitter.com^ +' 08@Rwatchseries.sk/check-auth +,ÿ/* +vid.ag08@Rjwpsrv.com/library/ +Í* + +flash-x.tv* + +flashsx.tv* + +flashx.run* + +flashx1.tv* + +flashxx.tv* + flashx.bz* + flashx.cc* + flashx.me* + flashx.sx* + flashx.to* + flashx.tv* + flashx.ws08@Rajax.googleapis.com/ajax/libs/ +Ç* + +flash-x.tv* + +flashsx.tv* + +flashx.run* + +flashx1.tv* + +flashxx.tv* + flashx.bz* + flashx.cc* + flashx.me* + flashx.sx* + flashx.to* + flashx.tv* + flashx.ws08@Rfastcontentdelivery.com^ +"08@Rflash-x.tv/js/showad +,ÿ/08@Rflashx.tv/js/jquery.cookie.js +)ÿ/08@Rflashx.tv/js/jquery.min.js +(ÿ/08@Rflashx.tv/js/light.min.js +!08@Rflashx.tv/js/showad +"ÿ/08@Rflashx.tv/js/xfs.js +&ÿ/08@Rflashx.tv/js/xupload.js +,ÿ/08@Rflashx.tv/player6/jwplayer.js +I* +m4ufree.com* + +m4ufree.tv08@Rajax.googleapis.com/ajax/libs/ +D* +m4ufree.com* + +m4ufree.tv08@Riomovies.info/iomovies.js +=€* +exashare.com* +youwatch.org08@R/embed-*.html? +<* +youwatch.org08@Rajax.googleapis.com/ajax/libs/ +!ÿ/08@Rexashare.com/ad.js +08@Rexashare.com/js/ +!08@Rexashare.com/player +8* +youwatch.org08@Rplugins.longtailvideo.com^ +<ÿ/* +promptfile.com08@Raddthis.com/url/shares.json +>* +promptfile.com08@Rajax.googleapis.com/ajax/libs/ +5* +promptfile.com08@Rconnect.facebook.net^ +8* +promptfile.com08@Rnetdna.bootstrapcdn.com^ +@ÿ/* +promptfile.com08@Rplatform.twitter.com/widgets.jsï« +/* +promptfile.com08@Rs7.addthis.com^ +.* +promptfile.com08@Ryahooapis.com^ +D* +filmovizija.tv* +filmovizija.ws08@Rapi.pinterest.com^ +?* +filmovizija.tv* +filmovizija.ws08@R facebook.com^ +F* +filmovizija.tv* +filmovizija.ws08@Rfeeds.delicious.com^ +D* +filmovizija.tv* +filmovizija.ws08@Rhistats.com/stats/ +B* +filmovizija.tv* +filmovizija.ws08@Rshare.yandex.ru^ +>* +filmovizija.tv* +filmovizija.ws08@Rtwitter.com^ +C* +filmovizija.tv* +filmovizija.ws08@Rvk.com/share.php? +¿ÿ/* +primewire.unblockall.xyz* +letmewatchthis.video* +letmewatchthis.pl* +snowysmile.com* +1channel.biz* +primewire.is* +primewire.to08@R%ajax.googleapis.com/ajax/libs/jquery/ +¨* +primewire.unblockall.xyz* +letmewatchthis.video* +letmewatchthis.pl* +snowysmile.com* +1channel.biz* +primewire.is* +primewire.to08@Rimage.tmdb.org^ +®* +primewire.unblockall.xyz* +letmewatchthis.video* +letmewatchthis.pl* +snowysmile.com* +1channel.biz* +primewire.is* +primewire.to08@Rplatform.twitter.com^ +¨* +primewire.unblockall.xyz* +letmewatchthis.video* +letmewatchthis.pl* +snowysmile.com* +1channel.biz* +primewire.is* +primewire.to08@Rs7.addthis.com^ +/* +photobucket.com08@Ramazonaws.com^ +,* +photobucket.com08@Raviary.com^ +1* +photobucket.com08@Rcode.jquery.com^ +6* +photobucket.com08@Rconnect.facebook.net^ +2* +photobucket.com08@Rpbsrc.com/albums/ +2* +photobucket.com08@Rpbsrc.com/footer/ +2* +photobucket.com08@Rpbsrc.com/navbar/ +1* +photobucket.com08@Rpbsrc.com/print/ ++* +photobucket.com08@R +pbsrc.com^ +7* +photobucket.com08@Rpic*.pbsrc.com/common/ ++ÿ/* +photobucket.com08@R print.io^ +6* +photobucket.com08@Rsharethis.com/button/ +í* +speedplay1.site* +speedplay2.site* +speedplayx.site* +speedplayy.site* +speedplay.site* + speedplay1.pw* + speedplay2.pw* + speedplay3.pw* +speedplay.pw* +speedplay.us* + jatttv.pw08@R!content.jwplatform.com/libraries/ +Ü* +speedplay1.site* +speedplay2.site* +speedplayx.site* +speedplayy.site* +speedplay.site* + speedplay1.pw* + speedplay2.pw* + speedplay3.pw* +speedplay.pw* +speedplay.us* + jatttv.pw08@Rspeedplay.us/js/ +M* +washingtontimes.com08@R(twt-static.washtimes.com/js/base_global. +J* +washingtontimes.com08@R%twt-static.washtimes.com/js/disqus.js +/ 08@R!onrpg.com/boards/activityrss.php? +J* +vidzi.online* + +vidzi.si* + +vidzi.tv08@Rajax.googleapis.com^ +O* +vidzi.online* + +vidzi.si* + +vidzi.tv08@Rstatic.vidzi.tv/jwplayer- +D * +vidzi.online* + +vidzi.si* + +vidzi.tv08@Rvidzi.tv/hls2/ +@* +vidzi.online* + +vidzi.si* + +vidzi.tv08@R +zopim.com^ +mÿ/* +thepiratebay.org* +thepiratebay.red* +thepiratebay.cr08@R#thepiratebay.*/static/js/details.js +oÿ/* +thepiratebay.org* +thepiratebay.red* +thepiratebay.cr08@R%thepiratebay.*/static/js/prototype.js +sÿ/* +thepiratebay.org* +thepiratebay.red* +thepiratebay.cr08@R)thepiratebay.*/static/js/scriptaculous.js +@* +mashable.com08@R"g.doubleclick.net/gpt/pubads_impl_ +á* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R/wp-content/plugins/akismet/ +žÿ/* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +theviralmob.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +libertyunyielding.com* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +bighealthreport.com* +dailyhealthpost.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +allthingsvegas.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +lastresistance.com* +patriottribune.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +rightwingnews.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +naturalblaze.com* +pickthebrain.com* +redhotchacha.com* +breaking911.com* +breathecast.com* +foreverymom.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + kpopstarz.com* + latinpost.com* + newsthump.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +barbwire.com* +crossmap.com* +infowars.com* +coviral.com* +enstarz.com* +hallels.com* + +newser.com* + oddee.com* + +hngn.com08@R5min.com/Scripts/PlayerSeed.js? +Cÿ/* + viralnova.com08@R#airtv-assets.global.ssl.fastly.net^ +/08@R!ajax.cloudflare.com/cdn-cgi/nexp/ +208@R$ajax.cloudflare.com/cdn-cgi/scripts/ +Ö* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +libertyunyielding.com* +conservativebyte.com* +thegatewaypundit.com* +themattwalshblog.com* +natureworldnews.com* +victoriajackson.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +rightwingnews.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +naturalblaze.com* +breathecast.com* +eaglerising.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +musictimes.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + kpopstarz.com* + latinpost.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +enstarz.com* + +newser.com* + oddee.com* + +hngn.com08@Rak.sail-horizon.com^ +ã* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +libertyunyielding.com* +conservativebyte.com* +thegatewaypundit.com* +themattwalshblog.com* +natureworldnews.com* +victoriajackson.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +naturalblaze.com* +breathecast.com* +eaglerising.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +musictimes.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + kpopstarz.com* + latinpost.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +enstarz.com* +tinypic.com* + +newser.com* + oddee.com* + +hngn.com08@R'api-public.addthis.com/url/shares.json? +Ã* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +bigleaguepolitics.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +politicalcowboy.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +knowledgedish.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +technobuffalo.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +damnlol.com* +enstarz.com* +faithit.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +o4anews.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rapi.facebook.com^ +Â* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +lastresistance.com* +patriottribune.com* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomforce.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +kdramastars.com* +keepandbear.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +theviralmob.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + kpopstarz.com* + latinpost.com* + newsthump.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +infowars.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +tinypic.com* + +newser.com* + +vcpost.com* + oddee.com* + +hngn.com08@Rapi.solvemedia.com^ +Ã* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +bighealthreport.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +politichicks.com* +theboredmind.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +dailysurge.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +bugout.news* +coviral.com* +damnlol.com* +enstarz.com* +glitch.news* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rapis.google.com^ +?ÿ/* + viralnova.com* +o4anews.com08@Rapp-cdn.spot.im^ +I* +creepybasement.com* + viralnova.com08@Rassets.galaxant.com^ +æ* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +reverbpress.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + reviveusa.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +damnlol.com* +enstarz.com* +faithit.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* +tinypic.com* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rassets.newsinc.com^ +ÿ* +intellectualconservative.com* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +moneyversed.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +damnlol.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rassets.pinterest.com^ +-* +cheatsheet.com08@R b.grvcdn.com^ +D* +beforeitsnews.com08@R!b4in.net/js/jquery.ui.fancybox.js +=* +latinopost.com08@Rboomsbeat.com/widget_init.php +:ÿ/* +breaking911.com08@Rcast-tv.biz/JavaScripts/ + * +calcalist.co.il* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +walla.co.il* +youjizz.com* +youporn.com* + +mako.co.il* + +ynet.co.il* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@Rcdn*.bigcommerce.com^ +-* +wnd.com08@Rcdn.jquerytools.org^ +2* +supercheats.com08@Rcdn.playwire.com^ +'08@Rcdn.shopify.com^*/assets/ +&08@Rcdn.shopify.com^*/files/ +,08@Rcdn.shopify.com^*/javascripts/ +5* +supercheats.com08@Rcdn.supercheats.com^ +H* +makeagif.com* +wnd.com08@Rcdnjs.cloudflare.com/ajax/libs/†Æ +è* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rcdnjs.cloudflare.com^ +<* +thefreethoughtproject.com08@Rclicktosolve.com^ +* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +stupid.news* + +newser.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rcloudflare.com/ajax/ +Ì* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rcode.jquery.com^ +”* +intellectualconservative.com* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +politicalcowboy.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +knowledgedish.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +moneyversed.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +lifebuzz.com* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +bugout.news* +coviral.com* +damnlol.com* +enstarz.com* +faithit.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +o4anews.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rconnect.facebook.com^ +Õ* +intellectualconservative.com* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +knowledgedish.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +bugout.news* +coviral.com* +damnlol.com* +enstarz.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rconnect.facebook.net^ +K* +conservativeintel.com08@R$conservativeintelcom.c.presscdn.com^ +à * +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +allenwestrepublic.com* +libertyunyielding.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +americansublime.com* +dailyhealthpost.com* +earnthenecklace.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +lastresistance.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +breaking911.com* +breathecast.com* +eaglerising.com* +foreverymom.com* +hautereport.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +tosavealife.com* +viralthread.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + kpopstarz.com* + latinpost.com* + newsthump.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +coviral.com* +enstarz.com* +hallels.com* + +newser.com* + oddee.com* + +hngn.com08@Rcontent-img-s.newsinc.com/jpg/ +&08@Rcontent-img.newsinc.com^ +I* +thelibertarianrepublic.com08@Rd8g345wuhgd7e.cloudfront.net^ +.08@R digitaljournal.com/img/*-medium/ +* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +freewarefiles.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +gamersheroes.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +breaking911.com* +breathecast.com* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +bugout.news* +coviral.com* +enstarz.com* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + vgpie.com* + +hngn.com* +wnd.com08@Rdisqus.com^ +È* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +freewarefiles.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +gamersheroes.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + vgpie.com* + +hngn.com* +wnd.com08@Rdisquscdn.com^ +-ÿ/* + viralnova.com08@R embed.air.tv^ +˜* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rembedly.com^ +H* +thefreethoughtproject.com08@Rfbcdn-profile-a.akamaihd.net^ +5* +thefreethoughtproject.com08@R +fbcdn.net^ +—* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + reviveusa.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rfbstatic-a.akamaihd.net^ +J* +thefreethoughtproject.com08@Rflowplayer.org^*/flowplayer*.js +)* +funnyordie.com08@R fod4.com^ +Š* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +libertyunyielding.com* +videogamesblogger.com* +bipartisanreport.com* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +lastresistance.com* +patriottribune.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breakingnews.ie* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +theviralmob.com* +truththeory.com* +viralthread.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + kpopstarz.com* + latinpost.com* + newsthump.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +infowars.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* + +newser.com* + +vcpost.com* + oddee.com* + +hngn.com08@Rgigya.com/comments. +Ø * +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +libertyunyielding.com* +videogamesblogger.com* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +100percentfedup.com* +bighealthreport.com* +dailyhealthpost.com* +natureworldnews.com* +victoriajackson.com* +allthingsvegas.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +lastresistance.com* +patriottribune.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +rightwingnews.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +naturalblaze.com* +pickthebrain.com* +redhotchacha.com* +theboredmind.com* +breaking911.com* +breakingnews.ie* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +theviralmob.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + kpopstarz.com* + latinpost.com* + newsthump.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +barbwire.com* +crossmap.com* +infowars.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* + +newser.com* + oddee.com* + +hngn.com08@Rgigya.com/js/gigya. +<* +thelibertarianrepublic.com08@Rgitcdn.org/libs/ +08@Rgoogle.com/js/th/ +08@Rgoogle.com/jsapi +#08@Rgoogle.com/recaptcha/ +-* +infowars.com08@Rgoogle.com/uds/ +î* +intellectualconservative.com* +americasfreedomfighters.com* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +breakingnews.ie* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +lifebuzz.com* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +faithit.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com* +wnd.com08@Rgoogleapis.com^ +!08@Rgooglecommerce.com^ +¨ * +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +conservativebyte.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +natureworldnews.com* +victoriajackson.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +theblacksphere.net* +alfonzorachel.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +rightwingnews.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +naturalblaze.com* +parentherald.com* +breathecast.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +dailysurge.com* +musictimes.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + kpopstarz.com* + latinpost.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +enstarz.com* + +newser.com* + oddee.com* + +hngn.com08@R#googletagservices.com/tag/js/gpt.js +J* +thelibertarianrepublic.com08@Rgoogleusercontent.com/gadgets/ +é* +intellectualconservative.com* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +photobucket.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rgraph.facebook.com^ +!08@Rgravatar.com/avatar +A* +thelibertarianrepublic.com08@Rgstatic.com/accounts/ +(08@Rgstatic.com/trustedstores/ +08@Rhwcdn.net/*.js? +D* +thefreethoughtproject.com08@Rhypercomments.com/widget/ +2* +beforeitsnews.com08@Rimage.b4in.net^ +)08@Rimages.sportsworldnews.com^ +.* + viralnova.com08@Rimages.spot.im^ +á* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +reverbpress.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + reviveusa.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +damnlol.com* +enstarz.com* +faithit.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* +tinypic.com* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rimgur.com/min/ +#08@Rintensedebate.com/js/ +Û"* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +conservativetribune.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +patriottribune.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com* +wnd.com08@Rjwplatform.com^ +Q* +conservativetribune.com* +traileraddict.com08@Rjwpsrv.com/library/ +¤* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +conservativetribune.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +lastresistance.com* +patriottribune.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com* +wnd.com08@Rjwpsrv.com/player/ +?$* +conservativetribune.com* +wnd.com08@Rjwpsrv.com^ +?* +latinopost.com08@Rlatinospost.com/widget_init.php +í* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +libertyunyielding.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +dailyhealthpost.com* +natureworldnews.com* +victoriajackson.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +lastresistance.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +naturalblaze.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +breaking911.com* +breathecast.com* +eaglerising.com* +foreverymom.com* +kdramastars.com* +keepandbear.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +tosavealife.com* +truththeory.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +xtribune.com* +coviral.com* +enstarz.com* +hallels.com* +justdiy.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rlaunch.newsinc.com^ +½* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@R linkedin.com^ +ž* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bipartisanreport.com* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +americansublime.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +breaking911.com* +breathecast.com* +eaglerising.com* +foreverymom.com* +hautereport.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +truththeory.com* +viralthread.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + newsthump.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +crossmap.com* +infowars.com* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +hallels.com* +justdiy.com* + +newser.com* + +vcpost.com* + oddee.com* + +hngn.com08@R livefyre.com^ +*08@Rlps.newsinc.com/player/show/ +/08@R!lpsimage.newsinc.com/player/show/ +ó* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +patriotnewswire.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rmaps.google.com^ +¤* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rmaxcdn.bootstrapcdn.com^ +Ã* +intellectualconservative.com* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +faithit.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rnetdna-cdn.com/wp-content/ +¢* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +faithit.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rnetdna-cdn.com/wp-includes/js/ +1* +cheatsheet.com08@Rodb.outbrain.com^ +9ÿ/* + valuewalk.com08@Romnicalculator.com/sdk.js +08@R p.jwpcdn.com^ +Ÿ* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rplatform.instagram.com^ +Æ* +legalinsurrection.com* +thegatewaypundit.com* +allthingsvegas.com* +quirlycues.com* + viralnova.com* +dailydot.com* +xtribune.com* + +newser.com* +wnd.com08@Rplatform.twitter.com^ +ä* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +reverbpress.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + reviveusa.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +damnlol.com* +enstarz.com* +faithit.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* +tinypic.com* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rplatform.vine.co^ +"08@Rplaybuzz.com/widget/ +Í* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +libertyunyielding.com* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +dailyhealthpost.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +allthingsvegas.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +lastresistance.com* +addictinginfo.com* +alfonzorachel.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +naturalblaze.com* +pickthebrain.com* +redhotchacha.com* +breaking911.com* +eaglerising.com* +foreverymom.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + kpopstarz.com* + latinpost.com* + newsthump.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +coviral.com* +enstarz.com* +hallels.com* + +newser.com* + oddee.com* + +hngn.com08@Rplaywire.com/bolt/Ž‚ +´* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +conservativeintel.com* +libertyunyielding.com* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +dailyhealthpost.com* +natureworldnews.com* +victoriajackson.com* +allthingsvegas.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +lastresistance.com* +addictinginfo.com* +alfonzorachel.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +naturalblaze.com* +pickthebrain.com* +redhotchacha.com* +breaking911.com* +breathecast.com* +eaglerising.com* +foreverymom.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + kpopstarz.com* + latinpost.com* + newsthump.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +coviral.com* +enstarz.com* +hallels.com* + +newser.com* + oddee.com* + +hngn.com08@Rpo.st/share/ +á* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +conservativeintel.com* +libertyunyielding.com* +conservativebyte.com* +thegatewaypundit.com* +themattwalshblog.com* +natureworldnews.com* +victoriajackson.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +addictinginfo.com* +alfonzorachel.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +naturalblaze.com* +breathecast.com* +eaglerising.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +musictimes.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + kpopstarz.com* + latinpost.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +enstarz.com* +hallels.com* + +newser.com* + oddee.com* + +hngn.com08@R po.st/static/ +ä* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +conservativeintel.com* +libertyunyielding.com* +conservativebyte.com* +thegatewaypundit.com* +themattwalshblog.com* +natureworldnews.com* +victoriajackson.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +addictinginfo.com* +alfonzorachel.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +naturalblaze.com* +breathecast.com* +eaglerising.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +musictimes.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + kpopstarz.com* + latinpost.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +enstarz.com* +hallels.com* + +newser.com* + oddee.com* + +hngn.com08@Rpo.st^*/counter? +ã* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +conservativeintel.com* +libertyunyielding.com* +conservativebyte.com* +thegatewaypundit.com* +themattwalshblog.com* +natureworldnews.com* +victoriajackson.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +addictinginfo.com* +alfonzorachel.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +naturalblaze.com* +breathecast.com* +eaglerising.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +musictimes.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + kpopstarz.com* + latinpost.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +enstarz.com* +hallels.com* + +newser.com* + oddee.com* + +hngn.com08@Rpo.st^*/status? +?* +conservativeintel.com08@Rpressdns.com/wp-content/ +!08@Rprovidesupport.com^ +¾* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bipartisanreport.com* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +truththeory.com* +viralthread.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rr-login.wordpress.com^ +9* + thepoke.co.uk08@Rrandomapps*.amazonaws.com^ +Eÿ/* + viralnova.com* +o4anews.com08@Rrecirculation.spot.im^ +!08@Rreembed.com/player/ +õ* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +libertyunyielding.com* +videogamesblogger.com* +bipartisanreport.com* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +patriottribune.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +kdramastars.com* +keepandbear.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +theviralmob.com* +truththeory.com* +viralthread.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rs.gravatar.com^ +08@Rs.reembed.com^ +’ +* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +libertyunyielding.com* +conservativebyte.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +100percentfedup.com* +natureworldnews.com* +victoriajackson.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +addictinginfo.com* +alfonzorachel.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +naturalblaze.com* +parentherald.com* +theboredmind.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +kdramastars.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +supercheats.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +musictimes.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + kpopstarz.com* + latinpost.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +coviral.com* +enstarz.com* +glitch.news* +gosocial.co* +tinypic.com* + +newser.com* + oddee.com* + +hngn.com08@Rs7.addthis.com^ +Iÿ/* + viralnova.com* +o4anews.com08@Rspot.im/launcher/bundle.js +(08@Rstatic.cdn-ec.viddler.com^ +!08@Rstatic.reembed.com^ +ß * +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +libertyunyielding.com* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +100percentfedup.com* +dailyhealthpost.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +lastresistance.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +naturalblaze.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +kdramastars.com* +keepandbear.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +truththeory.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + kpopstarz.com* + latinpost.com* + newsthump.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +crossmap.com* +infowars.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* + +newser.com* + +vcpost.com* + oddee.com* + +hngn.com08@R syn.5min.com^ +¾* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +bugout.news* +coviral.com* +enstarz.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rsyndication.twimg.com^ +Â* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +libertyunyielding.com* +conservativebyte.com* +thegatewaypundit.com* +themattwalshblog.com* +natureworldnews.com* +victoriajackson.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +addictinginfo.com* +alfonzorachel.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +naturalblaze.com* +eaglerising.com* +kdramastars.com* +naturalnews.com* +redmaryland.com* +viralthread.com* +cheatsheet.com* +clashdaily.com* +dailysurge.com* +musictimes.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + kpopstarz.com* + latinpost.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +enstarz.com* + +newser.com* + oddee.com* + +hngn.com08@Rtaboola.com^ +Eÿ/08@R6thegatewaypundit.com/wp-content/uploads/submit_tip.png +>ÿ/08@R/thegatewaypundit.com/wp-includes/images/rss.png +/* + techtimes.com08@Rtv.bsvideos.com^ +Ÿ* +intellectualconservative.com* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +politicalcowboy.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +bugout.news* +coviral.com* +enstarz.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +o4anews.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@R +twimg.com^ +Â* +intellectualconservative.com* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +politicalcowboy.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +bugout.news* +coviral.com* +enstarz.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +o4anews.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com* +wnd.com08@Rtwitter.com^ +08@Rui.bamstatic.com^ +ù* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +patriottribune.com* +theblacksphere.net* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Ruse.typekit.net^ + 08@Rvideo.foxnews.com^ +08@Rvidible.tv/prod/ +“* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +valuewalk.comvcpost.com* +comicallyincorrect.com* +conservativevideos.com* +patriotoutdoornews.com* +allenwestrepublic.com* +libertyunyielding.com* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +dailyhealthpost.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +allthingsvegas.com* +boredomtherapy.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +lastresistance.com* +addictinginfo.com* +alfonzorachel.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +freedomforce.com* +honesttopaws.com* +naturalblaze.com* +pickthebrain.com* +redhotchacha.com* +breaking911.com* +eaglerising.com* +foreverymom.com* +kdramastars.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +viralthread.com* +clashdaily.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + headcramp.com* + kpopstarz.com* + latinpost.com* + newsthump.com* + spectator.org* + techtimes.com* + thepoke.co.uk* + viralnova.com* +crossmap.com* +infowars.com* +coviral.com* +enstarz.com* +hallels.com* + +newser.com* + oddee.com* + +hngn.com08@R +vimeo.com^ +i* +boredomtherapy.com* +honesttopaws.com* +mentalflare.com* + headcramp.com08@R vimeocdn.com^ +2* +traileraddict.com08@Rvjs.zencdn.net^ +8ÿ/* +breaking911.com08@Rwibbitz.com^*/embed.js + 08@Rwidget.clipix.com^ +;"* +westernjournalism.com08@Rwidget.spreaker.com^ +Tÿ/* +supercheats.com* +cheatsheet.com08@R widgets.outbrain.com/outbrain.js +Ì* +intellectualconservative.com* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +patriotnewswire.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rwp.com/_static/ +¸* +intellectualconservative.com* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +urbantabloid.com* +breaking911.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +redmaryland.com* +supercheats.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +glitch.news* +hallels.com* +justdiy.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rwp.com/wp-content/ +ý* +girlsjustwannahaveguns.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +enstarz.com* +faithit.com* +glitch.news* +hallels.com* +justdiy.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@R*wpengine.netdna-cdn.com/wp-content/themes/ +à* +thefreethoughtproject.com* +realmomsrealreviews.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +conservativeintel.com* +legalinsurrection.com* +videogamesblogger.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +myscienceacademy.org* +thegatewaypundit.com* +themattwalshblog.com* +winningdemocrats.com* +americansublime.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +rantlifestyle.com* +returnofkings.com* +traileraddict.com* +activistpost.com* +classicalite.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +pickthebrain.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +foreverymom.com* +hautereport.com* +kdramastars.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +stevedeace.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +crossmap.com* +freedom.news* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +xtribune.com* +coviral.com* +enstarz.com* +faithit.com* +glitch.news* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@R+wpengine.netdna-cdn.com/wp-content/uploads/ +/* +truththeory.com08@Ryahooapis.com^ +×* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +politicalcowboy.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +reverbpress.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + reviveusa.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +damnlol.com* +enstarz.com* +faithit.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +o4anews.com* +stupid.news* +tinypic.com* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Ryoutube.com/iframe_api +×* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +politicalcowboy.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +reverbpress.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + reviveusa.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +damnlol.com* +enstarz.com* +faithit.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +o4anews.com* +stupid.news* +tinypic.com* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Ryoutube.com/player_api +¯* +girlsjustwannahaveguns.com* +thelibertarianrepublic.com* +thefreethoughtproject.com* +realmomsrealreviews.com* +comicallyincorrect.com* +conservativevideos.com* +fitnessconnoisseur.com* +patriotoutdoornews.com* +sonsoflibertymedia.com* +allenwestrepublic.com* +conservativeintel.com* +godfatherpolitics.com* +legalinsurrection.com* +libertyunyielding.com* +videogamesblogger.com* +westernjournalism.com* +bestfunnyjokes4u.com* +bipartisanreport.com* +celebrity-gossip.net* +conservativebyte.com* +myscienceacademy.org* +politicaloutcast.com* +practicallyviral.com* +thegatewaypundit.com* +themattwalshblog.com* +universityherald.com* +winningdemocrats.com* +100percentfedup.com* +americansublime.com* +bighealthreport.com* +dailyhealthpost.com* +earnthenecklace.com* +libertyalliance.com* +natureworldnews.com* +victoriajackson.com* +visiontoamerica.com* +allthingsvegas.com* +boredomtherapy.com* +creepybasement.com* +dailyheadlines.net* +dccrimestories.com* +digitaljournal.com* +freedomoutpost.com* +instigatornews.com* +janmorganmedia.com* +lastresistance.com* +naturalsociety.com* +patriottribune.com* +theblacksphere.net* +youthhealthmag.com* +addictinginfo.com* +alfonzorachel.com* +deneenborelli.com* +ifyouonlynews.com* +joeforamerica.com* +minutemennews.com* +returnofkings.com* +rightwingnews.com* +traileraddict.com* +activistpost.com* +bulletsfirst.net* +classicalite.com* +constitution.com* +freedomdaily.com* +freedomforce.com* +healthstatus.com* +honesttopaws.com* +naturalblaze.com* +newseveryday.com* +parentherald.com* +pickthebrain.com* +politichicks.com* +redhotchacha.com* +shedthoselbs.com* +techconsumer.com* +theboredmind.com* +breaking911.com* +breathecast.com* +dailyfeed.co.uk* +eaglerising.com* +foreverymom.com* +hautereport.com* +hispolitica.com* +kdramastars.com* +keepandbear.com* +mentalflare.com* +naturalnews.com* +realfarmacy.com* +realtytoday.com* +redmaryland.com* +reverbpress.com* +therealside.com* +theviralmob.com* +tosavealife.com* +truththeory.com* +viralthread.com* +wakingtimes.com* +clashdaily.com* +craigjames.com* +dailysurge.com* +groopspeak.com* +guardianlv.com* +gymflow100.com* +juicerhead.com* +musictimes.com* +quirlycues.com* +shark-tank.com* +stevedeace.com* +thehayride.com* + askmefast.com* + auntyacid.com* + collapse.news* + cyberwar.news* + headcramp.com* + jobsnhire.com* + kpopstarz.com* + latinpost.com* + medicine.news* + newsthump.com* + reviveusa.com* + robotics.news* + spectator.org* + techtimes.com* + thepoke.co.uk* + valuewalk.com* + viralnova.com* +barbwire.com* +crossmap.com* +dailydot.com* +freedom.news* +gamerant.com* +infowars.com* +liberty.news* +natural.news* +opednews.com* +slender.news* +twisted.news* +usherald.com* +xtribune.com* +coviral.com* +damnlol.com* +enstarz.com* +faithit.com* +glitch.news* +gosocial.co* +hallels.com* +justdiy.com* +lidblog.com* +stupid.news* +tinypic.com* + +newser.com* + +vcpost.com* + evil.news* + guns.news* + oddee.com* + +hngn.com08@Rytimg.com/yts/jsbin/ +.* +bulletsfirst.net08@Rzemanta.com^ +008@R"rapidvideo.com/js/jquery-ui.min.js +:08@R,rapidvideo.com/js/jquery.limit-1.2.source.js +/08@R!rapidvideo.com/js/jquery.tipsy.js +608@R(rapidvideo.com/js/jquery.validate.min.js +,08@Rrapidvideo.com/js/js.cookie.js +&08@Rrapidvideo.com/js/new.js +608@R(rapidvideo.com/js/videojs.hotkeys.min.js +/08@R!rapidvideo.com/js/videojs.vast.js +308@R%rapidvideo.com/jw-logo/jw-logo-bar.js +208@R$rapidvideo.com/jwplayer*/jwplayer.js +W08@RIrapidvideo.com/tube-skin-retina-for-videojs-6/bin/video-js-*/video.min.js +,* + +spiegel.de08@Rad.yieldlab.net^ +9ÿ/* + +spiegel.de08@Rcdn.teads.tv/media/format.js +Cÿ/* + +spiegel.de08@R&conative.de/serve/domain/158/config.js +:ÿ/* + +spiegel.de08@Rconative.de^*/adscript.min.js +-* + +spiegel.de08@Rdamoh.spiegel.de^ +O* + +spiegel.de08@R3imagesrv.adition.com/banners/1337/files/*.jpg?*.png +?ÿ/* + +spiegel.de08@R"imagesrv.adition.com/js/adition.js +;ÿ/* + +spiegel.de08@Rimagesrv.adition.com/js/srp.js + 08@Rspiegel.de^¸ +?€* + +spiegel.de08@R"static.adfarm1.adition.com/ci.html +08@Ryoujizz.com/app/ ++08@Ryoujizz.com/js/contentlist.js +$08@Ryoujizz.com/js/jquery. +.08@R youjizz.com/js/knockout-2.2.1.js +)08@Ryoujizz.com/js/localdata.js +%08@Ryoujizz.com/js/videojs. +!08@Ryoujizz.com/player/ +!08@Ryoujizz.com/rating/ +(08@Ryoujizz.com^*/swfobject.js +5* +zone-anime.net08@Rconnect.facebook.net^ ++* +zone-anime.net08@Rdisqus.com^ +-* +29443kmq.video08@R datoporn.com^ +*08@Rrule34hentai.net/data/cache/ +$ * + +txxx.com08@R +ahcdn.com^ +/ÿ/* + +txxx.com08@Rajax.googleapis.com^ +& * + +txxx.com08@Rtubecup.org^ +7* +sextube.com08@Rstatic.sextube.phncdn.com^ +0* + +milfzr.com08@Rajax.googleapis.com^ +,* + +milfzr.com08@Rapis.google.com^ +1* + +milfzr.com08@Rconnect.facebook.net^ +' * + +milfzr.com08@Rjwpcdn.com^ +,08@Ranyporn.com/captcha/comments/? +!08@Ranyporn.com/player/ ++08@Ranyporn.com/v4_js/main.min.js +*08@Ranyporn.com/videojs/video.js +408@R&anyporn.com/videojs/videojs-overlay.js +008@R"anyporn.com/videojs/vjs-related.js +-08@Ranyporn.com/videos_screenshots/ +2 08@R$imagefap.com/ajax/image_related.php? +- 08@Rimagefap.com/ajax_favorites.php +7 08@R)imagefap.com/ajax_usergallery_folder.php? +'08@Rimagefap.com/combine.php? +8* +imagefap.com08@Rimagefap.com/forum/styles/ +5 08@R'imagefap.com/gallery_add_favorites.php? +9 08@R+imagefap.com/gallery_display_favorites.php? +' 08@Rimagefap.com/img/logo.gif +.08@R imagefap.com/jscripts/gallery.js +708@R)imagefap.com/jscripts/imagesloaded.min.js +208@R$imagefap.com/jscripts/masonry.min.js +708@R)imagefap.com/jscripts/thumbnail_change.js +( 08@Rimagefap.com/photo/*/?gid= +-08@Rimagefap.com/ubr_file_upload.js +*08@Rmoviefap.com/js/swfobject.js +5* +hotpornfile.org08@Rajax.googleapis.com^ +1* +hotpornfile.org08@Rcode.jquery.com^ +1 * +gaybeeg.info08@Rnetdna-storage.com^ +3* +gaybeeg.info08@Rtranslate.google.com^ +3* +gaybeeg.info08@Rwp.com/wp-content/js/ +4* +motherless.com08@Rajax.googleapis.com^ +& 08@Rmotherless.com/register/ +1ÿ/08@R"motherless.com/scripts/auth.min.js +1ÿ/08@R"motherless.com/scripts/bots.min.js +8ÿ/08@R)motherless.com/scripts/classifieds.min.js +/ÿ/08@R motherless.com/scripts/groups.js +6ÿ/08@R'motherless.com/scripts/home_page.min.js +5ÿ/08@R&motherless.com/scripts/jquery-*.min.js +2ÿ/08@R#motherless.com/scripts/jquery-ui.js +1ÿ/08@R"motherless.com/scripts/jquery.*.js +7ÿ/08@R(motherless.com/scripts/jwplayer.html5.js +1ÿ/08@R"motherless.com/scripts/jwplayer.js +2ÿ/08@R#motherless.com/scripts/media.min.js +4ÿ/08@R%motherless.com/scripts/members.min.js +Eÿ/08@R6motherless.com/scripts/perfect-scrollbar.jquery.min.js±+ +5ÿ/08@R&motherless.com/scripts/register.min.js +7ÿ/08@R(motherless.com/scripts/responsive.min.js +1ÿ/08@R"motherless.com/scripts/site.min.js +4ÿ/08@R%motherless.com/scripts/sprintf.min.js +2ÿ/08@R#motherless.com/scripts/store.min.js +2ÿ/08@R#motherless.com/scripts/swfobject.js +308@R%taxidrivermovie.com/style/core-min.js +(* +xhamster.com08@R +xhcdn.com^ +1 * +xhamster.com08@Rxhcdn.com^*/shader/ +/* + hdzog.com08@Rajax.googleapis.com^ + 08@Rhdzog.com/key= +- 08@Rhdzog.com/player/timelines.php? +2* +liebelib.com08@Rajax.googleapis.com^ +7* +amateurdumper.com08@Rajax.googleapis.com^ +3* + yourporn.sexy08@Rajax.googleapis.com^ +-* + yourporn.sexy08@Rpbs.twimg.com^ +8* + yourporn.sexy08@Rtrafficdeposit.com//blog/ +7* + yourporn.sexy08@Rtrafficdeposit.com/blog/ +2* + yourporn.sexy08@Ryps.link/users/ava/ +N* +vintage-erotica-forum.com08@R#pimpandhost.com/site/jsUploadPlugin +K08@R=vintage-erotica-forum.com/clientscript/ncode_imageresizer.js? +C08@R5vintage-erotica-forum.com/clientscript/post_thanks.js +P08@RBvintage-erotica-forum.com/clientscript/vbulletin_ajax_namesugg.js? +Q08@RCvintage-erotica-forum.com/clientscript/vbulletin_ajax_nameverif.js? +R08@RDvintage-erotica-forum.com/clientscript/vbulletin_ajax_reputation.js? +N08@R@vintage-erotica-forum.com/clientscript/vbulletin_ajax_search.js? +R08@RDvintage-erotica-forum.com/clientscript/vbulletin_ajax_threadrate.js? +I08@R;vintage-erotica-forum.com/clientscript/vbulletin_global.js? +K08@R=vintage-erotica-forum.com/clientscript/vbulletin_lightbox.js? +F08@R8vintage-erotica-forum.com/clientscript/vbulletin_md5.js? +G08@R9vintage-erotica-forum.com/clientscript/vbulletin_menu.js? +N08@R@vintage-erotica-forum.com/clientscript/vbulletin_multi_quote.js? +N08@R@vintage-erotica-forum.com/clientscript/vbulletin_post_loader.js? +M08@R?vintage-erotica-forum.com/clientscript/vbulletin_quick_edit.js? +N08@R@vintage-erotica-forum.com/clientscript/vbulletin_quick_reply.js? +N08@R@vintage-erotica-forum.com/clientscript/vbulletin_read_marker.js? +K08@R=vintage-erotica-forum.com/clientscript/vbulletin_textedit.js? +=* +vintage-erotica-forum.com08@Ryui.yahooapis.com^ +K08@R=sexgalaxy.net/wp-content/plugins/google-captcha/js/script.js? +P08@RBsexgalaxy.net/wp-content/themes/annina-pro/js/jquery.anninapro.js? +Y08@RKsexgalaxy.net/wp-content/themes/annina-pro/js/jquery.infinitescroll.min.js? +Y08@RKsexgalaxy.net/wp-content/themes/annina-pro/js/jquery.magnific-popup.min.js? +S08@REsexgalaxy.net/wp-content/themes/annina-pro/js/jquery.powertip.min.js? +J08@R<sexgalaxy.net/wp-content/themes/annina-pro/js/navigation.js? +P08@RBsexgalaxy.net/wp-content/themes/annina-pro/js/owl.carousel.min.js? +P08@RBsexgalaxy.net/wp-content/themes/annina-pro/js/SmoothScroll.min.js? +X08@RJsexgalaxy.net/wp-content/themes/annina-pro/js/theia-sticky-sidebar.min.js? +@08@R2sexgalaxy.net/wp-includes/js/comment-reply.min.js? +?08@R1sexgalaxy.net/wp-includes/js/imagesloaded.min.js? +H08@R:sexgalaxy.net/wp-includes/js/jquery/jquery-migrate.min.js? +<08@R.sexgalaxy.net/wp-includes/js/jquery/jquery.js? +H08@R:sexgalaxy.net/wp-includes/js/jquery/jquery.masonry.min.js? +:08@R,sexgalaxy.net/wp-includes/js/masonry.min.js? +;08@R-sexgalaxy.net/wp-includes/js/wp-embed.min.js? +C08@R5sexgalaxy.net/wp-includes/js/wp-emoji-release.min.js? +'08@Rfritchy.com/images/icons/ +(08@Rfritchy.com/images/styles/ +¨* +freeshippingbymastercard.com* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R.com/b/ +×* +freeshippingbymastercard.com* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +deliverydeals.co.uk* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +sianevents.com* +travelplus.com08@R .com/banners/ +ÿ* +freeshippingbymastercard.com* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +deliverydeals.co.uk* +theperfectsaver.com* +habandvipplus.com* +northstylevip.com* +extrarebates.com* +freeshipping.com* +travelplus.com* +affrity.com08@R .com/image-*- +0€* +eafyfsuh.net08@R.net/director/?t= +±* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +extrarebates.com* +freeshipping.com* +travelplus.com* +affrity.com08@R .net/image-*- +ž* +calcalist.co.il* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +walla.co.il* +youjizz.com* +youporn.com* + +mako.co.il* + +ynet.co.il* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R/advertising-glype/ +;"* +trustedreviews.com* +nme.com08@R/adverts/ad-©3 +<"* +trustedreviews.com* +nme.com08@R /adverts/ads- +<ÿ/* +dailycaller.com08@R/cdn-cgi/pe/bag2?*-adspot- +;ÿ/* +dailycaller.com08@R/cdn-cgi/pe/bag2?*.openx. +nÿ/* +socialmediamorning.com* +addictinginfo.com* +reverbpress.com08@R/cdn-cgi/pe/bag2?*adblade.com +<ÿ/* + lazygamer.net08@R/cdn-cgi/pe/bag2?*content.ad +k * +dailycaller.com* +biznews.com08@R;/cdn-cgi/pe/bag2?*googleadservices.com%2Fgpt%2Fpubads_impl_ + * +gogoonhold.com.au* + ethica.net.au* + +factom.org08@R?/cdn-cgi/pe/bag2?*googleadservices.com%2Fpagead%2Fconversion.js +mÿ/* + youngcons.com* +talksms.com08@R>/cdn-cgi/pe/bag2?*googlesyndication.com%2Fpagead%2Fshow_ads.js +†ÿ/* +notalwaysfriendly.com* +notalwayshopeless.com* +notalwayslearning.com* +notalwaysromantic.com* +notalwaysrelated.com* +notalwaysworking.com* +notalwaysright.com* +dailycaller.com* +nmac.to08@R//cdn-cgi/pe/bag2?*pagead2.googlesyndication.com +kÿ/* + youngcons.com* +talksms.com08@R</cdn-cgi/pe/bag2?*pagead2.googlesyndication.com%2Fpub-config +* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R/display-ad/ +Ú@* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R/iframe_video/ad.php? +èÿ/* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R"/wordpress/wp-admin/*-ads-manager/ +åÿ/* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R/wordpress/wp-admin/*/adrotate/ +é* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R$/wp-content/plugins/ad-inserter/css/ +î* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R)/wp-content/plugins/ad-inserter/includes/ +ö* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R1/wp-content/plugins/ad-inserter/js/ad-inserter.js +ë +* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R&/wp-content/plugins/bwp-minify/min/?f= +08@Rblob:resource:// +Í * +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R192.168. +Ûÿ/* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R192.168.*/images/adv_ +L€* +sharedata.co.za08@R*196.30.218.174/admentor/sirius_sdo_top.htm +>€* +fundsdata.co.za08@R196.30.218.174/admentor/top_ +3* +sankakucomplex.com08@R208.100.24.244^ +@@* +p2p.adserver.ip08@R209.222.8.217/crossdomain.xml ++ÿ/08@R247realmedia.com^*/farecomp/ +'ÿ/08@R24ur.com/adserver/adall. ++ÿ/08@R24ur.com/static/*/banners.js +1ÿ/* +rte.ie08@R2mdn.net/crossdomain.xml +ä@* +philadelphiaeagles.com* +neworleanssaints.com* +baltimoreravens.com* +clevelandbrowns.com* +thecomedynetwork.ca* +atlantafalcons.com* +dallascowboys.com* +denverbroncos.com* +houstontexans.com* +miamidolphins.com* +buffalobills.com* +chicagobears.com* +detroitlions.com* +titansonline.com* +wpcomwidgets.com* +azcardinals.com* +newyorkjets.com* +stlouisrams.com* +buccaneers.com* +egirlgames.net* +chargers.com* +euronews.com* +globaltv.com* +kcchiefs.com* +panthers.com* +patriots.com* +redskins.com* +seahawks.com* +steelers.com* +3news.co.nz* +jaguars.com* +packers.com* +raiders.com* +vikings.com* + +giants.com* + 49ers.com* + colts.com* + +ktvu.com* +rte.ie08@R2mdn.net/instream/*/adsapi_ +2@08@R$2mdn.net/instream/flash/*/adsapi.swf +@ÿ/* +superfilm.pl08@R2mdn.net/instream/html5/ima3.js +:ÿ/* +cbc.ca08@R!2mdn.net/instream/video/client.js +1* + +jabong.com08@R2mdn.net/viewad/*/B*_ +$ * + twitch.tv08@R 2mdn.net/ +7* +convert-me.com08@R2mdn.net^*/1x1image.jpg +G* +investopedia.com08@R%2mdn.net^*/html_inpage_rendering_lib_ +8ÿ/* +doubleclick.net08@R2mdn.net^*/jwplayer.js +7ÿ/* +doubleclick.net08@R2mdn.net^*/player.swf +,* +grammarist.com08@R2mdn.net^*?& +>@08@R033universal.adprimemedia.com/vn/vna/data/ad.php? +-ÿ/08@R360gig.com/images/1_468x60.png +($* + 4chan.org08@R 4cdn.org/adv/ +2ÿ/08@R#53.com/resources/images/ad-rotator/ +&ÿ/08@R6waves.com/ads/720x300/ +&ÿ/08@R6waves.com/js/adshow.js +Cÿ/08@R4961bobfm.com/Pics/Ad%20Images/LISTEN_LIVE_BUTTON.png +j* +ninemsn.com.au08@RJ9msn.com.au/Services/Service.axd?callback=ninemsn_ads_contextualTargeting_ +Iÿ/* +ninemsn.com.au08@R(9msn.com.au/share/com/adtrack/adtrack.js ++08@R9msn.com.au^*/ads/ninemsn.ads +8ÿ/08@R)a.giantrealm.com/assets/vau/grplayer*.swf +8* +hotwire.com08@Ra.intentmedia.net/adServer/ +ÿ/08@Rabbyy.com/adx/ +:@* + +abc.go.com08@Rabc.com/streaming/ads/preroll_ +4ÿ/08@R%abcnews.com/assets/static/ads/fwps.js +7ÿ/08@R(abcnews.go.com/assets/static/ads/fwps.js +5 * + +accelo.com08@Raccelo.com^*/affiliation/ +<08@R.activelydisengaged.com/wp-content/uploads/*/ad +F€* +wizard.mediacoderhq.com08@Rad.103092804.com/st?ad_type= +'@08@Rad.71i.de/crossdomain.xml +:@08@R,ad.71i.de/global_js/magic/sevenload_magic.js +H* +lshunter.tv08@R+ad.adorika.com/st?ad_type=ad&ad_size=728x90 +,@08@Rad.adserve.com/crossdomain.xml +*@08@Rad.afy11.net/crossdomain.xmlÀ& +>* + +jabong.com08@R"ad.doubleclick.net/ad/*.JABONG.COM +8@08@R*ad.doubleclick.net/ad/can/cbs/*;pausead=1; +B€ * + +jabong.com08@R#ad.doubleclick.net/adi/*.JABONG.COM +K* +cartalk.com08@R.ad.doubleclick.net/adj/*/cartalk.audio_player; +R* +rollingstone.com08@R0ad.doubleclick.net/adj/rstone.site/music/photos^ +4@08@R&ad.doubleclick.net/adx/nbcu.nbc/rewind +b* +freeshipping.com08@R@ad.doubleclick.net/clk;*?https://dm.victoriassecret.com/product/ +6@08@R(ad.doubleclick.net/pfadx/nbcu.nbc/rewind +<ÿ/* + gamehouse.com08@Rad.ghfusion.com/constants.js +5* +extrarebates.com08@Rad.linksynergy.com^ +"ÿ/08@Rad.reebonz.com/www/ +.@08@R ad.smartclip.net/crossdomain.xml +,ÿ/* + scottrade.com08@Rad.wsod.com^ +,08@Rad2.zophar.net/images/logo.jpg +^ÿ/* +majorleaguegaming.com* +wikihow.com* +pbs.org08@Rad4.liverail.com/?compressed +>@* +volarvideo.com08@Rad4.liverail.com/?LR_ORDER_ID= +S@* +playreplay.net* + vaughnlive.tv08@R"ad4.liverail.com/?LR_PUBLISHER_ID= +I * +imasdk.googleapis.com08@R"ad4.liverail.com/?LR_PUBLISHER_ID= +.@08@R ad4.liverail.com/crossdomain.xml +q@* +majorleaguegaming.com* +foxsports.com.au* +wikihow.com* +bizu.tv* +pbs.org08@Rad4.liverail.com/ +F * +c.brightcove.com* +dailymotion.com08@Rad4.liverail.com/ +7@* +bizu.tv08@Rad4.liverail.com^*LR_VIDEO_ID= +?* + escapefan.com08@R ad4game.com/ima3_preloader_*.swf +I* + escapefan.com08@R*ad4game.com/www/delivery/video.php?zoneid= +7ÿ/* + +adadyn.com08@Radadyn.com/api/advertiser/ +7ÿ/* + +adadyn.com08@Radadyn.com^*/advertiser.js +@08@Radap.tv/control? +%@08@Radap.tv/crossdomain.xml +/@08@R!adap.tv/redir/client/adplayer.swf +ì@* +talkingpointsmemo.com* +freeonlinegames.com* +blogtalkradio.com* +collegehumor.com* +wunderground.com* +openfilmpod.com* +britannica.com* + thesource.com* +wildearth.tv08@R+adap.tv/redir/client/static/as3adplayer.swf +²ÿ/* +puzzles.usatoday.com* +freeonlinegames.com* +merriam-webster.com* +games.aarp.org* +latimes.com* + box10.com* + +kizi.com08@R#adap.tv/redir/client/swfloader.swf? +Eÿ/* + +yepi.com08@R*adap.tv/redir/javascript/adaptvAdPlayer.js +0ÿ/08@R!adap.tv/redir/javascript/vpaid.js +yÿ/* +brisbanetimes.com.au* +watoday.com.au* + theage.com.au* + +smh.com.au08@R!adbureau.net^*/images/adselector/ +G* +healthmeans.com08@R&adbutler-fermion.com/getad.img/;libID= +P* +floridadivorce.com08@R,adbutler-ikon.com/adserve/;ID=*;size=180x35; +=ÿ/* +floridadivorce.com08@Radbutler-ikon.com/app.js + 08@Radcode.disqus.com^ +Iÿ/* +m.naver.com08@R+adcreative.naver.com/ad3/js/min/da.m.min.js +9ÿ/08@R*addictinggames.com^*/mtvi_ads_reporting.js +2ÿ/08@R#adf.ly/static/image/ad_top_bg2.png? +2ÿ/* + +afl.com.au08@Radfarm.mediaplex.com^ +$08@Radflyer.co.uk/adverts/ +ž* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@R7adform.net/banners/scripts/iframe/Adform.IFrameManager. +Gÿ/* +lifemadedelicious.ca* +tac.tv08@Radgear.com^*/adgear.js +4@08@R&adhostingsolutions.com/crossdomain.xml +-@08@Radimages.go.com/crossdomain.xml +*08@Radm.fwmrm.net^*/AdManager.js +{ÿ/* +bigbrother.com.au* +9jumpin.com.au* +ninemsn.com.au* +9news.com.au08@R#adm.fwmrm.net^*/BrightcovePlugin.js +•ÿ/* +destinationamerica.com* +discoverylife.com* +animalplanet.com* +abc7chicago.com* + discovery.com* +abc7news.com* +7online.com* + +abc.go.com* + abc11.com* + abc13.com* + abc30.com* + ahctv.com* + +6abc.com* + +abc7.com* +tlc.com08@Radm.fwmrm.net^*/LinkTag2.js +9@* +go.com08@R!adm.fwmrm.net^*/TremorAdRenderer. +¬@* +espnfcasia.com* + espnfc.com.au* +espnfc.co.uk* +nbcnews.com* + +espnfc.com* + espnfc.us* + +cnbc.com* +nbc.com* +go.com08@R adm.fwmrm.net^*/videoadrenderer. +1ÿ/* + scottrade.com08@Radmedia.wsod.com^ +W* +gamesradar.com08@R7admin.brightcove.com/viewer/*/brightcovebootloader.swf? +6ÿ/* +adnetonline.org08@Radnet.mennonite.net^ +/@08@R!adnet.twitvid.com/crossdomain.xml +Zÿ/* +batmanstream.com* +primewire.is08@R'adnigma.com/TemplateRun/js/DialogTag.js +Iÿ/* +livestream.com08@R(adotube.com/adapters/as3overstream*.swf? +)@08@Radotube.com/crossdomain.xml +›ÿ/* +onehourtranslation.com* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@Radroll.com/j/roundtrip.js +5@* +wunderground.com08@Rads.adap.tv/applist +? * +easyrecipesite.com08@Rads.adaptv.advertising.com^ +6ÿ/* +sellallautos.com08@Rads.awadserver.com^ +W08@RIads.belointeractive.com/realmedia/ads/adstream_mjx.ads/www.kgw.com/video/« +H* +nyctourist.com08@R(ads.bizx.info/www/delivery/spc.php?zones +Rÿ/* +ads.bridgetrack.com08@R,ads.bridgetrack.com/ads_v2/script/btwrite.js +>08@R0ads.cnn.com/js.ng/*&cnn_intl_subsection=download +,ÿ/08@Rads.dollartree.com/SneakPeek/ +ÿ/08@Rads.eu.com/ads- +G* +thepiratebay.org* +gelbooru.com08@Rads.exoclick.com/*.js +:* +streamcloud.eu08@Rads.exoclick.com/close.png +Bÿ/* +expedia.com08@R$ads.expedia.com/event.ng/type=click& +1ÿ/08@R"ads.fox.com/fox/black_2sec_600.flv +7ÿ/08@R(ads.foxnews.com/api/*-slideshow-data.js? +'ÿ/08@Rads.foxnews.com/js/ad.js +)ÿ/08@Rads.foxnews.com/js/adv2.js +.ÿ/08@Rads.foxnews.com/js/omtr_code.js +Z€* +my.xfinity.com* + nbcsports.com* + +cnbc.com* +nbc.com08@Rads.freewheel.tv/ +1ÿ/08@R"ads.globo.com^*/globovideo/player/ +,€08@Rads.healthline.com/v2/adajax? +ÿ/08@Rads.indeed.com^ +F@* +melting-mindz.com08@R#ads.intergi.com/adrawdata/*/ADTECH; +-@08@Rads.intergi.com/crossdomain.xml +B* + +vibe.com08@R(ads.jetpackdigital.com.s3.amazonaws.com^ +Fÿ/* + +vibe.com08@R+ads.jetpackdigital.com/jquery.tools.min.js? +<* + +vibe.com08@R"ads.jetpackdigital.com^*/_uploads/ +ÿ/08@Rads.m1.com.sg^ +=ÿ/08@R.ads.mefeedia.com/flash/flowplayer-3.1.2.min.js +Fÿ/08@R7ads.mefeedia.com/flash/flowplayer.controls-3.0.2.min.js +j* +midatlantic.aaa.com08@REads.midatlantic.aaa.com/advertpro/servlet/view/banner/image/campaign? +<08@R.ads.mycricket.com/www/delivery/ajs.php?zoneid= +,€08@Rads.nationmedia.com/webfonts/ +,@08@Rads.nyootv.com/crossdomain.xml +1@08@R#ads.nyootv.com:8080/crossdomain.xml +Iÿ/08@R:ads.pandora.tv/netinsight/text/pandora_global/channel/icf@ +!ÿ/08@Rads.pinterest.com^ +B * + thestreet.com08@R#ads.pointroll.com/PortalServe/?pid= +}* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@Rads.revjet.com/bg?plc= +=ÿ/* +livescience.com08@Rads.servebom.com/tmnhead.js +;* +livescience.com08@Rads.servebom.com/tmntag.js +Lÿ/* +simply-partner.com* +simplyhired.com08@Rads.simplyhired.com^ +/ÿ/08@R ads.songs.pk/openx/www/delivery/ +2* +games.co.uk08@Rads.spilgames.com/ad/ +408@R&ads.sudpresse.be/adview.php?what=zone: +<ÿ/* +tbs.com08@R"ads.tbs.com/html.ng/site=*600x400_ +=€08@R.ads.trackitdown.net/delivery/afr.php?zoneid=6& ++@08@Rads.trutv.com/crossdomain.xml +I@08@R;ads.trutv.com/html.ng/tile=*&site=trutv&tru_tv_pos=preroll& +@ÿ/* +mlbtraderumors.com08@Rads.undertone.com/*&zoneid= +/@08@R!ads.undertone.com/crossdomain.xml +1ÿ/* +autos.yahoo.com08@Rads.yimg.com/a/ +@ÿ/08@R1ads.yimg.com/ev/eu/any/vint/videointerstitial*.js +A* +movies.yahoo.com08@Rads.yimg.com/la/adv/y/yahooxtra +*08@Rads.yimg.com^*/any/yahoologo +5ÿ/08@R&ads.yimg.com^*/search/b/syc_logo_2.gif +/ÿ/08@R ads.yimg.com^*videoadmodule*.swf +Q* +jobs-israel.com* +jobnet.co.il08@R ads1.atpclick.com/atpClick.aspx? +4ÿ/* +msn.com08@Rads1.msads.net^*/dapmsn.js +&08@Rads1.msn.com/ads/pronws/ +Zÿ/* +entertainment.msn.co.nz* +msn.foxsports.com08@Rads1.msn.com/library/dap.js +808@R*adsales.snidigital.com/*/ads-config.min.js +8* +repeatmyvids.com08@Radserve.atedra.com/js/ +C* +repeatmyvids.com08@R!adserve.atedra.com/vast/wrap.php? +> * +repeatmyvids.com08@Radserve.atedra.com/zones.php +p@* +eurovisionsports.tv* +talksport.co.uk* +wrc.com08@R-adserver.adtech.de/?advideo/*;vidas=pre_roll^ +ˆÿ/* +cartoonnetworkasia.com* +cartoonnetwork.co.nz* +cartoonnetworkhq.com* + +manutd.com08@R!adserver.adtech.de/addyn/3.0/755/ +:* +teletoon.com08@Radserver.adtechus.com/addyn/ +>@* +y8.com08@R&adserver.bigwigmedia.com/adfetch2.php?Õ! +5ÿ/08@R&adserver.bigwigmedia.com/ingamead3.swf +)ÿ/08@Radserver.bworldonline.com^ +%@08@Radserver.tvcatchup.com^ +3 08@R%adserver.vidcoin.com^*/get_campaigns? +9* + yahoo.com08@Radserver.yahoo.com/a?*&l=head& +8 * + yahoo.com08@Radserver.yahoo.com/a?*&l=VID& +<* +mail.yahoo.com08@Radserver.yahoo.com/a?*=headr +0@08@R"adserver.yahoo.com/crossdomain.xml +Dÿ/* +ca.weather.yahoo.com08@Radserver.yahoo.com^*=weather& +Bÿ/* + twitch.tv08@R&adservice.google.*/adsid/integrator.js +Rÿ/* +nydailynews.com* +gsmarena.com08@R adservice.google.*/integrator.js +0 * + twitch.tv08@Radservice.google.com/ +*@08@Radshost1.com/crossdomain.xml +3@* +4shared.com08@Radshost1.com/ova/*.xml +2€* +a-d-sign.pl08@Radsign.republika.pl^ +#ÿ/08@Radsign.republika.pl^ +ÿÿ/* +montgomeryadvertiser.com* +battlecreekenquirer.com* +hattiesburgamerican.com* +poughkeepsiejournal.com* +ansingstatejournal.com* +greatfallstribune.com* +visaliatimesdelta.com* +livingstondaily.com* +mycentraljersey.com* +shreveporttimes.com* +thedailyjournal.com* +thecalifornian.com* +thetimesherald.com* +clarionledger.com* +ithacajournal.com* +press-citizen.com* +pressconnects.com* +theadvertiser.com* +hometownlife.com* +thestarpress.com* +dailyrecord.com* +delmarvanow.com* +stargazette.com* +tallahassee.com* +thenewsstar.com* +thetowntalk.com* +coloradoan.com* +dailyworld.com* +news-press.com* +jconline.com* +pal-item.com* +guampdn.com* + freep.com* +app.com* +pnj.com* +rgj.com08@Radsonar.com/js/adsonar.js +8ÿ/* +engadget.com08@Radsonar.com/js/aslJSON.js +%08@Radspot.co.za/image.php/ +;@08@R-adsremote.scrippsnetworks.com/crossdomain.xml +Vÿ/* + gactv.com08@R:adsremote.scrippsnetworks.com/html.ng/adtype=*&playertype= +H* + +food.com08@R.adsremote.scrippsnetworks.com/js.ng/adtype=vsw +5ÿ/08@R&adssecurity.com/app_themes/ads/images/ +7@* + +motogp.com08@Radswizz.com/www/components/ +S@* + +motogp.com08@R7adswizz.com/www/delivery/swfindex.php?reqtype=adssetup& +E@08@R7adtech.de/?advideo/3.0/1215.1/3228528/*;vidas=pre_roll; +G* +cartoonnetworkasia.com08@Radtech.de/apps/*.swf?targettag= +7@* + +zattoo.com08@Radtech.de/crossdomain.xml +Kÿ/* +starsports.com* +adquality.ch08@Radtech.de/dt/common/DAC.js +6ÿ/* + snagfilms.com08@Radtechus.com/?advideo/ +>* +teletoon.com* + +walmart.ca08@Radtechus.com/apps/ +*@08@Radtechus.com/crossdomain.xml +Iÿ/* +wetpaint.com* + abcya.com08@Radtechus.com/dt/common/DAC.js +@ÿ/* + abcya.com08@R$adtechus.com/dt/common/postscribe.js +@* + abcya.com08@R%adtechus.com/images/*_adwords_300x250 +Hÿ/08@R9adultvideotorrents.com/assets/blockblock/advertisement.js +<ÿ/* +przedsiebiorca.pl08@Radv.*.przedsiebiorca.pl^ +@€08@R1adv.diariodelweb.it/Agenzie/Apcom/video/mp4/*.mp4 +'ÿ/08@Radvantabankcorp.com/ADV/ +'ÿ/08@Radvertise.azcentral.com^ +Xÿ/* +fairfaxmedia.com.au* +myfairfax.com.au08@Radvertise.fairfaxmedia.com.au^ +#ÿ/08@Radvertising.acne.se^ +,ÿ/08@Radvertising.autotrader.co.uk^ ++08@Radvertising.nzme.co.nz/media/ +# 08@Radvertising.oriel.io^ +).08@Radvertising.racingpost.com^ +'ÿ/08@Radvertising.scoop.co.nz^ ++ÿ/08@Radvertising.theigroup.co.uk^ +&ÿ/08@Radvertising.utexas.edu^ +%ÿ/08@Radvertising.vrisko.gr^ +,08@Radvertisingwouldbegreat.com/*- +,08@Radvertisingwouldbegreat.com/*. +~€* +baynews9.com* +cfnews13.com08@ROadverts.brighthouse.com/advertpro/servlet/view/banner/url/zone?*=preroll/2Black +(@08@Radverts.cdn.tvcatchup.com^ +s* +midatlantic.aaa.com08@RNadvertserve.com/images/aaamidatlantic.advertserve.com/advertpro/servlet/files/ +ÿ/08@Radview.online^ +M€08@R>advisory.mtanyct.info/outsideWidget/widget.html?*.adPlacement= +!ÿ/08@Radvweb.ua.cmu.edu^ +%ÿ/08@Radweb.cis.mcmaster.ca^ +ÿ/08@R adweb.pl^ +ÿ/08@Radworks.com.co^ +"08@Radxprts.com^*/ads.js +-@* +nfl.com08@Rae.amgdgt.com/ads?t= ++@08@Rae.amgdgt.com/crossdomain.xml¸& +‹* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R +affiliate. +4@08@R&affiliate.kickapps.com/crossdomain.xml +.ÿ/08@Raffiliate.kickapps.com/service/ +&€08@Raffiliate.skiamade.com^ +K€* +superlennyaffiliates.com08@R affiliate.thrillsaffiliates.com^ +Œ* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@Raffiliates. +3€08@R$affiliates.hihostels.com/search-box? +?€08@R0affiliates.kindredplc.com/newsignup/signup.html? +A€08@R2affiliates.kindredplc.com/registration2/login.aspx +6€* +facebook.com08@Raffiliates.mozilla.org^ +,€08@Raffiliates.unpakt.com/widget/ +Cÿ/08@R4affiliates.unpakt.com/widget_loader/widget_loader.js +d* +affilinet-inside.com08@R>affilinet-inside.com/wp-content/uploads/*/Dynamic-Ad-Creative- +A * +affinitylive.com08@Raffinitylive.com^*/affiliation/ +$ÿ/08@Rafricam.com/adimages/ +108@R#aimsworldrunning.org/images/AD_Box_ +%ÿ/08@Rairbaltic.com/banners/ +0ÿ/08@R!airguns.net/advertisement_images/ +1ÿ/08@R"airguns.net/classifieds/ad_images/ +108@R#airplaydirect.com/openx/www/images/ +$$08@Raiwip.com/advertisers/ +2$08@R$aiwip.com/static/images/advertisers/ +,ÿ/08@Rajmadison.com/images/adverts/ +6@* + +manutd.com08@Raka-cdn-ns.adtech.de/apps/ +8* +empireonline.com08@Raka-cdn.adtech.de/dac/ +2@* +bet.com08@Rakamai.net^*/ads/preroll_ +I* +extrarebates.com08@R'akamai.net^*/affiliate.1800flowers.com/ +^ÿ/* +ultimaterewardsearn.chase.com08@R.akamai.net^*/i.mallnetworks.com/images/*120x60 +¯* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R.akamai.net^*/pics.drugstore.com/prodimg/promo/ +'ÿ/08@Rakamaihd.net/hads-*.mp4? +5ÿ/* + zynga.com08@Rakamaihd.net^*/videoAd.js +1ÿ/08@R"al.com/static/common/js/ads/ads.js +<08@R.albumartexchange.com/gallery/images/public/ad/ +%08@Rallot.com/Banners/*.swf ++ÿ/08@Ralluc.ee/js/advertisement.js +!08@Rallulook4.com/min/? +3ÿ/08@R$alphabaseinc.com/images/display_adz/ +8ÿ/08@R)alusa.org/store/modules/blockadvertising/ +±ÿ/* +rockpapershotgun.com* +nintendolife.com* +foodnetwork.com* +lifehacker.com* + eurogamer.net* +deadspin.com* +jalopnik.com* +gizmodo.com* +jezebel.com* +usgamer.net* +weather.com* + +gawker.com* + +kotaku.com* + vg247.com* + +food.com* +io9.com08@R$amazon-adsystem.com/aax2/amzn_ads.js +Êÿ/* +rockpapershotgun.com* +blastingnews.com* +nintendolife.com* +nydailynews.com* + eurogamer.net* +usgamer.net* + twitch.tv* + vg247.com* + +wcvb.com08@R"amazon-adsystem.com/aax2/apstag.js +Šÿ/* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@R"amazon-adsystem.com/aax2/getads.js +;* +voldingenglish.com08@Ramazon-adsystem.com/js/ +>* +voldingenglish.com08@Ramazon-adsystem.com/panda/ +,08@Ramazon-adsystem.com/widgets/q? +Y* +walkhighlands.co.uk* +voldingenglish.com08@Ramazon-adsystem.com/widgets/q? +†€* +hometheaterforum.com* +walkhighlands.co.uk* +mediatrumps.com08@R5amazon-adsystem.com/widgets/q?*&ad_type=product_link& +g€* +walkhighlands.co.uk08@RAamazon-adsystem.com/widgets/q?*&ad_type=responsive_search_widget& +4€ * +affrity.com08@Ramazon-adsystem.com^ +2ÿ/* +affrity.com08@Ramazon-adsystem.com^ +9* +walkhighlands.co.uk08@Ramazon-adsystem.com^ +8* +voldingenglish.com08@Ramazon-adsystem.com^ +3ÿ/* + sotumblry.com08@Ramazon.com/widgets/ +J* + india.com08@R/amazonaws.com/adplayer/player/newas3player.swf? +T* +livefromdarylshouse.com* +pandasecurity.com08@Ramazonaws.com/banners/ +=ÿ/* + signal.co08@R!amazonaws.com/bt-dashboard-logos/ +** + +daclips.in08@Ramazonaws.com^ +G* +members.portalbuzz.com08@Ramazonaws.com^*/sponsorbanners/ +<ÿ/08@R-amctv.com/commons/advertisement/js/AdFrame.js +Uÿ/08@RFamwa.net/sites/default/files/styles/promotion_image/public/promotions/ + ÿ/08@Rananzi.co.za/ads/ +-ÿ/08@Randcorp.com.au^*.swf?clicktag= +(@08@Randohs.net/crossdomain.xml +0@08@R"andomediagroup.com/crossdomain.xml +%08@Rannfammed.org/adsystem/ˆ +;ÿ/* +preloved.co.uk08@Ranyvan.com/send-goods-api/ +Gÿ/* +huffingtonpost.co.uk08@R aolcdn.com/ads/adsWrapperIntl.js +:ÿ/* +msn.com08@R aolcdn.com/ads/adswrappermsni.js +208@R$aolcdn.com/os_merge/?file=/aol/*.js& +1ÿ/* +aol.com08@Raolcdn.com^*/adhads.css +…ÿ/* +huffingtonpost.com* +engadget.com* +mapquest.com* +stylelist.ca* + games.com* +aol.com08@Raolcdn.com^*/adsWrapper. +1ÿ/08@R"aone-soft.com/style/images/ad*.jpg ++"08@Rapi.cirqle.nl^*&advertiserId= +/ÿ/* +scribol.com08@Rapi.hexagram.com^ +2ÿ/* +adguard.com08@Rapi.paymentwall.com^ +,ÿ/* +betfair.com08@Rapmebf.com/ad/ +¬* +freeshippingbymastercard.com* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@Rapmebf.com^ +'ÿ/08@Rapmex.com/resources/ads/ +K* + +comedy.com08@R/app.promo.tubemogul.com/feed/placement.html?id= +p08@Rapple.com^*/ads/ +1* + apple.com08@Rapple.com^*/images/ad- +2* + apple.com08@Rapple.com^*/images/ads_ +'ÿ/08@Rapple.com^*/includes/ads +(ÿ/08@Rapple.com^*/video-ad.html +5 08@R'applegate.co.uk/stats/recordclick.html? +(ÿ/08@Rapwg.org/images/sponsors/ +608@R(archaeologydataservice.ac.uk/images/ads_ +%ÿ/08@Rarchiproducts.com/adv/ +Pÿ/08@RAarchitecturaldigest.com/etc/designs/ad/images/shell/ad-sprite.png ++08@Rarea51.stackexchange.com/ads/ +Fÿ/08@R7arthurbrokerage.com/Websites/arthur/templates/overture/ +1@08@R#arti-mediagroup.com/crossdomain.xml +<@08@R.arti-mediagroup.com/flowplayer/amta_plugin.swf +=08@R/as.bankrate.com/RealMedia/ads/adstream_mjx.ads/ +E€* +medscape.com08@R&as.medscape.com/html.ng/transactionid% +2Â08@R#as.webmd.com/html.ng/transactionid= +-08@Rasiasold.com/assets/home/openx/ +$ÿ/08@Rasrock.com/images/ad- +Hÿ/* +itsjudytime.com* +glamour.com08@Rassets.rewardstyle.com^ +5ÿ/08@R&assiniboine.mb.ca/files/intrasite_ads/ +Pÿ/* +walkhighlands.co.uk* + sotumblry.com08@Rassoc-amazon.com/widgets/ +<ÿ/* + gactv.com08@R assoc-amazon.com^*/js/swfobject_ +Wÿ/08@RHasterisk.org/sites/asterisk/files/mce_files/graphics/ads/ad-training.png +8ÿ/08@R)athena365.com/web/components/ads/rma.html +*ÿ/08@Ratt.com/images/*/admanager/ +>€* +dating.yahoo.com.au08@Rau.adserver.yahoo.com/a? +4ÿ/08@R%auctionzip.com/cgi-bin/showimage.cgi? +V@* +majorleaguegaming.com* +newsinc.com* +ap.org08@Rauditude.com/adserver? +*@08@Rauditude.com/crossdomain.xml +/@08@R!auditude.com^*/AuditudeAdUnit.swf +I@* +channel5.com08@R+auditude.com^*/auditudebrightcoveplugin.swf +c@* +majorleaguegaming.com* +dramafever.com08@R*auditude.com^*/auditudeosmfproxyplugin.swf +)08@Rautogespot.info/upload/ads/ +Qÿ/* +autorepairconnect.com08@R)autorepairconnect.com/static/*/advertise_ +9€08@R*autotrader.ca/search/searchAdsIframe.aspx? +; * +autotrader.co.uk08@Rautotrader.co.uk*/advert +/€08@R autotrader.co.uk/lightbox/video? +=ÿ/08@R.autotrader.co.uk/static/*/images/adv/icons.png +* 08@Rautotrader.co.uk^*_adverts/ +) 08@Ravclub.com/ads/av-video-ad/ +,08@Raviationclassifieds.com/adimg/ +9ÿ/08@R*aviationexplorer.com/airline_aviation_ads/ +;* +deliverydeals.co.uk08@Rawin1.com/cshow.php?s= +** +affrity.com08@R awltovhc.com^ +8ÿ/* +dailymaverick.co.za08@Razureedge.net/ads/ +8ÿ/* +dailymaverick.co.za08@Razureedge.net/adv/ +4ÿ/* +dailymaverick.co.za08@Rb-cdn.net/adv/ +@ÿ/08@R1backpackinglight.com/backpackinglight/ads/banner- +608@R(bahtsold.com/assets/home/openx/Thailand/¹ +=ÿ/08@R.bahtsold.com/assets/images/ads/no_img_main.png +& 08@Rbankofamerica.com^*?adx= +>ÿ/08@R/banmancounselling.com/wp-content/themes/banman/ +ÿ/* +pumpkinpatch.com.au* +pumpkinpatch.co.nz* +pumpkinpatch.co.uk* +pumpkinpatch.com08@R)banner.pumpkinpatchkids.com/www/delivery/ +'ÿ/08@Rbanner4five.com/banners/ +%08@Rbannerfans.com/banners/ +4* + bannerist.com08@Rbannerist.com/images/ +%08@Rbanners.gametracker.rs^ +-ÿ/08@Rbanners.goldbroker.com/widget/ +E* +sunsteps.org08@R'banners.webmasterplan.com/view.asp?ref= +'08@Rbanners.wunderground.com^ +2ÿ/* +bannersnack.com08@Rbannersnack.net^ +8ÿ/* +barafranca.com08@Rbarafranca.*/banner.php ++ * + +daclips.in08@Rbargetbook.com^ +Aÿ/* + parkers.co.uk08@R!bauerassets.com/global-js/prebid- +%08@Rbayie.com//uploads/ads/ +6ÿ/* +bbc.com08@Rbbc.co.uk^*/adsense_write.js +/ÿ/* +bbc.com08@Rbbc.co.uk^*/advert.js +0ÿ/* +bbc.com08@Rbbc.co.uk^*/adverts.js +7ÿ/* +bbc.com08@Rbbci.co.uk^*/adsense_write.js +>ÿ/* + bbc.co.uk* +bbc.com08@Rbbci.co.uk^*/adverts.js +9ÿ/* +bbc.com08@Rbbcimg.co.uk^*/adsense_write.js +?ÿ/* + bbc.co.uk* +bbc.com08@Rbbcimg.co.uk^*/advert.js +@ÿ/* + bbc.co.uk* +bbc.com08@Rbbcimg.co.uk^*/adverts.js +2@* +bbc.com08@Rbbcimg.co.uk^*/SmpAds.swf +8ÿ/08@R)beatthebrochure.com/js/jquery.popunder.js +)ÿ/08@Rbebusiness.eu/js/adview.js ++08@Rbellaliant.net^*/banners/ads/ +-* +streamcloud.eu08@R belwrite.com^ +Eÿ/08@R6betar.gov.bd/wp-content/plugins/useful-banner-manager/ +Mÿ/08@R>betar.gov.bd/wp-content/uploads/useful_banner_manager_banners/ +1ÿ/* +grammarist.com08@Rbetrad.com^*.gif +:* +ghostery.com08@Rbetteradvertising.com/logos/ +208@R$bigfile.to/script/jquery.popunder.js +'08@Rbigfishaudio.com/banners/ ++ÿ/08@Rbikeexchange.com.au/adverts/ +& 08@Rbing.com/images/async?q= +$ 08@Rbing.com/maps/Ads.ashx +/08@R!bing.net/images/thumbnail.aspx?q= +6ÿ/* +biz.yelp.com08@Rbiz.yelp.com/ads_stats/ +4ÿ/08@R%blackshoppingchannel.com^*/ad_agency/ +7ÿ/08@R(blackshoppingchannel.com^*/com_adagency/ +%@08@Rblastro.com/pl_ads.php? +,ÿ/08@Rblizzardwatch.com^*/bw-ads.js +,* + kissmanga.com08@R blogspot.com^ +2ÿ/08@R#bloomberg.com/rapi/ads/js_config.js +%ÿ/08@Rbluetooth.com/banners/ +-@08@Rbluetree.co.uk/hji/advertising. +, 08@Rbnbfinder.com/adv_getCity.php? + 08@R boats.com/ad/ +<08@R.bodybuilding.com/ad-ops/prebid-adops-forums.js +/08@R!bodybuilding.com/ad-ops/prebid.js +.ÿ/08@Rbonappetit.com/ams/page-ads.js? +*ÿ/08@Rbonappetit.com^*/cn.dart.js +3ÿ/08@R$booking.loganair.co.uk^*/images/ads- +;* +boracay.tel08@Rboracay.mobi/boracay/imageAds/ +;08@R-boston.com/images/ads/yourtown_social_widget/ +2ÿ/08@R#box10.com/advertising/*-preroll.swf +6ÿ/08@R'boxedlynch.com/advertising-gallery.html +9ÿ/* +adsense.googleblog.com08@Rbp.blogspot.com^ ++@08@Rbrainient.com/crossdomain.xml +ƒÿ/* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@Rbrand-display.com/js/psf.js +J * +brandverity.com08@R)brandverity.com/letter/complaint/prepare/ +9 * +brandverity.com08@Rbrandverity.com/reports/¶! +'ÿ/08@Rbrightcove.com^*bannerid +Dÿ/08@R5britannica.com/resources/images/shared/ad-loading.gif +?ÿ/08@R0britishairways.com/cms/global/styles/*/openx.css +)ÿ/08@Rbrocraft.net/js/banners.js +B08@R4brothersoft.com/gads/coop_show_download.php?soft_id= +(ÿ/08@Rbsvideos.com/json/ad.php? +)ÿ/08@Rbthomehub.home/images/adv_ +'@08@Rbtrll.com/crossdomain.xml +(@* +nfl.com08@Rbtrll.com/vast/ +\* +mylifetime.com* + speedtest.net* +history.com* +fyi.tv08@Rbudgetedbauer.com^ +Jÿ/* +technobuffalo.com08@R&bulletproofserving.com/scripts/ads*.js +1ÿ/08@R"burbankleader.com/hive/images/adv_ +2ÿ/08@R#burfordadvertising.com/advertising/ +4ÿ/08@R%business-supply.com/images/adrotator/ +J€* +business.linkedin.com08@R"business.linkedin.com^*/advertise- +I * +business.linkedin.com08@R"business.linkedin.com^*/advertise/ +*ÿ/08@Rbutlereagle.com/static/ads/ +*ÿ/08@Rbuy.com/buy_assets/addeals/ + ÿ/08@Rbuyandsell.ie/ad/ +!ÿ/08@Rbuyandsell.ie/ads/ +(ÿ/08@Rbuyandsell.ie/images/ads/ +,ÿ/08@Rbuyforlessok.com/advertising/ +'08@Rbuyselltrade.ca/adimages/ +<* +vivo.sx08@R#buzzadexchange.com/a/display.php?r= +)ÿ/08@Rbworldonline.com/adserver/ +:ÿ/* +skidrowreloaded.com08@Rc1.popads.net/pop.js +4ÿ/08@R%cache.nymag.com/scripts/ad_manager.js +/ÿ/08@R calgarysun.com/assets/js/dfp.js? +Nÿ/08@R?cameralabs.com/PG_library/Regional/US/Love_a_Coffee_120x240.jpg +¦* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R%campingworld.com/images/AffiliateAds/ +4ÿ/08@R%canadianlisted.com/css/*/ad/index.css +/08@R!candystand.com/assets/images/ads/ +)08@Rcanoe.com/Canoe/Ad/premium/ +Bÿ/08@R3capitalone360.com/js/adwizard/adwizard_homepage.js? +! 08@Rcarambo.la^*/GetAds +Bÿ/08@R3carandclassic.co.uk/images/buttons/edit_free_ad.gif +508@R'carandclassic.co.uk/images/free_advert/ +Aÿ/08@R2caranddriver.com/assets/js/ads/ads-combined.min.js +.€08@Rcaranddriver.com/tools/iframe/? +&08@Rcarzone.ie/es-ie/*advert +<* + +kmvt.com08@R"cas.clickability.com/cas/cas.js?r= +'08@Rcasino.com/banners/flash/ + 08@Rcbc.ca/ads/*.php? +Oÿ/08@R@cbs.com/sitecommon/includes/cacheable/combine.php?*/adfunctions. +Yÿ/* +cnettv.cnet.com08@R7cbsistatic.com/cnwk.1d/ads/common/manta/adfunctions*.js +Eÿ/* + +cnet.com08@R*cbsistatic.com^*/js/plugins/doubleclick.js +.ÿ/08@Rcbsistatic.com^*/sticky-ads.js? +<* + radio.com08@R!cbslocal.com/flash/videoads.*.swf +* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@Rcc-dt.com/link/tplimage?lid= +,ÿ/08@Rcctv.com/js/cntv_Advertise.js +zÿ/* +hutchgo.com.cn* +hutchgo.com.hk* +hutchgo.com.sg* +hutchgo.com.tw* +hutchgo.com08@Rcdn.advertserve.com^ +=ÿ/* +usanetwork.com08@Rcdn.betrad.com/pub/icon1.png +[ÿ/08@RLcdn.complexmedianetwork.com/cdn/agenda.complex.com/js/jquery.writecapture.js +Qÿ/08@RBcdn.complexmedianetwork.com/cdn/agenda.complex.com/js/jwplayerl.js +Qÿ/08@RBcdn.complexmedianetwork.com/cdn/agenda.complex.com/js/swfobject.js +Tÿ/08@REcdn.complexmedianetwork.com/cdn/agenda.complex.com/js/writecapture.js +5* + xfire.com08@Rcdn.cpmstar.com/cached/js/ +A* + xfire.com08@R&cdn.cpmstar.com/cached/swf/preplay.swf +E@* + tvcatchup.com08@R&cdn.inskinmedia.com/*inskinfiles/flvs/ +Sÿ/* + tvcatchup.com08@R3cdn.inskinmedia.com/isfe/4.1/swf/unitcontainer2.swf +Fÿ/* +virginmedia.com08@R$cdn.inskinmedia.com^*/brightcove3.js +Dÿ/* +mousebreaker.com08@R!cdn.inskinmedia.com^*/ipcgame.js? +3* + travelzoo.com08@Rcdn.intentmedia.net^ +9ÿ/08@R*cdn.pch.com/spectrummedia/spectrum/adunit/« +(08@Rcdn.travidia.com/fsi-page/ +&08@Rcdn.travidia.com/rop-ad/ +'08@Rcdn.travidia.com/rop-sub/ +4ÿ/08@R%cdn.turner.com^*/video/336x280_ad.gif +RR* +moneycontrol.com* +indiatvnews.com* + +intoday.in08@Rcdn.vdopia.com^ +4ÿ/08@R%cdn77.org/static/js/advertisement*.js +** +splitsider.com08@R +cdn77.org^ +a* +collectivelyconscious.net* +live.robinwidget.com* +batmanstream.com08@R +cdn77.org^ +!08@Rcellc.co.za/adserv/ +-08@Rcerebral.s4.bizhat.com/banners/ +>ÿ/08@R/channel4.com/media/scripts/oasconfig/siteads.js ++ÿ/08@Rchanneladvisor.com^*/GetAds? +e* +charlieandmekids.com.au* +charlieandmekids.co.nz08@R"charlieandmekids.com/www/delivery/ +&08@Rchase.com/content/*/ads/ +%ÿ/08@Rchase.com^*/adserving/ +E 08@R7cheapoair.ca/desktopmodules/adsales/adsaleshandle.ashx? +F 08@R8cheapoair.com/desktopmodules/adsales/adsaleshandle.ashx? +=ÿ/08@R.checkerdist.com/product-detail.cfm?*advert_id= +0* + askqology.com08@Rcheckm8.com/adam/ +)@08@Rcheckm8.com/crossdomain.xml +7ÿ/08@R(chemistwarehouse.com.au/images/AdImages/ +3P08@R%chibis.adotube.com/appruntime/player/ +608@R(chibis.adotube.com/appRuntime/swfobject/ +&P08@Rchibis.adotube.com/napp/ ++08@Rchicavenue.com.au/assets/ads/ +@ÿ/08@R1christianhouseshare.com.au/images/publish_ad1.jpg +1ÿ/08@R"cio.com/www/js/ads/gpt_includes.js +) 08@Rclassifiedads.com/adbox.php +&ÿ/08@Rclassifieds.wsj.com/ad/ +-ÿ/08@Rclassistatic.com^*/banner-ads/ +8ÿ/08@R)cleveland.com/static/common/js/ads/ads.js + 08@Rclickbd.com^*/ads/ +®ÿ/* +calcalist.co.il* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +walla.co.il* +youjizz.com* +youporn.com* + +mako.co.il* + +ynet.co.il* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R"clients*.google.com/adsense/*?key= +N* +healthmeans.com08@R-cloudflare.com/ajax/libs/videojs-contrib-ads/ +@ÿ/* +radiojavan.com08@Rcloudflare.com^*/videojs.ads.js +¸ * +jobstreet.com.my* +jobstreet.com.ph* +jobstreet.com.sg* +jobstreet.co.id* +jobstreet.co.in* +jobstreet.co.th* + jobstreet.com* +jobstreet.vn08@Rcloudfront.net/_ads/ +D * +lucidchart.com* +lucidpress.com08@Rcloudfront.net/ad/ +cÿ/* +dailymaverick.co.za* +boreburn.com* + +yibada.com* + +v3.co.uk08@Rcloudfront.net/ads/ +F* +citationmachine.net08@R!cloudfront.net/assets/ads_728x90- +#ÿ/08@Rclub777.com/banners/ +=ÿ/08@R.clustrmaps.com/images/clustrmaps-back-soon.jpg +( 08@Rcnet.com/ad/ad-cookie/*?_= +iÿ/* +cnsm.com.br08@RKcnsm.com.br/wp-content/plugins/wp-bannerize/css/wpBannerizeStyleDefault.css +2ÿ/08@R#coastlinepilot.com/hive/images/adv_ +2@08@R$collective-media.net/crossdomain.xml +<@* +wrc.com08@R#collective-media.net/pfadx/wtv.wrc/ +2ÿ/08@R#colorado.gov/airquality/psi/adv.png +Iÿ/* +classifieds.nydailynews.com08@Rcomboadmedia.adperfect.com^ +[* +thefreethoughtproject.com* +thecountrycaller.com08@Rcomeadvertisewithus.com^ +8ÿ/08@R)commarts.com/Images/missinganissue_ad.gif +:08@R,commercialmotor.com/profiles/*advertisement/ +908@R+commercialmotor.com^*/advertisement-images/ +. 08@R commons.wikimedia.org/w/api.php? +;08@R-completemarkets.com/pictureHandler.ashx?adid= +H08@R:computerworld.com/resources/scripts/lib/doubleclick_ads.js +5ÿ/08@R&comsec.com.au^*/homepage_banner_ad.gif +Fÿ/* +cntraveller.com08@R$condenast.co.uk/scripts/cn-advert.js +4 08@R&connectingdirectories.com/advertisers/ +(08@Rconstructalia.com/banners/ +>@08@R0contactmusic.com/advertpro/servlet/view/dynamic/ +:ÿ/* +itv.com08@R content.aimatch.com/swfobject.js +308@R%content.datingfactory.com/promotools/ +<ÿ/08@R-content.hallmark.com/scripts/ecards/adspot.js +O* +business.linkedin.com08@R(content.linkedin.com/content/*/text-ads/ß +8ÿ/08@R)copesdistributing.com/images/adds/banner_ +;ÿ/08@R,corporatehousingbyowner.com/js/ad-gallery.js +/ÿ/08@R cosmopolitan.com/ams/page-ads.js +<08@R.cosmopolitan.com/cm/shared/scripts/refreshads- +0ÿ/08@R!countryliving.com/ams/page-ads.js +2ÿ/08@R#crazygamenerd.web.fc2.com^*/ads.png +508@R'cricbuzz.com/includes/ads/images/wct20/ +C08@R5cricbuzz.com/includes/ads/images/worldcup/more_arrow_ +2ÿ/08@R#cricbuzz.com/includes/ads/schedule/ +108@R#cricketcountry.com/js/ad-gallery.js +/* +streamcloud.eu08@Rcrickwrite.com^ +1 * +crowdin.com08@Rcrowdin.com/project/ +#ÿ/08@Rcsair.com/*/adpic.js +7€08@R(csmonitor.com/advertising/sharetools.php +3ÿ/08@R$csoonline.com/js/doubleclick_ads.js? +S* +css-tricks.com08@R3css-tricks.com/wp-content/uploads/*/google-adsense- +:ÿ/08@R+css.wpdigital.net/wpost/css/combo?*/ads.css +3* + ctrl.blog08@Rctrl.blog/media/adsense- +9ÿ/08@R*ctv.ca/players/mediaplayer/*/AdManager.js^ +$ÿ/08@Rcubeecraft.com/openx/ +<ÿ/08@R-cvs.com/webcontent/images/weeklyad/adcontent/ +1* + +goal.com08@Rcxmedia.co^*/ads/ads.js +8ÿ/08@R)cyberpower.advizia.com/CyberPower/adv.asp +6ÿ/08@R'cyberpower.advizia.com^*/scripts/adv.js +;ÿ/08@R,cydiaupdates.net/CydiaUpdates.com_600x80.png +Tÿ/* + reelkandi.com08@R4d1sp6mwzi1jpx1.cloudfront.net^*/advertisement_min.js +>* +streamcloud.eu08@Rd2nlytvx51ywh9.cloudfront.net^ +08@Rd3con.org/data1/ +Y * +lucidchart.com* +lucidpress.com08@R'd3iuob6xw3k667.cloudfront.net^*.com/ad/ +Dÿ/* +wowhead.com08@R&d3pkae9owd2lcf.cloudfront.net/mb102.js +:* + +ispot.tv08@R d6u22qyv3ngwz.cloudfront.net/ad/ +7ÿ/* +deviantart.com08@Rda-ads.com/truex.html? +@08@R2dailycaller.com/wp-content/plugins/advertisements/ +/ÿ/08@R dailyhiit.com/sites/*/ad-images/ +/ÿ/08@R dailymail.co.uk^*/googleads--.js +8ÿ/08@R)dailymotion.com/videowall/*&clickTAG=http +.ÿ/08@Rdailypilot.com/hive/images/adv_ +2ÿ/08@R#danielechevarria.com^*/advertising- +3@08@R%dart.clearchannel.com/crossdomain.xml +2@08@R$data.panachetech.com/crossdomain.xml +3@* +southpark.nl08@Rdata.panachetech.com/ +!08@Rdataknet.com/s.axd? +:ÿ/08@R+davescomputertips.com/images/ads/paypal.png +8ÿ/08@R)davidsilverspares.co.uk/graphics/*_ad.gif +*ÿ/08@Rdawanda.com^*/ad_center.css +(ÿ/08@Rdawanda.com^*/adcenter.js +0@08@R"dc.tremormedia.com/crossdomain.xml + 08@Rdealerimg.com/Ads/ +* 08@Rdelicious.com^*/compose?url= +>ÿ/08@R/deliciousdigital.com/data/our-work/advertising/ +;ÿ/08@R,delish.com/cm/shared/scripts/refreshads-*.js +H€* + anchorfree.us08@R(delivery.anchorfree.us/player-multi.php? +-€08@Rdelvenetworks.com/player/*_ad_ +4@* + tvcatchup.com08@Rdemo.inskinmedia.com^ +Nÿ/* +yourtailorednews.com08@R'deployads.com/a/yourtailorednews.com.js +/‚08@R design-essentials.net/affiliate/ +Cÿ/08@R4developer.apple.com/app-store/search-ads/images/*-ad +:* +deviantart.com08@Rdeviantart.net/fs*/20*_by_ +Lÿ/08@R=deviantart.net/minish/advertising/downloadad_splash_close.png +Mÿ/* +dexerto.com08@R/dexerto.com/app/themes/dexerto/assets/js/ads.js +\ÿ/* +marketwatch.com08@R:dianomi.com/partner/marketwatch/js/dianomi-marketwatch.js? +0€08@R!dianomi.com/recirculation.epl?id= +6ÿ/08@R'digiads.com.au/css/24032006/adstyle.css +Bÿ/08@R3digiads.com.au/images/shared/misc/ad-disclaimer.gifþ# ++08@Rdigsby.com/affiliate/banners/ +I08@R;direct.fairfax.com.au/hserver/*/site=vid.*/adtype=embedded/ +Uÿ/*& +$localmarket.autismsupportnetwork.com08@Rdirectorym.com/articles_media/ ++ÿ/08@Rdirecttextbook.com^*.php?ad_ +&ÿ/08@Rdirectwonen.nl/adverts/ +Lÿ/08@R=discovery.com/components/consolidate-static/?files=*/adsense- +9ÿ/08@R*disney.com.au/global/swf/banner300x250.swf +<@08@R.disney.go.com/dxd/data/ads/game_ad.xml?gameid= +,ÿ/08@Rdisneyphotopass.com/adimages/ +408@R&disruptorbeam.com/assets/uploaded/ads/ +7ÿ/* +dailymail.co.uk08@Rdmgt.grapeshot.co.uk^ +3ÿ/* +daft.ie08@Rdmstatic.com^*/adEntry.js +/08@R!doityourself.com^*/shared/ads.css +'ÿ/08@Rdolidoli.com/images/ads- +5ÿ/* +go.com08@Rdolimg.com^*/dxd_ad_code.swf +,ÿ/08@Rdolphinimaging.com/banners.js +*ÿ/08@Rdolphinimaging.com/banners/ +&ÿ/08@Rdomandgeri.com/banners/ +7* +betfair.com08@Rdotomi.com/commonid/match? + * +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@Rdoubleclick.net/ad/*.linkshare/ +*@08@Rdoubleclick.net/ad/can/chow/ +5@* +tv.com08@Rdoubleclick.net/ad/can/tvcom/ +H€* +mlb.com08@R.doubleclick.net/adi/*.mlb/photos;*;sz=300x250; +X€* +mlb.com08@R>doubleclick.net/adi/*.mlb/scoreboard;pageid=scoreboard_ymd;sz= +A€08@R2doubleclick.net/adi/amzn.*;ri=digital-music-track; +G€* +apartments.com08@R&doubleclick.net/adi/apts.com/home;pos= +<€* + +ebay.com08@R!doubleclick.net/adi/ebay.*/video; +N€* +mlb.mlb.com08@R0doubleclick.net/adi/mlb.mlb/*;pageid=cutfour;sz= +R€* +mlb.com08@R8doubleclick.net/adi/mlb.mlb/*;pageid=free_agent_tracker_ +N€* +mlb.com08@R4doubleclick.net/adi/mlb.mlb/*^free_agent_tracker_12^ +:€* +sny.tv08@R!doubleclick.net/adi/sny.tv/media; +M€* +doctoroz.com08@R.doubleclick.net/adi/sony.oz.opus/*;pos=bottom; +J€* +yesnetwork.com08@R)doubleclick.net/adi/yesnetwork.com/media; +<€* + +zillow.com08@Rdoubleclick.net/adi/zillow.hdp/ +L* +bbc.com08@R3doubleclick.net/adj/bbccom.live.site.auto/*^sz=1x1^ +?* + +people.com08@R#doubleclick.net/adj/cm.peo/*;cmpos= +=* + +time.com08@R#doubleclick.net/adj/cm.tim/*;cmpos= +808@R*doubleclick.net/adj/ctv.muchmusicblog.com/ +D* + ghsrv.com08@R)doubleclick.net/adj/gamesco.socialgaming/ +D08@R6doubleclick.net/adj/imdb2.consumer.video/*;sz=320x240, +L* + +kval.com08@R2doubleclick.net/adj/kval/health;pos=gallerytop;sz= +708@R)doubleclick.net/adj/nbcu.nbc/videoplayer- +?* +manualsonline.com08@Rdoubleclick.net/adj/oiq.man. +^* +candystand.com08@R>doubleclick.net/adj/pch.candystand/video;pos=box;sz=300x250;a= +708@R)doubleclick.net/adj/pong.all/*;dcopt=ist; +Y* +pro-football-reference.com08@R-doubleclick.net/adj/profootballreference.fsv/ +g* +yorkshirepost.co.uk08@RBdoubleclick.net/adj/yorkshire.jp/main-section;*;sz=120x600,160x600 +{* +mylifetime.com* + speedtest.net* + tweaktown.com* +history.com* + +aetv.com* +fyi.tv08@Rdoubleclick.net/ddm/ +Q€* + glassdoor.com08@R1doubleclick.net/ddm/clk/*://www.amazon.jobs/jobs/ +m* +videotoolbox.com* +convert-me.com* +grammarist.com* + +goal.com08@Rdoubleclick.net/favicon.ico +ÿ/* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@R%doubleclick.net/instream/ad_status.js +I€08@R:doubleclick.net/N2605/adi/MiLB.com/scoreboard;*;sz=728x90; +I* +virginmedia.com08@R(doubleclick.net/N6545/adj/*_music/video; +A* + +zillow.com08@R%doubleclick.net/N6619/adj/zillow.hdp/ +9@* +latimes.com08@Rdoubleclick.net/pfadx/*/cbs/ +; * +nfl.com08@R"doubleclick.net/pfadx/nfl.*/html5; +008@R"doubleclick.net/pfadx/umg.*;sz=10x +>@* +nfl.com08@R%doubleclick.net^*/ad/nfl.*.smartclip/ +E€* + +milb.com08@R*doubleclick.net^*/adi/MiLB.com/multimedia^ +D€* + +milb.com08@R)doubleclick.net^*/adi/MiLB.com/standings^ +I08@R;doubleclick.net^*/adj/wwe.shows/ecw_ecwreplay;*;sz=624x325; +G* +ft.com08@R/doubleclick.net^*/ftcom.*;sz=1x1;*;pos=refresh; +J* +player.video.news.com.au08@R doubleclick.net^*/ndm.tcm/video; +>08@R0doubleclick.net^*/targeted.optimum/*;sz=968x286;! +N€* + +ktiv.com* + +wflx.com08@R'doubleclick.net^*/videoplayer*=worldnow +G* +reuters.com08@R*doubleclick.net^*;type=BizDev_Article_RR1; + 08@Rdove.saymedia.com^ +"ÿ/08@Rdownvids.net/ads.js +Bÿ/08@R3dragon-mania-legends-wiki.mobga.me^*_advertisement. +Bÿ/08@R3dragon-mania-legends-wiki.mobga.me^*_Advertisement_ +ˆÿ/* +travelocity.com* + +igougo.com08@RXdrf-global.com/servicegateway/globaltrips-shopping-svcs/drfadserver-1.0/pub/adserver.js? +* +travelocity.com* + +igougo.com08@Radrf-global.com/servicegateway/globaltrips-shopping-svcs/drfadserver-1.0/pub/drfcomms/advertisers? +ˆ* +travelocity.com* + +igougo.com08@RYdrf-global.com/servicegateway/globaltrips-shopping-svcs/drfadserver-1.0/pub/drfcomms/drf? +C@* +bollywoodhungama.com08@Rdrizzle.monsoonads.com/ip.php +7* + +ndtv.com08@Rdrop.ndtv.com/social/widgets/ +-08@Rdropzone.no/sap/its/gfx/top_ad_ +:ÿ/08@R+drunkard.com/banners/drunk-korps-banner.jpg +5ÿ/08@R&drunkard.com/banners/drunkard-gear.jpg +<ÿ/08@R-drunkard.com/banners/modern-drunkard-book.jpg +)ÿ/08@Rdrupal.org^*/revealads.png +-@08@Rdstw.adgear.com/crossdomain.xml +y@* +streamtheworld.com* + +hot899.com* + +nj1015.com* +tsn.ca08@R/dstw.adgear.com/impressions/int/as=*.json?ag_r= +/08@R!dwiextreme.com/banners/dwiextreme +08@R dx.com/openx/ +E08@R7dyncdn.buzznet.com/catfiles/?f=dojo/*.googleadservices. +8 08@R*eafyfsuh.net/intermission/loadTargetUrl?t= +608@R(eafyfsuh.net/scripts/generated/key.js?t= +0ÿ/08@R!eagleboys.com.au/eagleboys/*/ads/ +(ÿ/08@Rearthcam.com/swf/ads5.swf +Bÿ/08@R3earthtechling.com^*/imasters-wp-adserver-styles.css +2ÿ/08@R#earthtv.com/player_tmp/overlayad.js +:08@R,easyfundraising.org.uk/images/home/*-120x60. +/ÿ/08@R ebaumsworld.com/js/aol-prebid.js +608@R(ebayrtm.com/rtm?rtmcmd&a=json&cb=parent. +B€08@R3eboundservices.com/iframe/newads/iframe.php?stream= +2ÿ/08@R#economist.com.na^*/banners/cartoon_ +*ÿ/08@Reconomist.com/ads_jobs.json +6@08@R(edgar.pro-g.co.uk/data/*/videos/adverts/ +<@* + +radiou.com08@R edge.andomedia.com^*/ando/files/ +=ÿ/08@R.edmontonjournal.com/js/adsync/adsynclibrary.js +0ÿ/08@R!edmontonsun.com/assets/js/dfp.js? +1ÿ/08@R"eduspec.science.ru.nl^*-images/ad- +%08@Reeweb.com/comics/*_ads- +?ÿ/08@R0egotastic.us.intellitxt.com/intellitxt/front.asp +)€08@Rehow.co.uk/frames/ad.html? +1 08@R#eightinc.com/admin/zone.php?zoneid= +*ÿ/08@Relephantjournal.com/ad_art/ +308@R%eluxe.ca^*_doubleclick.js*.pagespeed. +, 08@Remailbidding.com^*/advertiser/ +Pÿ/08@RAemergencymedicalparamedic.com/wp-content/themes/AdSense/style.css +;ÿ/08@R,empireonline.com/images/image_index/300x250/ +,€08@Rengadget.com/_uac/adpage.html +M* +stackoverflow.com* +serverfault.com08@Rengine.adzerk.net/ados? +9* +streamcloud.eu08@Rengine.spotscenered.info^ +Jÿ/08@R;englishanimes.com/wp-content/themes/englishanimes/js/pop.js +=08@R/engrish.com/wp-content/uploads/*/advertisement- +4ÿ/* +entrobet.com08@Rentrobet.com/banners/ +f * +epiccustommachines.com08@R>epiccustommachines.com/cdn-cgi/pe/bag2?r*.googleadservices.com +-@08@Repicgameads.com/crossdomain.xml +H@* +freewebarcade.com08@R%epicgameads.com/games/getSwfPath.php? +K@* +freewebarcade.com08@R(epicgameads.com/games/mec_release_*.swf? +q * +epicindustrialautomation.com08@RCepicindustrialautomation.com/cdn-cgi/pe/bag2?r*googleadservices.com +f * +epicmodularprocess.com08@R>epicmodularprocess.com/cdn-cgi/pe/bag2?r*.googleadservices.com +j * +epicpackagingsystems.com08@R@epicpackagingsystems.com/cdn-cgi/pe/bag2?r*.googleadservices.com +V * +epicsysinc.com08@R6epicsysinc.com/cdn-cgi/pe/bag2?r*.googleadservices.com +d * +epicvisionsystems.com08@R=epicvisionsystems.com/cdn-cgi/pe/bag2?r*.googleadservices.com +sÿ/08@Rdeplayerhtml5.performgroup.com/js/tsEplayerHtml5/js/Eplayer/js/modules/bannerview/bannerview.main.js? +%08@Requippers.com/abm.aspx?Š +,08@Requippers.com/absolutebm.aspx? +-ÿ/08@Resi.tech.ccp.is^*/affiliation/ +008@R"espn.co.uk/ads/gamemodule_v0.2.swf +,€08@Respn.go.com^*/espn360/banner? +:* +espn.go.com08@Respncdn.com/combiner/*/admgr. +>ÿ/* +espn.go.com08@R espncdn.com/combiner/c?*/ads.css +A* + +espnfc.com08@R%espncdn.com/combiner/c?*/advertising. +4ÿ/* + +espnf1.com08@Respngp.com/ads/*_sprite +*08@Resquire.com/ams/page-ads.js? +ÿ/08@R +euads.org^ +u* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@Reurogamer.net^ +"08@Revanscycles.com/ads/ +008@R"eventcinemas.co.nz^*_adhub_server_ +3ÿ/08@R$eventim.de/obj/basic/ad2_obj/layout/ +*ÿ/08@Rewallpapers.eu/ads/logo.jpg +I* +imgserve.net* +imgtiger.com08@Rexoclick.com/ads.php?*login +4ÿ/08@R%expedia.co.nz/html.cms/tpid=*&adsize= +/ÿ/08@R expedia.com/daily/common/msi.asp +2€08@R#expedia.com/html.cms/TPID=*&ADSIZE= +708@R)expedia.com/js.ng/*&PLACEMENT=CXHOMECORE_ +/ÿ/08@R expedia.com/minify/ads-min-*.js? +!08@Rexplosm.net/comics/ +*08@Rexplosm.net/db/files/comics/ +2ÿ/08@R#expressclassifiedstt.com/adimg.php? +7„08@R(extras.chron.com/banners/*/social_icons/ +2* + ezone.com08@Rezone.com/banners/swfs/ +@ÿ/* +freelancer.com08@Rf-cdn.com/build/js/ads/main.js? +/* +furaffinity.net08@Rfacdn.net/art/ +5 08@R'facebook.com/ads/ajax/ads_stats_dialog/ +6€08@R'facebook.com/ads/api/preview_iframe.php +3 08@R%facebook.com/ads/profile/advertisers/ +1 08@R#facebook.com/ads/profile/interests/ +\ * +facebook.com08@R>facebook.com/ajax/feed/filter_action/dialog_direct_action_ads? +5ÿ/* +facebook.com08@Rfacebook.com/rsrc.php/ +(@08@Rfaceinhole.com/adsense.swf +"08@Rfaculty.uml.edu^*/ad +*ÿ/08@Rfarecompare.com^*/farecomp/ +"ÿ/08@Rfbcdn.net/rsrc.php/ +G* +facebook.com08@R)fbexternal-a.akamaihd.net/safe_image.php? +Cÿ/08@R4feedroom.speedera.net/static.feedroom.com/affiliate/ +1@08@R#feeds.videogamer.com^*/videoad.xml? +-@08@Rfestina.com/txt/advertising.xml +6ÿ/* +pinnaclesports.com08@Rff.connextra.com^ +5@08@R'fifa.com/flash/videoplayer/libs/advert_ +"08@Rfiles.coloribus.com^ +?* +hackerboards.com08@Rfiles.linuxgizmos.com/adlink_ +?08@R1filestage.to/design/player/player.swf?*&popunder= +Eÿ/08@R6firstpost.in/wp-content/uploads/promo/social_icons.png +(08@Rfixtracking.com/images/ad- +U* +flashgames247.com08@R2flashgames247.com/advertising/ima-vast-preroll.swf +.08@R flipboard.com/media/uploads/adv_ +C€* +affrity.com08@R%flipkart.com/affiliate/displayWidget? +Fÿ/08@R7flossmanuals.net/site_static/xinha/plugins/DoubleClick/ +?ÿ/08@R0flyerservices.com/cached_banner_pages/*bannerid= +.ÿ/08@Rflysaa.com^*/jquery.adserver.js +,ÿ/* + +theawl.com08@Rfmpub.net/site/ +Lÿ/* +foxnews.com08@R.fncstatic.com^*/fox411/fox-411-head-728x90.png +<ÿ/08@R-folklands.com/health/advertise_with_us_files/ + 08@Rforce.com/adv_ +08@Rforex.com/adx/ +) 08@Rfortune.com/data/chartbeat/ +)ÿ/08@Rforums.realgm.com/banners/ +7ÿ/08@R(freeads.in/classifieds/common/postad.css +$ÿ/08@Rfreeads.in/freead.pngŽS +=08@R/freeonlinegames.com/advertising/adaptv-as3.swf? +@08@R2freeonlinegames.com/advertising/google-loader.swf? ++ÿ/08@Rfreeride.co.uk/img/admarket/ ++ÿ/08@Rfreeviewnz.tv^*/uploads/ads/ +o* +freeworldgroup.com08@RKfreeworldgroup.com/googleloader/GoogleAds.swf?contentId=FWG_Game_PreLoader& +Nÿ/08@R?fs-freeware.net/images/jdownloads/downloadimages/banner_ads.png +Dÿ/* +slashdot.org08@R%fsdn.com/sd/topics/advertising_64.png +-ÿ/08@Rfuniaste.net/obrazki/*&adtype= +** +msn.com08@Rfwmrm.net/ad/g/1? +;ÿ/* +msn.com08@R!fwmrm.net/p/msn_live/AdManager.js +C@* +newgrounds.com08@R!g.doubleclick.net/crossdomain.xml +@* +majorleaguegaming.com* +player.rogersradio.ca* +worldstarhiphop.com* +volarvideo.com* + +viki.com* +nfl.com08@Rg.doubleclick.net/gampad/ads? +»* +zanesvilletimesrecorder.com* +wisconsinrapidstribune.com* +bucyrustelegraphforum.com* +lancastereaglegazette.com* +portclintonnewsherald.com* +democratandchronicle.com* +greenbaypressgazette.com* +mansfieldnewsjournal.com* +marshfieldnewsherald.com* +montgomeryadvertiser.com* +battlecreekenquirer.com* +burlingtonfreepress.com* +hattiesburgamerican.com* +lansingstatejournal.com* +poughkeepsiejournal.com* +stevenspointjournal.com* +chillicothegazette.com* +vroomvroomvroom.com.au* +courierpostonline.com* +desmoinesregister.com* +greatfallstribune.com* +thenews-messenger.com* +visaliatimesdelta.com* +wausaudailyherald.com* +coshoctontribune.com* +greenvilleonline.com* +statesmanjournal.com* +theleafchronicle.com* +computerworlduk.com* +courier-journal.com* +livingstondaily.com* +merriam-webster.com* +mycentraljersey.com* +shreveporttimes.com* +thedailyjournal.com* +thenorthwestern.com* +thesimsresource.com* +urbandictionary.com* +virginaustralia.com* +baxterbulletin.com* +casamientos.com.ar* +delawareonline.com* +drupalcommerce.org* +flightcentre.co.uk* +newarkadvocate.com* +sheboyganpress.com* +thetimesherald.com* +thoughtcatalog.com* +casamentos.com.br* +casamiento.com.uy* +clarionledger.com* +games.latimes.com* +ithacajournal.com* +matrimonio.com.co* +matrimonio.com.pe* +press-citizen.com* +pressconnects.com* +theadvertiser.com* +weddingspot.co.uk* +blastingnews.com* +floridatoday.com* +hometownlife.com* +investopedia.com* +postcrescent.com* +thestarpress.com* +argusleader.com* +dailyrecord.com* +defensenews.com* +escapegames.com* +fdlreporter.com* +liverpoolfc.com* +livescience.com* +news-leader.com* +stargazette.com* +tallahassee.com* +thenewsstar.com* +thespectrum.com* +thetowntalk.com* +ticketek.com.ar* +boatshop24.com* +cincinnati.com* +coloradoan.com* +dailyworld.com* +daveramsey.com* +jacksonsun.com* +lifehacker.com* +marionstar.com* +matrimonio.com* +matrimonios.cl* +motorcycle.com* +nauticexpo.com* +news-press.com* +newsleader.com* +tennessean.com* + autoguide.com* + casamentos.pt* + economist.com* + podomatic.com* + ripley.com.pe* +bodas.com.mx* +deadspin.com* +indystar.com* +jalopnik.com* +jconline.com* +mariages.net* +mydesert.com* +pal-item.com* +phoronix.com* +foxnews.com* +gizmodo.com* +guampdn.com* +htrnews.com* +jezebel.com* +sctimes.com* + +beqala.com* + +gawker.com* + +kotaku.com* + +mysoju.com* + +nonags.com* + +noodle.com* + +orbitz.com* + +volokh.com* + +zillow.com* + bodas.net* + freep.com* + lohud.com* + ripley.cl* + zavvi.com* +app.com* +dnj.com* +io9.com* +kbb.com* +rgj.com* +wlj.net* +wsj.com* +zui.com* +gz.com* +qz.com08@Rg.doubleclick.net/gampad/ads? +;"* +foodkick.com08@Rg.doubleclick.net/gampad/ads? +J * +daveramsey.com* + s4c.cymru08@Rg.doubleclick.net/gampad/ads? +^* +pianobuyer.com08@R>g.doubleclick.net/gampad/ads?*^iu_parts=7372121%2CPTGBanner%2C +9ÿ/* +rte.ie08@R g.doubleclick.net/gampad/ads?adk +5 * +qz.com08@Rg.doubleclick.net/gampad/adx? +Wÿ/* +ticketek.com.ar* +nitrome.com08@R&g.doubleclick.net/gampad/google_ads.js +‹* +greyhoundbet.racingpost.com* +consequenceofsound.net* +vroomvroomvroom.com.au* +washingtonexaminer.com* +video.foxbusiness.com* +winnipegfreepress.com* +lehighvalleylive.com* +merriam-webster.com* +thesimsresource.com* +urbandictionary.com* +casamientos.com.ar* +drupalcommerce.org* +flightcentre.co.uk* +thoughtcatalog.com* +casamentos.com.br* +casamiento.com.uy* +independent.co.uk* +indianexpress.com* +matrimonio.com.co* +matrimonio.com.pe* +weddingspot.co.uk* +blastingnews.com* +caranddriver.com* +investopedia.com* +africanindy.com* +ebaumsworld.com* +fastcompany.com* +liverpoolfc.com* +livescience.com* +nydailynews.com* +brandonsun.com* +daveramsey.com* +lifehacker.com* +matrimonio.com* +matrimonios.cl* +nauticexpo.com* +oregonlive.com* +phonearena.com* +pianobuyer.com* +sendtonews.com* +vanityfair.com* + 120sports.com* + casamentos.pt* + cleveland.com* + denofgeek.com* + economist.com* + mardigras.com* + pocketnow.com* + ripley.com.pe* +allmusic.com* +bodas.com.mx* +deadspin.com* +denofgeek.co* +foodkick.com* +gamespot.com* +gsmarena.com* +gulflive.com* +jalopnik.com* +mariages.net* +masslive.com* +pennlive.com* +phoronix.com* +seahawks.com* +syracuse.com* +cbsnews.com* +foxnews.com* +gizmodo.com* +jezebel.com* +latimes.com* +nytimes.com* +weather.com* + +beqala.com* + +gawker.com* + +goalzz.com* + +kotaku.com* + +marvel.com* + +noodle.com* + +orbitz.com* + +silive.com* + +zillow.com* + bodas.net* + canoe.com* + m.tmz.com* + mlive.com* + ripley.cl* + zavvi.com* + zdnet.com* + +cwtv.com* + +nola.com* + +time.com* + +wtop.com* +io9.com* +kbb.com* +mlb.com* +opb.org* +out.com* +tmz.com* +upi.com* +wlj.net* +wsj.com* +wwe.com* +al.com* +ew.com* +nj.com* +qz.com08@R"g.doubleclick.net/gpt/pubads_impl_ +Y@* +gameark.com* + +ebog.com08@R0g.doubleclick.net/pagead/ads?ad_type=image_text^ +K@08@R=g.doubleclick.net/pagead/ads?ad_type=text_dynamicimage_flash^ +‰ÿ/* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@R!g.doubleclick.net/static/glade.js +Œ* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@R%g.doubleclick.net/static/glade/extra_ +8 +08@R*g4tv.com/clientscriptoptimizer.ashx?*-ads. +/08@R!gactv.com^*/javascript/ad/coread/ ++08@Rgame.zylom.com^*.swf?*&adURL= +/08@R!game.zylom.com^*/cm_loader.*.swf? +1€08@R"gamehouse.com/adiframe/preroll-ad/ +5€08@R&gameitnow.com/ads/gameadvertentie.php? +108@R#gameitnow.com/ads/google_loader.swf + Ð08@Rgames.cnn.com/ad/ +J€08@R;gamesgames.com/vda/friendly-iframe.html?videoPreroll300x250 +¨* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R'gan.doubleclick.net/gan_impression?lid= +O* +greenbaypressgazette.com* + wcsh6.com08@Rgannett.gcion.com/addyn/ +{ * +indystar.com08@R]gannettdigital.com/universal-web-client/master/latest/elements/video/video-ads/video-ads.html +(ÿ/08@Rgarmin.com^*/Sponsors.js? + 08@Rgarrysmod.org/ads/ ++ÿ/08@Rgcultra.com/js/exit_popup.js +?08@R1geektime.com/wp-content/uploads/*/Google-Adsense- +%08@Rgetgamesgo.com/Banners/ +-€08@Rgetkahoot.com/banners/welcome/ +Zÿ/* +shopping.ninemsn.com.au* +shopping.yahoo.com.au08@Rgetprice.com.au/images/ +5ÿ/* + ogame.org* + +ogame.us08@R gfsrv.net/ad/ +?ÿ/* +game.zylom.com08@Rghstatic.com/archives/*&adURL= +308@R%girlsplay.com/banners/ima3_preloader_ + 08@Rgitorious.org/adv/ +(08@Rgizmodo.in/doubleclickads/ +Cÿ/08@R4glamour.com/aspen/components/cn-fe-ads/js/cn.dart.js +/ÿ/08@R glamour.com/aspen/js/dartCall.js +5ÿ/08@R&glendalenewspress.com/hive/images/adv_ +B* +odysseyware.com08@R!glnimages.s3.amazonaws.com/odw/ad +*ÿ/08@Rglobaltv.com/js/smdg_ads.js +@* + +glos.ac.uk08@R$glos.ac.uk/DataRepository/*/adv/adv_ +>08@R0gmfreeze.org/site_media//uploads/page_ad_images/ +<ÿ/* +healthboards.com08@Rgmodules.com/ig/ifr?up_ad +‘08@R‚gmx.com/images/outsource/application/mailclient/mailcom/resource/mailclient/flash/multiselection_upload/multiselectionupload-*.swf +0* +affrity.com08@Rgo2cloud.org/aff_i? +8@08@R*godtube.com/resource/mediaplayer/*&adzone= +# 08@Rgoember.com/ad/*.xml? +3 08@R%goodeed.com/donation/pr/*/makegoodeed +$ÿ/08@Rgoodyhoo.com/banners/ +¥ * + google.com.ar* + google.com.au* + google.com.br* + google.com.co* + google.com.ec* + google.com.eg* + google.com.hk* + google.com.mx* + google.com.my* + google.com.pe* + google.com.ph* + google.com.pk* + google.com.py* + google.com.sa* + google.com.sg* + google.com.tr* + google.com.tw* + google.com.ua* + google.com.uy* + google.com.vn* +google.co.id* +google.co.il* +google.co.in* +google.co.jp* +google.co.kr* +google.co.nz* +google.co.th* +google.co.uk* +google.co.ve* +google.co.za* + +google.com* + google.ae* + google.at* + google.be* + google.bg* + google.by* + google.ca* + google.ch* + google.cl* + google.cz* + google.de* + google.dk* + google.dz* + google.ee* + google.es* + google.fr* + google.gr* + google.hr* + google.hu* + google.ie* + google.it* + google.lt* + google.lv* + google.nl* + google.no* + google.pl* + google.pt* + google.ro* + google.rs* + google.ru* + google.se08@Rgoogle.*/s?*&q= +² * + google.com.ar* + google.com.au* + google.com.br* + google.com.co* + google.com.ec* + google.com.eg* + google.com.hk* + google.com.mx* + google.com.my* + google.com.pe* + google.com.ph* + google.com.pk* + google.com.py* + google.com.sa* + google.com.sg* + google.com.tr* + google.com.tw* + google.com.ua* + google.com.uy* + google.com.vn* +google.co.id* +google.co.il* +google.co.in* +google.co.jp* +google.co.kr* +google.co.nz* +google.co.th* +google.co.uk* +google.co.ve* +google.co.za* + +google.com* + google.ae* + google.at* + google.be* + google.bg* + google.by* + google.ca* + google.ch* + google.cl* + google.cz* + google.de* + google.dk* + google.dz* + google.ee* + google.es* + google.fr* + google.gr* + google.hr* + google.hu* + google.ie* + google.it* + google.lt* + google.lv* + google.nl* + google.no* + google.pl* + google.pt* + google.ro* + google.rs* + google.ru* + google.se08@Rgoogle.*/search?sclient=*&q=’: +¸* + google.com.ar* + google.com.au* + google.com.br* + google.com.co* + google.com.ec* + google.com.eg* + google.com.hk* + google.com.mx* + google.com.my* + google.com.pe* + google.com.ph* + google.com.pk* + google.com.py* + google.com.sa* + google.com.sg* + google.com.tr* + google.com.tw* + google.com.ua* + google.com.uy* + google.com.vn* +google.co.id* +google.co.il* +google.co.in* +google.co.jp* +google.co.kr* +google.co.nz* +google.co.th* +google.co.uk* +google.co.ve* +google.co.za* + +google.com* + google.ae* + google.at* + google.be* + google.bg* + google.by* + google.ca* + google.ch* + google.cl* + google.cz* + google.de* + google.dk* + google.dz* + google.ee* + google.es* + google.fr* + google.gr* + google.hr* + google.hu* + google.ie* + google.it* + google.lt* + google.lv* + google.nl* + google.no* + google.pl* + google.pt* + google.ro* + google.rs* + google.ru* + google.se08@R"google.*/webpagethumbnail?*&query= +3 +08@R%google.com/_/apps-static/*/socialads/ +2ÿ/08@R#google.com/_static/images/*/ads.png +ÿ/* +searchresults.verizon.com* +buckeyecablesystem.net* +windstreambusiness.net* +armstrongmywire.com* +mybendbroadband.com* +cincinnatibell.net* +myconsolidated.net* +trustedreviews.com* +mediacomtoday.com* +mycenturylink.com* +query.nytimes.com* +broadstripe.net* +centurylink.net* +hawaiiantel.net* +hickorytech.net* +myhughesnet.com* +atlanticbb.net* +homeaway.co.uk* +livestrong.com* +northstate.net* +suddenlink.net* +windstream.net* + search.rr.com* +cableone.net* +mygrande.net* +myritter.com* +surewest.com* +truvista.net* +zoover.co.uk* +bestbuy.com* +bresnan.net* +charter.net* +forbbbs.org* +hargray.net* +knology.net* +mybrctv.com* +nwcable.net* +rentals.com* +synacor.net* +toshiba.com* + +mygvtc.com* + +wowway.net* + +zoover.com* + about.com* + midco.net* + myepb.net* + +dish.net* + +ehow.com* +tds.net08@R,google.com/ads/search/module/ads/*/search.js +]€* + +sedo.co.uk* + +sedo.com* +sedo.jp* +sedo.kr* +sedo.pl08@Rgoogle.com/adsense/ +ÿ/* +searchresults.verizon.com* +buckeyecablesystem.net* +windstreambusiness.net* +armstrongmywire.com* +mybendbroadband.com* +cincinnatibell.net* +myconsolidated.net* +trustedreviews.com* +mediacomtoday.com* +mycenturylink.com* +query.nytimes.com* +broadstripe.net* +centurylink.net* +hawaiiantel.net* +hickorytech.net* +myhughesnet.com* +atlanticbb.net* +gumtree.com.au* +homeaway.co.uk* +livestrong.com* +northstate.net* +suddenlink.net* +windstream.net* +www.google.com* + search.rr.com* +cableone.net* +mygrande.net* +myritter.com* +surewest.com* +truvista.net* +zoover.co.uk* +bestbuy.com* +bresnan.net* +charter.net* +forbbbs.org* +hargray.net* +knology.net* +mybrctv.com* +nwcable.net* +rentals.com* +synacor.net* +toshiba.com* + +mygvtc.com* + +wowway.net* + +zoover.com* + midco.net* + myepb.net* + +dish.net* +tds.net08@R google.com/adsense/search/ads.js +Nÿ/* + about.com* + +ehow.com08@R&google.com/adsense/search/async-ads.js +B€ * +livestrong.com* + +ehow.com08@Rgoogle.com/afs/ads? +Fÿ/* +www.google.com08@R%google.com/doubleclick/studio/swiffy/ +-€* +sh.st08@Rgoogle.com/recaptcha/ +" 08@Rgoogle.com/search?q= +L* +landandfarm.com* +guardian.co.uk08@Rgoogle.com/uds/?file=ads& +O€ * +livestrong.com* + about.com* + +ehow.com08@Rgoogle.com/uds/afs? +7* +guardian.co.uk08@Rgoogle.com/uds/api/ads/ +~* +trustedreviews.com* +query.nytimes.com* +landandfarm.com* +www.google.com08@R google.com/uds/api/ads/*/search. +T€ 08@RCgoogle.com/uds/modules/elements/newsshow/iframe.html?format=728x90^ +=ÿ/* +whitepages.com08@Rgoogle.com^*/show_afs_ads.js +Bÿ/* +healthmeans.com08@R googleads.github.io/videojs-ima/ +Nÿ/* +dillards.com08@R/googleadservices.com/pagead/conversion_async.js +0ÿ/08@R!googleapis.com/affiliation/*?key= +Hÿ/* + +viki.com* +wwe.com08@R"googleapis.com/flash/*adsapi_*.swf +:@* +nx8.com08@R!googlesyndication.com/pagead/ads? +z* +vroomvroomvroom.com.au* +liverpoolfc.com* + +noodle.com* +kbb.com08@R&googlesyndication.com/pagead/imgad?id= +* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@R&googlesyndication.com/pagead/imgad?id= +A€ * +foodkick.com08@R googlesyndication.com/safeframe/ +m€* +merriam-webster.com* +investopedia.com* +livescience.com08@R googlesyndication.com/safeframe/ +Ó* +rockpapershotgun.com* +casamientos.com.ar* +drupalcommerce.org* +flightcentre.co.uk* +thoughtcatalog.com* +casamentos.com.br* +casamiento.com.uy* +matrimonio.com.co* +matrimonio.com.pe* +weddingspot.co.uk* +nintendolife.com* +amctheatres.com* +liverpoolfc.com* +matrimonio.com* +matrimonios.cl* +pianobuyer.com* + casamentos.pt* + economist.com* + eurogamer.net* + podomatic.com* + ripley.com.pe* +bodas.com.mx* +mariages.net* +usgamer.net* + +beqala.com* + +orbitz.com* + bodas.net* + ripley.cl* + vg247.com* + zavvi.com* +wlj.net08@Rgooglesyndication.com/simgad/ +J* +wsj.com08@R1googlesyndication.com/simgad/13728906246154688052 +I* +wsj.com08@R0googlesyndication.com/simgad/7375390051936080329 +H* +wsj.com08@R/googlesyndication.com/simgad/781098143614816132 +H* +wsj.com08@R/googlesyndication.com/simgad/781301171516911047 +‹ÿ/* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@R#googletagservices.com/dcm/dcmads.js +1* +deliverydeals.co.uk08@Rgopjn.com/b/ +‚ÿ/* +gamerevolution.com* +comingsoon.net* + +sohh.com08@R?gorillanation.com/storage/lightbox_code/static/companion_ads.js +(ÿ/08@Rgotoassist.com/images/ad/ +(08@Rgotomeeting.com/images/ad/ +Oÿ/* +greasyfork.org08@R.greasyfork.org/system/screenshots/screenshots/ +3* +gsmarena.com08@Rgsmarena.com/adjs.php +$08@Rguardian4.com/banners/ +9 08@R+guardianapps.co.uk^*/advertisement-features +6ÿ/08@R'guim.co.uk^*/styles/wide/google-ads.css +7ÿ/08@R(gulflive.com/static/common/js/ads/ads.js +&ÿ/08@Rgumtree.com^*/postAd.js +408@R&gws.ign.com/ws/search?*&google_adpage= +@* +hackerboards.com08@Rhackerboards.com/files/adlink_ +.ÿ/08@Rhackintosh.zone/ipscdn/adsense/ ++08@Rhafeezcentre.pk^*/ads_images/ +"ÿ/08@Rhallo.co.uk/advert/ +%08@Rharmonsgrocery.com/ads/ +.ÿ/08@Rhawaii-scuba.com/ads_styles.css +1ÿ/08@R"hbindependent.com/hive/images/adv_ +8* +metoffice.gov.uk08@Rheader.tech/MetOffice_ +=@08@R/healthadnet.adprimemedia.com/vn/vna/data/ad.php +I* +healthcare-learning.com08@R healthcare-learning.com/banners/ +Cÿ/* +cms.gov08@R)healthcare.gov/global/images/widgets/him/ +Bÿ/08@R3healthline.com/resources/base/js/responsive-ads.js? +7€08@R(healthline.com/v2/ad-leaderboard-iframe? +Fÿ/08@R7healthline.com/v2/ad-mr2-iframe?useAdsHost=*&dfpAdSite= +9ÿ/08@R*hebdenbridge.co.uk/ads/images/smallads.png +2@08@R$hellotv.in/livetv/advertisements.xml +Tÿ/08@REhentai-foundry.com/themes/default/images/buttons/add_comment_icon.png +7€08@R(hihostels.com^*/hibooknow.php?affiliate= +"08@Rhillvue.com/banners/ +408@R&hipsterhitler.com/wp-content/webcomic/Á +,08@Rhistoryextra.com^*_advertorial +8ÿ/* + +hitc.com08@Rhitc-s.com^*/advertisement.js +G* +junglevibe2.net* +linkshrink.net08@Rhitwastedgarden.com^ +:ÿ/* +trustedreviews.com* +nme.com08@R +hm732.com^ +"08@Rhologfx.com/banners/ +2ÿ/08@R#homedepot.com^*/thdGoogleAdSense.js +@ÿ/08@R1hotnewhiphop.com/web_root/images/ads/banner-*.png +Cÿ/08@R4housebeautiful.com/cm/shared/scripts/refreshads-*.js +' 08@Rhoustonpress.com/adindex/ +8ÿ/08@R)howcast.com/flash/assets/ads/liverail.swf +$ÿ/08@Rhp.com^*/scripts/ads/ +4ÿ/08@R%huffingtonpost.co.uk/_uac/adpage.html +2ÿ/08@R#huffingtonpost.com/_uac/adpage.html +-ÿ/08@Rhuffingtonpost.com/images/ads/ +=ÿ/* +huffingtonpost.com08@Rhuffpost.com/images/ads/ +'ÿ/08@Rhulu.com/published/*.flv +'ÿ/08@Rhulu.com/published/*.mp4 +1ÿ/08@R"huntington.com/Script/AdManager.js +~ÿ/* +hutchgo.com.cn* +hutchgo.com.hk* +hutchgo.com.sg* +hutchgo.com.tw* +hutchgo.com08@Rhutchgo.advertserve.com^ +6ÿ/08@R'i.cdn.turner.com^*/adserviceadapter.swf +{ÿ/* +cnettv.cnet.com* +metacritic.com* + cbssports.com* +cbsnews.com* +tv.com08@Ri.com.com^*/adfunctionsd-*.js +*08@Ri.espn.co.uk/ads/gamemodule_ +1* +phonearena.com08@Rib.adnxs.com/jpt? +.@08@R ibnlive.com/videoads/*_ads_*.xml +/ÿ/* +carsdirect.com08@Ribsrv.net/ads/ +8ÿ/08@R)icefilms.info/jquery.lazyload-ad-*-min.js +:* +duckduckgo.com08@Ricons.duckduckgo.com^*.ico +*08@Ricons.iconarchive.com/icons/ ++ÿ/08@Ridentity-us.com/ads/ads.html +708@R)ifeelgoood.com/tapcontent-*.swf?clicktag= +1ÿ/08@R"iframe.ivillage.com/iframe_render? +K* +teamxbox.com08@R-ign.com/js.ng/size=headermainad&site=teamxbox +. 08@R ign.com/newsfeed-block?*&adType= +!ÿ/08@Rikea.com^*/img/ad_ +"ÿ/08@Rikea.com^*/img/ads/ +Bÿ/* + +amazon.com08@R%images-amazon.com/images/*/adsimages/ +T* + +amazon.com08@R8images-amazon.com/images/G/01/traffic/s9m/images/sweeps/ +0ÿ/* +affrity.com08@Rimages-amazon.com^ +R* + +amazon.com08@R6images-na.ssl-images-amazon.com/images/*/dacx/AdForge/ +<08@R.images.dashtickets.co.nz/advertising/featured/ +-08@Rimages.frys.com/art/ads/images/ +) +08@Rimages.frys.com/art/ads/js/ +Dÿ/08@R5images.nationalgeographic.com/wpf/media-live/graphic/ ++ÿ/08@Rimages.nickjr.com/ads/promo/ +K* +itsjudytime.com* +glamour.com08@Rimages.rewardstyle.com/img? +5ÿ/* + yahoo.net08@Rimages.vantage-media.net^ +F* +barnesandnoble.com08@R"imagesbn.com/resources?*/googlead. +=@08@R/imasdk.googleapis.com/flash/core/3.*/adsapi.swf +@@08@R2imasdk.googleapis.com/flash/sdkloader/adsapi_3.swf +J€* +spotify.com08@R*imasdk.googleapis.com/js/core/bridge*.html +ôÿ/* +player.performgroup.com* +video.foxbusiness.com* +play.ludigames.com* +video.foxnews.com* +allcatvideos.com* +healthmeans.com* +beinsports.com* + audiomack.com* + bloomberg.com* + cbssports.com* + thestreet.com* + vidyomani.com* +gamejolt.com* +indystar.com* +news.sky.com* +theverge.com* +usatoday.com* +cbsnews.com* +complex.com* + +rumble.com* + +snopes.com* + +cnet.com* + +cwtv.com* + +powr.com* +mobg.io* +yiv.com* +cbc.ca08@R*imasdk.googleapis.com/js/sdkloader/ima3.js +3* +betfair.com08@Rimg-cdn.mediaplex.com^ +4ÿ/* +brickscout.com08@Rimg.brickscout.com^ +/* + +espnf1.com08@Rimg.espngp.com/ads/ +Aÿ/* + +afl.com.au08@R$img.mediaplex.com^*_afl_bettingpage_ +2ÿ/* +dailydot.com08@Rimg.revcontent.com^ +.ÿ/08@Rimg.thedailywtf.com/images/ads/ +08@Rimg.travidia.com^ +408@R&img.weather.weatherbug.com^*/stickers/ +?ÿ/* +egreetings.com08@Rimgag.com^*/adaptvadplayer.swf +,ÿ/08@Rimobie.com/js/anytrans-adv.js +H* +deliverydeals.co.uk08@R#imp*.tradedoubler.com/imp?type(img) +G* +europe-airports.com08@R"imp*.tradedoubler.com/imp?type(js) +B* +sunsteps.org08@R$impde.tradedoubler.com/imp?type(img)È* +@ÿ/* +weather.com08@R"imwx.com/js/adstwo/adcontroller.js +; 08@R-imzy.com/api/communities/no-auth/creative_ads +8ÿ/* +nydailynews.com08@Rindexww.com/ht/nydn.js +9ÿ/08@R*indiaresults.com/advertisements/submit.png +-P08@Rindiatimes.com/configspace/ads/ +7ÿ/08@R(infoworld.com/www/js/ads/gpt_includes.js +;@* +channel4.com08@Rinnovid.com/crossdomain.xml +Aÿ/* +cbs.com08@R'innovid.com/iroll/package/iab-vpaid-ex/ +&@* + +hulu.com08@Rinnovid.com^ +?ÿ/* +cbs.com08@R%innovid.com^*/VPAIDEXIRollPackage.swf +Lÿ/* + tvcatchup.com08@R,inskin.vo.llnwd.net^*/api/tvcatchup-light.js +Fÿ/* + tvcatchup.com08@R&inskin.vo.llnwd.net^*/api/tvcatchup.js +=@* + tvcatchup.com08@Rinskin.vo.llnwd.net^*/preroll_ +B* + tvcatchup.com08@R#inskinad.com/isapadserver/ads.aspx? +Fÿ/* +virginmedia.com08@R$inskinmedia.com^*/api/brightcove3.js +Aÿ/* +mousebreaker.com08@Rinskinmedia.com^*/js/base/api/ +) 08@Rinspectrumapp.com/verified/ +%08@Rinspire.net.nz/adverts/ +-08@Rintellicast.com/App_Images/Ads/ +#08@Rintellicast.com^*/ad- +ÿ/08@Rintellitext.co^ ++08@Rintellitxt.com/ast/js/nbcuni/ +8"* + travelzoo.com08@Rintentmedia.net/adServer/ +;* + travelzoo.com08@Rintentmedia.net/javascripts/ +- +08@Rinteradcorp.com/script/interad. +$08@Rintergi.com^*/videos/ +;* +investopedia.com08@Rinvestopedia.com/inv/ads/ +1ÿ/08@R"investors.com/Scripts/AdScript.js? ++@08@Rinviziads.com/crossdomain.xml +5ÿ/08@R&iolproperty.co.za/images/ad_banner.png +A@* +canadianrockies.org08@Ripcamhost.net/flashads/*.swf +Dÿ/* +trustedreviews.com08@Ripcdigital.co.uk^*/adloader.js? +Aÿ/* +trustedreviews.com08@Ripcdigital.co.uk^*/adtech.js +;ÿ/08@R,island.lk/userfiles/image/danweem/island.gif +- 08@Ritv.com/itv/hserver/*/site=itv/ +-* +itv.com08@Ritv.com/itv/jserver/ +j* +itv.com08@RQitv.com/itv/lserver/jserver/area=*/pubtype=home/*showad=true/*/size=resptakeover/ +$ÿ/08@Ritv.com^*.adserver.js +&08@Ritv.com^*/flvplayer.swf? +-ÿ/08@Ritv.com^*/tvshows_adcall_08.js +.ÿ/08@Ritweb.co.za/banners/en-cdt*.gif +†ÿ/* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@Rjivox.com/player/v1/iBuster.js +2ÿ/08@R#jobs.wa.gov.au/images/advertimages/ +:ÿ/08@R+jobsearch.careerone.com.au^*/bannerad.asmx/ +"ÿ/08@Rjobstreet.com/_ads/ +Cÿ/* +peterboroughtoday.co.uk08@Rjohnston.grapeshot.co.uk^ ++ÿ/08@Rjoyhubs.com/View/*/js/pop.js +3* +everydayhealth.com08@Rjs.indexww.com^ +·ÿ/* +zanesvilletimesrecorder.com* +foxsmallbusinesscenter.com* +wisconsinrapidstribune.com* +bucyrustelegraphforum.com* +lancastereaglegazette.com* +portclintonnewsherald.com* +democratandchronicle.com* +greenbaypressgazette.com* +mansfieldnewsjournal.com* +marshfieldnewsherald.com* +montgomeryadvertiser.com* +battlecreekenquirer.com* +burlingtonfreepress.com* +hattiesburgamerican.com* +lansingstatejournal.com* +poughkeepsiejournal.com* +stevenspointjournal.com* +chillicothegazette.com* +honoluluadvertiser.com* +courierpostonline.com* +desmoinesregister.com* +greatfallstribune.com* +thenews-messenger.com* +visaliatimesdelta.com* +wausaudailyherald.com* +coshoctontribune.com* +greenvilleonline.com* +statesmanjournal.com* +theithacajournal.com* +theleafchronicle.com* +courier-journal.com* +livingstondaily.com* +mycentraljersey.com* +shreveporttimes.com* +thedailyjournal.com* +thenorthwestern.com* +baxterbulletin.com* +delawareonline.com* +newarkadvocate.com* +sheboyganpress.com* +thecalifornian.com* +thetimesherald.com* +citizen-times.com* +clarionledger.com* +press-citizen.com* +pressconnects.com* +theadvertiser.com* +aviationweek.com* +hometownlife.com* +postcrescent.com* +thestarpress.com* +argusleader.com* +centralohio.com* +dailyrecord.com* +delmarvanow.com* +fdlreporter.com* +news-leader.com* +stargazette.com* +tallahassee.com* +thenewsstar.com* +thespectrum.com* +thetowntalk.com* +cincinnati.com* +coloradoan.com* +dailyworld.com* +jacksonsun.com* +marionstar.com* +news-press.com* +newsleader.com* +tennessean.com* +indystar.com* +jconline.com* +mydesert.com* +pal-item.com* +guampdn.com* +htrnews.com* +sctimes.com* +weather.com* + freep.com* + lohud.com* +app.com* +dnj.com* +pnj.com* +rgj.com08@Rjs.revsci.net/gateway/gw.js? +!ÿ/08@Rjsstatic.com/_ads/ +f* +talkrtv.com08@RIjtvnw.net/widgets/jtv_player.*&referer=http://talkrtv.com/ad/channel.php? +(ÿ/08@Rjustin-klein.com/banners/ +:ÿ/* +trustedreviews.com* +nme.com08@R +k01k0.com^ +L@* +thechive.com* +tmz.com08@R#kaltura.com^*/doubleClickPlugin.swf +$ 08@Rkamernet.nl^*/Adverts/ +,ÿ/08@Rkarolinashumilas.com/img/adv/ +(ÿ/08@Rkcna.kp/images/ads_arrow_ +1ÿ/08@R"kcra.com^*/adpositionsizein-min.js +:€08@R+kenovatech.com/affiliate_signin_signup.php? +F@* +gamesforwork.com08@R$keygamesnetwork.com/adserve/request/ +J€08@R;king5.com/templates/belo_dart_iframed_ad?dartTag=LeaderTop& +3ÿ/08@R$kingofgames.net/gads/kingofgames.swf ++ * + m.tmz.com08@Rkixer.com/ad/12? +* * + m.tmz.com08@Rkixer.com/ad/2?¯* +Q08@RCkiz10.com/template/publicidad/ficha/ads_preloadgame/ima3_preloader_ +<08@R.kloubert.com/wp-content/uploads/*/Advertising_ +:ÿ/08@R+koaa.com/videoplayer/iframe.cfm?*&hide_ads= +Bÿ/* +kongregate.com08@R!kongcdn.com/game_icons/*-300x250_ + 08@Rkotak.com/banners/ +* +onehourtranslation.com* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@Rkpsule.me/ads/ +2ÿ/08@R#krispykreme.com/content/images/ads/ +9ÿ/08@R*ksl.com/resources/classifieds/graphics/ad_ +&ÿ/08@Rl.yimg.com/*/adservice/ +008@R"l.yimg.com/zz/combo?*/advertising. +2ÿ/08@R#lacanadaonline.com/hive/images/adv_ +8P08@R*lads.myspace.com/videos/msvideoplayer.swf? +,ÿ/08@Rlanacion.com.ar/*/publicidad/ +9ÿ/08@R*larazon.es/larazon-theme/js/publicidad.js? +S* +mousebreaker.com08@R1lbdevicons.brainient.com/flash/*/VPAIDWrapper.swf +5ÿ/* +uscbookstore.com08@Rlduhtrp.net/image- +Eÿ/* +careerbuilder.com08@R!leadback.advertising.com/adcedge/ +?ÿ/08@R0lehighvalleylive.com/static/common/js/ads/ads.js ++08@Rlelong.com.my/UserImages/Ads/ +&ÿ/08@Rlesacasino.com/banners/ +M* +universityherald.com* + flashx.tv08@Rletsadvertisetogether.com^ +B +08@R4libraryjournal.com/wp-content/plugins/wp-intern-ads/ +.08@R lifehacker.co.in/doubleclickads/ +H08@R:lightningcast.net/servlets/getplaylist?*&responsetype=asx& +S* +hypeseek.com08@R5lijit.com///www/delivery/fpi.js?*&width=728&height=90 +5ÿ/08@R&limecellular.com/resources/images/adv/ +!08@Rlinkbucks.com/tmpl/ +©* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R(linkconnector.com/traffic_record.php?lc= +ž* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@Rlinkshare.iregdev.com/images/ +708@R)linkshrink.net/content/js/jquery-*.min.js +«ÿ/* +onehourtranslation.com* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@R)linkstorm.net/stormbird/ls-pub-include.js +À* +freeshippingbymastercard.com* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@Rlinksynergy.com/fs-bin/show?id= +¼* +freeshippingbymastercard.com* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@Rlinksynergy.com/fs/banners/ +)ÿ/08@Rlipsum.com/images/banners/ +A08@R3listings.brokersweb.com/JsonSearchSb.aspx?*&maxAds= +'ÿ/08@Rlive-support.se^*/Admax/ +Pÿ/* +live.geo.tv08@R2live.seenreport.com:82/media/js/ads_controller.js? +Mÿ/* +live.geo.tv08@R/live.seenreport.com:82/media/js/fingerprint.js? +? * +dailymotion.com08@Rliverail.com/?LR_PUBLISHER_ID= +Z * +dailymotion.com08@R9liverail.com/?url=http%3A%2F%2Fads.adaptv.advertising.com +D* +bluray-disc.de08@R"liverail.com/js/LiveRail.AdManager +D* +keygames.com08@R&liverail.com/js/LiveRail.Interstitial- +C* +newgrounds.com08@R#liverail.com^*/liverail_preroll.swf +u* +addictinggames.com* + shockwave.com* +keygames.com* +nglmedia.com08@R liverail.com^*/vpaid-player.swf? +/08@R!llnwd.net^*/js/3rdparty/swfobject +,08@Rlogmein.com/Serve.aspx?ZoneID= +)ÿ/08@Rlokopromo.com^*/adsimages/ +Jÿ/* +rosemaryconley.tv08@R&longtailvideo.com/flowplayer/ova-*.swf +:ÿ/* +physorg.com08@Rlongtailvideo.com^*/gapro.js +=ÿ/* + +loot.com08@R"loot.com/content/css/combo/advert_ +4 08@R&lovefilm.com/ajax/widgets/advertising/ +Fÿ/08@R7lovefilm.com/static/scripts/advertising/dart.overlay.js +ž* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@Rlovemybubbles.com/images/ads/ +)@08@Rltassrv.com/crossdomain.xml +vÿ/* +animecrazy.net* +sparknotes.com* +gamedorm.org* +satsukai.com* +gamepro.com08@Rltassrv.com/yume.swf +w@* +animecrazy.net* +sparknotes.com* +gamedorm.org* +satsukai.com* +gamepro.com08@Rltassrv.com/yume/yume_ +@€08@R1luceosolutions.com/recruit/advert_details.php?id= +:ÿ/* +video.lycos.com08@Rlycos.com/catman/init.js +3ÿ/08@R$lyngsat-logo.com/icon/flag/az/ad.gif +-ÿ/08@Rmac-sports.com/ads2/508128.swf +<ÿ/08@R-macworld.com/www/js/ads/jquery.lazyload-ad.js +M* +madlemmings.com08@R,madlemmings.com/wp-content/uploads/*/Google- +"@08@Rmads.cbs.com/mac-ad? +1@08@R#mads.com.com/ads/common/faith/*.xmlÐ +0* +tv.com08@Rmads.tv.com/mac-ad?META^ +,ÿ/08@Rmagicbricks.com/img/adbanner/ +( 08@Rmail.google.com^*&view=ad& +1ÿ/08@R"mail.google.com^*/uploaderapi*.swf +9ÿ/08@R*mail.yahoo.com/neo/assets/swf/uploader.swf +0ÿ/08@R!manoramaonline.com/advt/cricbuzz/ +)ÿ/08@Rmansioncasino.com/banners/ +'ÿ/08@Rmaps-static.chitika.net^ + ÿ/08@Rmaps.chitika.net^ +8ÿ/08@R)maps.googleapis.com/maps-api-*/adsense.js +5ÿ/08@R&maps.gstatic.com/maps-api-*/adsense.js ++ÿ/08@Rmarciglesias.com/publicidad/ +>ÿ/08@R/marcokrenn.com/public/images/pages/advertising/ +&ÿ/08@Rmarcs.com^*/AdViewer.js +-@08@Rmarines.com/videos/commercials/ +O08@RAmarketing.beatport.com.s3.amazonaws.com/html/*/Banner_Ads/header_ +Mÿ/* +marketingmag.ca08@R+marketingmag.ca/wp-content/uploads/*/adtech +7ÿ/08@R(masslive.com/static/common/js/ads/ads.js +* +08@Rmaxim.com/advert*/countdown/ +,ÿ/08@Rmcpn.us/resources/images/adv/ +5ÿ/* + +imdb.com08@Rmedia-imdb.com^*/js/ads.js +308@R%media.avclub.com/onion/js/videoads.js +(08@Rmedia.cargocollective.com^ +'ÿ/08@Rmedia.expedia.com/*/ads/ +5* +aopschools.com08@Rmedia.glnsrv.com/ads/ +7* +kenweego.com08@Rmedia.hotelscombined.com^ +3* +monster.com08@Rmedia.monster.com/ads/ +6* + +forbes.com08@Rmedia.net/videoAds.js?cid= +3* +monster.com08@Rmedia.newjobs.com/ads/ +Vÿ/* +christianity.com08@R3media.salemwebnetwork.com/js/admanager/swfobject.js +.08@R media.styleblueprint.com/ad.php? +:ÿ/08@R+media.washingtonpost.com/wp-srv/ad/ad_v2.js +Gÿ/08@R8media.washingtonpost.com/wp-srv/ad/photo-ad-config.jsonp +Dÿ/08@R5media.washingtonpost.com/wp-srv/ad/tiffany_manager.js +5€08@R&mediabistro.com^*/displayadleader.asp? +/ÿ/* +betfair.com08@Rmediaplex.com/ad/ +Tÿ/* + +afl.com.au* + +goal.com08@R+medrx.sensis.com.au/images/sensis/*/util.js +Iÿ/* + +afl.com.au08@R,medrx.sensis.com.au/images/sensis/generic.js +.ÿ/08@Rmedscape.com/html.ng/*slideshow +@ÿ/08@R1medscapestatic.com/pi/scripts/ads/dfp/profads2.js +8* +memecenter.com08@Rmemecdn.com/advertising_ +$08@Rmeritline.com/banners/ +$08@Rmerkatia.com/adimages/ +H* +streamcloud.eu08@R(meta.streamcloud.eu/serve.php?adzone=ipc +'ÿ/08@Rmetacafe.com/banner.php? +/ÿ/08@R metalmusicradio.com^*/banner.php +<ÿ/* + mevio.com08@R meviodisplayads.com/adholder.php +S +* +ancestry.com.au* +ancestry.com08@R"mfcreative.com/lib/tgn/combo.ashx? +[ÿ/08@RLmiller-mccune.com/wp-content/plugins/*/oiopub-direct/images/style/output.css ++08@Rminecraftservers.org/banners/ ++ÿ/08@Rminiclip.com/scripts/js.php? +0ÿ/08@R!miniclipcdn.com/content/push-ads/ +0ÿ/08@R!mircscripts.org/advertisements.js +•* +onehourtranslation.com* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@Rmixpo.com/js/bust.js +5* +mlb.com08@Rmlb.com/bundle?js=*/adproxy. +(ÿ/08@Rmlb.com/scripts/dc_ads.js +Aÿ/08@R2mlb.com/shared/components/gameday/v6/js/adproxy.js +4ÿ/08@R%mlive.com/static/common/js/ads/ads.js +9ÿ/* +classifieds.nydailynews.com08@Rmns.com/ad/ +6ÿ/08@R'mobilefish.com/scripts/advertisement.js +&ÿ/08@Rmobinozer.com^*/gads.js +:ÿ/* +gamesforwork.com08@Rmochiads.com/ctr/*.swf? +Dÿ/* +gamesforwork.com08@R!mochiads.com/srv/*.swf?cachebust= +@ÿ/* +gamesforwork.com08@Rmochiads.com/srv/*.swf?cxnid=ˆ +Kÿ/* +mochigames.com08@R*mochiads.com/static/pub/swf/leaderboard.js +3ÿ/08@R$modaresearch.it/uk/pcss/adverts.css? +408@R&mofunzone.com/ads/ima3_preloader_*.swf +$ÿ/08@Rmoneybookers.com/ads/ +5ÿ/08@R&moneymailer.com/direct-mail-advertise/ +-ÿ/08@Rmonster.com/awm/*/ADVERTISING- +H * +monster.com08@R+monster.com/services/bannerad.asmx/getadsrc +$ÿ/08@Rmotortrade.me/advert/ + ÿ/08@Rmotortrade.me/js/ +; * + +mouser.com08@Rmouser.com/bmp/get.aspx?ZoneID= +8€08@R)movoto.com/LeaderboardAd.aspx?adSpotName= +#ÿ/08@Rmp32u.net/adframe.js +Cÿ/* + mail.live.com08@R#msads.net/adbar/products/*/adbar.js +)ÿ/08@Rmsi.com/js/topad/topad.css +"ÿ/08@Rmsi.com/pic/banner/ +Q* +morningstar.in08@R1msmedia.morningstar.com^*/size=*/random=*/viewid= +Mÿ/08@R>msnbcmedia.msn.com^*/sitemanagement/ads/*/blog_printbutton.png +/* +morningstar.com08@Rmstar.com/ads/ +2ÿ/08@R#msy.com.au/images/ADbanner/eletter/ +2ÿ/08@R#muchmusic.com/includes/js/adzone.js +0ÿ/08@R!mudah.my/css/mudah_adview_min.css +- 08@Rmusic-clips.net/ads/list.txt?_= +Iÿ/* +blastro.com08@R+music-tags.com/tagengine/www/delivery/fl.js +Mÿ/* +blastro.com08@R/music-tags.com/tagengine/www/delivery/spcjs.php +:ÿ/08@R+mussil.com/mussilcomfiles/commercials/*.jpg +,ÿ/08@Rmutualofomaha.com/images/ads/ +Uÿ/* +microsoftvirtualacademy.com08@R'mvapublicstorage.microsoft.com/banners/ +*€08@Rmxtabs.net/ads/interstitial +,ÿ/08@Rmyadt.com/js-ext/smartbanner/ +)08@Rmycricket.com/openx/offers/ +'ÿ/08@Rmyhouseabroad.com/*/ads/ +-ÿ/08@Rmyhouseabroad.com/js/adview.js +,08@Rmymemory.co.uk/images/adverts/ +(08@Rmyprotein.com/Files/OpenX/ +0ÿ/08@R!myrecipes.com/static/advertising/ +3ÿ/* + +enter.ru08@Rmythings.com/c.aspx?atok +0* +mp3clan.one08@Rmzstatic.com/image/ +?08@R1napaonline.com/Content/script/jquery.lazyload-ad- +@08@R2nationalbusinessfurniture.com/product/advertising/ +Lÿ/08@R=nationalgeographic.com/channel/videos/satellite/*.swf?adsite= +9ÿ/08@R*nationmultimedia.com/new/js/doubleclick.js +&ÿ/08@Rnature.com/advertising/ +K* +mavs.wpengine.netdna-cdn.com08@Rnba.com/mobilevideo?*&ad_url= +!ÿ/08@Rnbc.com/collarity/ +=ÿ/08@R.nbcmontana.com/html/js/endplay/ads/ad-core.js? +)ÿ/08@Rncregister.com/images/ads/ +6ÿ/08@R'ncregister.com/images/sized/images/ads/ +"ÿ/08@Rneobux.com/adalert/ +" 08@Rneobux.com/v/?a=l&l= +,ÿ/08@Rneodrive.co/cam/directrev.js? +1* + +arktv.ro08@Rnetdna-cdn.com/banners/ +>ÿ/* +webupd8.org08@R netupd8.com/webupd8/*/adsense.js +Dÿ/* +webupd8.org08@R&netupd8.com/webupd8/*/advertisement.js +- 08@Rnetworkadvertising.org/choices/ +% 08@Rnetworkadvertising.org/ +;ÿ/08@R,networkworld.com/www/js/ads/gpt_includes.js? +/ÿ/08@R newgrounds.com/ads/ad_medals.gif +2ÿ/08@R#newgrounds.com/ads/advertisement.js +3ÿ/08@R$news.nate.com/etc/adrectanglebanner? +008@R"newsweek.com/ads/adscripts/prod/*_ +Nÿ/08@R?newyorker.com/wp-content/assets/js/vendors/cn-fe-ads/cn.dart.js +/ÿ/08@R newzimbabwe.com/banners/350x350/ +2 * + twitch.tv08@Rnexac.com/e/getdata.xgi +2* + +nextag.com08@Rnextag.com/buyer/dyad/£! +$@08@Rnextmedia.com/admedia/ +Z* + nextmovie.com08@R;nextmovie.com/plugins/mtvnimageresizer/actions/scale_image? +ÿ/08@Rnfl.com^*/ads.js +0ÿ/08@R!nflcdn.com/static/*/global/ads.js +2ÿ/* +nfl.com08@Rnflcdn.com^*/adplayer.js +<ÿ/* +nfl.com08@R"nflcdn.com^*/scripts/global/ads.js +8@* +newgrounds.com08@Rngads.com/getad.php?url= +"ÿ/08@Rnick.com/js/ads.jsp +=ÿ/* + +nick.com08@R"nick.com/js/coda/nick/adrefresh.js +*ÿ/08@Rnickjr.com/assets/ad-entry/ +Hÿ/08@R9nickjr.com/global/scripts/overture/sponsored_links_lib.js +208@R$nintandbox.net/images/*-Advertising_ +1ÿ/08@R"nj.com/static/common/js/ads/ads.js +3ÿ/08@R$nola.com/static/common/js/ads/ads.js +:* +deliverydeals.co.uk08@Rnonstoppartner.net/a/ +E* +extrarebates.com* +sunsteps.org08@Rnonstoppartner.net^ +08@Rnotebookcheck. +1ÿ/08@R"nsandi.com/files/asset/banner-ads/ +6ÿ/* +mcclatchydc.com08@Rntv.io/serve/load.js +F* +nyctourist.com08@R&nyctourist.com/www/delivery/spcjs.php? +Kÿ/* +nydailynews.com08@R)nydailynews.servedbyopenx.com/w/1.0/jstag +4ÿ/* +nytimes.com08@Rnyt.com^*/ad-loader.js +:ÿ/* +nytimes.com08@Rnyt.com^*/ad-view-manager.js +.ÿ/* +nytimes.com08@Rnyt.com^*/dfp.js +5ÿ/08@R&nytimes.com/ads/interstitial/skip*.gif +P"* +nytimes.com08@R3nytimes.com/adx/bin/adx_remote.html?type=fastscript +Bÿ/* +myaccount.nytimes.com08@Rnytimes.com/adx/images/ADS +@ÿ/08@R1nytimes.com/adx/images/ads/*_buynow_btn_53x18.gif +Mÿ/08@R>nytimes.com/adx/images/ads/*_premium-crosswords_bg_600x329.gif +Vÿ/* +nytimes.com08@R8nytimes.com/vi-assets/*/js/shared/adlibrary/views/adx.js +Vÿ/* +nytimes.com08@R8nytimes.com/vi-assets/*/js/shared/adlibrary/views/dfp.js +/ÿ/08@R nytimes.com^*/ad-view-manager.js +(08@Rnytimes.perfectmarket.com^ +4@08@R&oas.absoluteradio.co.uk/realmedia/ads/ +Hÿ/08@R9oas.absoluteradio.co.uk^*/www.absoluteradio.co.uk/player/ +?@* + tamilflix.net08@Roas.bigflix.com/realmedia/ads/ +" 08@Roas.theguardian.com^ +W* + discovery.com08@R8oascentral.discovery.com/realmedia/ads/adstream_mjx.ads/ +u* + economist.com* +feedroom.com* +stanford.edu08@R6oascentral.feedroom.com/realmedia/ads/adstream_sx.ads/ +o * +oascentral.feedroom.com08@RFoascentral.feedroom.com/realmedia/ads/adstream_sx.ads/brighthouse.com/ +4@08@R&oascentral.ibtimes.com/crossdomain.xml +8@08@R*oascentral.post-gazette.com/realmedia/ads/ +5@08@R'oascentral.sumworld.com/crossdomain.xml +\ÿ/* + mlssoccer.com08@R<oascentral.sumworld.com/realmedia/ads/adstream_sx.ads/*video +c@* + mlssoccer.com08@RDoascentral.sumworld.com/realmedia/ads/adstream_sx.ads/mlssoccer.com/ +5@08@R'oascentral.surfline.com/crossdomain.xml +]@08@ROoascentral.surfline.com/realmedia/ads/adstream_sx.ads/www.surfline.com/articles +M08@R?oascentral.thechronicleherald.ca/realmedia/ads/adstream_mjx.ads +,08@Roascentral.thepostgame.com/om/ +»ÿ/* +deluxetelevision.com* +weeklyworldnews.com* +bostonherald.com* +animecrave.com* +deluxemusic.tv* +theunlockr.com* +videopoker.com08@R!objects.tremormedia.com/embed/js/ +<ÿ/* +nfl.com08@R"objects.tremormedia.com/embed/sjs/ +Ìÿ/* +deluxetelevision.com* +weeklyworldnews.com* +bostonherald.com* +animecrave.com* +deluxemusic.tv* +theunlockr.com* +videopoker.com08@R2objects.tremormedia.com/embed/swf/acudeoplayer.swf +?ÿ/08@R0objects.tremormedia.com/embed/swf/admanager*.swf +*ÿ/08@Rocp.com.com/adfunctions.js? +>ÿ/* + farmville.com08@Rofferpalads.com^*/opmbanner.js +2ÿ/08@R#okta.com/js/app/sso/interstitial.js +$ÿ/08@Roldergames.com/adlib/ +%ÿ/08@Romgili.com/ads.search? +*ÿ/08@Romgubuntu.co.uk^*/banner.js +V08@RHomnikool.discovery.com/realmedia/ads/adstream_mjx.ads/dsc.discovery.com/ +1@* + today.com08@Ronce.unicornmedia.com^ +F 08@R8onetravel.com/desktopmodules/adsales/adsaleshandle.ashx? +,ÿ/08@Ronionstatic.com^*/videoads.js +6ÿ/* +grammarist.com08@Ropenx.com/favicon.icoñ9 +7* +enjoydressup.com08@Ropenx.ideastudios.ro^ +5* +acmilan.com08@Ropenx.infrontams.tv/www/ +4 * +phonearena.com08@Ropenx.net/w/1.0/arj? +608@R(openx.nobelprize.org/openx/www/delivery/ +3€* +cubeecraft.com08@Ropenx.org/afr.php? +7* + podomatic.com08@Ropenx.org/avw.php?zoneid +2€* +cubeecraft.com08@Ropenx.org/ck.php? +6ÿ/08@R'opgevenisgeenoptie.nl^*/favicon_ad6.ico +3€* +pch.com08@Roptimatic.com/iframe.html +9ÿ/* +pch.com08@Roptimatic.com/redux/optiplayer- +0ÿ/* +pch.com08@Roptimatic.com/shell.js +2* +pch.com08@Roptimatic.com^*/shell.swf +/* +pch.com08@Roptimatic.com^*/shell_ +9ÿ/08@R*oregonlive.com/static/common/js/ads/ads.js ++€08@Rosdir.com/ml/dateindex*&num= +6 08@R(otakumode.com/shop/titleArea?*_promo_id= +T€* +onlinetvrecorder.com08@R-otrkeyfinder.com/otr/frame*.php?ads=*&search= +.ÿ/08@Rottawasun.com/assets/js/dfp.js? +ÿ/08@Roverture.london^ +;@* + +motogp.com08@Rox-d.motogp.com/v/1.0/av?*auid= +/* +qz.com08@Rox-d.qz.com/w/1.0/jstag +B* +rantlifestyle.com08@Rox-d.rantsports.com/w/1.0/jstag +,ÿ/08@Rox-d.sbnation.com/w/1.0/jstag +@* + vg247.com08@R%ox.eurogamer.net/oa/delivery/ajs.php? +6€08@R'ox.popcap.com/delivery/afr.php?&zoneid= +Mÿ/08@R>oxfordlearnersdictionaries.com/external/scripts/doubleclick.js +(ÿ/08@Rozspeedtest.com/js/pop.js +8ÿ/08@R)pachanyc.com/_images/advertise_submit.gif +)ÿ/08@Rpachoumis.com/advertising- +.08@R pacogames.com/ad/ima3_preloader_ +Z* +merriam-webster.com* +gsmarena.com08@R%pagead2.googlesyndication.com/pagead/ +|@* +gameark.com* + +ebog.com* +bn0.com08@RHpagead2.googlesyndication.com/pagead/gadgets/overlay/overlaytemplate.swf +©@* +freeonlinegames.com* +flashgames247.com* + gameitnow.com* + toongames.com* +play181.com08@R>pagead2.googlesyndication.com/pagead/googlevideoadslibrary.swf +c* +virginaustralia.com* +kingofgames.net08@R+pagead2.googlesyndication.com/pagead/imgad? +n@* +gameark.com* + +ebog.com* + +yepi.com* +bn0.com08@R.pagead2.googlesyndication.com/pagead/imgad?id= +òÿ/* +thefreedictionary.com* +downloads.codefi.re* +windows7themes.net* +receive-a-sms.com* +freeclaimbtc.xyz* +tampermonkey.net* +globaldjmix.com* +slideplayer.com* +pattayaone.net* + nlfreevpn.com* + unlockpwd.com* +uploadex.com* +gsmdude.com* +hulkusc.com* +oldapps.com* +talksms.com08@R:pagead2.googlesyndication.com/pagead/js/*/show_ads_impl.js +…ÿ/* +thefreedictionary.com* +tampermonkey.net* +slideplayer.com08@R6pagead2.googlesyndication.com/pagead/js/adsbygoogle.js +Šÿ/* +videotoolbox.com* +destructoid.com* +convert-me.com* +grammarist.com08@R0pagead2.googlesyndication.com/pagead/js/lidar.js +©@* +freeonlinegames.com* +flashgames247.com* + gameitnow.com* + toongames.com* +play181.com08@R>pagead2.googlesyndication.com/pagead/scache/googlevideoads.swf +‘@* + didigames.com* +oyunlar1.com* +nitrome.com* +nx8.com08@RHpagead2.googlesyndication.com/pagead/scache/googlevideoadslibraryas3.swf +ž@* + didigames.com* +oyunlar1.com* +nitrome.com* +nx8.com08@RUpagead2.googlesyndication.com/pagead/scache/googlevideoadslibrarylocalconnection.swf? +tÿ/* +technobuffalo.com* + nlfreevpn.com* +oldapps.com08@R0pagead2.googlesyndication.com/pagead/show_ads.js +O€08@R@pagead2.googlesyndication.com/pagead/static?format=in_video_ads& +9 * + twitch.tv08@Rpagead2.googlesyndication.com/ +4ÿ/08@R%pagesinventory.com/_data/flags/ad.gif +(08@Rpandasecurity.com/banners/ +Nÿ/* +pandasecurity.com08@R*pandasecurity.s3.amazonaws.com/promotions/ +&ÿ/08@Rpantherssl.com/banners/ +2* +paperpk.com08@Rpaperpk.com/Ads/site/ +;* +paperpk.com08@Rpaperpk.com/ads_pic_directory/ +0* +paperpk.com08@Rpaperpk.com/pk_img/ +þÿ/* +juegosdiarios.com* +lightinthebox.com* +memegenerator.net* +playedonline.com* +cadenasuper.com* +demotywatory.pl* +drivearabia.com* +boatshop24.com* +dailygames.com* +ensonhaber.com* + autoguide.com* +nitrome.com* +sulekha.com* + +avclub.com* + +mysoju.com* + +volokh.com* + letio.com* +lbox.me* +nx8.com08@R1partner.googleadservices.com/gampad/google_ads.js +aÿ/* +motorcycle.com* + +mysoju.com08@R2partner.googleadservices.com/gampad/google_ads2.js +ÿ/* +virginaustralia.com* +amctheatres.com* + pitchfork.com* + podomatic.com08@R5partner.googleadservices.com/gampad/google_ads_gpt.js +ßÿ/* +playstationlifestyle.net* +readersdigest.com.au* +juegosdiarios.com* +lightinthebox.com* +memegenerator.net* +playedonline.com* +cadenasuper.com* +demotywatory.pl* +drivearabia.com* +escapegames.com* +ticketek.com.ar* +boatshop24.com* +dailygames.com* +ensonhaber.com* +motorcycle.com* + autoguide.com* +sulekha.com* + +avclub.com* + +mysoju.com* + +volokh.com* + letio.com* +lbox.me* +nx8.com08@R5partner.googleadservices.com/gampad/google_service.js +Ÿ +* +greyhoundbet.racingpost.com* +vroomvroomvroom.com.au* +washingtonexaminer.com* +video.foxbusiness.com* +merriam-webster.com* +thesimsresource.com* +urbandictionary.com* +casamientos.com.ar* +drupalcommerce.org* +flightcentre.co.uk* +thoughtcatalog.com* +casamentos.com.br* +casamiento.com.uy* +independent.co.uk* +indianexpress.com* +matrimonio.com.co* +matrimonio.com.pe* +weddingspot.co.uk* +investopedia.com* +africanindy.com* +liverpoolfc.com* +nydailynews.com* +lifehacker.com* +matrimonio.com* +matrimonios.cl* +nauticexpo.com* +pianobuyer.com* +sendtonews.com* +vanityfair.com* + 120sports.com* + casamentos.pt* + denofgeek.com* + economist.com* + ripley.com.pe* +bodas.com.mx* +deadspin.com* +denofgeek.co* +jalopnik.com* +mariages.net* +phoronix.com* +seahawks.com* +cbsnews.com* +foxnews.com* +gizmodo.com* +jezebel.com* +latimes.com* +nytimes.com* +weather.com* + +beqala.com* + +gawker.com* + +goalzz.com* + +kotaku.com* + +marvel.com* + +noodle.com* + +orbitz.com* + +zillow.com* + bodas.net* + canoe.com* + m.tmz.com* + ripley.cl* + zavvi.com* + zdnet.com* + +cwtv.com* + +time.com* + +wtop.com* +io9.com* +kbb.com* +mlb.com* +opb.org* +out.com* +upi.com* +wlj.net* +wsj.com* +wwe.com* +ew.com08@R-partner.googleadservices.com/gpt/pubads_impl_ +L€* +ask.com08@R2partnerads.ysm.yahoo.com/ypa/?ct=*-search_results% +4@08@R&partners.thefilter.com/crossdomain.xml +KF* +dailymotion.com08@R*partners.thefilter.com/dailymotionservice/ +-ÿ/08@Rpatient-education.com/banners/ +* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R,paulfredrick.com/csimages/affiliate/banners/ +¨* +calcalist.co.il* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +walla.co.il* +youjizz.com* +youporn.com* + +mako.co.il* + +ynet.co.il* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@Rpayload*.cargocollective.com^ +4ÿ/08@R%pbs.org^*/sponsors/flvvideoplayer.swf +2* +twitter.com08@Rpbs.twimg.com/ad_img/» +)€08@Rpch.com/iframe-ad/?adType= + 08@Rpch.com^*/videoad. +Eÿ/* + +pcwdld.com08@R(pcwdld.com/wp-content/uploads/*/AdGuard. +;ÿ/08@R,pcworld.com/www/js/ads/jquery.lazyload-ad.js +7ÿ/08@R(pennlive.com/static/common/js/ads/ads.js +?* +extrarebates.com08@Rpepperjamnetwork.com/banners/ +( 08@Rperbang.dk/_pub/ads.php?u= +0ÿ/08@R!perbang.dk/_pub/advertisement.js? +,ÿ/08@Rperezhilton.com/included_ads/ +-Ð08@Rperezhilton.com^*-without-ads- +L * +performancehorizon.com08@R$performancehorizon.com^*/advertiser/ +!ÿ/08@Rpetapixel.com/ads/ +%ÿ/08@Rpetcarerx.com/banners/ +=ÿ/08@R.petra-fischer.com/tl_files/pics/*/ADVERTISING/ ++ÿ/08@Rpets4homes.co.uk/*/advert.js +,ÿ/08@Rpets4homes.co.uk^*/advert.css +Q08@RCpgatour.com/etc/designs/pgatour-advertisements/clientlibs/ad.min.js +"08@Rphl.org/Advertising/ +3* +netzero.net08@Rphoenix.untd.com/OASX/ +2ÿ/08@R#phonealchemist.com/api/affiliation/ +/08@R!photo.ekathimerini.com/ads/extra/ +'08@Rphotobucket.com/albums/ad +>@* +photobucket.com08@Rphotobucket.com/pbkt/hserver/ +&ÿ/08@Rphotofunia.com/effects/ +Fÿ/* +apps.facebook.com08@R"picmonkey.com/facebook-canvas/?ads +-08@Rpiercesnorthsidemarket.com/ads/ +b * +pilotplantdesign.com08@R<pilotplantdesign.com/cdn-cgi/pe/bag2?r*.googleadservices.com +?@08@R1ping.indieclicktv.com/www/delivery/ajs.php?zoneid +&08@Rpinkbike.org^*.swf?ad=0& +_ÿ/08@RPpioneerfcu.org/assets/images/bannerads/pfcu-system-upgrade-banner-02-180x218.gif +Eÿ/08@R6pitchfork.com/desktop/js/pitchfork/ads/interstitial.js +)* + twitch.tv08@Rpix.btrll.com^ +.* +extrarebates.com08@Rpjtra.com/b/ +&08@Rplanetaxel.com^*.php?ad= +008@R"planetoddity.com/wp-content/*-ads- +#08@Rplanetrecruit.com/ad/ +-€08@Rplayer.animelicio.us/adimages/ +F@* +slacker.com08@R)player.cdn.targetspot.com/crossdomain.xml +I@* +slacker.com08@R,player.cdn.targetspot.com/player/ts_as3.swf? +N@* +slacker.com08@R1player.cdn.targetspot.com/station/*/ts_config.xml +Vÿ/* +tritonmedia.com08@R4player.cdn.targetspot.com/ts_embed_functions_as3.php +8@08@R*player.goviral-content.com/crossdomain.xml +9@08@R+player.onescreen.net/*/MediaPlayer.swf?ads= +Aÿ/08@R2player.streamtheworld.com/liveplayer.php?*adstype= +7ÿ/* +kmozart.com08@Rplayer.tritondigital.com^ +b@* +indianexpress.com* +thehindu.com08@R/player.ventunotech.com/VtnGoogleVpaidIMA_1.swf? +8ÿ/08@R)player.vioapi.com/ads/flash/vioplayer.swf +-ÿ/08@Rplayintraffik.com/advertising/ +)ÿ/08@Rplugcomputer.org^*/ad1.jpg +/* +extrarebates.com08@R pntrac.com/b/ +.* +extrarebates.com08@Rpntrs.com/b/ +‹* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R +pntrs.com^ +.ÿ/08@Rpolitico.com/js/magazine/ads.js +4ÿ/* + pollen.vc08@Rpollen.vc/views/ads.html +ÿ/08@Rpop.advecs.com^ +ÿ/08@R popad.co^ +Fÿ/08@R7popcap.com/sites/all/modules/popcap/js/popcap_openx.js? +Kÿ/* +popularmechanics.com08@R$popularmechanics.com/ams/page-ads.js +0ÿ/* + magesy.be08@Rpopunder.ru/banners/ +!08@Rpornxs.com/ajax.php +'ÿ/08@Rpowercolor.com/image/ad/ +;ÿ/08@R,pressdisplay.com/advertising/showimage.aspx? +>ÿ/08@R/prism.opticsinfobase.org/Scripts/ADS/Details.js +) 08@Rprocato.com/_pub/ads.php?u=µ +0ÿ/08@R!procato.com/_pub/advertisement.js +3ÿ/08@R$productioncars.com/pics/menu/ads.gif +4ÿ/08@R%productioncars.com/pics/menu/ads2.gif +4€08@R%promo.acronis.com^*?base=www.acronis. +%ÿ/08@Rpromo.campaigndog.com^ +7* +freshdirect.com08@Rpromo.freshdirect.com^ +Jÿ/* + +comedy.com08@R-promo2.tubemogul.com/adtags/slim_no_iframe.js +Cÿ/* + +comedy.com08@R&promo2.tubemogul.com/flash/youtube.swf +Lÿ/* + +comedy.com08@R/promo2.tubemogul.com/lib/tubemoguldisplaylib.js +%08@Rpromophot.com/photo/ad/ +;ÿ/08@R,proprofs.com/quiz-school/js/modernizr_ads.js +1* + wordpress.org08@Rps.w.org^*/assets/ +>08@R0pshared.5min.com/Scripts/ThumbSeed2.js?*&adUnit= +208@R$ptgrey.com/_PGR_Content/Advertising/ +Iÿ/* +politico.com08@R*pubmatic.com/AdServer/js/universalpixel.js +:* +grammarist.com08@Rpubmatic.com/AdServer/Pug? +9* +politico.com08@Rpubmatic.com/AdServer/UPug? +808@R*pumpkinpatchkids.com/www/delivery/ajs.php? +*ÿ/08@Rpurebilling.com^*/pb.min.js +-ÿ/08@Rpursuit.co.za/css/globalAd.css +,€08@Rpuzzler.com/commercials/*.htm +#ÿ/08@Rq2servers.com/pop.js +,ÿ/* + +insure.com08@Rqnsr.com/cgi/r? +E@* + yahoo.com08@R*query.vap.yahoo.net/nicobarMan/ads/acctid= +,ÿ/08@Rquit.org.au/images/images/ad/ +8ÿ/* +qz.com08@Rqzprod.files.wordpress.com^*?w= +#08@Rr2games.com/bannerad/ +I* +rackspace.com.au* +rackspace.co.uk08@Rrackcdn.com/banners/ +Lÿ/* +michaels.com08@R-rackcdn.com/banners/default_coupon_banner.png +D * +ninemsn.com.au08@R$rad.msn.com/ADSAdClient31.dll?GetAd= +B* +www.msn.com08@R%rad.msn.com/ADSAdClient31.dll?GetSAd= +(08@Rrad.org.uk/images/adverts/ +Nÿ/08@R?radioguide.fm/minify/?*/Advertising/webroot/css/advertising.css +( 08@Rradioline.co/js/advert.js? +9ÿ/08@R*radiotimes.com/rt-service/resource/jspack? +4ÿ/08@R%rainbowdressup.com/ads/adsnewvars.swf +%08@Rrainiertamayo.com/js/*- +Bÿ/* + +rapmls.com08@R%rapmls.com/banners/small/logoBARI.gif +4ÿ/* + +rapmls.com08@Rrapmls.com^*=AD&Action= +"08@Rrapoo.com/images/ad/ +4ÿ/* + +ehow.com08@Rrc.hotkeys.com/interface/ +Cÿ/08@R4rcards.net/wp-content/plugins/useful-banner-manager/ +Kÿ/08@R<rcards.net/wp-content/uploads/useful_banner_manager_banners/ +<ÿ/* +rankbank.net08@Rrcm-images.amazon.com/images/ +Eÿ/* +asianmommy.com* + filmcrave.com08@Rrcm.amazon.com/e/cm +)08@Rreadwrite.com/files/styles/ +.ÿ/08@Rrealbeauty.com/ams/page-ads.js? +R@08@RDrealmedia.channel4.com/realmedia/ads/adstream_sx.ads/channel4.newcu/ +/ÿ/08@R realvnc.com/assets/img/ad-bg.jpg +.ÿ/08@Rredbookmag.com/ams/page-ads.js? +@08@R2redsharknews.com/components/com_adagency/includes/ +-ÿ/08@Rrefline.ch^*/advertisement.css +Eÿ/08@R6remo-xp.com/wp-content/themes/adsense-boqpod/style.css +$08@Rreplgroup.com/banners/ +-@* +daisuki.net08@Rreq.tidaltv.com^ +A€* +reuters.com08@R#reuters.tv/syndicatedPlayerChannel/ +Sÿ/* +reuters.com08@R5reuters.tv/syndicatedPlayerClient/js/advertisement.js +5* + +powr.com08@Rrevcontent.com//player.php? +Cÿ/* + +powr.com08@R(revcontent.com/build/revpowrvideo.min.js +5* + +powr.com08@Rrevcontent.com/video.js.php +Qÿ/* +talksport.co.uk08@R/revealads.appspot.com/revealads2/radioplayer.js +I@08@R;revit.eu/static/uploads/images/themes/banners/small-banner- +R€* +cheaptickets.com* + +orbitz.com08@R!revresda.com/event.ng/Type=click& +F* +cheaptickets.com08@R$revresda.com/js.ng/*&adsize=544x275&ø" +@* + +orbitz.com08@R$revresda.com/js.ng/*&adsize=960x400& +"08@Rrmncdn.com/ads/mini- +|* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@Rrockpapershotgun.com^ +Hÿ/* + +citytv.com08@R+rogersdigitalmedia.com^*/rdm-ad-util.min.js +™* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@Rrogersmagazines.com/ads/ +.ÿ/08@Rrosauers.com/locations/ads.html +5ÿ/08@R&rotate.infowars.com/www/delivery/fl.js +9ÿ/08@R*rotate.infowars.com/www/delivery/spcjs.php +Iÿ/* +rottentomatoes.com08@R$rottentomatoescdn.com^*/SocialAds.js +ž* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@Rrover.ebay.com^*&size=120x60& +? * +charter.net08@R"rovicorp.com/advertising/*&appver= +0@* +vk.com08@Rrs.mail.ru/vp/adman2.swf +<ÿ/08@R-rsvlts.com/wp-content/uploads/*-advertisment- +4ÿ/* + formspring.me08@Rrt.liftdna.com/fs.js +<ÿ/* + formspring.me08@Rrt.liftdna.com/liftrtb2_2.js +308@R%rthk.hk/assets/flash/rthk/*/ad_banner +708@R)rthk.org.hk/assets/flash/rthk/*/ad_banner +Kÿ/08@R<russellrooftiles.co.uk/images/rrt_envirotile_home_advert.png ++ 08@Rryuutama.com/ads/ads.php?get= +*08@Rs.w.org/plugins/ad-inserter/ +J* +youtube.com08@R-s.ytimg.com/yts/swfbin/player-*/watch_as3.swf +Aÿ/* +britishgas.co.uk* +luxurylink.com08@Rs0.2mdn.net^ +pÿ/* +circusstreet.com08@RMs3.amazonaws.com/digital/ad-ops-and-targeting/images/ad-ops-and-targeting.jpg +&ÿ/08@Rsabotage-films.com/ads/ +08@Rsal.co.th/ads/ +N08@R@sales.liveperson.net/visitor/addons/deploy2.asp?*&d_id=adcenter& +iÿ/08@RZsalfordonline.com/wp-content/plugins/wp_pro_ad_system/templates/js/jquery.jshowoff.min.js? +Lÿ/08@R=salon.com/content/plugins/salon-ad-controller/ad-utilities.js +(@08@Rsascdn.com/crossdomain.xml +$08@Rsascdn.com/diff/video/ +08@Rsascdn.com/video/ +/@08@R!sascdn.com^*/jwplayer-plugin.swf? +/@08@R!sascdn.com^*/jwplayerAdPlugin.swf +7 08@R)sasontnwc.net/intermission/loadTargetUrl? +ÿ/08@Rsave.ca/img/ads/ +2@* +livestream.com08@Rscanscout.com/ads/ ++@08@Rscanscout.com/crossdomain.xml +2ÿ/* + live.scity.tv08@Rscity.tv/js/ads.js +Q * +screenshot.brandverity.com08@R%screenshot.brandverity.com/cm/detail/ +Q * +screenshot.brandverity.com08@R%screenshot.brandverity.com/cm/review/ +g * +cinemassacre.com08@REscreenwavemedia.com/play/SWMAdPlayer/SWMAdPlayer.html?type=ADREQUEST& +Kÿ/* + +scribd.com08@R.scribdassets.com/aggregated/javascript/ads.js? +f@08@RXscrippsnetworks.com/common/adimages/networkads/video_ad_vendor_list/approved_vendors.xml +ÿ/08@R scutt.eu/ads/ +&08@Rsdcdn.com/cms/ads/piczo/ +%08@Rsdelkino.com/images/ad/ +;ÿ/08@R,sdltutorials.com/Data/Ads/AppStateBanner.jpg +,08@Rsearch.comcast.net/static.php? +S* +searchengineland.com08@R-searchengineland.com/figz/wp-content/seloads/ +/ÿ/08@R sec-ads.bridgetrack.com/ads_img/ +.ÿ/08@Rsecondlife.com/assets/*_AD3.jpg +C 08@R5securenetsystems.net/advertising/ad_campaign_get.cfm? +Fÿ/* + +sedo.com* +sedo.de08@R sedo.com/ox/www/delivery/ajs.php ++ÿ/08@Rsekonda.co.uk/advert_images/ +!08@Rselsin.net/imprint- +.@08@R serve.vdopia.com/crossdomain.xml +Jÿ/* +indiatvnews.com* + +intoday.in08@Rserve.vdopia.com/js/vdo.js +p* +tomshardware.co.uk* +tomshardware.com* +wonderhowto.com* + tomsguide.com08@Rservebom.com/tmn*.js +>* +healthmeans.com08@Rservedbyadbutler.com/adserve/ +=ÿ/* +healthmeans.com08@Rservedbyadbutler.com/app.js +=@08@R/server.cpmstar.com/adviewas3.swf?contentspotid= +Rÿ/* +newgrounds.com* + xfire.com08@R$server.cpmstar.com/view.aspx?poolid= ++ÿ/08@Rserviceexpress.net/js/pop.js +wÿ/* +schweizerfleisch.ch* +viandesuisse.ch08@R>serving-sys.com/BurstingRes/CustomScripts/mmConversionTagV3.jsÑ" +Hÿ/* +cricketwireless.com08@R"serving-sys.com/SemiCachedScripts/ +,ÿ/08@Rseventeen.com/ams/page-ads.js +Qÿ/* +dynamo.dictionary.com08@R)sfdict.com/app/*/js/ghostwriter_adcall.js +; 08@R-sh.st/bundles/smeadvertisement/img/track.gif? +@ÿ/* +gamefly.com08@R"shacknews.com/advertising/preroll/ +(08@Rshare.pingdom.com/banners/ +—ÿ/* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@Rshareasale.com/image/ +.ÿ/08@Rsharinspireds.co.nf/Images/Ads/ +!08@Rshawfloors.com/adx/ +:ÿ/08@R+shelleytheatre.co.uk/filmimages/banners/160 +5ÿ/08@R&shop.cotonella.com/media/images/AD350. +§* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R&shopmanhattanite.com/affiliatebanners/ +(08@Rsiamautologistics.com/ads/ +:ÿ/08@R+sify.com/news/postcomments.php?*468x60.html +. 08@Rsignin.verizon.com^*/affiliate/ +9ÿ/08@R*sihanoukvilleonline.com/banners/sologo.png +5ÿ/08@R&silive.com/static/common/js/ads/ads.js ++ÿ/08@Rsillyvamp.com/ads/Donate.png +H* +convert-me.com08@R(simage2.pubmatic.com/AdServer/Pug?vcode= +%ÿ/08@Rsite-jump.com/banners/ +$08@Rsjsuspartans.com/ads2/ +5€08@R&skymediator.com/ads/*/skymediator.php? +8ÿ/* + skype.com08@Rskypeassets.com^*/advertise/ +'ÿ/08@Rslotsheaven.com/banners/ +!ÿ/08@Rslowblog.com/ad.js +n* +cuantocabron.com* +cuantarazon.com* + vistoenfb.com08@R(smartadserver.com/call/pubj/*/8596/s/*/? +4@* +nfl.com08@Rsmartclip.net/delivery/tag? +Dÿ/* +smctemple.wpengine.com08@Rsmc.temple.edu/advertising/ +2ÿ/08@R#smctemple.wpengine.com/advertising/ +:ÿ/* + globalnews.ca08@Rsmdg.ca/ads/banner/pen.png +a†* +smileonthetiles2.co.uk* +smileonthetiles.com08@R!smileonthetiles2.co.uk/openx/www/ +(ÿ/08@Rsmmirror.com^*/getads.php +]ÿ/* +snug-harbor.org08@R;snug-harbor.org/wp-content/uploads/*/Delta_FULL-PAGE-AD.jpg +Kÿ/08@R<socialblogsitewebdesign.com^*/advertising_conversion_images/ +.ÿ/08@Rsoftwarepromotions.com/adwords/ +Lÿ/08@R=softwarepromotions.com/images/google-adwords-professional.gif +5ÿ/08@R&somethingsexyplanet.com/image/adzones/ +208@R$somewheresouth.net/banner/banner.php +*ÿ/08@Rsongza.com/advertising/top/ +7ÿ/08@R(songza.com/static/*/songza/ads/iframe.js +7@08@R)sonicstate.com/video/hd/hdconfig-geo.cfm? +5* +nydailynews.com08@Rsonobi.com/morpheus. +G 08@R9sonypictures.com/global/images/ads/300x250/ad300x250.json +*ÿ/08@Rsonypictures.com^*/admedia/ +\08@RNsouthparkstudios.com/images/shows/south-park/episode-thumbnails/*-advertising_ +@ÿ/08@R1southwest.com/assets/images/ads/ad_select_flight_ +,ÿ/08@Rsouthwest.com^*/homepage/ads/ +Cÿ/08@R4spectrum.ieee.org/assets/js/masonry-ads-right.min.js +%ÿ/08@Rspendino.de/admanager/ +*@08@Rsploder.com/prerollad.swf?s= +@€* +pch.com08@R&sponsorselect.com/direct/preroll.aspx? +Dÿ/* +pch.com08@R*sponsorselect.com/Direct/SponsorIndex.aspx ++@08@Rspotrails.com/crossdomain.xml +;ÿ/08@R,spotrails.com^*/flowplayeradplayerplugin.swf +N* +watchfree.to08@R0spotscenered.info/Scripts/infinity.js.aspx?guid= +Tÿ/* +games.yahoo.com* + onescreen.net08@R!spotxchange.com/ad_player/as3.swf +-@08@Rspotxchange.com/crossdomain.xml +Jÿ/* +directon.tv* +wii-cast.tv08@Rspotxchange.com/flash/ad.swf? +{ÿ/* +icastlive.tv* +directon.tv* +wii-cast.tv* + +boxlive.tv* + +foxnews.ws08@R"spotxchange.com/flash/adplayer.swf +~ÿ/* +games.yahoo.com* + onescreen.net* +directon.tv* +wii-cast.tv08@R-spotxchange.com/media/videos/flash/ad_player/ +Jÿ/* +directon.tv08@R,spotxchange.com/media/videos/flash/adplayer_ +Tÿ/08@REspringboardplatform.com/storage/lightbox_code/static/companion_ads.js +-ÿ/08@Rspringbokradio.com/images/ads- +9ÿ/08@R*springbokradio.com/sitebuilder/images/ads-ä +% 08@Rsprint.com^*/adservice/ +„08@Rsprouts.com/ad/ +7ÿ/* +supersonicads.com08@Rssacdn.com/banners/ +X* + +amazon.com08@R<ssl-images-amazon.com/images/G/01/traffic/s9m/images/sweeps/ +\* +advertising.amazon.com08@R4ssl-images-amazon.com^*/AdProductsWebsite/images/ad- +608@R(ssl-images-amazon.com^*/popover/popover- +Pÿ/* +convert-me.com08@R/sstatic.net/Sites/stackoverflow/img/favicon.ico +"ÿ/08@Rst.com^*/banners.js +.* +gsmarena.com08@Rst.districtm.ca^ +* 08@Rstartxchange.com/textad.php? +7€08@R(state.co.us/caic/pub_bc_avo.php?zone_id= +*08@Rstatedesign.com/advertisers/ +Pÿ/* +stackoverflow.com* +serverfault.com08@Rstatic.adzerk.net/ados.js +(08@Rstatic.ak.fbcdn.net^*/ads/ +>* + bored.com08@R#static.bored.com/advertising/top10/ +<08@R.static.cricinfo.com^*/ADVERTS/*/liveScores.swf +_* +opensubtitles.org* +technobuffalo.com08@R'static.criteo.net/images/pixel.gif?ch=1 +4* +streamcloud.eu08@Rstatic.exoclick.com^ +6* +banggood.com08@Rstaticbg.com/thumb/*/AD/ +eÿ/* +native-instruments.com* +theheldrich.com* + +nest.com08@Rstats.g.doubleclick.net/dc.js ++ÿ/08@Rstclassifieds.sg/images/ads/ +'ÿ/08@Rstclassifieds.sg/postad/ +2@08@R$streaming.gmgradio.com/adverts/*.mp3 + 08@Rstreamlive.to/ads/ +$08@Rstreamplay.club/js/pop +.08@R style.com/flashxml/*.doubleclick +,08@Rstyle.com/images/*.doubleclick +6ÿ/08@R'subscribe.newyorker.com/ams/page-ads.js +6ÿ/08@R'subscribe.teenvogue.com/ams/page-ads.js +Hÿ/* +sulekha.com08@R*sulekhalive.com/images/property/bannerads/ +8ÿ/08@R)summitracing.com/global/images/bannerads/ +0ÿ/08@R!supercartoons.net/ad-preroll.html +.ÿ/08@Rsuperfundo.org/advertisement.js +>ÿ/08@R/supersonicads.com/api/rest/funds/*/advertisers/ +D08@R6supersonicads.com/api/v1/trackCommission.php*password= +E€08@R6supersonicads.com/delivery/singleBanner.php?*&bannerId +6ÿ/08@R'support.dlink.com/Scripts/custom/pop.js +6* +sporcle.com08@Rsurvey.g.doubleclick.net^ +ÿ/* +globalesearch.com* +testfreaks.co.uk* +watchmydeals.com* + bkshopper.com* +geo-ship.com08@R@svcs.ebay.com/services/search/FindingService/*affiliate.tracking +,ÿ/08@Rswordfox.co.nz^*/advertising/ +?08@R1syn.5min.com/handlers/SenseHandler.ashx?*&adUnit= +D* +streamcloud.eu08@R$syndication.exoclick.com/splash.php? +n* + +yimg.com08@RTsyndication.streamads.yahoo.com/na_stream_brewer/brew/*?cid=*&url=*&pvid=*&callback= +7ÿ/08@R(syracuse.com/static/common/js/ads/ads.js +** + thestreet.com08@Rt.st/video/ +# +08@Rtacdn.com^*_popunder_ +Gÿ/* + +zillow.com* +tmz.com08@Rtags.bkrtx.com/js/bk-coretag.js +(ÿ/08@Rtalkgold.com/bans/rss.png +*€08@Rtalkrtv.com/ad/channel.php? +3* +tampermonkey.net08@Rtampermonkey.net^ +@* +foxnews.com08@R#tapad.com/tapestry/1?ta_partner_id= +9* +foxnews.com08@Rtapad.com/tapestry/tapestry- +,ÿ/08@Rtbns.com.au/shops/images/ads/ +6* + +metro.ca08@Rtcadops.ca/consumer/adtagtc_ +E* +techcrunch.com08@R%tctechcrunch2011.files.wordpress.com^ +@@* +teamcoco.com08@R"teamcococdn.com^*/AdManager_*.swf? +?ÿ/08@R0teknikor.com/content/wp-content/themes/*-adv.jpg +Eÿ/08@R6telegraphcouk.skimlinks.com/api/telegraph.skimlinks.js +&ÿ/08@Rtemple.edu/advertising/ +)ÿ/08@Rterraristik.com^*&ad_type= +)ÿ/08@Rterraristik.com^*/ad_pics/ +=ÿ/08@R.tetrisfriends.com/ads/google_dfp_video_ad.html +/ÿ/08@R texasstudentmedia.com/advertise/ +3* +vid.ag08@Rthankyouforadvertising.com^º# +% 08@Rtheatlantic.com/widget/ +1ÿ/08@R"thedailygreen.com/ams/page-ads.js? +;€* + thedoujin.com08@Rthedoujin.com/includes/ads/ +?€08@R0theepochtimes.com/ads/video/inarticle-video.html +6€08@R'theepochtimes.com/ads/videos-below.htm? +7€08@R(theepochtimes.com/ads/videos-right.html? +2ÿ/08@R#theepochtimes.com^*/article-ads.js? +/ÿ/08@R thefourthperiod.com/ads/tfplogo_ +/ÿ/08@R thefrisky.com/js/adspaces.min.js +/@08@R!thekraftgroup.com/crossdomain.xml +9ÿ/08@R*theloop.com.au/js/simplejob_ad_content.js? +Š€* +business-standard.com08@Rbthemoneyconverter.com/CurrencyConverter.aspx?*business-standard.com/ads/currency_converter_img.jpg +=ÿ/08@R.thenewage.co.za/classifieds/images2/postad.gif +1@08@R#thenewsroom.com^*/advertisement.xml +,ÿ/08@Rtheory-test.co.uk/css/ads.css +Aÿ/08@R2theparking-motorcycle.co.uk/images/flag/gif/ad.gif +?ÿ/08@R0theparking-motorcycle.com/images/flag/gif/ad.gif +>ÿ/08@R/theparking-motorcycle.eu/images/flag/gif/ad.gif +9ÿ/* +cbc.ca08@R theplatform.com^*/doubleclick.js +Pÿ/* + thestreet.com08@R0thestreet-static.com/video/js/companionAdFunc.js +#ÿ/08@Rthetvdb.com/banners/ +4ÿ/08@R%theweathernetwork.com/js/adrefresh.js +3 08@R%theweathernetwork.com/tpl/web/adtech/ +5ÿ/08@R&thomann.de/thumb/*/pics/adv/adv_image_ +1ÿ/08@R"thomsonlocal.com/js/adsense-min.js +'ÿ/08@Rthrifty.co.uk/bannerads/ +2ÿ/* +scribol.com08@Rthumbs.hexagram.com^ +=ÿ/08@R.thunderheadeng.com/wp-content/uploads/*300x250 ++ÿ/08@Rtiads.timeinc.net/ads/tgx.js +;@* +channel4.com08@Rtidaltv.com/crossdomain.xml +Kÿ/* + +golf.com08@R0timeinc.net/golf/static/ads/iframe_ad_factory.js +p* +peoplestylewatch.com* + +people.com08@R<timeinc.net/people/static/i/advertising/getpeopleeverywhere- +'ÿ/08@Rtimeinc.net^*/tii_ads.js +.ÿ/08@Rtimeout.com/images/ads/weather/ +4@08@R×ofmalta.com/videoads/*preroll.flv +9ÿ/08@R*tinbuadserv.com/js/integrate/ads_common.js ++08@Rtinbuadserv.com/v3/serve.php? +6ÿ/08@R'tinysubversions.com/clickbait/adjs.json +1ÿ/08@R"tkcarsites.com/soba/bannersservice +*€08@Rtlc.com/shared/ad-enablers/ +&08@Rtm.tradetracker.net/tag? +/@08@R!tnol.com/adimages/digitaledition/ +5ÿ/08@R&tntexpress.com.au^*/marketing/banners/ +L* +thenextweb.com08@R,tnwcdn.com/wp-content/*/files/*/advertising- +L* +thenextweb.com08@R,tnwcdn.com/wp-content/*/files/*/advertising. +!08@Rtooltrucks.com/ads/ +%08@Rtooltrucks.com/banners/ +A08@R3toongames.com/advertising/toon-google-preloader.swf +% 08@Rtoongoggles.com/getads? +'ÿ/08@Rtopgear.com^*/ads.min.js +&ÿ/08@Rtopusajobs.com/banners/ +/ÿ/08@R torontosun.com/assets/js/dfp.js? +=ÿ/08@R.trade-a-plane.com/AdBox/js/jquery.TAP_AdBox.js +008@R"tradecarview.com/material/housead/ +K* +deliverydeals.co.uk* +sunsteps.org08@Rtradedoubler.com/file/ +B* + +autos.ca08@R(trader.ca/TraderMobileAPIBB.asmx/GetAds? +4ÿ/* +propelmedia.com08@Rtrafficvance.com/? +?ÿ/* +propelmedia.com08@Rtrafficvance.com^*/socket.io/ +-ÿ/08@Rtraktorpool.de/scripts/advert/ +'ÿ/08@Rtraktorpool.de^*/advert. +· * + google.com.ar* + google.com.au* + google.com.br* + google.com.co* + google.com.ec* + google.com.eg* + google.com.hk* + google.com.mx* + google.com.my* + google.com.pe* + google.com.ph* + google.com.pk* + google.com.py* + google.com.sa* + google.com.sg* + google.com.tr* + google.com.tw* + google.com.ua* + google.com.uy* + google.com.vn* +google.co.id* +google.co.il* +google.co.in* +google.co.jp* +google.co.kr* +google.co.nz* +google.co.th* +google.co.uk* +google.co.ve* +google.co.za* + +google.com* + google.ae* + google.at* + google.be* + google.bg* + google.by* + google.ca* + google.ch* + google.cl* + google.cz* + google.de* + google.dk* + google.dz* + google.ee* + google.es* + google.fr* + google.gr* + google.hr* + google.hu* + google.ie* + google.it* + google.lt* + google.lv* + google.nl* + google.no* + google.pl* + google.pt* + google.ro* + google.rs* + google.ru* + google.se08@R!translate.google.*/translate_*&q= +;ÿ/08@R,translate.google.com/translate/static/*-ads/ +5ÿ/08@R&traumagame.com/trauma_data/ads/ad2.jpg +Aÿ/* +travelocity.com08@Rtravelocity.com/event.ng/*clickç! +Bÿ/* +travelocity.com08@R travelocity.com/html.ng/*558x262 +7* +travelocity.com08@Rtravelocity.com/js.ng/ +*€08@Rtravidia.com/fsi/page.aspx? +$ÿ/08@Rtravidia.com/ss-page/ +/@08@R!tremor.nuggad.net/crossdomain.xml +7* +indiatimes.com08@Rtremormedia.com/acudeo/ +,ÿ/08@Rtrialpay.com/js/advertiser.js +ÿ/08@Rtrifort.org/ads/ ++ 08@Rtrulia.com/modules/ad_agents_ +-ÿ/08@Rtrustedreviews.com^*/adtech.js +6@08@R(trutv.com/includes/banners/de/video/*.ad +>@08@R0tubemogul.com/bootloader/tubemogulflowplayer.swf ++@08@Rtubemogul.com/crossdomain.xml +4ÿ/08@R%tudouui.com/bin/player2/*&adsourceid= +F€* +video.adultswim.com08@R turner.com/adultswim/big/promos/ +8ÿ/08@R)turner.com^*/ads/freewheel/*/AdManager.js +9ÿ/08@R*turner.com^*/ads/freewheel/*/admanager.swf +@@08@R2turner.com^*/ads/freewheel/bundles/*/renderers.xml +Fÿ/* +nba.com08@R,turner.com^*/ads/freewheel/js/fwjslib_1.1.js +?ÿ/* +tntdrama.com08@R turner.com^*/videoadrenderer.swf +,ÿ/08@Rtut.by/uppod/frameid406/ads1/ +?ÿ/08@R0tv-kino.net/wp-content/themes/*/advertisement.js +,ÿ/08@Rtvnz.co.nz/*/advertisement.js +"€08@Rtwinspires.com/php/ +-ÿ/08@Rtwitvid.com/mediaplayer_*.swf? +$08@Rtwofactorauth.org/img/ + 08@Rtwogag.com/comics/ +1@* + +motogp.com08@Ru.openx.net/v/1.0/sc? +4ÿ/08@R%ucaster.eu/static/scripts/adscript.js +!ÿ/08@Ruillinois.edu/eas/ +.ÿ/08@Rukbride.co.uk/css/*/adverts.css +/ÿ/08@R ultimate-guitar.com/js/ug_ads.js +1ÿ/08@R"ultrabrown.com/images/adheader.jpg +!08@Rundsports.com/ads2/ +108@R#upc-cablecom.ch^*.swf?clicktag=http +.ÿ/08@Rupload.wikimedia.org/wikipedia/ +"08@Rurbanog.com/banners/ +9ÿ/08@R*usanetwork.com^*/usanetwork_ads.s_code.js? +!ÿ/08@Rusps.com/adserver/ ++@08@Rutarget.co.uk/crossdomain.xml +(08@Rutdallas.edu/locator/maps/ ++08@Rutdallas.edu/maps/images/img/ +'ÿ/08@Rutdallas.edu^*/banner.js +?* +boredpanda.com08@Ruuuploads.com/ads-on-buildings/ +Pÿ/* +marthastewart.com* + nbcsports.com08@Rv.fwmrm.net/*/AdManager.swf +ø@* +player.theplatform.com* +muscleandfitness.com* +southparkstudios.com* +uverseonline.att.net* +cartoonnetwork.com* +vod.fxnetworks.com* +colbertnation.com* +comedycentral.com* +simpsonsworld.com* +travelchannel.com* +abcfamily.go.com* +espndeportes.com* +mtvnservices.com* +thedailyshow.com* +foodnetwork.com* +watch.aetnd.com* +abcnews.go.com* +espnfcasia.com* +flexonline.com* +video.cnbc.com* + adultswim.com* + espnfc.com.au* + nbcsports.com* +channel5.com* +espnfc.co.uk* +southpark.nl* +teamcoco.com* +teennick.com* +crackle.com* +eonline.com* +mlb.mlb.com* +nbcnews.com* + +abc.go.com* + +espnfc.com* + +logotv.com* + +nascar.com* + +tv3play.se* + +tvland.com* + espnfc.us* + spike.com* + thingx.tv* + today.com* + +ncaa.com* + +nick.com* + +vevo.com* +cmt.com* +ign.com* +mtv.com* +nbc.com* +sky.com* +vh1.com* +cc.com08@Rv.fwmrm.net/ad/p/1? +)@08@Rv.fwmrm.net/crossdomain.xml +&@08@Rv.fwmrm.net/p/espn_live/ +S@* +tv10play.se* + +tv3play.se* + +tv6play.se* + +tv8play.se08@Rv.fwmrm.net/ +3ÿ/08@R$vacationstarter.com/hive/images/adv_ +(@08@Rvad.go.com/dynamicvideoad? +-ÿ/08@Rvagazette.com/hive/images/adv_ +(ÿ/08@Rvalueram.com/banners/ads/ +:ÿ/08@R+vancouversun.com/js/adsync/adsynclibrary.js +7ÿ/08@R(vanityfair.com/ads/js/cn.dart.bun.min.js +,ÿ/08@Rveetle.com/images/common/ads/ +g@* +cricketcountry.com08@RCventunotech.akamai-http.edgesuite.net/VtnGoogleVpaid.swf?*&ad_type= +q* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@R +vg247.com^ +p* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@R vg247.it^ +p* +rockpapershotgun.com* +nintendolife.com* + eurogamer.net* +usgamer.net* + vg247.com08@R vg247.pl^ +=* + +vcoins.com08@R!vhobbies.com/admgr/*.aspx?ZoneID= +)ÿ/08@Rvid.ag/static/js/adver*.js +$ 08@Rvidcoin.com/adserver/ +0ÿ/08@R!video.economist.com/adfinder.jsp?‹ +=ÿ/08@R.video.nbcuni.com^*/ad_engine_extension_nbc.swf +Iÿ/08@R:video.nbcuni.com^*/inext_ad_engine/ad_engine_extension.swf +G€* +theemptynestexpress.com08@Rvideo.unrulymedia.com/iframe_ +H* +theemptynestexpress.com08@Rvideo.unrulymedia.com/wildfire_ +8@* + +slatev.com08@Rvideoads.washingtonpost.com^ +1@08@R#videosxml.mobileads.indiatimes.com^ +‘08@Rvidible.tv/prod/ +=* +smallscreennetwork.com08@Rvidible.tv/prod/tags/ + ‘08@Rvidible.tv/stage/ +%€08@Rvidspot.net/blank.html +#€08@Rvidspot.net/builtin- +f€08@RWvidspot.net/cgi-bin/upload.cgi?upload_id=*&X-Progress-ID=*&js_on=*&utype=*&upload_type= +7€08@R(vidspot.net/tmp/status.html?*upload=file +@ÿ/08@R1vidtech.cbsinteractive.com/plugins/*_adplugin.swf +708@R)villermen.com/minecraft/banner/banner.php +R@08@RDvindicoasset.edgesuite.net/repository/campaigncreative/*/instreamad/ +6ÿ/* +vipleague.me08@Rvipboxsa.co/js/cnads.js +Xÿ/08@RIvirginradiodubai.com/wp-content/plugins/wp-intern-ads/jquery.internads.js +ÿ/08@Rvistek.ca/ads/ +3ÿ/08@R$vitalitymall.co.za/images/adrotator/ +'ÿ/08@Rvizanime.com/ad/get_ads? +,ÿ/08@Rvmagazine.com/web/css/ads.css +-08@Rvombasavers.com^*.swf?clickTAG= +ÿ/08@R vswebapp.com^ +@ÿ/08@R1vtstage.cbsinteractive.com/plugins/*_adplugin.swf +;ÿ/* +trustedreviews.com* +nme.com08@Rvzoozv.com^ +G* + wordpress.org08@R(w.org/plugins/adsense-plugin/screenshot- +ÿ/08@Rwahoha.com^ +$ÿ/08@Rwahooads.com/Ads.nsf/ +%08@Rwallpapersmania.com/ad/ +;ÿ/08@R,walmartmoneycard.com^*/shared/ad_rotater.swf +708@R)wappalyzer.com/sites/default/files/icons/ +?ÿ/08@R0washingtonpost.com/wp-adv/advertisers/russianow/ +9ÿ/08@R*washingtonpost.com/wp-srv/ad/generic_ad.js +>ÿ/08@R/washingtonpost.com/wp-srv/ad/textlink_driver.js +8ÿ/08@R)washingtonpost.com/wp-srv/ad/textlinks.js +?ÿ/08@R0washingtonpost.com/wp-srv/ad/textlinks_config.js +1ÿ/08@R"washingtonpost.com/wp-srv/ad/wp.js +4ÿ/08@R%washingtonpost.com/wp-srv/ad/wp_ad.js +8ÿ/08@R)washingtonpost.com/wp-srv/ad/wp_config.js +>ÿ/08@R/washingtonpost.com/wp-srv/ad/wpni_generic_ad.js +;ÿ/08@R,washingtonpost.com/wpost/css/combo?*/ads.css +<ÿ/08@R-washingtonpost.com/wpost2/css/combo?*/ads.css +1ÿ/08@R"washingtonpost.com^*=/ad/audsci.js +008@R"wearetennis.com/pages/home/img/ad- +8@* +daisuki.net08@Rweb-jp.ad-v.jp/adam/inline? +<ÿ/* +daisuki.net08@Rweb-jp.ad-v.jp/crossdomain.xml +7* + +goal.com08@Rwebspectator.com^*/_adsense_/ +&ÿ/08@Rwellsfargo.com/img/ads/ +' 08@Rwetransfer.com/advertise/ +2ÿ/08@R#whitepages.com^*/google_adsense.js? +Aÿ/08@R2whittakersworldwide.com/site-media/advertisements/ +C* +wikihow.com08@R&whstatic.com/images/thumb/*-Popup-Ads- +,€08@Rwidget.breakingburner.com/ad/ +3ÿ/08@R$widget.slide.com^*/ads/*/preroll.swf +;€08@R,widgets.cbslocal.com/player/embed?affiliate= +Iÿ/* +itsjudytime.com* +glamour.com08@Rwidgets.rewardstyle.com^ +Q€08@RBwidgetserver.com/syndication/get_widget.html?*&widget.adplacement= +- 08@Rwikia.com/__spotlights/spc.php? +*08@Rwikia.nocookie.net^*/images/ +8ÿ/08@R)williamsauction.com/Resources/images/ads/ +0ÿ/08@R!winnipegsun.com/assets/js/dfp.js? +'ÿ/08@Rwirefly.com/_images/ads/ +*ÿ/08@Rwisegeek.com/res/contentad/×" +,ÿ/08@Rworldstarhiphop.com^*/dj2.swf +6ÿ/08@R'wortech.ac.uk/publishingimages/adverts/ +)ÿ/08@Rwp.com/_static/*/criteo.js +Mÿ/* +digiday.com08@R/wp.com/digiday.com/wp-content/uploads/*-ad.jpg? +eÿ/* +digiday.com08@RGwp.com/digiday.com/wp-content/uploads/*/your-ad-here-banner.png?resize= +/08@R!wp.com/wp-content/themes/*/ads.js +`ÿ/* +noobpreneur.com08@R>wp.com/www.noobpreneur.com/wp-content/uploads/*-ad.jpg?resize= +&ÿ/08@Rwpthemedetector.com/ad/ +7ÿ/08@R(wrapper.teamxbox.com/a?size=headermainad +B* +wsj.com08@R)wsj.net/public/resources/images/*_AdTech_ +6* +marketwatch.com08@Rwsj.net^*/images/adv- +.€08@Rwww.facebook.com/ad.*^ajaxpipe^ +°€* + google.com.au* + google.com.eg* +google.co.in* +google.co.nz* +google.co.uk* + +google.com* + google.ca* + google.de* + google.es08@Rwww.google.*/aclk?*&adurl= +ª€* + google.com.au* + google.com.eg* +google.co.in* +google.co.nz* +google.co.uk* + +google.com* + google.ca* + google.de* + google.es08@Rwww.google.*/search? +.†08@Rwww.google.com/ads/preferences/ +2ÿ/* +hp.com08@Rwww8-hp.com^*/styles/ads/ +:ÿ/* +trustedreviews.com* +nme.com08@R +wz856.com^ +!08@Rxbox.com/assets/ad/ +E* +forzamotorsport.net08@R xboxlive.com/assets/*_banner_ad. +<* +forzamotorsport.net08@Rxboxlive.com/assets/ad/ + 08@Rxpanama.net^ +T* +workhardclimbharder.nl* +murf.nl08@R!yadayadayada.nl/banner/banner.php +08@Ryahoo.com/combo? +$@08@Ryahoo.net/1/adnetwork/ +å* +freeshippingbymastercard.com* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +deliverydeals.co.uk* +habandvipplus.com* +northstylevip.com* +extrarebates.com* +freeshipping.com* +travelplus.com* +affrity.com08@R +yceml.net^ +'* +affrity.com08@R +yceml.net^ +Bÿ/08@R3yellowpages.com.mt/Images/Design/Buttons/advert.png +<ÿ/* + yahoo.com08@R yimg.com/ks/plugin/adplugin.swf? +Nÿ/* + yahoo.com08@R2yimg.com/nn/lib/metro/300_250_Human_Touch_mail.jpg +,* + yahoo.com08@Ryimg.com/p/combo? +:ÿ/* + yahoo.com08@Ryimg.com/rq/darla/*/g-r-min.js +'ÿ/08@Ryimg.com/zz/combo?*&*.js +%ÿ/08@Ryimg.com^*&yat/js/ads_ +:* +games.yahoo.com08@Ryimg.com^*/adplugin_*.swf +2ÿ/* + yahoo.com08@Ryimg.com^*/ads-min.css +9ÿ/08@R*yimg.com^*/java/promotions/js/ad_eo_1.1.js +'ÿ/08@Rykhandler.com/adframe.js +*ÿ/08@Ryokosonews.com/files/cache/ +¢* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R!yoox.com/img//banner/affiliation/ +508@R'youtube.com/yt/advertise/medias/images/ +3ÿ/08@R$youtube.com/yt/css/www-advertise.css +$ 08@Ryoutube.com^*_adsense_ +<* +youtube.com08@Rytimg.com/yts/img/*/display-ads +Gÿ/* +youtube.com08@R)ytimg.com/yts/img/channels/*_banner-*.jpg +Gÿ/* +youtube.com08@R)ytimg.com/yts/img/channels/*_banner-*.png +?ÿ/* +youtube.com08@R!ytimg.com^*/channels4_banner.jpg? +Bÿ/* +youtube.com08@R$ytimg.com^*/channels4_banner_hd.jpg? +;ÿ/* + +yttalk.com08@Ryttalk.com/threads/*/add-reply +Aÿ/* +dailygames.com08@R yumenetworks.com/content/static/ +.@08@R yumenetworks.com/crossdomain.xml +Nÿ/* + contv.com08@R2yumenetworks.com/dynamic_preroll_playlist.vast2xml +9ÿ/* +sunsteps.org08@Rzanox-affiliate.de/images/ +9* +sunsteps.org08@Rzanox.com/images//programs/ +9ÿ/* +sunsteps.org08@Rzanox.com/images/programs/ +(08@Rzap2it.com/ads/newsletter/ +3@08@R%zattoo.com/?advideo/*;vidAS=PRE_ROLL; +4€08@R%zattoo.com/advertising/channelswitch/ +&@08@Rzedo.com/crossdomain.xml +3ÿ/* + +rrstar.com08@Rzedo.com/jsc/c5/fhs.js +)ÿ/* + startv.in08@R zedo.com/swf/ +108@R#zeenews.india.com/ads/jw/player.swf +"08@Rzemanta.com/plugins/ +‹* +ci.gamerevolution.com* +ci.thefashionspot.com* +ci.craveonline.com* +ci.totallyher.com* +ci.momtastic.com08@Rzergnet.com^ +2ÿ/08@R#ziehl-abegg.com/images/img_adverts/âJ +-€08@Rzillow.com/ads/FlexAd.htm?did= +X€* + patch.com08@R<zillow.com/widgets/search/ZillowListingsWidget.htm?*&adsize= +1ÿ/* + +zstream.to08@Rzstream.to/js/pop.js +%* + zazzle.ca08@R +zcache.ca^ ++* +zazzle.co.nz08@R zcache.co.nz^ ++* +zazzle.co.uk08@R zcache.co.uk^ +'* + +zazzle.com08@Rzcache.com^ +&ÿ/08@Roauth.vk.com/authorize? +1 * +drudgereport.com08@R8m5sew59gr.bid^ +8 * +surfline.com08@Rcdn-surfline.com^*.stream/ + 08@Rscreenshot3.bid^ +´ÿ/* +wallpapersimages.co.uk* +ibmmainframeforum.com* +onlinemoviesfreee.com* +tv-porinternet.com.mx* +liveonlinetv247.info* +onlinemoviewatchs.tv* +tvrex.altervista.org* +funniermoments.com* +premiumleecher.com* +wrestlingtalk.org* +danydanielrt.com* +showsport-tv.com* +superplatyna.com* +verdirectotv.com* +hastlegames.com* +turktorrent.cc* + budget101.com* + corepacks.com* + eventosppv.me* +wowebook.org* +gameurs.net* +loadlum.com* +remo-xp.com* +ver-flv.com* + +mamahd.com* + +wwe2day.tv* + dx-tv.com* +cbox.ws* +xup.in08@R.gif# +#* +kissanime.ru08@R.gif^ +(ÿ/* +xup.in* +xup.to08@R.ico# +@* +colbertlateshow.com* +cbsnews.com08@R.javascript? +)ÿ/* +cbsnews.com08@R.javascript +¶ÿ/*" + mugiwaranofansub.blogspot.com.ar*! +mimaletamusical.blogspot.com.ar*! +software4all-now.blogspot.co.uk* +calcularindemnizacion.es* +masfuertequeelhierro.com* +premiumgeneratorlink.com* +bicimotosargentina.com* +wallpapersimages.co.uk* +desionlinetheater.com* +play-old-pc-games.com* +pcgames-download.net* +freewatchlivetv.com* +legionpeliculas.org* +livrosdoexilado.org* +musicacelestial.net* +megacineonline.biz* +wrestlingtalk.org* +max-deportv.info* +mypapercraft.net* +cinema2satu.net* +dvdfullfree.com* +max-deportv.net* + 300mbfilms.co* +dragoart.com* +firsttube.co* +idevnote.com* +lomeutec.com* +mac2sell.net* +naasongs.com* +uploadlw.com* +kshowes.net* +movie1k.net* +pxstream.tv* + +apkone.net* + +haxlog.com* + +tv-msn.com* + galna.org* + lag10.net* + +rtube.de08@R.jpg# +5* +kisscartoon.se* +kissanime.ru08@R.jpg^ +”ÿ/* +portevergladeswebcam.com* +portcanaveralwebcam.com* +ftlauderdalewebcam.com* +portmiamiwebcam.com* +nyharborwebcam.com08@R.min.js +Ÿÿ/*) +'tvenvivocrackmastersamm.blogspot.com.ar*$ +"newxxxvideosupdate.blogspot.com.ar* +dksoftwares4u.blogspot.co.uk* +peliculas.online-latino.com* +noticiasautomotivas.com.br* +juegosparaplaystation.com* +calcularindemnizacion.es* +tamercome.blogspot.co.uk* +gameopc.blogspot.com.ar* +techingspot.blogspot.in* +whatsapprb.blogspot.com* +best-bitcoin-faucet.eu* +bitcoin-best-faucet.eu* +bitcoin-free-faucet.eu* +free-bitcoin-faucet.eu* +compartiendofull.org* +get-bitcoins-free.eu* +win-free-bitcoins.eu* +wolverdon-filmes.com* +best-free-faucet.eu* +get-free-bitcoin.eu* +legionprogramas.org* +minecraft-forum.net* +mrjuegosdroid.co.vu* +amigosdelamili.com* +megacineonline.net* +mundoprogramas.net* +bitcoin-faucet.eu* +marketmilitia.org* +pocosmegashdd.com* +puromarketing.com* +realidadscans.org* +sportstvstream.me* +technoshouter.com* +wrestlingtalk.org* +animesubita.info* +bitcoin-cloud.eu* +dailyuploads.net* +freeclaimbtc.xyz* +latinomegahd.net* +mediaplaybox.com* +skidrowcrack.com* +superplatyna.com* +trackitonline.ru* +anime2enjoy.com* +cleodesktop.com* +fcportables.com* +file-upload.com* +freelive365.com* +hackintosh.zone* +nontonanime.org* +scriptnulled.eu* +secureupload.eu* +stream2watch.me* +superanimes.com* +uploadocean.com* +arenavision.in* +debrastagi.com* +kwikupload.com* +media1fire.com* +mintmovies.net* +omaredomex.org* +osdarlings.com* +portalzuca.com* +portalzuca.net* +seriesbang.net* +stream4free.eu* + 300mblink.com* + bitcofree.com* + corepacks.com* + hogarutil.com* + hubturkey.net* + iptvlinks.com* + lordpyrak.net* + pes-patch.com* + seriesbang.to* + streamlive.to* + trizone91.com* + unlockpwd.com* + vidlockers.ag* +anonytext.tk* +debridit.com* +docpaste.com* +dragoart.com* +idevnote.com* +media4up.com* +oploverz.net* +turkdown.com* +uploadex.com* +vbaddict.net* +adlipay.com* +debridx.com* +kshowes.net* +premium4.us* + +backin.net* + +hostyd.com* + +maamp3.com* + +mamahd.com* + +nornar.com* + +sawlive.tv* + +tv-msn.com* + +vencko.net* + anizm.com* + byetv.org* + go4up.com* + magesy.be* + mpc-g.com* + myksn.net* + nbahd.com* + url4u.org* + +short.am* + +wowhq.eu* +ulto.ga08@R.png# +9ÿ/* +mypapercraft.net* +xlocker.net08@R.png?*# +7ÿ/* +majorleaguegaming.com08@R.png?ad_banner= +;ÿ/* +majorleaguegaming.com08@R.png?advertisement_ +5* +kisscartoon.se* +kissanime.ru08@R.png^ +'ÿ/* +kissanime.ru08@R.to/ads/ +%* +psarips.com08@R.xzn.ir/ +×ÿ/* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R/adBlockDetector/ +*ÿ/* + techworld.com08@R +/adcode.js +Oÿ/* +dramacafe.in* +mackolik.com* +sahadan.com08@R/advertisement.js +-* +sankakucomplex.com08@R /afr.php? +Á* +ftlauderdalebeachcam.com* +portevergladeswebcam.com* +keywestharborwebcam.com* +portcanaveralwebcam.com* +atlanticcitywebcam.com* +ftlauderdalewebcam.com* +portbermudawebcam.com* +morganhillwebcam.com* +portarubawebcam.com* +portmiamiwebcam.com* +nyharborwebcam.com* +portnywebcam.com08@R/banman/ +õ* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R0/blockalyzer-adblock-counter/js/advertisement.js +/@* +dramafever.com08@R/crosdomain.xml +U@* +itsyourtvnow.com* +dramafever.com* + vaughnlive.tv08@R/crossdomain.xml +*€* + wstream.video08@R +/smart_ad/ +å* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R /wp-content/*/plugins/adblock.js +É* +calcalist.co.il* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +walla.co.il* +youjizz.com* +youporn.com* + +mako.co.il* + +ynet.co.il* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R>/wp-content/plugins/adblock-notify-by-bweb/js/advertisement.js +øÿ/* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R2/wp-content/plugins/anti-block/js/advertisement.js +õ* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R0/wp-content/plugins/blockalyzer-adblock-counter/ +ó* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R./wp-content/plugins/blocked-ads-notifier-lite/ +ï* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R*/wp-content/plugins/simple-adblock-notice/ +þÿ/* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R8/wp-content/plugins/wordpress-adblock-blocker/adframe.js +Û* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R/wp-prevent-adblocker/ +%€* +vivo.sx08@R/xbanner.js +%* +kisscartoon.se08@R?aid= +Ý*# +!4553t5pugtt1qslvsnmpc0tpfz5fo.xyz* +ahmedabadmirror.com* +playlivenewz.com* +seekingalpha.com* +publicleech.xyz* +ip-address.org* +360haven.com* +linkdrop.net* +sznpaste.net* +animmex.com08@Rhttp:// +&* + eventhubs.com08@Rhttp:// +'* +indiatimes.com08@Rhttp:// + * +gogi.in08@Rhttp:// +-* + kissanime.com08@Rhttp://*.js?_= ++* +socketloop.com08@Rhttp://*_ad +)* +socketloop.com08@R http://ad +…*# +!4553t5pugtt1qslvsnmpc0tpfz5fo.xyz* +animesubita.info* +animmex.website* +publicleech.xyz* +animmex.online* +ip-address.org* + animmex.co.uk* + animmex.press* + animmex.space* + jukezilla.com* +360haven.com* +animmex.club* +animmex.info* +animmex.site* +animmex.tech* +linkdrop.net* +sznpaste.net* +animmex.com* +animmex.org* +animmex.xyz* +nmac.to08@Rhttps:// +'* + eventhubs.com08@Rhttps:// +! * +gogi.in08@Rhttps:// +,* +socketloop.com08@Rhttps://*_ad +** +socketloop.com08@R +https://ad +,ÿ/08@R10-download.com/ad/adframe.js +3* +allmusic.com* + +blinkx.com08@R1rx.io^ +X* +surfline.com08@R:247realmedia.com/RealMedia/ads/Creatives/default/empty.gif +Œÿ/* +majorleaguegaming.com* +atresplayer.com* +atresmedia.com* +antena3.com* +lasexta.com08@R!2mdn.net/instream/video/client.js +&ÿ/08@R4fuckr.com^*/adframe.js +&08@R4shared.com^ +'ÿ/08@R4sysops.com^*/adframe.js¶ +(* + +afdah.tv08@R5.189.144.107^ +08@R8muses.com^ +1ÿ/08@R"95.211.184.210/js/advertisement.js +-ÿ/* +afreesms.com08@R97.74.238.106^ +J* +9news.com.au08@R,9msn.com.au/Services/Service.axd?*=AdExpert& +$ÿ/08@R9xbuddy.com/js/ads.js +N@* +channel4.com08@R0ad-emea.doubleclick.net/ad/*.CHANNEL41/*;sz=1x1; +E@* +channel4.com08@R'ad-emea.doubleclick.net/crossdomain.xml +-* + +cwtv.com08@Rad.doubleclick.net/ +08@Rad.filmweb.pl^ +)ÿ/08@Rad.leadbolt.net/show_cu.js +3* + kissanime.com08@Rad4game.com*/images/ +@* +kisscartoon.me* + kissanime.com08@Rad4game.com/js/ +Y* +wrestlinginc.com* +extratorrent.cc* + +flash-x.tv* + flashx.tv08@R ad8k.com^ +.* +kisscartoon.me08@Radadvisor.net^ +08@Radcity.tech^ +-* +publicleech.xyz08@Radclixx.net^ +1* +indiatimes.com08@Rade.clmbtech.com^ +*€08@Radexprt.com/cdn3/*&m=magnet +! 08@Radf.ly/ad/banner/*= +&* + getdebrid.com08@Radf.ly^ +08@Radgarden.tech^ +oÿ/* +eonline.com* + +uktv.co.uk* + dplay.com* + +dplay.dk* + +dplay.se08@Radm.fwmrm.net/p/*/AdManager.js +:ÿ/* + +uktv.co.uk08@Radm.fwmrm.net/p/*/LinkTag2.js +±@* +player.theplatform.com* +travelchannel.com* +foodnetwork.com* +usanetwork.com* + +tv3play.se* + +uktv.co.uk* + today.com08@R&adm.fwmrm.net/p/*/Video2AdRenderer.swf +A@* + +uktv.co.uk08@R%adm.fwmrm.net/p/*/VPAIDAdRenderer.swf +@ÿ/* + +uktv.co.uk08@R#adm.fwmrm.net^*/BrightcovePlugin.js +9@* + +tvn24.pl* +tvn.pl08@Radmin.brightcove.com^ +E* +mackolik.com* +sahadan.com08@Radmost.com/adx/get.ashx? +Iÿ/* +mackolik.com* +sahadan.com08@Radmost.com/adx/js/admost.js +?* +publicleech.xyz* +sznpaste.net08@Radnetasia.com^ +08@Radnow.tech^ +)* + kissanime.com08@R +adnxs.com^ +0* + +tvn24.pl08@Radocean.pl^*/ad.js?id= +F* +kisscartoon.me* + kissanime.com08@Radprotected.com/tags/ +K* +pcgames-download.net08@R%ads-popad.weebly.com/uploads/*/ads.js +08@Rads.360haven.com^ +`€* + wstream.video* +dayt.se08@R5ads.ad-center.com/smart_ad/display?ref=*&smart_ad_id= +,€* +dayt.se08@Rads.ad-center.com^ +B€* +turkanime.tv08@R#ads.ad4game.com/www/delivery/lg.php +*€* + xuuby.com08@Rads.avazu.net^ +608@R(ads.clubedohardware.com.br/www/delivery/ +4€* + pocketnow.com08@Rads.cxadserving.com^ +ÿ/08@Rads.nipr.ac.jp^ +=* +memegenerator.net08@Rads.rubiconproject.com/ad/ +4@* + vaughnlive.tv08@Rads.tremorhub.com/ad/ +S* +civilization5cheats.com* +kzupload.com08@Radscendmedia.com/gwjs.php? +[ÿ/* + mp3clan.audio* +mp3clan.com08@R,adserver.adreactor.com/js/libcode1_noajax.js +”@* +metrohelsinki.fi* +radiosuomipop.fi* +iltasanomat.fi* + radioaalto.fi* +digitoday.fi* +radiorock.fi* +groovefm.fi* +ruokala.net* + +nelonen.fi* + +jimtv.fi* + +livtv.fi* + +ruutu.fi* +istv.fi* +loop.fi* +nyt.fi* +hs.fi08@R"adserver.adtech.de/?adrawdata/3.0/ +D* +entertainment.ie08@R"adserver.adtech.de/?adrawdata/3.0/ +]* +aftenposten.no* +hardware.no* +e24.no* +vg.no08@Radserver.adtech.de/multiad/ ++08@Radserver.dca13.com/js/ads*.js +?€* +equestriaafterdark.org08@Radserver.juicyads.com^ +5ÿ/08@R&adserver.liverc.com/getBannerVerify.js +<ÿ/* +bitcoinker.com08@Radshost2.com/js/show_ads.js +,08@Radsjudo.com^*/advertisement.js +08@Radstreet.tech^ +Cÿ/* +e24.no08@R*adtechus.com/dt/common/DACMultiAdPlugin.js +<ÿ/* +vg.no08@R$adtechus.com/dt/common/postscribe.js +O* +fullmatchesandshows.com* +watchtvserieslive.org08@R adtechus.com^ +@* +publicleech.xyz* +sznpaste.net08@Radtrackers.net^ +0ÿ/* + +beelink.in08@Radvert.popunder.ru^ +:ÿ/* +kisscartoon.me08@Radverticum.net/static/js/ +1* + kissanime.com08@Radvertisegame.com^õ +7* + flashx.tv08@Radvertisingwouldbegreat.com^ +U * + +insys.pl08@R;adview.pl/ad/GetReklamyMultimediaVast?dir=*&adType=PREROLL& +08@R adworld.tech^ +:ÿ/* +majorleaguegaming.com08@Radzerk.net/ados.js +% 08@Rafairweb.com/api/*/urls +08@R afdah.tv^ ++"* +afreesms.com08@R afreesms.com^ +:"* +afreesms.com08@Rafreesms.now.im/adblocker.js +08@Ragar.io^*ad ++ÿ/08@Rahmedabadmirror.com/*ads.cms +q* +hardware.no* +teknofil.no* + amobil.no* + +gamer.no* +akam.no08@R!aka-cdn-ns.adtech.de/images/*.gif +7* +golfchannel.com08@Rakamaihd.net^*/showads +6ÿ/08@R'akstream.video/include/advertisement.js +3* +sidereel.com08@Rallmedia-d.openx.net^ +08@Rallmyvideos.net^ +ÿ/* +fullmatchesandshows.com* +cinemablend.com* +allmusic.com* +sidereel.com08@R$amazon-adsystem.com/aax2/amzn_ads.js +L* +allmusic.com* +sidereel.com08@Ramazon-adsystem.com/e/dtb/bid? +-ÿ/* + +cwtv.com08@Ramazonaws.com/*.js +408@R&amazonaws.com/atzuma/ajs.php?adserver= +9* + +ndtv.com08@Ramazonaws.com/khachack/ima3.js? +%08@Ramazonaws.com/ssbss.ss/ +F* +thesimsresource.com* +cinemablend.com08@Ramazonaws.com^ +$08@Ramazonaws.com^*/ad*.js +.08@R amazonaws.com^*/video-ad-unit.js +*ÿ/08@Ramazonaws.com^*/videoads.js +#ÿ/08@Ramk.to/js/adcode.js? +Dÿ/08@R5ancensored.com/sites/all/modules/player/images/ad.jpg +&08@Ranimecrave.com/_content/ +@ÿ/08@R1animenewsnetwork.com/javascripts/advertisement.js +)ÿ/08@Ranimizer.net/js/adframe.js +#ÿ/08@Ranisearch.com^*/ads/ +$ý/08@Ranonymousemail.me/js/ +!@08@Rantena3.com/adsxml/ +Dÿ/08@R5anti-adblock-scripts.googlecode.com/files/adscript.js +*ÿ/08@Rar51.eu/ad/advertisement.js +!ÿ/08@Rarsopo.com/ads.php +Dÿ/08@R5arto.com/includes/js/adtech.de/script.axd/adframe.js? +$@08@Ratresmedia.com/adsxml/ +%@08@Ratresplayer.com/adsxml/ +9ÿ/08@R*atresplayer.com/static/js/advertisement.js +<ÿ/08@R-auditude.com/player/js/lib/aud.html5player.js +&ÿ/08@Rauroravid.to/banner.php +åÿ/* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@Rautogespot.*/JavaScript/ads.js? +2ÿ/08@R#autolikergroup.com/advertisement.js +08@Ravforums.com/*ad +†* +collectivelyconscious.net* +convertfiles.com* +izismile.com* + oncars.eu* + oncars.in08@Rbambergerkennanchitinous.com^ +1* +publicleech.xyz08@Rbannertrack.net^ +7* +barstoolsports.com08@Rbarstoolsports.com^ +$08@Rbdrip.ws/web_data/*/ad +$08@Rbeemp3s.org/adreactor/ +7* +beliebershotel.com08@Rbeliebershotel.com^ +1ÿ/08@R"bestofmedia.com^*/advertisement.js +%ÿ/08@Rbestream.tv/advert*.js +;€* +exrapidleech.info08@Rbidvertiser.com/*.html? +:‚* +exrapidleech.info08@Rbidvertiser.com/*?pid= +)ÿ/08@Rbilzonen.dk/scripts/ads.js +€08@R binbox.io/ad/ +#ÿ/08@Rbinbox.io/adblock.js +;ÿ/08@R,bitcoinspace.net/freebitcoins/display_ads.js +9* + urlink.at* + +priva.us* +ilix.in08@Rbiz.tm^ +O* +cricket-365.pw* + cricpower.com* + +pirlotv.tv08@Rblogspot.com^*#- ++ÿ/08@Rboincstats.com/js/adframe.js +-ÿ/08@Rbollywoodshaadis.com/js/ads.js +*ÿ/08@Rboxxod.net/advertisement.jsâ +'ÿ/08@Rbrainyquote.com^*/ad*.js +3ÿ/08@R$brassyobedientcotangent.com^*/ads.js +|@* + player.stv.tv* +channel5.com* + +citytv.com* + +uktv.co.uk* +wwe.com08@R&brightcove.com^*/AdvertisingModule.swf +(ÿ/08@Rbsmotoring.com/adframe.js +4ÿ/08@R%bulletproofserving.com/scripts/ads.js +:* +opensubtitles.org08@Rbulletproofserving.com^ +C08@R5business-standard.com/include/_mod/site/adblocker/js/ +4ÿ/* + jc-mp.com08@Rbuysellads.com/ac/bsa.js +Lÿ/* + +driving.ca08@R/canada.com/video/assets/js/lib/advertisement.js +3ÿ/08@R$captchme.net/js/advertisement-min.js +/ÿ/08@R captchme.net/js/advertisement.js +;ÿ/* +clubedohardware.com.br08@Rcaspion.com/cas.js +(ÿ/08@Rcatchvideo.net/adframe.js +2* + +cnet.com08@Rcbsistatic.com^*/cnetjs/ +,ÿ/08@Rcdn-seekingalpha.com^*/ads.js +Pÿ/* +surfline.com08@R1cdn-surfline.com/ads/VolcomSurflinePlayerHo13.jpg +,* + kissanime.com08@R cdn.mgid.com^ +.* + +ndtv.com08@Rcdn.ndtv.com/static/ +08@R cdnco.us^ +3ÿ/08@R$celogeek.com/stylesheets/blogads.css +=ÿ/* + kissanime.com08@Rchango.com^*/adexchanger.png? +6* + kissanime.com08@Rchango.com^*/jcrew.jpg? +"@08@Rchannel4.com/ad/l/1? +?@08@R1channel4.com/p/c4_live/ExternalHTMLAdRenderer.swf +9@08@R+channel4.com/p/c4_live/PauseAdExtension.swf +:@08@R,channel4.com/p/c4_live/UberlayAdRenderer.swf +9@08@R+channel4.com/p/c4_live/Video2AdRenderer.swf +8@08@R*channel4.com/p/c4_live/VPAIDAdRenderer.swf +?ÿ/* +exashare.com08@R chitika.com^*/search-button.png? +?* + kissanime.com08@R chitika.com^*/search-button.png? +5ÿ/* + anisearch.com08@Rchitika.net/getads.js +/* +kisscartoon.me08@Rcibleclick.com^ +8ÿ/08@R)cinestrenostv.tv/reproductores/adblock.js +4ÿ/* + kissanime.com08@Rclicksor.net/images/ +0* + kissanime.com08@Rclickxchange.com^ +0* +indiatimes.com08@Rclmbtech.com/ad/ +L* +watchcartoononline.io08@R%cloudflare.com/ajax/libs/fuckadblock/ +Ž* +tomshardware.co.uk* +tomshardware.com* +robinwidget.com* +theinquirer.net* + techworld.com* + space.com08@Rcloudfront.net*/ad +1* + +v3.co.uk08@Rcloudfront.net/opentag- +<* +theinquirer.net* + +v3.co.uk08@Rcloudfront.net^ +4* + +slader.com08@Rcloudfront.net^*/pubads_ +&08@Rcloudtime.to/banner.php? +#08@Rcnbc.com^*/showads.js +1* + +cnbc.com08@Rcnbcfm.com^*/showads.js +.ÿ/08@Rcodingcrazy.com/demo/adframe.js +,ÿ/08@Rcoincheckin.com/js/adframe.js ++ÿ/08@Rcoinurl.com/get.php?id=18045 +B* +allmusic.com08@R$complexmedianetwork.com/js/cmnUNT.js +;ÿ/08@R,computerworld.com/www/js/ads/gpt_includes.js +%ÿ/08@Rcoolgames.com^*/ads.js +5€* + kissanime.com08@Rcore.adprotected.com^ +9* +youserials.com08@Rcpalead.com/gwjs.php?pub= +* +justfortrendygirls.com* +videodownloadx.com* +receive-sms.com* +free-space.net* +mmusicz.com08@Rcpalead.com/mygateway.php?pub= +,ÿ/* + kissanime.com08@Rcpalead.com^ ++* + kissanime.com08@Rcpmstar.com^ ++* + kissanime.com08@Rcpmstar.com^ ++* + kissanime.com08@Rcpmtree.com^ +2* + kissanime.com08@Rcpxinteractive.com^ +ÿ/08@Rcredio.com/ad? +** + +ndtv.com08@Rcricketndtv.com^ +K* +clubedohardware.com.br08@R#criteo.com/delivery/ajs.php?zoneid= +Mÿ/* +allmusic.com* +sidereel.com08@Rcriteo.com/delivery/rta/rta.js +4ÿ/08@R%crunchyroll.com^*/ads_enabled_flag.js +(ÿ/08@Rcssload.net/js/adframe.jsç +=08@R/d2anfhdgjxf8s1.cloudfront.net/ajs.php?adserver= +]* +hockeybuzz.com* +hotslogs.com* +wowhead.com08@Rd3pkae9owd2lcf.cloudfront.net^ +"08@Rdailymail.co.uk/abe/ +0ÿ/08@R!dailymaverick.co.za/js/ads/ads.js +?€* +team-vitality.fr08@Rdailymotion.com/embed/video/ +!* +dayt.se08@Rdayt.se^ +&08@Rdebridnet.com/adframe.js +1ÿ/08@R"decomaniacos.es^*/advertisement.js +'ÿ/08@Rdesigntaxi.com/js/ad*.js +;ÿ/08@R,destinypublicevents.com/src/advertisement.js +08@Rdiep.io^ +0* + eventhubs.com08@Rdinglydangly.com^ +#ÿ/08@Rdinozap.tv/adimages/ +&ÿ/08@Rdivisionid.com^*/ads.js +%08@Rdivyabhaskar.co.in^*/ad +@* +pcgames-download.net08@Rdl.dropboxusercontent.com^ +"‚* +dlh.net08@Rdlh.net^ +~ÿ/* + dplay.com* + +dplay.dk* + +dplay.se08@RJdniadops-a.akamaihd.net/ads/scripts/fwconfig/current/fwplayerconfig.min.js +-* + dnswatch.info08@Rdnswatch.info^ +7* +dogecoinpuddle.com08@Rdogecoinpuddle.com^ +!08@Rdogefaucet.com^*/ad +Š*! +portable77download.blogspot.com* +filestore123.info* +myfilestore.com* +dubs.me08@R&dollarade.com/overlay_gateway.php?oid= +"ÿ/08@Rdomain.com/ads.html +1ÿ/08@R"dontdrinkandroot.net/js/adframe.js +108@R#doodle.com/builtstatic/*/doodle/js/ +P* + eventhubs.com08@R1doubleclick.net/adj/gn.eventhubs.com/*;sz=728x90; +Fÿ/* +ip-address.org08@R%doubleclick.net/instream/ad_status.js +>ÿ/* +allmusic.com08@Rdoubleclick.net/static/glade.js +<ÿ/* +rte.ie08@R#doubleclick.net/xbbe/creative/vast? +I@* + +zattoo.com08@R-doubleclick.net^*/adx/zattoo/video_*;cue=pre; +K@* +itsyourtvnow.com* + vaughnlive.tv08@Rdoubleclickbygoogle.com^ +Yÿ/* +kisscartoon.me* + kissanime.com08@R'doublerecall.com/scripts/application.js +508@R'downace.com/themes/ace/frontend_assets/ +08@R dragoart.com^ +3ÿ/08@R$drakulastream.tv^*/flash_popunder.js +#ÿ/08@Rdressup.com^*/ads.js +/* +dressupgal.com08@Rdressupgal.com^ +'ÿ/08@Rdressuppink.com^*/ads.js +9* + kissanime.com08@Rdropboxusercontent.com/*ad +€08@R +drugs.com^ +2 08@R$dutplanet.net/ajax/reclamecheck.php? +"ÿ/08@Rdvbtmap.eu^*/ad*.js +*„08@Rdynamicyield.com/abadimage/ +"ÿ/08@Rebkimg.com/banners/ +Aÿ/* +play.spotify.com08@Redgekey.net^*/advertisement.js +#08@Relektrotanya.com/ads/ +%ÿ/08@Relrellano.com/ad/ad.js +P€* +filecore.co.nz08@R/enrondev.net/ads/server/www/delivery/*&zoneid=1 +/* + kissanime.com08@Repicgameads.com^ +1€* +fcportables.com08@Repmads.com/ads? +Bÿ/* +fcportables.com08@R epmads.com/js/show_ads_epmads.js +%ÿ/08@Reska.pl^*bbelements.js +.ÿ/08@Reskago.pl/html/js/ads-banner.js +2ÿ/08@R#eskago.pl/html/js/adv.bbelements.js +1ÿ/08@R"eskago.pl/html/js/advertisement.js +"ÿ/08@Reu5.org^*/advert.js +08@Reventhubs.com^*. +008@R"examplenews.com/static/js/overlay/ +$€08@Rexashare.com/ads.html +&08@Rexoclick.com/wp-content/ +^ÿ/* +clubedohardware.com.br08@R5exponential.com/tags/ClubeDoHardwarecombr/ROS/tags.js +<ÿ/* +yellowbridge.com08@Rexponential.com^*/tags.js +*08@Rexrapidleech.info/templates/ + 08@Rexrapidleech.info^Î +$ÿ/08@Rexsite.pl^*/advert.js +"08@Rexternal.mranime.tv^ +3ÿ/08@R$ezcast.tv/static/scripts/adscript.js +F* +flv2mp3.com08@R)fastclick.net/w/get.media?sid=58322&tp=5& +3ÿ/08@R$fastcocreate.com/js/advertisement.js +3ÿ/08@R$fastcodesign.com/js/advertisement.js +2ÿ/08@R#fastcoexist.com/js/advertisement.js +1ÿ/08@R"fastcolabs.com/js/advertisement.js +2ÿ/08@R#fastcompany.com/js/advertisement.js +,08@Rfastcontentdelivery.com/ad*.js +.08@R fastcontentdelivery.com^*/ad*.js +)ÿ/08@Rffiles.com/images/mmfiles_ +!08@Rfhscheck.zapto.org^ + 08@Rfhsload.hopto.org^ ++ÿ/08@Rfilecom.net/advertisement.js +.ÿ/08@Rfileice.net/js/advertisement.js +G€* +thegayuk.com08@R(files.bannersnack.com/iframe/embed.html? +"08@Rfilmweb.pl/adbanner/ +.08@R financialexpress.com/wp-content/ +"ÿ/08@Rfindthedata.com/ad? +08@Rfirstonetv.eu/*ad + 08@Rfirstonetv.eu/ajs/ + +08@Rfitshr.net^ +/* +itv.com08@Rflashtalking.com/spot/ +!08@Rflashx.tv/js/ad*.js +'ÿ/08@Rflvto.biz/scripts/ads.js +-ÿ/08@Rfm.tuba.pl/tuba3/_js/advert.js +0ÿ/* + twer.info08@Rfolue.info/needes.js +5ÿ/* +youwatch.org08@Rfolue.info/player/*.js +)* +4shared.com08@Rforshrd.com^ +<* +majorleaguegaming.com08@Rfragflix.com^*.png?*= +.08@R free.smsmarkaz.urdupoint.com^*#- +5ÿ/08@R&freebitcoin.wmat.pl^*/advertisement.js ++ÿ/08@Rfreebtc.click/display_ads.js +08@Rfreeclaimbtc.xyz^ +2ÿ/08@R#freegamehosting.nl/advertisement.js +5ÿ/08@R&freegamehosting.nl/js/advertisement.js +4ÿ/08@R%freesportsbet.com/js/advertisement.js +808@R*freshdown.net/templates/Blaster/img/*/ads/ +,ÿ/08@Rfunniermoments.com/adframe.js +!08@Rfunniermoments.com^ +%* + +filmweb.pl08@R fwcdn.pl^ ++ * + +vevo.com08@Rfwmrm.net/ad/g/1? +4* +testtube.com08@Rfwmrm.net/ad/g/1?prof= +wÿ/* + adultswim.com* + animalist.com* + revision3.com* +testtube.com* +mlb.com08@Rfwmrm.net/p/*/admanager.js +X* +magicseaweed.com08@R6g.doubleclick.net/gampad/ad?iu=*/Leaderboard&sz=728x90 +€* +drivearabia.com* +theinquirer.net* + techworld.com* +allmusic.com* + +cityam.com08@Rg.doubleclick.net/gampad/ads? +M * + +cwtv.com08@R3g.doubleclick.net/gampad/ads?^*&sz=970x90%7C728x90^ +u@* +rte.ie08@R]g.doubleclick.net/gampad/ads?ad_rule=1&adk=*&ciu_szs=300x250&*&gdfp_req=1&*&output=xml_vast2& +J@* +viki.mx08@R1g.doubleclick.net/gampad/ads?adk=*&ciu_szs&cmsid= +R* +gamespot.com* + +v3.co.uk08@R(g.doubleclick.net/gampad/ads?gdfp_req=1& +Cÿ/* + +cityam.com08@R&g.doubleclick.net/gampad/google_ads.js +M@* +televisiondiv.ucoz.com* +planetfools.com08@Rg.doubleclick.net/ +8ÿ/08@R)gallery.aethereality.net/advertisement.js +0ÿ/08@R!gallerynova.se^*/advertisement.js +Sÿ/* + kissanime.com08@R3game-advertising-online.com/img/icon_stoplight.jpg? +^€* + anizm.com08@RBgame-advertising-online.com/index.php?section=serve&id=7740&subid= +&08@Rgamecopyworld.com/games/ +%08@Rgamecopyworld.eu/games/ +Ñ* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@Rgamereactor. +/ÿ/08@R gamereactor.net/advertisement.js +/ÿ/08@R gamersconnexion.com/js/advert.js +#08@Rgames-pc.ro/adver*.js +2ÿ/08@R#games.latimes.com/Scripts/advert.jsò +/08@R!games.washingtonpost.com/Scripts/ +0ÿ/08@R!gamesgames.com^*/advertisement.js +(ÿ/08@Rgameshark.com/images/ads/ +%ÿ/08@Rgamespot.com/js/ads.js +'08@Rgannett-cdn.com/uxstatic/ +,ÿ/08@Rgdataonline.com/exp/textad.js +<ÿ/* + genvideos.com08@Rgenvideos.com/js/show_ads.js +*ÿ/08@Rgenvideos.org/js/showads.js +-ÿ/08@Rgetdebrid.com/advertisement.js +.ÿ/08@Rgetlinkyoutube.com^*/adframe.js +%ÿ/08@Rgirlgames.com^*/ads.js +)ÿ/08@Rgirlsaskguys.com^*/js/ads. +&ÿ/08@Rgirlsocool.com^*/ads.js +E* +thesimsresource.com08@R glam.com/gad/glamadapt_jsrv.act? +;* +mediatechnologycenter.info08@Rgo.padstm.com/? +)ÿ/08@Rgo4up.com/advertisement.js +-ÿ/08@Rgofirstrow.eu/advertisement.js +/ÿ/08@R gofirstrow.eu^*/advertisement.js +'* +hqq.tv08@Rgoogle-it.info^ +?ÿ/* + magesy.be08@R#google.com/ads/popudner/banner.jpg? +Aÿ/* +turkdown.com08@R"googlecode.com/files/google_ads.js +Dÿ/* +freeallmusic.net08@R!googlecode.com^*/advertisement.js +Pÿ/* + comicbook.com* +multiup.org08@R!googlesyndication.com/favicon.ico +Dÿ/* +sc2casts.com08@R%googlesyndication.com/pagead/*/abg.js +aÿ/* +allmusic.com* +sc2casts.com* +hulkusc.com08@R#googlesyndication.com/pagead/osd.js +)ÿ/08@Rgorillavid.in/script/ad.js +#08@Rgraphiq.com/sites/*ad +7ÿ/08@R(grouchyaccessoryrockefeller.com^*/ads.js +Dÿ/* +9news.com.au08@R%gscontxt.net/main/channels-jsonp.cgi? +$ÿ/08@Rguygames.com^*/ads.js +/ÿ/08@R hackers.co.id/adframe/adframe.js +7ÿ/08@R(hackintosh.zone/adblock/advertisement.js +*08@Rhackintosh.zone^*/adframe.js +$ÿ/08@Rhallpass.com^*/ads.js +!08@Rhappytrips.com/*_ad +!08@Rhappytrips.com/*ads +08@Rhardware.no/ads/ +#08@Rhardware.no/artikler/ +08@Rhardware.no^ +-ÿ/08@Rharvardgenerator.com/js/ads.js +,* +avforums.com08@Rhcpc.co.uk/*ad +$ÿ/08@Rhdfree.tv/live/ad.php +&ÿ/08@Rhdmovie14.net/js/ad*.js +08@R +hdwall.us^ +*ÿ/08@Rhentai-foundry.com^*/ads.js +$08@Rhindustantimes.com/*ad +*ÿ/08@Rhindustantimes.com^*/ads.js +.* + kissanime.com08@Rhornyspots.com^ +5ÿ/08@R&hpfanficarchive.com^*/advertisement.js +(ÿ/08@Rhqpdb.com/ads/banner.jpg? +'08@Rhtml5player.gamezone.com^ +,08@Rhwcdn.net/ads/advertisement.js +,08@Rhypable.com^*/advertisement.js +1* +i-makeawish.com08@Ri-makeawish.com^ +6* +newmusicforpeople.org08@Ri.imgur.com^*#. +;ÿ/* +thesimsresource.com08@Ribibi.com/mads/ad*.js +)ÿ/08@Riconizer.net/js/adframe.js +!08@Ridg.com.au/adblock/ +08@R ifirstrow.eu^ +/* +ifirstrowit.eu08@Rifirstrowit.eu^ +/* +ifirstrowus.eu08@Rifirstrowus.eu^ +"08@Rifmnwi.club/adblockr +,ÿ/08@Riguide.to/js/advertisement.js +-* + +priva.us* +ilix.in08@Rilix.in^ +€@* +atresplayer.com* +atresmedia.com* +antena3.com* +daisuki.net* +lasexta.com08@R ima3vpaid.appspot.com/?adTagUrl= +3@08@R%ima3vpaid.appspot.com/crossdomain.xml +.ÿ/08@Rimageontime.com/ads/banner.jpg? +5ÿ/08@R&imagepearl.com/asset/javascript/ads.js +08@Rimages.cwtv.com^ +xÿ/* + mobinozer.com* +einthusan.tv* +city1016.ae* +slacker.com08@R*imasdk.googleapis.com/js/sdkloader/ima3.js ++ÿ/08@Rimgclick.net/jss/show_ads.js ++ÿ/08@Rimgleech.com/ads/banner.jpg? +*ÿ/08@Rimgsure.com/ads/banner.jpg? +ÿ/08@Rimgve.com/pop.js +>ÿ/* +hackintosh.zone08@Rimpactradius.com/display-ad/ +?ÿ/* +hackintosh.zone08@Rimpactradius.com/gen-ad-code/ +1ÿ/08@R"incredibox.com/js/advertisement.js +#08@Rindianexpress.com/*ad +1ÿ/* + eventhubs.com08@Rinfineoncorp.com^ +-* + +priva.us* +ilix.in08@Rinfo.tm^ +2@* +channel4.com08@Rinnovid.com/1x1.gif? +A@* +channel4.com08@R#innovid.com/iroll/config/*.xml?cb=[ +A@* +channel4.com08@R#innovid.com^*/VPAIDIRollPackage.swf +-@08@Rinskinmedia.com/crossdomain.xml +Dÿ/* + +insys.pl08@R)insys.pl/Scripts/InsysPlayer.*/adTest.png +Aÿ/* +dayt.se08@R'integral-marketing.com/scripts/imads.js +O* +forums.tweaktown.com08@R)intellitxt.com/intellitxt/front.asp?ipid= + 08@Rintoday.in/ads/ +"ÿ/08@Rintoday.in^*/ads.js +=ÿ/08@R.investigationdiscovery.com/shared/ad-enablers/ +%ÿ/08@Rinvesting.com^*/ads.js +%ÿ/08@Rinvestors.com^*/ads.js +/* +ip-address.org08@Rip-address.org^ +%ÿ/08@Ripneighbour.com/ads.js ++08@Riridiumsergeiprogenitor.info^ +'ÿ/08@Ririptv.com/player/ads.js +'08@Rjagranjosh.com/Resources/ + 08@Rjansatta.com/*ads_ +.* +lg-firmware-rom.com08@R jb51.net^ +08@Rjevvi.es/adblock/ +5ÿ/08@R&jkanime.net/assets/js/advertisement.js +.ÿ/08@Rjkanime.net^*/advertisement2.js +08@R jpopasia.com^ ++ÿ/08@Rjpost.com/JavaScript/ads.js? +3* +pcgames-download.net08@R jsc.mgid.com^ +.ÿ/08@Rjuba-get.com^*/advertisement.js +'ÿ/08@Rjuzupload.com/advert*.js +5 * +autoevolution.com08@Rk01k0.com/adverts/ +%ÿ/08@Rkatsomo.fi^*/advert.js +,ÿ/08@Rkatsomo.fi^*/advertisement.js +#ÿ/08@Rkbb.com/js/advert.js +ÿ/08@Rkbb.com^*/ads.js +'ÿ/08@Rkdliker.com/js/advert.js +*08@Rkenkenpuzzle.com/assets/ads- +!„08@Rkissanime.com/ads/ +"€08@Rkisscartoon.me/Ads/ +** +phoronix.com08@Rkomoona.com^ +#ÿ/08@Rkoparos.info/ads.php +%ÿ/08@Rkotaku.com.au^*/ads.js +#ÿ/08@Rlapurno.info/ads.php +!@08@Rlasexta.com/adsxml/ +08@Rlayer13.net^ +$ÿ/08@Rlcpdfr.com/adblock.js +3ÿ/08@R$leaguesecretary.com/advertisement.js +*08@Rleecher.us/assets/img/*/ads/ ++08@Rletsadvertisetogether.com/-*- ++08@Rletsadvertisetogether.com/.*. ++08@Rletsadvertisetogether.com^*/-° +.ÿ/08@Rliberallogic101.com/show_ads.js +)ÿ/08@Rlifehacker.com.au^*/ads.js +008@R"likablescaldfelted.info/ads/ads.js +,ÿ/08@Rlilfile.com/js/advertise-2.js +*ÿ/08@Rlilfile.com/js/advertise.js +#08@Rlinkcrypt.ws/image/*# +2ÿ/08@R#litecoin-faucet.tk/advertisement.js +.ÿ/08@Rlitecoiner.net/advertisement.js +-ÿ/08@Rlive2.snopes.com^*/adframe.js? +Aÿ/* + wstream.video08@R!liveadexchanger.com/a/display.php +2* +livemint.com08@Rlivemint.com*/ads.js +&08@Rlolalytics.com/js/ad*.js ++ÿ/08@Rlookr.com^*/advertisement.js +(ÿ/08@Rlpg-forum.pl/advertise.js ++* +thesimsresource.com08@Rm2.ai^ ++* +mackolik.com08@R mackolik.com^ ++ÿ/08@Rmacobserver.com/js/adlink.js +/* + kissanime.com08@Rmadadsmedia.com^ +08@Rmagesy.be^*/ad +Cÿ/08@R4majorleaguegaming.com/live/assets/advertisement-*.js +,08@Rmajorleaguegaming.com^*.png?*= +'ÿ/08@Rmakemehost.com/js/ads.js +*ÿ/08@Rmamahd.com/advertisement.js +*ÿ/08@Rmanga-news.com/js/advert.js +A08@R3mangabird.me/sites/default/files/manga/*/advertise- +$ÿ/08@Rmangahost.com/ads.js? + €08@Rmangakaka.com/ad/ +,ÿ/08@Rmangakaka.com^*/advertiser.js +1ÿ/08@R"marketmilitia.org/advertisement.js +4ÿ/08@R%maxcheaters.com/public/js/jsLoader.js ++* +maxigame.org08@R maxigame.org^ ++08@Rmedia.eventhubs.com/images/*# +Cÿ/* +mackolik.com* +sahadan.com08@Rmedyanetads.com/ad.js ++ÿ/08@Rmegadown.us/advertisement.js +-ÿ/08@Rmegafiletube.xyz/js/adblock.js ++ÿ/08@Rmegahd.me^*/advertisement.js +1ÿ/08@R"megavideodownloader.com/adframe.js +/ÿ/08@R megawypas.pl/includes/adframe.js ++ÿ/08@Rmgcash.com/common/adblock.js +J* +videodepot.org* + movieleaks.co08@Rmgcashgate.com/cpalocker/ +3* + kissanime.com08@Rmgid.com/k/i/*.js?t= +:* + kissanime.com08@Rmgid.com/k/i/kissanime.com. +4* +sportsmole.co.uk08@Rmgid.com/s/p/*.js? +(* + kissanime.com08@R mgid.com^ +)* +kisscartoon.me08@R mgid.com^ +.08@R mid-day.com/Resources/midday/js/ +408@R&mid-day.com/Resources/middaymobile/js/ +2ÿ/08@R#miniclipcdn.com/js/advertisement.js + "08@Rmirrorcreator.com^ +4ÿ/08@R%mix.dj/jscripts/jquery/mdj_adverts.js +(ÿ/08@Rmix.dj^*/advertisement.js +/ÿ/08@R mma-core.com/Scripts/adscript.js +#08@Rmmatko.com/images/ad/ +.ÿ/* +cc.com08@Rmoatads.com/huluvpaid +(ÿ/08@Rmobinozer.com^*/advert.js +"08@Rmocospace.com^*/ads_ +808@R*moje-dzialdowo.pl/delivery/ajs.php?zoneid= +,08@Rmoje-dzialdowo.pl/images/*.swf +'ÿ/08@Rmonova.org/js/adframe.js +0ÿ/08@R!monova.unblocked.la/js/adframe.js +,@08@Rmonsoonads.com/crossdomain.xml +1@08@R#monsoonads.com:8080/crossdomain.xml +h@* +bollywoodhungama.com* +videos.mid-day.com08@R,monsoonads.com:8080/monsoon1/monsoonservice? +.ÿ/08@Rmoon-faucet.tk/advertisement.js’; +.ÿ/08@Rmousebreaker.com/scripts/ads.js +-ÿ/08@Rmp3clan.com^*/advertisement.js +,ÿ/08@Rmrtzcmp3.net/advertisement.js +<08@R.msecnd.net/widget-scripts/extra_content/ads.js +1ÿ/08@R"mtlblog.com/wp-content/*/advert.js +'08@Rmtvnservices.com/aria/*Ad +&08@Rmultiup.org/img/theme/*? +/* +multiup.org08@Rmultiup.org/pop.js ++ÿ/08@Rmwfiles.net/advertisement.js ++ÿ/08@Rmybannermaker.com/banner.php +/ÿ/08@R myfineforum.org/advertisement.js +/ÿ/08@R myfreeforum.org/advertisement.js +#ÿ/08@Rmyiplayer.com/ad*.js +:* +newmusicforpeople.org08@Rmzstatic.com^*.jpg# +Dÿ/* +tvil.me08@R(namesakeoscilloscopemarquis.com^*/ads.js +6ÿ/08@R'nationalgeographic.com^*/advertising.js +*08@Rnbcudigitaladops.com/hosted/ +08@R ndtv.com^ +%ÿ/08@Rneedrom.com/advert1.js +/ÿ/08@R nettavisen.no^*/advertisement.js +08@Rnext-episode.net^ +Bÿ/08@R3nextthreedays.com/Include/Javascript/AdFunctions.js +.* +newgrounds.com08@Rngads.com/*.js +08@Rnonags.com^*/ad +08@Rnosteam.ro/*ad*. +"ÿ/08@Rnosvideo.com/ads.js +%08@Rnowvideo.li/banner.php? +%08@Rnowvideo.sx/banner.php? +%08@Rnowvideo.to/banner.php? +(08@Rnpttech.com/advertising.js +808@R*ntn24.com/sites/all/libraries/can-run-ads/ +=ÿ/* +nzbstars.com08@Rnzbstars.com*/advertisement.js +4* +nzdating.com08@Rnzd.co.nz^*/ads/webads +,ÿ/* + +olweb.tv08@Rolcdn.net/ads1.js +#ÿ/08@Romnipola.com/ads.php +/ÿ/08@R onlinevideoconverter.com^*ad*.js +)ÿ/08@Ronrpg.com/advertisement.js +#08@Ronvasortir.com/advert +08@Roogh8ot0el.com^ +1ÿ/08@R"openrunner.com/js/advertisement.js +8* +openspeedtest.com08@Ropenspeedtest.com*/ad +-08@Ropenx.gamereactor.dk/multi.php? +<* +clubedohardware.com.br08@Ropenx.net/w/1.0/acj? +=* +clubedohardware.com.br08@Ropenx.net/w/1.0/jstag +Oÿ/* +pro-football-reference.com08@R"optimized-by.rubiconproject.com/a/ ++ÿ/08@Roverclock3d.net/js/advert.js +?* +sc2casts.com08@R!pagead2.googlesyndication.com/bg/ +B* +altoque.com08@R%pagead2.googlesyndication.com/pagead/ +ìÿ/* +full-ngage-games.blogspot.com* +kingofgames.net* +ninjaraider.com* +megaallday.com* + upfordown.com* +allmusic.com* +wtf-teen.com* + +ffiles.com* + +nonags.com08@R7pagead2.googlesyndication.com/pagead/expansion_embed.js +mÿ/* + sizedrive.com* + softpedia.com08@R<pagead2.googlesyndication.com/pagead/js/*/expansion_embed.js +Zÿ/* +sc2casts.com08@R;pagead2.googlesyndication.com/pagead/js/*/expansion_publ.js +·ÿ/* +noticiasautomotivas.com.br* +calcularindemnizacion.es* +masfuertequeelhierro.com* +clubedohardware.com.br* +settlersonlinemaps.com* +wallpapersimages.co.uk* +play-old-pc-games.com* +shinobilifeonline.com* +androidrepublic.org* +appraisersforum.com* +javadecompilers.com* +liberallogic101.com* +ringmycellphone.com* +kadinlarkulubu.com* +skylinewebcams.com* +slideplayer.com.br* +unlocktheinbox.com* +broadbandforum.co* +receive-a-sms.com* +streaming-hub.com* +technoshouter.com* +wrestlingtalk.org* +danydanielrt.com* +freeclaimbtc.xyz* +mypapercraft.net* +uploadrocket.net* +globaldjmix.com* +hackintosh.zone* +niresh12495.com* +scriptnulled.eu* +thehomestyle.co* +bitcoinker.com* +bsmotoring.com* +demo-uhd3d.com* +incredibox.com* +lailasblog.com* +pattayaone.net* + apkmirror.com* + bitcofree.com* + cpu-world.com* + debridnet.com* + dev-metal.com* + getdebrid.com* + hubturkey.net* + sizedrive.com* + unlockpwd.com* + wowtoken.info* +afreesms.com* +boxbit.co.in* +debridit.com* +freebitco.in* +lomeutec.com* +mangacap.com* +mangahop.com* +media4up.com* +megaleech.us* +mma-core.com* +sc2casts.com* +uploadex.com* +3dsforum.tk* +gsmdude.com* +hulkusc.com* +i-stats.net* +narkive.com* +rockfile.eu* +zeperfs.com* + +ezoden.com* + +gnomio.com* + +lcpdfr.com* + +leecher.us* + +nonags.com* + +xcl.com.br* + mpc-g.com* + niresh.co* + +short.am08@R6pagead2.googlesyndication.com/pagead/js/adsbygoogle.js +–ÿ/*" + mugiwaranofansub.blogspot.com.ar* +musicacelestial.net* +cleodesktop.com08@R9pagead2.googlesyndication.com/pagead/js/google_top_exp.js +Xÿ/* +majorleaguegaming.com08@R0pagead2.googlesyndication.com/pagead/js/lidar.js +•ÿ/*" + mugiwaranofansub.blogspot.com.ar*! +software4all-now.blogspot.co.uk* +full-ngage-games.blogspot.com* +free.smsmarkaz.urdupoint.com* +ftlauderdalebeachcam.com* +portevergladeswebcam.com* +tamercome.blogspot.co.uk* +keywestharborwebcam.com* +portcanaveralwebcam.com* +atlanticcitywebcam.com* +bicimotosargentina.com* +ftlauderdalewebcam.com* +themes.themaxdavis.com* +ibmmainframeforum.com* +portbermudawebcam.com* +morganhillwebcam.com* +readersdigest.com.au* +ahmedabadmirror.com* +downloads.codefi.re* +portarubawebcam.com* +portmiamiwebcam.com* +seeingwithsound.com* +carsfromitaly.info* +foro.clubcelica.es* +freewaregenius.com* +nyharborwebcam.com* +photos.essence.com* +windows7themes.net* +bullywiihacks.com* +gamespowerita.com* +moviemistakes.com* +puromarketing.com* +simply-debrid.com* +darkreloaded.com* +korean-candy.com* +mypapercraft.net* +numberempire.com* +omegadrivers.net* +portnywebcam.com* +radioaficion.com* +yellowbridge.com* +buickforums.com* +drivearabia.com* +fcportables.com* +hackintosh.zone* +hastlegames.com* +kingofgames.net* +livenewschat.eu* +ninjaraider.com* +top100clans.com* +virginmedia.com* +warp2search.net* +9jumpin.com.au* +dreamscene.org* +ip-address.org* +litecoiner.net* +megaallday.com* +modsaholic.com* +preemlinks.com* +smashgamez.com* +washington.edu* +winterrowd.com* + budget101.com* + codeasily.com* + freecoins4.me* + lordpyrak.net* + mangakaka.com* + softpedia.com* + tech-blog.net* + techydoor.com* + upfordown.com* +360haven.com* +9news.com.au* +afreesms.com* +docpaste.com* +dragoart.com* +gifmagic.com* +mangacap.com* +tipstank.com* +trutower.com* +uploadlw.com* +wtf-teen.com* +file4go.com* +hulkusc.com* +kshowes.net* +lumload.com* +misheel.net* +tv-kino.net* +woprime.com* + +epmads.com* + +ffiles.com* + +hostyd.com* + +intoday.in* + +newsok.com* + +nonags.com* + +nornar.com* + +rapid8.com* + dsero.com* + urlink.at* + +9bis.net* + +priva.us* +bbc.com* +ilix.in* +nx8.com08@R0pagead2.googlesyndication.com/pagead/show_ads.js +Xÿ/* +gamespot.com08@R9pagead2.googlesyndication.com/pagead/show_companion_ad.js +N* +sc2casts.com08@R0pagead2.googlesyndication.com/pub-config/ca-pub- +B* +hulkusc.com08@R%pagead2.googlesyndication.com/simgad/ +Q* +hardocp.com08@R4pagead2.googlesyndication.com/simgad/573912609820809 +5* +allmusic.com08@Rpagefair.net/ads.min.js +&ÿ/08@Rpandora.com/static/ads/ +Nÿ/* + +cityam.com08@R1partner.googleadservices.com/gampad/google_ads.js +Rÿ/* + +cityam.com08@R5partner.googleadservices.com/gampad/google_service.js +¿* +pro-football-reference.com* +basketball-reference.com* +baseball-reference.com* +hockey-reference.com* +sports-reference.com* +computerworlduk.com* +residentadvisor.net* +bakersfield.com* +drivearabia.com* +theinquirer.net* + sitepoint.com* + speedtest.net* + techworld.com* + wowtoken.info* +allmusic.com* +gamespot.com* +slacker.com* + +cityam.com* + +dawn.com* + +v3.co.uk08@R-partner.googleadservices.com/gpt/pubads_impl_• +)ÿ/08@Rpaste.org/style/adframe.js +;* +pcgames-download.net08@Rpcgames-download.net^ + 08@Rpep.ph/res/js/ads. +Hÿ/08@R9perkuinternete.lt/modules/mod_jpayday/js/advertisement.js +08@R phoronix.com^ +,ÿ/08@Rphotofacefun.com^*/adblock.js +-ÿ/08@Rpipocas.tv/js/advertisement.js +#08@Rpixsense.net^*/ad*.js +*ÿ/08@Rplantuml.com/adsbygoogle.js +- 08@Rplayer.foxfdm.com^*/playback.js +1ÿ/08@R"player.utv.ie/assets/js/adframe.js +)ÿ/08@Rplayhd.eu/advertisement.js +2ÿ/08@R#playindiafilms.com/advertisement.js ++ÿ/08@Rplaylive.pw/advertisement.js +)08@Rpleaseletmeadvertise.com/*- +;* +linkshrink.net08@Rpleaseletmeadvertise.com/*. +)08@Rpleaseletmeadvertise.com/*_ +2ÿ/08@R#pleaseletmeadvertise.com/.adcenter. +008@R"pleaseletmeadvertise.com/.adforge. ++08@Rpleaseletmeadvertise.com/ad*. +0ÿ/08@R!pleaseletmeadvertise.com^*/ads.js +&ÿ/08@Rpokewatchers.com/ads.js +;* +pcgames-download.net08@Rpop-myads.weebly.com^ +Hÿ/* + sizedrive.com* + go4up.com* +hqq.tv08@Rpopads.net/pop.js +Cÿ/* +exrapidleech.info08@Rpoponclick.com/pp800x600.js?id= +(ÿ/08@Rpostimg.org/js/adframe.js +4ÿ/* + powerwatch.pw08@Rpowerwatch.pw/pop.js +$08@Rpowvideo.xyz/js/ads.js +1ÿ/08@R"preloaders.net/jscripts/adframe.js +0ÿ/08@R!premiumleecher.com/inc/adframe.js +0ÿ/08@R!premiumleecher.com/inc/adsense.js +-08@Rprimewire.is^*/advertisement.js +.* + +priva.us* +ilix.in08@R priva.us^ ++ÿ/08@Rpromptfile.com/js/showads.js +0* + kissanime.com08@Rpropellerads.com^ +08@Rprotect-url.net^ + 08@Rps4news.com/ad*.js +L@* +itsyourtvnow.com* + vaughnlive.tv08@Rpubads.g.doubleclick.net/ +0ÿ/08@R!pubdirecte.com^*/advertisement.js +4ÿ/08@R%puromarketing.com/js/advertisement.js +/* +qoinfaucet.com08@Rqoinfaucet.com^ +%ÿ/08@Rqrrro.com^*/adhandler/ +4ÿ/08@R%racedepartment.com^*/advertisement.js +P* +computerworlduk.com* +theinquirer.net* + +v3.co.uk08@Rrackcdn.com^ +1ÿ/08@R"radar-toulouse.fr/advertisement.js ++08@Rradioaficion.com/HamNews/*/ad +'ÿ/08@Rradioio.com^*/adframe.js +08@Rrapid8.com^ +!„08@Rrapidmoviez.com/ad +0€08@R!rapidmoviez.com/files/php/mgid-ad +7ÿ/08@R(ratebeer.com/javascript/advertisement.js +'08@Rratemyprofessors.com^*/ad +,* + eventhubs.com08@R rctrails.com^ +Gÿ/* +redtube.com.br* +redtube.com08@Rredtube.com*/adframe.js ++* +wp.tv08@Rrek.www.wp.pl/pliki/ +- * +wp.tv08@Rrek.www.wp.pl/vad.xml? +@@* + +uktv.co.uk* +itv.com08@Rreq.tidaltv.com/vmm.ashx? +Eÿ/* +cyberdevilz.net08@R#resources.infolinks.com/js/*/ice.js +Nÿ/* +cyberdevilz.net08@R,resources.infolinks.com/js/infolinks_main.js +-ÿ/08@Rrincondelvago.com^*_adsense.js ++* + +backin.net08@Rrivcash.com/it/ ++* +allkpop.com08@Rrsc.cdn77.org^ +I* +mangaumaru.com08@R)rsense-ad.realclick.co.kr/favicon.ico?id= +,@* + +uktv.co.uk08@Rrtr.innovid.com^‚ +2* + kissanime.com08@Rrubiconproject.com^ +F* + +flash-x.tv* + flashx.tv08@Rruckusschroederraspberry.com^ +,ÿ/08@Rrunners.es^*/advertisement.js +Eÿ/* +allmusic.com* +sidereel.com08@Rs.ntv.io/serve/load.js +<* +socketloop.com08@Rs3.amazonaws.com/socketloop/ +2€08@R#saavn.com/ads/search_config_ad.php? +)* +sahadan.com08@Rsahadan.com^ +08@Rsalefiles.com^ +!08@Rsankakucomplex.com^ + 08@Rsankakustatic.com^ +<ÿ/* +onvasortir.com08@Rsascdn.com/diff/js/smart.js +1* + eskago.pl08@Rsascdn.com/diff/video/ +,* + eskago.pl08@Rsascdn.com/video/ +1ÿ/08@R"savevideo.me/images/banner_ads.gif +%ÿ/08@Rsawlive.tv/adscript.js +,ÿ/08@Rsbs.com.au^*/advertisement.js ++* +sc2casts.com08@R sc2casts.com^ +&ÿ/08@Rscan-manga.com/ads.html ++08@Rscan-manga.com/ads/banner.jpg +-ÿ/08@Rscoutingbook.com/js/adsense.js +9@* +maniatv.com08@Rsearch.spotxchange.com/vast/ +2€08@R#seekingalpha.com/adsframe.html#que= +08@Rseekingalpha.com^ +,ÿ/08@Rsenmanga.com/advertisement.js +7ÿ/08@R(sepulchralconestogaleftover.com^*/ads.js +P08@RBseries-cravings.info/wp-content/plugins/wordpress-adblock-blocker/ +(ÿ/08@Rshare-online.biz^*/ads.js +5ÿ/08@R&sheepskinproxy.com/js/advertisement.js +)ÿ/08@Rshimory.com/js/show_ads.js +%ÿ/08@Rshink.in/js/showads.js +1ÿ/08@R"shipthankrecognizing.info^*/ads.js +'ÿ/08@Rshowsport-tv.com/adv*.js +*ÿ/08@Rsiamfishing.com^*/advert.js ++ÿ/08@Rsitepoint.com^*/ad-server.js +2* +majorleaguegaming.com08@Rsixpool.me^ +0ÿ/08@R!skidrowcrack.com/advertisement.js +0@08@R"skylinewebcams.com/player/ad2.swf? ++ÿ/08@Rslacker.com^*/Advertising.js +uÿ/* +atresplayer.com* +atresmedia.com* +antena3.com* +lasexta.com08@R#smartadserver.com/call/pubj/*/M/*/? +uÿ/* +atresplayer.com* +atresmedia.com* +antena3.com* +lasexta.com08@R#smartadserver.com/call/pubj/*/S/*/? +Bÿ/* +onvasortir.com08@R!smartadserver.com/config.js?nwid= +,ÿ/* +hqq.tv08@Rsms-mmm.com/pads.js +.* +hqq.tv08@Rsms-mmm.com/script.php +08@Rsockshare.com/js/ +<ÿ/* +informer.com08@Rsoftware.informer.com*/ads.js +708@R)sominaltvfilms.com/wp-content/*/adbanner/ +2* + kissanime.com08@Rsonobi.com/welcome/ +0ÿ/08@R!sounddrain.net^*/advertisement.js +(08@Rsparkylinux.org/images/ad/ +08@Rspaste.com^ + 08@Rspecout.com/ad? +9ÿ/08@R*springstreetads.com/scripts/advertising.js +08@R srnet.eu^ + ÿ/08@Rsrnk.co/js/ads.js ++ÿ/08@Rstackexchange.com/affiliate/ +5* +avforums.com08@Rstatic-avforums.com/*ad +A* +timesofindia.indiatimes.com08@Rstatic.clmbtech.com^ +9ÿ/* +9news.com.au08@Rstatic9.net.au^*/advert.js +&ÿ/08@Rstickgames.com^*/ads.js +6ÿ/08@R'stockmarketwire.com/js/advertisement.js +$08@Rstreamdefence.com/*.js +&ÿ/08@Rstreamlive.to/js/ads.js +!08@Rstreamlive.to^*/ad/ +&ÿ/08@Rstreamplay.to/js/ads.jsŸ +*08@Rstudybreakmedia.com^*/ads.js +,ÿ/08@Rsuperfilm.pl/advertisement.js ++* +superfilm.pl08@R superfilm.pl^ +>ÿ/08@R/talksport.com/sites/default/files/ben/advert.js +8ÿ/08@R)team-vitality.fr/assets/images/advert.png +4ÿ/08@R%techweekeurope.co.uk^*/advertising.js +#08@Rteenidols4you.com^*#- +&ÿ/08@Rteknogods.com/advert.js +'ÿ/08@Rtelegraph.co.uk^*/ads.js +7@08@R)telemetryverification.net/crossdomain.xml +* +batmanstream.com* +guardacalcio.com* +stream2watch.biz* +robinwidget.com* +zorrostream.com* + +betteam.ru08@Rteleviseneurosisfilmstrip.info^ +7* +kisscartoon.me08@Rtester.advertserve.com^ +(ÿ/08@Rtf2center.com^*/advert.js +808@R*the-dermatologist.com^*/ad_block_check/ad/ +1* + +vidup.me08@Rtheads.me/www/delivery/ +/ÿ/08@R thecountrycaller.com/showads.php +9ÿ/08@R*thenextweb.com/wp-content/advertisement.js +>08@R0thesilverforum.com/public/js/jsLoader.js?adType= +9* +thesimsresource.com08@Rthesimsresource.com^ +(ÿ/08@Rthetechpoint.org^*/ads.js +$ÿ/08@Rthevideo.me/js/ad*.js +%ÿ/08@Rthevideos.tv/js/ads.js +5ÿ/08@R&theweatherspace.com^*/advertisement.js +?@* +channel4.com08@R!tidaltv.com/ILogger.aspx?*&adId=[ +=@* +channel4.com08@Rtidaltv.com/tpas*.aspx?*&rand=[ +"08@Rtimesinternet.in/ad/ +*08@Rtimesofindia.indiatimes.com^ +#08@Rtklist.net/tklist/*ad +8* +sc2casts.com08@Rtpc.googlesyndication.com^ +$ÿ/08@Rtpmrpg.net/adframe.js +C€* + +topzone.lt08@R&tradedoubler.com/anet?type(iframe)loc( +[ÿ/* +clubedohardware.com.br* +yellowbridge.com08@Rtribalfusion.com/displayAd.js? +R* +clubedohardware.com.br* +yellowbridge.com08@Rtribalfusion.com/j.ad? +9* +turbogenerator.info08@Rturbogenerator.info^ +1* +turbovideos.net08@Rturbovideos.net^ +4€* +turkanime.tv08@Rturkanime.tv/ads.html +08@R turkdown.com^ +3ÿ/08@R$tv3.co.nz/Portals/*/advertisement.js +!€08@Rtvdez.com/ads/ads_ +Cÿ/* + +tvn24.pl* +tvn.pl08@Rtvn.adocean.pl/files/js/ado.js +.ÿ/08@Rtvpelis.net^*/advertisement2.js +&08@Rucoz.com/ads/banner.jpg? +*ÿ/08@Ruktv.co.uk/static/js/ads.js +;ÿ/08@R,universityherald.com/common/js/common/ads.js ++ÿ/08@Rup-flow.org/advertisement.js +)08@Ruploadlw.com/getbanner.cfm? +&ÿ/08@Ruploadrocket.net/ads.js +2ÿ/08@R#uploadrocket.net/advertising/ads.js ++ÿ/08@Rupshare.org/advertisement.js +2* +uptobox.com08@Ruptobox.com*.ad6media +08@Rurbeez.com/adver +0ÿ/08@R!urdupoint.com/js/advertisement.js +^ÿ/* +free.smsmarkaz.urdupoint.com08@R/urdupoint.googlecode.com/files/advertisement.js +,€08@Rurlgalleries.net^*/adhandler/ +#ÿ/08@Rusaupload.net/ads.js +(ÿ/08@Ruvnc.com/advertisement.js +/* + +uktv.co.uk08@Rv.fwmrm.net/ad/g/1? +. * + +uktv.co.uk08@Rv.fwmrm.net/ad/p/1 +/@* + +uktv.co.uk08@Rv.fwmrm.net/ad/p/1? +>ÿ/* +mma-core.com08@Rvcnt3rd.com/Scripts/adscript.js +"ÿ/08@Rvdrive.to/js/pop.js +0ÿ/08@R!veedi.com/player/js/ads/advert.js +!ÿ/08@Rveedi.com^*/ADS.js +9ÿ/* + veohb.net08@Rveohb.net/js/advertisement.jsç +*ÿ/08@Rvercanalestv.com/adblock.js +-ÿ/08@Rverticalscope.com/js/advert.js +:ÿ/08@R+vgunetwork.com/public/js/*/advertisement.js +\‚* +springstreetads.com* +allmusic.com* +sidereel.com08@Rvideo.unrulymedia.com^ +-ÿ/08@Rvideocelebrities.eu^*/adframe/ +Eÿ/* + +tv4play.se08@R(videoplaza.tv/contrib/*/advertisement.js +&08@Rvideoweed.es/banner.php? +ÿ/08@Rvidlox.tv/pop.js +08@Rvidup.me/js/ +08@Rvidup.me^*/ads.js +7ÿ/08@R(vietvbb.vn/up/clientscript/google_ads.js +08@R viki.com/*.js +"ÿ/08@Rvipbox.tv/js/ads.js +#08@Rvipboxsa.co/js/ads.js +%ÿ/08@Rvipleague.se/js/ads.js +'ÿ/08@Rvirtualpets.com^*/ads.js +08@Rvodu.ch^ +2ÿ/08@R#wallpaperbeta.com/js/adsbygoogle.js +;ÿ/08@R,wallpapermania.eu/assets/js/advertisement.js +5ÿ/08@R&wallpapershacker.com/js/adsbygoogle.js +08@Rwallrider.top^ +&08@Rwanamlite.com/images/ad/ +8ÿ/* +dramafever.com08@Rwarnerbros-d.openx.net^ +6ÿ/08@R'watchcartoononline.com/advertisement.js +-ÿ/08@Rweather.com^*/advertisement.js +.ÿ/08@Rwebfirstrow.eu/advertisement.js +0ÿ/08@R!webfirstrow.eu^*/advertisement.js +4ÿ/08@R%webtv.rs/media/blic/advertisement.jpg +(ÿ/08@Rwelovebtc.com/show_ads.js +(08@Rwholecloud.net/banner.php? +$ÿ/08@Rwhosampled.com/ads.js +6ÿ/08@R'windows7themes.net/wp-content/advert.js +/08@R!womenshealthmag.com/sites/all/*ad +2ÿ/08@R#world-of-hentai.to/advertisement.js +6* +9to5mac.com08@Rwp.com/wp-content/themes/ +0ÿ/* +aleteia.org08@Rwp.com^*/advert.js +08@Rwriting.com^ +ÿ/08@Rwwg.com^*/ads.js +"08@Rxmovies8.org/ads_ +)ÿ/08@Rxmovies8.org/js/showads.js +2ÿ/08@R#xooimg.com/magesy/js-cdn/adblock.js + 08@Ryahmaib3ai.com/*ad +Øÿ/* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@Ryasni.*/adframe.js +.ÿ/08@Ryellowbridge.com/ad/show_ads.js +2ÿ/08@R#yellowbridge.com^*/advertisement.js ++* + eventhubs.com08@Ryolohobo.us^ +*ÿ/08@Ryouwatch.org/js/show_ads.js +08@Ryouwatch.org^*# +(ÿ/08@Rytconv.net/*google_ads.js +<* +allmusic.com* +phoronix.com08@Rz.moatads.com^ + 08@Rzattoo.com/ads/cs? +)* + +intoday.in08@R zedo.com/asw/ +8ÿ/* + +intoday.in08@Rzedo.com/client/xp1/fmos.js +2ÿ/* + +intoday.in08@Rzedo.com/jsc/d2/fo.js +)* +zeperfs.com08@Rzeperfs.com^ +0* +zerozero.pt08@Rzerozero.pt/script/ ++ÿ/08@Rzman.com/adv/ova/overlay.xml +-@08@Rzoomin.tv/adhandler/amalia.adm? +e* + nbastreams.me* + nhlstreams.me* +fbstreams.me* +livecamtv.me* +mlbstream.me08@Rblob: +u* + nbastreams.me* + nhlstreams.me* +fbstreams.me* +livecamtv.me* +mlbstream.me08@Rcdnjs.cloudflare.com^ +‹ÿ/* + nbastreams.me* + nflstreams.me* + nhlstreams.me* +fbstreams.me* +livecamtv.me* +mlbstream.me08@Rlivecamtv.me/embed.min.js +‰ÿ/* + nbastreams.me* + nflstreams.me* + nhlstreams.me* +fbstreams.me* +livecamtv.me* +mlbstream.me08@Rrealcam.me/embed.min.js +x* + nbastreams.me* + nflstreams.me* + nhlstreams.me* +fbstreams.me* +mlbstream.me08@Rseelive.me/embed.min.js +a€08@RRdomains.googlesyndication.com/apps/domainpark/domainpark.cgi?*^channel=csa_use_rs^ã +Tÿ/* +domains.googlesyndication.com08@R$www.google.com/adsense/search/ads.js +Kÿ/* +webcrawler.com08@R*www.google.com/adsense/search/async-ads.js +;€08@R,www.google.com/afs/ads?*^channel=csa_use_rs^ +&€ 08@Rtab.gladly.io/newtab/ +_ * +walmart.com.br08@R?247realmedia.com/RealMedia/ads/adstream_sx.ads/wm-desktop/home/ +oÿ/* + dafiti.com.ar* + dafiti.com.br* + dafiti.com.co* + dafiti.cl* +kbb.com08@R2mdn.net/viewad/*.jpg +3ÿ/* +ad.atown.jp08@Rad.atown.jp/adserver/ +gÿ/* + dafiti.com.ar* + dafiti.com.br* + dafiti.com.co* + dafiti.cl08@Rad.doubleclick.net^*.jpg +#ÿ/08@Rad.e-kolay.net/ad.js +6ÿ/08@R'ad.e-kolay.net/jquery-*-Medyanet.min.js +)ÿ/08@Rad.e-kolay.net/Medyanet.js +*ÿ/08@Rad.e-kolay.net/mnetorfad.js +ÿ/08@R ad.nl/ad/css/ +'ÿ/08@Rad.nl^*/themes/ad/ad.css +ÿ/08@Rad3.l3go.com.br^ +C* +my-magazine.me08@R#adap.tv/redir/client/swfloader.swf? +0ÿ/* + +noovo.ca08@Radgear.com/session.js +1ÿ/* + +noovo.ca08@Radgear.com^*/adgear.js +4ÿ/* + +alphatv.gr08@Radman.gr/adman-video.js +7* + +alphatv.gr08@Radman.gr/jwplayer.flash.swf +6@* +patrz.pl08@Radocean.pl/crossdomain.xml +=ÿ/* + +blesk.cz* +open.fm08@Radocean.pl/files/*.flv? +/@* +open.fm08@Radocean.pl^*/ad.js?id= +8@* +superfilm.pl08@Radocean.pl^*^aocodetype= +=08@R/adpriv.nikkei.com/bservers/AAMALL/*/acc_random= +ÿ/08@Rads.cvut.cz^ ++08@Rads.dainikbhaskar.com/AdTech/ +9@* + +ole.com.ar08@Rads.e-planning.net^*/preroll? +3* + +elefant.ro08@Rads.elefant.ro/ajs.php? +4@08@R&ads.hosting.vcmedia.vn/crossdomain.xml +0@08@R"ads.hosting.vcmedia.vn/jinfo.ashx? +2ÿ/08@R#ads.nicovideo.jp/assets/js/ads-*.js +,@08@Rads.peteava.ro/crossdomain.xml +?@08@R1ads.peteava.ro/www/serve_ads/serve2.php?campaign= +.@08@R ads.postimees.ee/crossdomain.xml +.@08@R ads.telecinco.es/crossdomain.xml +\@* +telecinco.es* + mitele.es08@R1ads.telecinco.es/RealMedia/ads/adstream_sx.ads/*@ +3@08@R%ads.us.e-planning.net/crossdomain.xml +?@* + elcomercio.pe08@R ads.us.e-planning.net^*&ma=*&vv= +Jÿ/* +autocentrum.pl08@R)adserver.netsprint.eu//widgets/widgets.js +ÿ/08@Radsystem.pl^ +> * +iltasanomat.fi* +hs.fi08@Radtech.de/?adrawdata/ +3@* +tv2.dk08@Radtech.de/?adrawdata/3.0/*; +* * +hs.fi08@Radtech.de/?advideo/ +2ÿ/* +dn.no08@Radtech.de/dt/common/DAC.js +9ÿ/* +tv3.ie08@R adtech.panthercustomer.com^*.flv +@@* +papeldigital.info08@Radtechus.com/adxml|*|rettype= +D@* +papeldigital.info08@R!adtechus.com/images/*_503x720.gif +d@* +polskieradio.pl* + spryciarze.pl* +radiozet.pl* + +tvp.info08@Radv.adview.pl/ads/*.mp4 +ÿ/08@Radv.pt^ +)* +r7.com08@Radv.r7.com/hash/? +ÿ/08@R +advert.ee^ +; * +uzmantv.com08@Radvert.mgimg.com/servlet/view/ +\* +uzmantv.com08@R?advert.uzmantv.com/advertpro/servlet/view/dynamic/url/zone?zid= +S* +advertisers.dk08@R3advertisers.dk/wp-content/uploads/*/google-adwords- +S* +advertisers.dk08@R3advertisers.dk/wp-content/uploads/*/google-adwords. +E * +mercadolivre.com.br08@R advertising.mercadolivre.com.br^ +Sÿ/08@RDadvertising.sun-sentinel.com/el-sentinel/elsentinel-landing-page.gif +.€* + iprima.cz08@Raffiliate.fsas.eu^ +P* +betyper.com08@R3affiliate.matchbook.com/processing/impressions.asp? +Fÿ/* +talksport.co.uk* +tv3.ie08@Raka-cdn-ns.adtech.de^*.flv +/@* +skai.gr08@Rakamaihd.net^*/advert/ +<08@R.alio.lt/public/advertisement/texttoimage.html? +;€* + moevideos.net08@Ram10.ru/letitbit.net_in.php¾ +( 08@Ramarillas.cl/advertise.do? +(08@Ramarillas.cl/js/advertise/ +&08@Ramarujala.com/assets/js/ +8* + kasi-time.com08@Ramazon-adsystem.com/e/ir? +C* +betyper.com08@R&amazonaws.com/affiliates/banners/logo/ +9ÿ/* +diki.pl08@Ramazonaws.com^*/transcriptions/ +B 08@R4americateve.com/mediaplayer_ads/new_config_openx.xml +N * + disney.no08@R3analytics.disneyinternational.com/ads/tagsv2/video/ +708@R)anandabazar.com/js/anandabazar-bootstrap/ +1* +se.no08@Rannonser.dagbladet.no/eas? +<ÿ/* +se.no08@R$annonser.dagbladet.no/EAS_tag.1.0.js +: * +godtprestert.no08@Rannonser.godtprestert.no^ +(08@Rantenna.gr/js/adman-video- +:ÿ/* +fanatik.com.tr08@Rapp.medyanetads.com/ad.js +/@08@R!applevideo.edgesuite.net/admedia/ +4@08@R&atresplayer.com/static/imgs/no_ads.jpg +¥ÿ/* +autoscout24.com* +autoscout24.de* +autoscout24.hr* +autoscout24.hu* +autoscout24.it08@R;autoscout24.*/all.js.aspx?m=css&*=/stylesheets/adbanner.css +.@08@R autotube.cz/ui/player/ad.php?id= +Aÿ/08@R2bancainternet.com.ar/eBanking/images/*-PUBLICIDAD. +8ÿ/08@R)bancodevenezuela.com/imagenes/publicidad/ +208@R$banki.ru/bitrix/*/advertising.block/ +-* + iprima.cz08@Rbbelements.com/bb/ +<ÿ/* +moviezone.cz08@Rbbelements.com/bb/bb_one2n.js +"08@Rbhaskar.com/revenue/ +0ÿ/08@R!biancolavoro.euspert.com/js/ad.js +$ÿ/08@Rblocket.se^*/newad.js +)ÿ/08@Rbmwoglasnik.si/images/ads/ +$@08@Rbn.uol.com.br/html.ng/ +-ÿ/08@Rbnrs.ilm.ee/www/delivery/fl.js +$ÿ/08@Rbolha.com/css/ad.css? +/ÿ/08@R bomnegocio.com/css/ad_insert.css +<ÿ/* +itv.com08@R"bs.serving-sys.com/crossdomain.xml +@ÿ/08@R1cadena100.es/static/plugins/vjs/js/videojs.ads.js +# 08@Rcarfinder.gr/api/ads/ +. 08@R catmusica.cat/paudio/getads.jsp? +H* + portalbici.es08@R)cloudinary.com/portalbici/advertisements/ +I@* +tvhaber.com08@R,content.reklamz.com/internethaber/SPOR_*.mp4 +(ÿ/08@Rcustojusto.pt/user/myads/ +Eÿ/* + kakao.com08@R)daumcdn.net/adfit/static/ad-native.min.js +9ÿ/* + +daum.net08@Rdaumcdn.net^*/displayAd.min.js +'ÿ/08@Rdi.se^*/advertisement.js +0ÿ/* +diki.pl08@Rdiki.pl/images-common/ +Aÿ/08@R2dingit.tv/js/dingit-player/js/html5/videojs.ads.js + 08@Rdoladowania.pl/pp/ +G* + esmas.com08@R,doubleclick.net/adx/es.esmas.videonot_embed/ +i* + dafiti.com.ar* + dafiti.com.br* + dafiti.com.co* + dafiti.cl08@Rdoubleclick.net^*;sz=*;ord= +6* +delo.si08@Rdoublerecall.com/core.js.php? +&08@Rduwo.nl^*/advertisement- + ÿ/08@Reenadu.net/ads.js +08@Reenadu.net/ads/ +*€08@Rehow.com.br/frames/ad.html? +0€08@R!ehowenespanol.com/frames/ad.html? +;* + marca.com08@R el-mundo.net/js/advertisement.js +' 08@Remag.hu/site_ajax_ads?id= +5* +emag.hu* +emag.ro08@Remagst.net/openx/ +)@08@Remediate.eu/crossdomain.xml +Â@* +lugnafavoriter.com* +playradio.se* + +tv3play.ee* + +tv3play.se* + +tv6play.se* + +tv8play.se* + bandit.se* + radio1.se* + rixfm.com* +nrj.se08@R%emediate.eu/eas?cu_key=*;ty=playlist; +)@08@Remediate.se/crossdomain.xml +xÿ/* + +tv3play.ee* + +tv3play.se* + +tv6play.se* + +tv8play.se* + novatv.bg* +tv2.dk* +tv3.se08@Remediate.se/eas? +kÿ/* + +tv3play.ee* + +tv3play.se* + +tv6play.se* + +tv8play.se* +tv2.dk08@Remediate.se/eas_tag.1.0.js ++ÿ/08@Rensonhaber.com/player/ads.js +3ÿ/08@R$epaper.andhrajyothy.com/js/newads.js +9ÿ/08@R*ettevotja.ee/templates/*/images/advert.gif +1 * +expressen.se08@Rexpdash.adtlgc.com^¤ +M08@R?fajerwerkilider.pl/environment/cache/images/300_250_productGfx_ +6@* +tv2.dk08@Rfeed.theplatform.com^*=adtech_ +.ÿ/08@Rfelcia.co.uk/css/ads-common.css +/ÿ/08@R felcia.co.uk/css/advert-view.css +,ÿ/08@Rfelcia.co.uk/js/ads_common.js +?ÿ/08@R0filmon.com/ad/affiliateimages/banner-250x350.png +N08@R@flashgames247.com/advertising/preroll/google-fg247-preloader.swf +?ÿ/08@R0folha.uol.com.br/paywall/js/1/publicidade.ads.js +ÿ/08@R +forads.pl^ +1ÿ/08@R"fotojorgen.no/images/*/webadverts/ +.ÿ/08@Rfotolog.com/styles/flags/ad.gif +;ÿ/08@R,fotosioon.com/wp-content/*/images/advert.gif +=* +diki.pl08@R$freefoto.com/images/*-Advertisement_ +(ÿ/08@Rfreeride.se/img/admarket/ ++* + +viafree.se08@Rfwmrm.net/ad/g/ +5ÿ/* + +viafree.se08@Rfwmrm.net^*/AdManager.js +4ÿ/* + +viafree.se08@Rfwmrm.net^*/LinkTag2.js +S* +concursovirtual.com.br* + +payback.pl08@Rg.doubleclick.net/gampad/ads? +J* +lavozdegalicia.es08@R'g.doubleclick.net/gampad/ads?*_Ligatus& +Ÿ* +concursovirtual.com.br* +lavozdegalicia.es* +forum.kooora.com* +posta.com.tr* + +payback.pl* + +uol.com.br08@R"g.doubleclick.net/gpt/pubads_impl_ +9* +loi1901.com08@Rgoogleads.g.doubleclick.net^ +Gÿ/* +play.tv2.dk08@R)googleadservices.com/pagead/conversion.js +N* +concursovirtual.com.br08@R&googlesyndication.com/pagead/imgad?id= +S* +concursovirtual.com.br* + +payback.pl08@Rgooglesyndication.com/simgad/ +(ÿ/08@Rgov.in/pdf/ADVERTISEMENT/ +%"08@Rguloggratis.dk/modules/ +A08@R3haberler.com/video-haber/adsense_news_politics.swf? +%ÿ/08@Rhappymtb.org/annonser/ +#ÿ/08@Rhizlial.com/banners/ +ÿ/08@R homad.eu^ +)€08@Rhonfoglalo.hu/aagetad.php? +"ÿ/08@Rhry.cz/ad/adcode.js +S* + +interia.tv08@R7hub.com.pl/reklama_video/instream_ebmed/vStitial_inttv_ +2ÿ/* + rakuten.co.jp08@Rias.rakuten.co.jp^ +:ÿ/08@R+il.timetoknow.com/lms/*/js/advertisement.js +¦ÿ/* +radio-canada.ca* +ensonhaber.com* +marieclaire.fr* +dibujos.net* +f5haber.com* + +uol.com.br* +r7.com08@R*imasdk.googleapis.com/js/sdkloader/ima3.js +/€* + jalan.net08@Rimpact-ad.jp/combo? +I* +betyper.com08@R,imstore.bet365affiliates.com/?AffiliateCode= +S* +betyper.com08@R6imstore.bet365affiliates.com/AffiliateCreativeBanners/ +5ÿ/* + +rmf24.pl08@Riplsc.com^*/inpl.box.ad.js +&08@Risanook.com/vi/0/js/ads- +#ÿ/08@Rizigo.pt/AdPictures/ +#ÿ/08@Rizigo.pt^*/adsearch? +608@R(jagran.com/Resources/mob_jagran-auto/js/ +4ÿ/08@R%jesper.nu/javascript/libs/videoads.js +'08@Rjoemonster.org^*_reklama_ +9* + +uol.com.br08@Rjsuol.com.br/c/detectadblock/ ++ÿ/08@Rjyllands-posten.dk/js/ads.js +7ÿ/08@R(kanalfrederikshavn.dk^*/jquery.openx.js? +4ÿ/08@R%kompas.com^*/supersized.*.min_ads.js? +<€08@R-kopavogur.is/umsoknarvefur/advertisement.aspx +108@R#krotoszyn.pl/uploads/pub/ads_files/ +ö* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R1laredoute.*/scripts/combinejs.ashx?*/affiliation/ +Rÿ/* +ostrow24.tv* + +yuvutu.com08@R&longtailvideo.com/5/adttext/adttext.js +Fÿ/* +ostrow24.tv08@R(longtailvideo.com/5/adtvideo/adtvideo.js +*ÿ/08@Rlrytas.lt/ads/video_feed.js +( 08@Rmail.bg/mail/index/getads/ ++08@Rmarieclaire.fr/media/videojs/ +?ÿ/08@R0megastar.fm/static/plugins/vjs/js/videojs.ads.js +'@08@Rmegatv.com^*/adverts.asp? +S08@REminhacontachevroletsf.com.br^*/CampaignImageProcessor.bon?*&BannerID= +;ÿ/08@R,minuripsmed.ee/templates/*/images/advert.gif +*08@Rmjhobbymassan.se/r/annonser/ +@* +mercadolibre.com.ve08@Rmlstatic.com^*/product_ads/¦ +&08@Rmmgastro.pl/img/reklama/ +&ÿ/08@Rmmgastro.pl/js/reklama/ +.@08@R moviezone.cz//moviezone/reklama/ +)P08@Rmoviezone.cz/swf/ad-player/ +…* +maxisciences.com* +gentside.com.br* +ohmymag.com.br* +gentside.com* +ohmymag.com08@Rmxstatic.com/p/mscripts/prebid_ +/ÿ/08@R mynet.com.tr/nocache/adocean.js? +,ÿ/08@Rmynet.com/nocache/adocean.js? +2ÿ/* +shopping.naver.com08@R naver.net/ad/ +Dÿ/* + +danawa.com08@R'naver.net/adpost/adpost_show_ads_min.js +8@* +rtl.lu08@R newmedia.lu^*/adtech_video/*.xml +#08@Rniedziela.nl/adverts/ +3ÿ/08@R$nordjyske.dk/scripts/ads/StoryAds.js +5* +ekstrabladet.dk08@Rnuggad.net/rc?nuggn= +?* +di.se08@R(oas.di.se/RealMedia/ads/Creatives/di.se/ +1* +di.se08@Roas.di.se^*/di.se/Lopet/*@ +?08@R1oas.dn.se/adstream_mjx.ads/dn.se/nyheter/ettan/*@ +[* +primerahora.com08@R:oascentral.gfradnetwork.net/RealMedia/ads/adstream_nx.ads/ +kÿ/08@R\openimage.interpark.com/_nip_ui/category_shopping/shopping_morningcoffee/leftbanner/null.jpg +6ÿ/08@R'openx.zomoto.nl/live/www/delivery/fl.js +>ÿ/08@R/openx.zomoto.nl/live/www/delivery/spcjs.php?id= +œ* +concursovirtual.com.br* +lavozdegalicia.es* +forum.kooora.com* +posta.com.tr* + +uol.com.br08@R-partner.googleadservices.com/gpt/pubads_impl_ +K* +betyper.com08@R.partners.10bet.com/processing/impressions.asp? +@ÿ/* + +payback.pl08@R#payback.pl/statics/common/js/dfp.js +7ÿ/08@R(peoplegreece.com/assets/js/adtech_res.js +B* +shopping.naver.com08@Rphinf.net/common/?src=*/adimg. + 08@Rplay.iprima.cz^ +7€* + +sbt.com.br08@Rplayer.liquidplatform.com^ +(08@Rplayer.terra.com^*&adunit= +1€* +nbc.com08@Rplayer.theplatform.com^ +"08@Rpolitiken.dk/static/ +/ÿ/08@R polovniautomobili.com/images/ad- +E * + portalbici.es08@R&portalbici.es/modules/*-advertisement. +,08@Rprohardver.hu/js/common/forms_ +@€* + moevideos.net08@R propellerads.com/afu.php?zoneid= +:ÿ/* + kissanime.com08@Rpropellerads.com^*/adlogo/ +)ÿ/08@Rpsoe.es/Areas/Affiliation/ +,ÿ/08@Rptchan.net/imagens/banner.php +508@R'ptcliente.pt/App_Themes/Default/Img/ad_ +<* +r7.com08@R$pubads.g.doubleclick.net/gampad/ads? +8ÿ/08@R)quebarato.com.br/css/static/ad_detail.css +8ÿ/08@R)quebarato.com.br/css/static/ad_search.css +'* + rakuten.co.jp08@Rr10s.jp^ +ÿ/08@Rr7.com/js/ads.js +e* +mapy.hiking.sk08@REreklama.hiking.sk/openx_new/www/delivery/spcjs.php?id=*&target=_blank +ÿ/08@Rreklama5.mk^ +@ * +uzmantv.com08@R#reklamport.com/rpgetad.ashx?*&vast= +8€08@R)rentalsystems.com/advert_price_imbed.asp? +;ÿ/08@R,ring.bg/adserver/adall.php?*&video_on_page=1 +.ÿ/08@Rrocking.gr/js/jquery.dfp.min.js ++ÿ/08@Rrtl.lu/ipljs/adtech_async.js +Bÿ/08@R3run.admost.com/adx/get.ashx?z=*&accptck=true&nojs=1 +/ÿ/08@R run.admost.com/adx/js/admost.js? +)ÿ/08@Rs-nk.pl/img/ads/icons_pack +<ÿ/* +emag.hu08@R"s1emagst.akamaized.net/openx/*.jpg +>* +saikoanimes.net08@Rsaikoanimes.net/adb/advert.js +5 08@R'sanook.com/php/get_ads.php?vast_linear= +Rÿ/* +ligtv.com.tr08@R3sascdn.com/diff/video/current/libs/js/controller.js +/* +ligtv.com.tr08@Rsascdn.com/video/ +"08@Rscreen9.com/players/ +(ÿ/08@Rsegundamano.mx/api/*/ads/ +P * +uzmantv.com08@R3serving-sys.com/BurstingPipe/adServer.bs?*&pl=VAST& +9ÿ/08@R*sigmalive.com/assets/js/jquery.openxtag.js +"@08@Rskai.gr/advert/*.flv +/@08@R!smart.allocine.fr/crossdomain.xmlô +F@* +beyazperde.com08@R&smart.allocine.fr/def/def/xshowdef.asp +g@* +europafm.com* +antena3.com* +ondacero.es* +vertele.com08@Rsmartadserver.com/call/pubj/ +G* +cuisineetvinsdefrance.com08@Rsmartadserver.com/call/pubj/ +?@* + get.x-link.pl08@R smartadserver.com/call/pubx/*/M/ +q@* +atresplayer.com* +atresmedia.com* +antena3.com* +lasexta.com08@R smartadserver.com/call/pubx/*blq +/@08@R!smartadserver.com/crossdomain.xml +u@* +atresplayer.com* +antena3.com* +lasexta.com* +ondacero.es08@R'smartadserver.com/diff/*/show*.asp?*blq +@08@Rsms.cz/bannery/ +"ÿ/08@Rsoov.ee/js/newad.js +Dÿ/* +staircase.pl08@R%staircase.pl/wp-content/*/adwords.jpg +A08@R3start.no/advertpro/servlet/view/text/html/zone?zid= +-ÿ/08@Rstart.no/includes/js/adCode.js +0@* +ipla.tv08@Rstat24.com/*/ad.xml?id= +.@* +ipla.tv08@Rstat24.com/ad.xml?id= +8* + +lecho.be08@Rstatic.lecho.be^*/js/site/dfp- +@* + +lecho.be08@R&static.lecho.be^*/js/site/modules/dfp/ +6* +tijd.be08@Rstatic.tijd.be^*/js/site/dfp- +>* +tijd.be08@R%static.tijd.be^*/js/site/modules/dfp/ +'ÿ/08@Rstyle.seznam.cz/ad/im.js +3ÿ/08@R$submarino.com.br/openx/www/delivery/ +* 08@Rta3.com/advert-async-system/ +)08@Rtcdn.nl/javascript/showads. +(€08@Rterra.cl^*/admanager.html +,€08@Rterra.com.br^*/admanager.html +Uÿ/08@RFthewineplace.es/wp-content/plugins/m-wp-popup/js/wpp-popup-frontend.js +3€08@R$tn.com.ar^*/vivo/300/publicidad.html +% 08@Rtrrsf.com.br/playerttv/ +:ÿ/* +terra.com.br08@Rtrrsf.com.br^*/admanager.js +'ÿ/08@Rtrrsf.com^*/admanager.js +:ÿ/08@R+tugaleaks.com^*/wp-super-popup-pro/sppro.js +;ÿ/08@R,tugaleaks.com^*/wp-super-popup-pro/sppro.php +,€08@Rtv2.dk/mpx/player.php/adtech_ +@08@Rtvn.adocean.pl^ +$08@Rtvp.pl/files/tvplayer/ +:ÿ/* +comunicaciones.udd.cl08@Rudd.cl/publicidad/ +-@08@Ruol.com.br/html.ng/*&affiliate= +)08@Ruol.com.br^*/detectadblock/ +7* + univision.com08@Ruvnimg.com^*/?url=*-ad1. +808@R*vedomosti.ru/assets/vendors/adriver.media- +<08@R.velasridaura.com/modules/*/advertising_custom. + 08@Rviafree.se^ +?@* + nextmedia.com08@R video.appledaily.com.hk/admedia/ +E@08@R7videonuz.ensonhaber.com/player/hdflvplayer/xml/ads.xml? +‚@* +ekstrabladet.dk* +aftenposten.no* + +kuriren.nu* + +qbrick.com* +svd.se* +bt.no08@R videoplaza.tv/proxy/distributor? +ÿ/08@Rvinden.se/ads/ +B* +betyper.com08@R%wl188bet.adsrv.eacdn.com/S.ashx?btag= +C* +betyper.com08@R&wl188bet.eacdn.com/wl188bet/affimages/ +I* +betyper.com08@R,wlmatchbook.eacdn.com/wlmatchbook/affimages/ +)* +abril.com.br08@Rwp.com^*/ad +( 08@Rxe.gr/property/recent_ads? +$ÿ/08@Ryapo.cl/js/viewad.js? +_ÿ/* +yahoo.co.jp08@RAyimg.jp/images/listing/tool/yads/impl/yads-stream-conf-top_smp.js +Zÿ/* +yahoo.co.jp08@R<yimg.jp/images/listing/tool/yads/yads-stream-conf-top_smp.js +Qÿ/* +yahoo.co.jp08@R3yimg.jp/images/listing/tool/yads/yjaxc-stream-ex.js +"ÿ/08@Rynet.co.il^*/ads.js +6ÿ/08@R'ziarelive.ro/assets/js/advertisement.js +&08@Rfastly.net/ad/ +&08@Rfastly.net/ad2/ +"08@Rfastly.net/js/*_ads. +ÿ/08@R +adwolf.eu^ +6ÿ/* + breitbart.com08@Rrealvu.net/realvu_*.js +< * +www.facebook.com08@Rwww.facebook.com/ajax/ads/ +Bÿ/* +accounts.google.com08@Raccounts.google.com/adwords/ +;€ * +adwords.google.com08@Raccounts.google.com^×? +à * +ads.google.com.af* +ads.google.com.ag* +ads.google.com.ai* +ads.google.com.ar* +ads.google.com.au* +ads.google.com.bd* +ads.google.com.bh* +ads.google.com.bn* +ads.google.com.bo* +ads.google.com.br* +ads.google.com.by* +ads.google.com.bz* +ads.google.com.cn* +ads.google.com.co* +ads.google.com.cu* +ads.google.com.cy* +ads.google.com.do* +ads.google.com.ec* +ads.google.com.eg* +ads.google.com.et* +ads.google.com.fj* +ads.google.com.gh* +ads.google.com.gi* +ads.google.com.gt* +ads.google.com.hk* +ads.google.com.jm* +ads.google.com.jo* +ads.google.com.kh* +ads.google.com.kw* +ads.google.com.lb* +ads.google.com.ly* +ads.google.com.mm* +ads.google.com.mt* +ads.google.com.mx* +ads.google.com.my* +ads.google.com.na* +ads.google.com.ng* +ads.google.com.ni* +ads.google.com.np* +ads.google.com.om* +ads.google.com.pa* +ads.google.com.pe* +ads.google.com.pg* +ads.google.com.ph* +ads.google.com.pk* +ads.google.com.pr* +ads.google.com.py* +ads.google.com.qa* +ads.google.com.ru* +ads.google.com.sa* +ads.google.com.sb* +ads.google.com.sg* +ads.google.com.sl* +ads.google.com.sv* +ads.google.com.tj* +ads.google.com.tn* +ads.google.com.tr* +ads.google.com.tw* +ads.google.com.ua* +ads.google.com.uy* +ads.google.com.vc* +ads.google.com.ve* +ads.google.com.vn* +ads.google.co.ao* +ads.google.co.bw* +ads.google.co.ck* +ads.google.co.cr* +ads.google.co.id* +ads.google.co.il* +ads.google.co.in* +ads.google.co.jp* +ads.google.co.ke* +ads.google.co.kr* +ads.google.co.ls* +ads.google.co.ma* +ads.google.co.mz* +ads.google.co.nz* +ads.google.co.th* +ads.google.co.tz* +ads.google.co.ug* +ads.google.co.uk* +ads.google.co.uz* +ads.google.co.ve* +ads.google.co.vi* +ads.google.co.za* +ads.google.co.zm* +ads.google.co.zw* +ads.google.it.ao* +ads.google.ne.jp* +ads.google.cat* +ads.google.com* + ads.google.ac* + ads.google.ad* + ads.google.ae* + ads.google.al* + ads.google.am* + ads.google.as* + ads.google.at* + ads.google.az* + ads.google.ba* + ads.google.be* + ads.google.bf* + ads.google.bg* + ads.google.bi* + ads.google.bj* + ads.google.bs* + ads.google.bt* + ads.google.by* + ads.google.ca* + ads.google.cd* + ads.google.cf* + ads.google.cg* + ads.google.ch* + ads.google.ci* + ads.google.cl* + ads.google.cm* + ads.google.cv* + ads.google.cz* + ads.google.de* + ads.google.dj* + ads.google.dk* + ads.google.dm* + ads.google.dz* + ads.google.ee* + ads.google.es* + ads.google.fi* + ads.google.fm* + ads.google.fr* + ads.google.ga* + ads.google.ge* + ads.google.gg* + ads.google.gl* + ads.google.gm* + ads.google.gp* + ads.google.gr* + ads.google.gy* + ads.google.hk* + ads.google.hn* + ads.google.hr* + ads.google.ht* + ads.google.hu* + ads.google.ie* + ads.google.im* + ads.google.iq* + ads.google.is* + ads.google.it* + ads.google.je* + ads.google.jo* + ads.google.jp* + ads.google.kg* + ads.google.ki* + ads.google.kz* + ads.google.la* + ads.google.li* + ads.google.lk* + ads.google.lt* + ads.google.lu* + ads.google.lv* + ads.google.md* + ads.google.me* + ads.google.mg* + ads.google.mk* + ads.google.ml* + ads.google.mn* + ads.google.ms* + ads.google.mu* + ads.google.mv* + ads.google.mw* + ads.google.ne* + ads.google.ng* + ads.google.nl* + ads.google.no* + ads.google.nr* + ads.google.nu* + ads.google.pl* + ads.google.pn* + ads.google.ps* + ads.google.pt* + ads.google.ro* + ads.google.rs* + ads.google.ru* + ads.google.rw* + ads.google.sc* + ads.google.se* + ads.google.sh* + ads.google.si* + ads.google.sk* + ads.google.sm* + ads.google.sn* + ads.google.so* + ads.google.sr* + ads.google.st* + ads.google.td* + ads.google.tg* + ads.google.tl* + ads.google.tm* + ads.google.tn* + ads.google.to* + ads.google.tt* + ads.google.us* + ads.google.vg* + ads.google.vu* + ads.google.ws08@Rads.google. +4* +www.google.com08@Rads.google.com/jsapi +6ÿ/* +analytics.google.com08@Rads.google.com^ +8ÿ/* +adwords.google.com08@Radwords.google.com^ +?* +apps.admob.com08@Rapps.admob.com/admob/*.adsense. +8€ * +adwords.google.com08@Rbpui0.google.com^ +Ñÿ/* + google.com.au* + google.com.eg* +google.co.in* +google.co.nz* +google.co.uk* +google.co.za* + +google.com* + google.ca* + google.de* + google.es* + google.ie* + google.it08@Rgoogle.*/adsense_ +Ñÿ/* + google.com.au* + google.com.eg* +google.co.in* +google.co.nz* +google.co.uk* +google.co.za* + +google.com* + google.ca* + google.de* + google.es* + google.ie* + google.it08@Rgoogle.*/adwords/ +/€ 08@Rgoogle.com/payments/*/adwords. +g* +adwords.google.com08@RCgoogle.com/tools/feedback/open.js?*^url=https://adwords.google.com/ +K* +accounts.google.com08@R&gstatic.com/accounts/services/adwords/ +N* +accounts.google.com08@R)gstatic.com/images/icons/product/adsense- +N* +accounts.google.com08@R)gstatic.com/images/icons/product/adsense_ +;ÿ/* +support.google.com08@Rgstatic.com^*/adwords/ +*ÿ/08@Rsupport.google.com/adsense/ +Öÿ/* + google.com.au* + google.com.eg* +google.co.in* +google.co.nz* +google.co.uk* +google.co.za* + +google.com* + google.ca* + google.de* + google.es* + google.ie* + google.it08@Rwww.google.*/adometry. +Öÿ/* + google.com.au* + google.com.eg* +google.co.in* +google.co.nz* +google.co.uk* +google.co.za* + +google.com* + google.ca* + google.de* + google.es* + google.ie* + google.it08@Rwww.google.*/adometry/ +Ñÿ/* + google.com.au* + google.com.eg* +google.co.in* +google.co.nz* +google.co.uk* +google.co.za* + +google.com* + google.ca* + google.de* + google.es* + google.ie* + google.it08@Rwww.google.*/ads/ +Õÿ/* + google.com.au* + google.com.eg* +google.co.in* +google.co.nz* +google.co.uk* +google.co.za* + +google.com* + google.ca* + google.de* + google.es* + google.ie* + google.it08@Rwww.google.*/adsense/ += * +www.google.com08@Rwww.google.com/analytics/web/ +<ÿ/* +www.google.com08@Rwww.google.com/doubleclick/ +<ÿ/08@R-www.google.com/doubleclick/images/favicon.ico +F* +www.google.com08@R&www.google.com/images/icons/*/adsense_ +:08@R,www.google.com/images/icons/feature/adsense_ +:08@R,www.google.com/images/icons/product/adsense- +@* +incentiveswidget.appspot.com08@Rgoogle.com/ads/js/ +Qÿ/* +incentiveswidget.appspot.com08@R"youtube.com/yt/css/*-advertise.css +Dÿ/* +youtube.com08@R&youtube.com/yt/js/www-advertise.min.js +$ÿ/08@Radcenter.mobicow.com^ +#ÿ/08@Rwww.advertising.com^ +7ÿ/* + quantcast.com08@Rquantcast.com/advertise +(ÿ/08@Rdashboard.idealmedia.com^ +)ÿ/08@Rdashboard.lentainform.com^ +'ÿ/08@Rdashboard.marketgid.com^ +"ÿ/08@Rdashboard.mgid.com^ +%ÿ/08@Rdashboard.tovarro.com^ +ÿ/08@Rfullad.com.br^ +%ÿ/08@Rhealthyadvertising.es^ +ÿ/08@R adfox.ru^ +>ÿ/* +advertising.apple.com08@Radvertising.apple.com^ +ÿ/08@Radhese.com^ +3ÿ/* + openx.com08@Rnetdna-cdn.com^*/OpenX/ +&ÿ/* + openx.com08@R +openx.com^ ++ÿ/08@Rapi-merchants.skimlinks.com^ +0ÿ/08@R!authentication-api.skimlinks.com^ +Fÿ/* +ads.bingads.microsoft.com08@Rads.bingads.microsoft.com^ +Jÿ/* +login.live.com08@R)advertise.bingads.microsoft.com/Includes/ +E08@R7advertise.bingads.microsoft.com/wwimages/search/global/ +)ÿ/08@Radvertising.microsoft.com^ +U* +bingads.microsoft.com08@R.bingads.microsoft.com/ApexContentHandler.ashx? +5`* +vk.com08@Rapi.vigo.ru^*/network_status? +/ÿ/08@R paymentgate.ru/payment/*_Advert/ + 08@Rvk.com/ads.php +(€* +vk.com08@Rvk.com/ads.php? +ÿ/08@Rvk.com/ads?act= +* +08@Rvk.com/ads?act=payments&type +€08@Rvk.com/ads_*php? ++ÿ/* +vk.com08@Rvk.com/images/ads_ +-ÿ/* +vk.com08@Rvk.com/js/al/ads.js? +)ÿ/* +vk.com08@Rvk.com^*/ads.css +-ÿ/* +vk.com08@Rvk.me/css/al/ads.css +*ÿ/* +vk.com08@Rvk.me/images/ads_ +"ÿ/08@Radvertise.mxit.com^ +>ÿ/* +advertising.sanoma.be08@Radvertising.sanoma.be^¢- +' * + +adroll.com08@Radroll.com^ +Ü * +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@Rseedingup.*/advertiser/ +Ù * +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@Rteliad.*/advertiser/ +(ÿ/* + +easyads.eu08@Reasyads.eu^ +*ÿ/* +siteads.com08@Rsiteads.com^ +Ý€ *" + programma-affiliazione.amazon.it* +affiliate-program.amazon.co.uk* +affiliate-program.amazon.com* +affiliate-program.amazon.in* +associados.amazon.com.br* +affiliate.amazon.co.jp* +partenaires.amazon.fr* +associates.amazon.ca* +associates.amazon.cn* +partnernet.amazon.de* +afiliados.amazon.es08@Ramazon-adsystem.com/e/cm? +Cÿ/* +affiliate-program.amazon.com08@Ramazon-adsystem.com^ +E€ * +affiliate-program.amazon.com08@Ramazon.com/home/ads/ +Þ*" + programma-affiliazione.amazon.it* +affiliate-program.amazon.co.uk* +affiliate-program.amazon.com* +affiliate-program.amazon.in* +associados.amazon.com.br* +affiliate.amazon.co.jp* +partenaires.amazon.fr* +associates.amazon.ca* +associates.amazon.cn* +partnernet.amazon.de* +afiliados.amazon.es08@Rssl-images-amazon.com/images/ +Sÿ/* +eio.manhattan.yahoo.com08@R)eioservices.marketingsolutions.yahoo.com^ +?ÿ/* +gemini.yahoo.com08@Rgemini.yahoo.com/advertiser/ +Fÿ/* +gemini.yahoo.com08@R#yimg.com/av/gemini-ui/*/advertiser/ +Kÿ/* +analytics.twitter.com* +ads.twitter.com08@Rads.twitter.com^ +8ÿ/* +twitter.com08@Rton.twimg.com/ads-manager/ +Iÿ/* +analytics.twitter.com* +ads.twitter.com08@Rton.twimg.com^ +#ÿ/08@Rads.stumbleupon.com^ +ÿ/08@R advertise.ru^ +ÿ/08@Rads.acesse.com^ +9ÿ/08@R*integralplatform.com/static/js/Advertiser/ +ÿ/08@Rrevealads.com^ +ÿ/08@R +adsbox.io^ +(ÿ/08@Rgameloft.com/advertising- +@ÿ/* +dailymotion.com08@Rapi.dmcdn.net/pxl/advertisers/ +( 08@Rdailymotion.com/advertise/ +@ÿ/* +advertising.amazon.com08@Radvertising.amazon.com^ +4ÿ/* +ams.amazon.co.jp08@Rams.amazon.co.jp^ +4ÿ/* +ams.amazon.co.uk08@Rams.amazon.co.uk^ +0ÿ/* +ams.amazon.com08@Rams.amazon.com^ +Mÿ/* +adservicemedia.dk08@R)ad-server.one.com/click?agency=adservice- +9ÿ/08@R*adservice.com/wp-content/themes/adservice/ +(ÿ/08@Radservicemedia.dk/images/ +<ÿ/* +adservicemedia.dk08@Rbanners.one.com/bannere/ +Bÿ/* +publisher.adservice.com08@Rpublisher.adservice.com^ +ÿ/08@R ads.memo2.nl^ +‰* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R-120x60- +‰* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R-120x60. +‰* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R_120_60. +”* +2dayshippingbymastercard.com* +freeshippingbymastercard.com* +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +deliverydeals.co.uk* +theperfectsaver.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com* +sunsteps.org* + chase.com08@R_120x60. + * +inthecompanyofdogsvip.com* +pyramidcollectionvip.com* +catalogfavoritesvip.com* +freeshippingrewards.com* +serengeticatalogvip.com* +naturesjewelryvip.com* +theperfectsaver.com* +habandvipplus.com* +northstylevip.com* +freeshipping.com* +travelplus.com08@R_120x60_ +5* +affrity.com* +lockd.co.uk08@R _300x250. +7* + adnews.com.br08@Radnews.com.br^*/300x250/ +E08@R7ajax.googleapis.com/ajax/services/search/news?*-728x90& +Hÿ/* + +vice.com08@R-amazonaws.com/content-images/article/*_120x60 +5* +snapapp.com08@Ramazonaws.com^*-300x250_ +5* +snapapp.com08@Ramazonaws.com^*/300x250_ +708@R)anitasrecipes.com/Content/Images/*160x500 +6ÿ/08@R'arnhemland-safaris.com/images/*_480_80_ +6ÿ/08@R'artserieshotels.com.au/images/*_460_60. ++ÿ/08@Rassets.vice.com^*_120x60.jpg +7* + +babyhit.pl08@Rbabyhit.pl/images/*-120x60- ++ÿ/08@Rbettermarks.com/static/media +=ÿ/* + bexio.com08@R!bexio.com/files/content/*160x600. +508@R'bizquest.com^*_img/_franchise/*_120x60. +Cÿ/08@R4breakingisraelnews.com/wp-content/uploads/*-300x250- +,ÿ/08@Rcanada.com/news/*-300-250.gif ++$08@Rcbsistatic.com/img/*/300x250/ +4ÿ/08@R%cinemanow.com/images/banners/300x250/ +E* +cnsm.com.br08@R(cnsm.com.br/wp-content/uploads/*/468x60_ +Fÿ/08@R7consumerist-com.wpengine.netdna-cdn.com/assets/*300x250 +2ÿ/08@R#crowdignite.com/img/upload/*300x250 +:08@R,cubeecraft.com/images/home/features/300x250/ +vÿ/* + mecox.com08@RZd18wkpp7xvnw38.cloudfront.net/wp-content/uploads/products/mecox/FNR-1215-012_0-300x600.jpg +8ÿ/08@R)dawn.com/wp-content/uploads/*_300x250.jpg +Aÿ/08@R2discovery.com^*/ratio-size/pixel-ratio/300x250.png¶! +3ÿ/08@R$disney.com.au/global/swf/*728x90.swf +9ÿ/08@R*disney.com.au/global/swf/banner160x600.swf +-08@Reducationpost.com.hk^*/300x250/ +)ÿ/08@Refvi.eu/badge/*-120x60.png +4ÿ/* + +etsy.com08@Retsystatic.com^*_760x100. +)ÿ/08@Rfilm.com/plugins/*-300x250 +/08@R!findafranchise.com/_img/*_120x60. +3ÿ/08@R$firestormgames.co.uk/image/*-120x60. +9ÿ/* +flii.by08@Rflii.by/thumbs/image/*_300x250. +B€* +flaixfm.cat08@R$flumotion.com/play/player?*/300x250- +%08@Rframestr.com^*/300x250/ +;* +shopsmarter.com08@Rfreeshipping.com^*_120x60. +-ÿ/08@Rfreetvhub.com/ad1_300x250.html +Nÿ/08@R?google.com/uds/modules/elements/newsshow/iframe.html?*=300x250& +@ÿ/08@R1gujaratsamachar.com/thumbprocessor/cache/300x250- +.ÿ/08@Rharpers.co.uk/pictures/300x250/ +.08@R heathceramics.com/media/300x250/ +*ÿ/08@Rhortifor.com/images/*120x60 +G* +hoyts.com.ar08@R)hoyts.com.ar/uploads/destacado/*_300x250_ +;* +wealthymen.com08@Rimagehost123.com^*_300x250_ +;* +roofandfloor.com08@Rimages*.roofandfloor.com^ +>ÿ/* + itreviews.com08@Rimages.itreviews.com/*300x250_ +708@R)images.outbrain.com/imageserver/*-120x60. +)08@Rimawow.weather.com/web/wow/ +4ÿ/08@R%imdb.com/images/*doubleclick/*300x250 +4ÿ/08@R%imdb.com/images/*doubleclick/*320x240 +@ÿ/08@R1imperialwonderservices.ie/images/banner/*-468x60. +@ÿ/08@R1komikslandia.pl/environment/cache/images/300_250_ +D08@R6la-finca-distribution.de/wp-content/uploads/*-120x240. +±* +calcalist.co.il* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +walla.co.il* +youjizz.com* +youporn.com* + +mako.co.il* + +ynet.co.il* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@R&maps.google.*/staticmap*^size=300x250^ +508@R'maps.googleapis.com/maps/api/*=300x250& +@ÿ/08@R1marketing.beatport.com.s3.amazonaws.com^*/728x90_ +008@R"metrics.target.com/b/ss/*_300x250_ +F* + +metv.com08@R,metvnetwork.s3.amazonaws.com^*-quiz-300x250- +6ÿ/08@R'motherboard.tv/content-images/*_120x60. +Wÿ/* +mozilla.org08@R9mozilla.org/img/covehead/plugincheck/*/728_90/loading.png +M08@R?msecnd.net/socialfactoryimagesresized/mediaspotlight/2/300x250/ +Eÿ/08@R6mxtoolbox.com/Public/images/banners/Mx-Pro-160x600.jpg +?ÿ/08@R0nationalgeographic.com/exposure/content/*300x250 +Aÿ/08@R2nc-myus.com/images/pub/www/uploads/merchant-logos/ +7ÿ/08@R(onescreen.net/os/static/widgets/*300x250 +/ÿ/08@R openmp.org/wp/openmp_336x120.gif ++ÿ/08@Ropposingviews.com^*/300x250/ +Sÿ/* +mavrixonline.com08@R0player.grabnetworks.com^*/vox_300x250_inline.xml +1ÿ/08@R"quisqualis.com/QBanner_760x100.jpg +E* +accesshollywood.com08@R rackcdn.com/LN_AH_Sweep_300x250_ +6* +shopsmarter.com08@Rrackcdn.com^*_120x60_ +Vÿ/* +ragnsells.se08@R7ragnsells.se/globalassets/sverige/inspireras/*1160x600. +;ÿ/08@R,rehabs.com^*/xicons_social_sprite_400x60.png +'08@Rroofandfloor.com/listing_ +=08@R/russia-direct.org/custom_ajax/widget?*=300x250& +208@R$site-*.mozfiles.com/files/*/banners/ +:ÿ/08@R+static-origin.openedition.org^*-120x240.jpg +&08@Rswansuk.co.uk^*/300x250/ +>* + +target.com08@R"target.122.2o7.net/b/ss/*_300x250_ +=08@R/techpakistani.com/wp-content/uploads/*-300x100. +Tÿ/08@REtribune.com.ng/news2013/cache/mod_yt_k2megaslider/images/*_120_60.jpg +6ÿ/08@R'turner.com/v5cache/TCM/images/*_120x60. +6ÿ/08@R'turner.com/v5cache/TCM/Images/*_120x60_ +;* +ubi.com08@R"ubi.com/resource/*/game/*_300x250_ +3ÿ/08@R$union.edu/media/galleryPics/400x250/ +7ÿ/08@R(usanetwork.com/sites/usanetwork/*300x250 +8ÿ/08@R)usopen.org/images/pics/misc/*.300x250.jpg +¦€* +calcalist.co.il* +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +walla.co.il* +youjizz.com* +youporn.com* + +mako.co.il* + +ynet.co.il* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@Rviamichelin.*&size=728x90,õ +5ÿ/08@R&vortex.accuweather.com^*_120x60_bg.jpg +6ÿ/08@R'vortex.accuweather.com^*_160x600_bg.jpg +6ÿ/08@R'vortex.accuweather.com^*_300x250_bg.jpg +-ÿ/08@Rw3easy.org/templates/*_120x60. +-ÿ/08@Rw3easy.org/templates/*_120x60_ +008@R"wavepc.pl/wp-content/*-500x100.png +A08@R3weather.craven.net.au/weather/products/300x250.asp? +7ÿ/08@R(weatherbug.com/desktop-weather/*=728x90& +7ÿ/08@R(weatherbug.com/images/stickers/*/728x90/ +9ÿ/08@R*weatherbug.com/style/stickers/*_728x90.css +=* + lenislens.com08@Rwixstatic.com/media/*_300_250_ +[ÿ/08@RLworlds-luxury-guide.com/sites/default/files/rectangle-300x250-newsletter.jpg +Aÿ/08@R2zorza-polarna.pl/environment/cache/images/300_250_ +B * + +hd-porn.me08@R&/cdn-cgi/pe/bag2?r[]=*ads.exoclick.com +B * +glamourbabe.eu08@R"/cdn-cgi/pe/bag2?r[]=*juicyads.com +< * + +hd-porn.me08@R /cdn-cgi/pe/bag2?r[]=*popads.net +-@08@Rad.thisav.com/player/config.xml +*ÿ/08@Rad.thisav.com/player/jw.swf +&08@Rads.fuckingmachines.com^ +(08@Rads.ultimatesurrender.com^ +-* +alscash.com08@Radv.alsscan.com^ +1* +anyporn.com08@Ranyporn.com*/images/ +=@* +youjizz.com08@R as.sexad.net/as/r?d=preroll-mov- +_* +xmoviesforyou.com* +teenhdporn.xyz* + eegay.com08@Rbambergerkennanchitinous.com^ +&ÿ/08@Rboyzshop.com/affimages/ +-08@Rboyzshop.com/images/affbanners/ +.ÿ/08@Rburningcamel.com/ads/banner.jpg +Ú * +redtube.com.br* +youporngay.com* +gaytube.com* +pornhub.com* +redtube.com* +youjizz.com* +youporn.com* + tube8.com* + xtube.com* +tube8.es* +tube8.fr08@Rcam4.*/ads/directory/ +2ÿ/* +xhamster.com08@Rcdn.delight-vr.com^ +@ÿ/* +xhamster.com08@R!cdn.trafficstars.com/sdk/v1/bi.js +* * +camwhores.tv08@Rchatbro.com^ +8ÿ/* +noracam.com08@Rchaturbate.com/affiliates/ +Cÿ/* +digitalplayground.com08@Rdpmate.com/exports/tour_20/ +008@R"eskimotube.com/advertisements.php? +-ÿ/08@Rfucktube.com/work/videoad.php? +-08@Rgaynetwork.co.uk/Images/ads/bg/ +7ÿ/* +gelbooru.com08@Rgelbooru.com//images/ad/ +008@R"graphics.pop6.com/javascript/live/ +308@R%graphics.pop6.com/javascript/live_cd/ +*ÿ/08@Rhdzog.com/js/advertising.js +1@* + +kporno.com08@Rhostave4.net^*/video/ +P08@RBhostedadsp.realitykings.com/hosted/flash/rk_player_1.5_300x250.swf +@ÿ/08@R1iafd.com/graphics/headshots/thumbs/th_iafd_ad.gif +0* +4mycams.com08@Rimg.livejasmin.com^ +(ÿ/08@Rkuntfutube.com/go.php?ad= +Fÿ/* + +yuvutu.com08@R)lp.longtailvideo.com^*/adttext/adttext.js +)ÿ/08@Rmanhuntshop.com/affimages/ +1ÿ/08@R"manhuntshop.com/images/affbanners/ +& 08@Rmrstiff.com/view/textad/ + 08@R myex.com/API/ +)ÿ/08@Rnonktube.com/img/adyea.jpg +A08@R3panicporn.com/Bannerads/player/player_flv_multi.swf +;ÿ/* + +xmatch.com* + horny.net08@Rpop6.com/banners/ +4ÿ/08@R%pornhubpremium.com/user/login_status? +3* +pornhub.com08@Rpornhubpremiumcdn.com^ +A08@R3pornteengirl.com/temporaire/image.php?*/virtuagirl/ +H@* +hiddencamsvideo.com08@R#promo.cdn.homepornbay.com/key=*.mp4 +;ÿ/08@R,sextoyfun.com/admin/aff_files/BannerManager/ +1ÿ/08@R"sextoyfun.com/control/aff_banners/ +/ÿ/08@R skimtube.com/advertisements.php? +.ÿ/08@Rstarcelebs.com/logos/logo10.jpg +-ÿ/08@Rstore.adam4adam.com/affimages/ +5ÿ/08@R&store.adam4adam.com/images/affbanners/ +/08@R!sundaysportclassifieds.co.uk/ads/‹" +M* +sundaysportclassifieds.co.uk08@Rsundaysportclassifieds.com/ads/ +?ÿ/* + +thisav.com08@R"thisav.com/uploaded_banners/jw.swf +"08@Rtjoob.com/go.php?ad= +@08@Rtnaflix.com/ad/ +Hÿ/* +gaytube.com08@R*tools-euads.flugubluc.com/dtct.js?ads=true +E€08@R6tracking.hornymatches.com/track?type=unsubscribe&enid= +#08@Rtraffichaus.com/ad.js +%08@Rtraffichaus.com^*/ad.js +A* + spankwire.com08@R"traffichunt.com/adx-dir-d/checkab? +=* +e-hentai.org* +exhentai.org08@Rul.ehgt.org/ad/ +,08@Rupornia.com/js/advertising.js? +6€* +amateursexy.net08@Rwidget.plugrush.com^ ++ÿ/08@Rxhcdn.com/images/flag/AD.gif +6ÿ/08@R'xxxporntalk.com/images/xxxpt-chrome.jpg ++08@Ryamvideo.com/pop1/jwplayer.js +Q€* +youjizz.com08@R3youjizz.com/video_templates/non-flash-video.php?id= +7€* +youjizz.com08@Ryoujizz.com/videos/embed/ +˜* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rajax.googleapis.com^ +I * + tube8.com* + +tube8.es* + +tube8.fr08@Ralgolia.net^*/indexes/ +L * + tube8.com* + +tube8.es* + +tube8.fr08@Ralgolianet.com^*/indexes/ +l* +pornhub.com* +redtube.com* +youporn.com* + tube8.com08@R$amazonaws.com/uploads.uservoice.com/ +. * +pornhub.com08@Rapi.feel-app.com^ + 08@Rapi.recaptcha.net^ +”* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rapis.google.com^ +(08@Rblog.tube8.com/wp-content/ +P* +redtube.com.br* +pornhub.com* +redtube.com08@Rcdn-*.pornhub.com^ +h* + tube8.com* + +tube8.es* + +tube8.fr08@R5cdn.jsdelivr.net/algoliasearch/3/algoliasearch.min.js +i* + tube8.com* + +tube8.es* + +tube8.fr08@R6cdn.jsdelivr.net/autocomplete.js/0/autocomplete.min.js +H* +redtube.com.br* +redtube.com08@Rcdne-st.redtubefiles.com^ +™* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rconnect.facebook.net^ +˜ÿ/* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rdisqus.com/count.js +˜ÿ/* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rdisqus.com/embed.js +›ÿ/* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rdisquscdn.com/count.js +; * +feedback.pornhub.com08@Rfeedback.pornhub.com^ +#08@Rgoogle.com/recaptcha/ +4ÿ/* +youporn.com08@Rgstatic.com/recaptcha/ +$08@Rgstatic.com/recaptcha/ +'08@Rimg.pornhub.com/gif/*.gif +@ÿ/* +pornhub.com08@R"img.youtube.com/vi/*/sddefault.jpg +2ÿ/* +pornhub.com08@Rmaps.googleapis.com^ +/ÿ/* +pornhub.com08@Rmaps.gstatic.com^ +'* +pornhub.com08@R +nsimg.net^ +*08@Rphncdn.com/*/js/likeDislike/ +-08@Rphncdn.com/*/js/t8.util-min.js? +8ÿ/08@R)phncdn.com//js/popUnder/exclusions-min.js +.08@R phncdn.com/assets/*/js/common.js +,08@Rphncdn.com/assets/*/js/home.js +908@R+phncdn.com/assets/*/js/user_notification.js +-08@Rphncdn.com/assets/*/js/video.js +208@R$phncdn.com/assets/*/js/video_page.js +C08@R5phncdn.com/assets/pc/js/categories_page_asset_list.js +@08@R2phncdn.com/assets/pc/js/contact_page_asset_list.js +=08@R/phncdn.com/assets/pc/js/halloffap_asset_list.js +=08@R/phncdn.com/assets/pc/js/home_page_asset_list.js +=08@R/phncdn.com/assets/pc/js/info_page_asset_list.js +F08@R8phncdn.com/assets/pc/js/searchporntag_page_asset_list.js +E08@R7phncdn.com/assets/pc/js/searchresult_page_asset_list.js +?08@R1phncdn.com/assets/pc/js/signup_page_asset_list.js +@08@R2phncdn.com/assets/pc/js/sitemap_page_asset_list.js +=08@R/phncdn.com/assets/pc/js/tags_page_asset_list.js +908@R+phncdn.com/assets/pc/js/userachievements.js +508@R'phncdn.com/assets/pc/js/usercomments.js +608@R(phncdn.com/assets/pc/js/userfollowers.js +608@R(phncdn.com/assets/pc/js/userfollowing.jsÅ +/08@R!phncdn.com/assets/pc/js/users.js? +:08@R,phncdn.com/assets/pc/js/uservideos_output.js +>08@R0phncdn.com/assets/pc/js/video_page_asset_list.js +?08@R1phncdn.com/assets/pc/js/videos_page_asset_list.js +U* + tube8.com08@R:phncdn.com/assets_dev/js/algolia/algolia_search_result*.js +#08@Rphncdn.com/cb/assets/ +$08@Rphncdn.com/cb/bundles/ +08@Rphncdn.com/head/ +$08@Rphncdn.com/highcharts- +%08@Rphncdn.com/html5player/ +^P* +pornhub.com* +redtube.com* +youporn.com08@R#phncdn.com/html5player/videoPlayer/ +#08@Rphncdn.com/html5shiv- + 08@Rphncdn.com/jquery- + 08@Rphncdn.com/jquery/ +=08@R/phncdn.com/js/*_disclaimer/*_disclaimer-min.js? +H08@R:phncdn.com/js/*_disclaimer/*_disclaimer_controller-min.js? +(08@Rphncdn.com/js/achievement- +A08@R3phncdn.com/js/ad_form_header/ad_form_header-min.js? +#08@Rphncdn.com/js/avatar_ +*08@Rphncdn.com/js/badgeSelector/ +$08@Rphncdn.com/js/browser- +)08@Rphncdn.com/js/carousellite. +608@R(phncdn.com/js/categorylist_setUp-min.js? +%08@Rphncdn.com/js/comments/ +,08@Rphncdn.com/js/common_jq-min.js ++08@Rphncdn.com/js/cover_tutorial/ +*08@Rphncdn.com/js/deleteComment/ +(08@Rphncdn.com/js/deleteVideo/ +-08@Rphncdn.com/js/editUserDropDown/ +%08@Rphncdn.com/js/et.ready. +/08@R!phncdn.com/js/fav_like_user_feed/ +)08@Rphncdn.com/js/filters_menu/ +%08@Rphncdn.com/js/flipbook/ +*08@Rphncdn.com/js/follow_button/ +*08@Rphncdn.com/js/general-min.js +108@R#phncdn.com/js/general_tablet-min.js +-08@Rphncdn.com/js/home_setUp-min.js +408@R&phncdn.com/js/home_setUp_tablet-min.js ++08@Rphncdn.com/js/html5player.js? +%08@Rphncdn.com/js/infinite. +!08@Rphncdn.com/js/ipad/ +&08@Rphncdn.com/js/is_online/ +308@R%phncdn.com/js/jqbrowser-compressed.js +#08@Rphncdn.com/js/jquery. +&08@Rphncdn.com/js/karmaInfo/ +%08@Rphncdn.com/js/language_ +$08@Rphncdn.com/js/levelUp/ +=08@R/phncdn.com/js/libs/ProfileCommentsAction-min.js +'08@Rphncdn.com/js/login_form/ +608@R(phncdn.com/js/m_tubes/MG_autocomplete.js +408@R&phncdn.com/js/menu_setUp_tablet-min.js +%08@Rphncdn.com/js/mg_modal/ +&08@Rphncdn.com/js/needLogin/ +$08@Rphncdn.com/js/nextBtn/ +-08@Rphncdn.com/js/ourfriends-min.js +608@R(phncdn.com/js/popUnder/exclusions-min.js +*08@Rphncdn.com/js/relatedVideos/ +.08@R phncdn.com/js/report_video_form/ +/08@R!phncdn.com/js/search_setUp-min.js +,08@Rphncdn.com/js/search_widget.js +&08@Rphncdn.com/js/searchbar/ ++08@Rphncdn.com/js/searchbar_show/ +,08@Rphncdn.com/js/segment_changer/ +.08@R phncdn.com/js/share_video_block/¨ +%08@Rphncdn.com/js/showMenu/ +)08@Rphncdn.com/js/signin-min.js +&08@Rphncdn.com/js/site-main. +$08@Rphncdn.com/js/tagStar/ +-08@Rphncdn.com/js/translator-min.js +'08@Rphncdn.com/js/translator/ +@08@R2phncdn.com/js/translatorWatchPageController-min.js +(08@Rphncdn.com/js/underPlayer/ +<08@R.phncdn.com/js/uploaded_video_thumbnail_select/ +*08@Rphncdn.com/js/user_comments/ ++08@Rphncdn.com/js/user_dashboard/ ++08@Rphncdn.com/js/user_favorites/ +308@R%phncdn.com/js/user_post_comment_form/ +:08@R,phncdn.com/js/userAchievements_setUp-min.js? +/08@R!phncdn.com/js/userComments-min.js +608@R(phncdn.com/js/userComments_setUp-min.js? +708@R)phncdn.com/js/userDashboard_setUp-min.js? +*08@Rphncdn.com/js/userFavorites- +708@R)phncdn.com/js/userFavorites_setUp-min.js? +708@R)phncdn.com/js/userFollowers_setUp-min.js? +708@R)phncdn.com/js/userFollowing_setUp-min.js? +*08@Rphncdn.com/js/userInc-min.js +,08@Rphncdn.com/js/userMiniProfile/ +608@R(phncdn.com/js/userSettings_setUp-min.js? +408@R&phncdn.com/js/userVideos_setUp-min.js? +108@R#phncdn.com/js/utils/mg-utils-min.js ++08@Rphncdn.com/js/video_favorite/ +.08@R phncdn.com/js/video_setUp-min.js +508@R'phncdn.com/js/video_setUp_tablet-min.js +.08@R phncdn.com/js/videoDetection.js? +(08@Rphncdn.com/js/videoPlayer/ +008@R"phncdn.com/js/videos_setUp-min.js? +)08@Rphncdn.com/js/votingSystem/ +&08@Rphncdn.com/js/xp_bubble/ +"08@Rphncdn.com/mg_utils- +#08@Rphncdn.com/modernizr- +$08@Rphncdn.com/networkbar- +%08@Rphncdn.com/pagespeed.js +#08@Rphncdn.com/swfobject- +!08@Rphncdn.com/timings- +08@Rphncdn.com/tubes- +)08@Rphncdn.com/tubes.infopages- +$08@Rphncdn.com/underscore- +mÑ* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com08@Rphncdn.com/videos/ ++08@Rphncdn.com/vortex-simple-*.js ++08@Rphncdn.com/vortex.modern-*.js +308@R%phncdn.com/www-static/*/autocomplete. +;08@R-phncdn.com/www-static/*/gif-view-functions.js +108@R#phncdn.com/www-static/*/gif-view.js +-08@Rphncdn.com/www-static/*/jquery. +?08@R1phncdn.com/www-static/js/album-display-public.js? +@08@R2phncdn.com/www-static/js/amateur/amateur-signup.js +;08@R-phncdn.com/www-static/js/amateur/dropdown.js? +=08@R/phncdn.com/www-static/js/autocomplete-search.js +708@R)phncdn.com/www-static/js/channel-main.js? +308@R%phncdn.com/www-static/js/comments.js? +908@R+phncdn.com/www-static/js/content-removal.js +908@R+phncdn.com/www-static/js/create-account.js? +?08@R1phncdn.com/www-static/js/create-phlive-account.js +908@R+phncdn.com/www-static/js/detect.browser.js? +208@R$phncdn.com/www-static/js/dropdown.js +008@R"phncdn.com/www-static/js/footer.js +608@R(phncdn.com/www-static/js/front-index.js? +<08@R.phncdn.com/www-static/js/front-information.js?ñ +508@R'phncdn.com/www-static/js/front-login.js ++08@Rphncdn.com/www-static/js/gif- +608@R(phncdn.com/www-static/js/header-menu.js? +:08@R,phncdn.com/www-static/js/header-nojquery.js? +008@R"phncdn.com/www-static/js/header.js +308@R%phncdn.com/www-static/js/html5Player/ +508@R'phncdn.com/www-static/js/htmlPauseRoll/ ++08@Rphncdn.com/www-static/js/lib/ +=08@R/phncdn.com/www-static/js/manage-constructors.js +808@R*phncdn.com/www-static/js/member-search.js? +308@R%phncdn.com/www-static/js/messages.js? +208@R$phncdn.com/www-static/js/mg-modal.js +208@R$phncdn.com/www-static/js/mg-utils.js +308@R%phncdn.com/www-static/js/mg_flipbook- +008@R"phncdn.com/www-static/js/mg_modal- +008@R"phncdn.com/www-static/js/mg_utils- +908@R+phncdn.com/www-static/js/notified-modal.js? +308@R%phncdn.com/www-static/js/ph-footer.js +708@R)phncdn.com/www-static/js/ph-networkbar.js +708@R)phncdn.com/www-static/js/phub-nojquery.js +,08@Rphncdn.com/www-static/js/phub. +708@R)phncdn.com/www-static/js/playlist-show.js +008@R"phncdn.com/www-static/js/playlist/ +<08@R.phncdn.com/www-static/js/pornstars-comment.js? +:08@R,phncdn.com/www-static/js/pornstars-photo.js? +<08@R.phncdn.com/www-static/js/pornstars-profile.js? +;08@R-phncdn.com/www-static/js/pornstars-upload.js? +:08@R,phncdn.com/www-static/js/pornstars-video.js? +408@R&phncdn.com/www-static/js/pornstars.js? +/08@R!phncdn.com/www-static/js/premium/ +/08@R!phncdn.com/www-static/js/profile/ +608@R(phncdn.com/www-static/js/promo-banner.js +/08@R!phncdn.com/www-static/js/quality- +;08@R-phncdn.com/www-static/js/recommended-taste.js +508@R'phncdn.com/www-static/js/recommended.js +C08@R5phncdn.com/www-static/js/sceditor/sceditor.bbcode.js? +608@R(phncdn.com/www-static/js/searchFilter.js +508@R'phncdn.com/www-static/js/show_image.js? +008@R"phncdn.com/www-static/js/signin.js +208@R$phncdn.com/www-static/js/sitemap.js? +;08@R-phncdn.com/www-static/js/stream-community.js? +?08@R1phncdn.com/www-static/js/stream-notifications.js? +?08@R1phncdn.com/www-static/js/stream-subscriptions.js? +108@R#phncdn.com/www-static/js/stream.js? +=08@R/phncdn.com/www-static/js/streamate-my-photos.js +808@R*phncdn.com/www-static/js/streamate-view.js +308@R%phncdn.com/www-static/js/streamate.js +/08@R!phncdn.com/www-static/js/suggest- +:08@R,phncdn.com/www-static/js/support-content.js? +208@R$phncdn.com/www-static/js/support.js? ++08@Rphncdn.com/www-static/js/tag- +408@R&phncdn.com/www-static/js/user-edit.js? +?08@R1phncdn.com/www-static/js/user-friend-requests.js? +408@R&phncdn.com/www-static/js/user-prefs.js +:08@R,phncdn.com/www-static/js/user-share-item.js? +508@R'phncdn.com/www-static/js/user-start.js? +?08@R1phncdn.com/www-static/js/user-stream-overview.js? +:08@R,phncdn.com/www-static/js/user-video-show.js? +608@R(phncdn.com/www-static/js/verfication.js? +-08@Rphncdn.com/www-static/js/video- +708@R)phncdn.com/www-static/js/vmobile/album.js +=08@R/phncdn.com/www-static/js/vmobile/application.js +<08@R.phncdn.com/www-static/js/vmobile/autocomplete- +:08@R,phncdn.com/www-static/js/vmobile/comments.js² +?08@R1phncdn.com/www-static/js/vmobile/feed-comments.js +808@R*phncdn.com/www-static/js/vmobile/footer.js +608@R(phncdn.com/www-static/js/vmobile/head.js +>08@R0phncdn.com/www-static/js/vmobile/html5-canvas.js +708@R)phncdn.com/www-static/js/vmobile/login.js +?08@R1phncdn.com/www-static/js/vmobile/notifications.js +708@R)phncdn.com/www-static/js/vmobile/photo.js +608@R(phncdn.com/www-static/js/vmobile/phub.js +908@R+phncdn.com/www-static/js/vmobile/preHeadJs. +908@R+phncdn.com/www-static/js/vmobile/profile.js +608@R(phncdn.com/www-static/js/vmobile/show.js +608@R(phncdn.com/www-static/js/vmobile/stream- +808@R*phncdn.com/www-static/js/vmobile/stream.js +708@R)phncdn.com/www-static/js/vmobile/utils.js +>08@R0phncdn.com/www-static/js/vmobile/video-search.js +608@R(phncdn.com/www-static/js/vmobile/widget- +;08@R-phncdn.com/www-static/js/vr/lib/gl-matrix.js? +708@R)phncdn.com/www-static/js/vr/normotion.js? +<08@R.phncdn.com/www-static/js/vr/vrplayer-noMin.js? +608@R(phncdn.com/www-static/js/vr/vrplayer.js? +/08@R!phncdn.com/www-static/js/vtablet/ +B08@R4phncdn.com/www-static/js/widgets-album-upper-info.js +C08@R5phncdn.com/www-static/js/widgets-category_listings.js +A08@R3phncdn.com/www-static/js/widgets-comments-simple.js +:08@R,phncdn.com/www-static/js/widgets-comments.js +@08@R2phncdn.com/www-static/js/widgets-community-info.js +<08@R.phncdn.com/www-static/js/widgets-leave-page.js +<08@R.phncdn.com/www-static/js/widgets-live-popup.js +808@R*phncdn.com/www-static/js/widgets-player.js +:08@R,phncdn.com/www-static/js/widgets-pornstar.js +<08@R.phncdn.com/www-static/js/widgets-rating-bar.js +A08@R3phncdn.com/www-static/js/widgets-rating-like-fav.js +=08@R/phncdn.com/www-static/js/widgets-share-image.js +'08@Rphncdn.com/zeroclipboard- +E* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rphncdn.com^ +)08@Rphncdn.com^*/html5Uploader/ +.08@R phncdn.com^*/streamate/client.js ++08@Rphncdn.com^*/userfavorites.js +%08@Rphncdn.com^*/xp_bubble- +%08@Rphncdn.com^*/xp_bubble_ +˜* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rplatform.tumblr.com^ +™* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rplatform.twitter.com^ +/¤08@R pornhub.com/_Incapsula_Resource? + 08@Rpornhub.com/album/ +& 08@Rpornhub.com/album_upload +" 08@Rpornhub.com/channel/ + 08@Rpornhub.com/chat/ +" 08@Rpornhub.com/comment/ +8 * +pornhub.com08@Rpornhub.com/community_ajax? + 08@Rpornhub.com/front/ + 08@Rpornhub.com/gif/ +#$08@Rpornhub.com/insights/ +7 * +pornhub.com08@Rpornhub.com/jobs/?wc-ajax= +9* +pornhub.com08@Rpornhub.com/jobs/wp-content/ + 08@Rpornhub.com/live/ +2 * +pornhub.com08@Rpornhub.com/playlist/ +( 08@Rpornhub.com/playlist_json/ +# 08@Rpornhub.com/pornstar/ +$ 08@Rpornhub.com/pornstars/ +" 08@Rpornhub.com/premium/ +@* +pornhub.com08@R#pornhub.com/sex/wp-content/uploads/ +! 08@Rpornhub.com/stream/ +# 08@Rpornhub.com/svvt/add? +/ * +pornhub.com08@Rpornhub.com/toys/?Ç +9&* +pornhub.com08@Rpornhub.com/toys/wp-content/ +! 08@Rpornhub.com/upload/ +$ 08@Rpornhub.com/uploading/ + 08@Rpornhub.com/user/ + 08@Rpornhub.com/users/ + 08@Rpornhub.com/video/ +"Ñ08@Rpornhub.com/videos/ +* 08@Rpornhub.com/videouploading3/ +3Q08@R%pornhub.com/www-static/flash/gate.swf +,08@Rpornhub.com/www-static/images/ +&08@Rpornhub.com^*/emoticons/ +408@R&pornhubcommunity.com/cdn_files/images/ +908@R+pornhublive.com/blacklabel/bl.client.min.js +608@R(pornmd.com/resources/js/search_widget.js +;…* +redtube.com.br* +redtube.com08@Rrdtcdn.com^ +-08@Rrdtcdn.com^*/add-collection.js? ++08@Rrdtcdn.com^*/autocomplete.js? +(08@Rrdtcdn.com^*/community.js? +&08@Rrdtcdn.com^*/fileupload/ +&08@Rrdtcdn.com^*/friends.js? +&08@Rrdtcdn.com^*/gallery.js? +/08@R!rdtcdn.com^*/home_page/home_page- +"08@Rrdtcdn.com^*/jquery/ +%08@Rrdtcdn.com^*/js_assets/ +"08@Rrdtcdn.com^*/lib.js? +108@R#rdtcdn.com^*/lightbox-slideshow.js? +608@R(rdtcdn.com^*/quality-selector-mobile.js? +&08@Rrdtcdn.com^*/redtube.js? +&08@Rrdtcdn.com^*/respond.js? +'08@Rrdtcdn.com^*/settings.js? +(08@Rrdtcdn.com^*/showLogin.js? +*08@Rrdtcdn.com^*/thumbchange.js? +,08@Rrdtcdn.com^*/uploadgallery.js? +$08@Rrdtcdn.com^*/video.js? +2¤08@R#redtube.com.br/_Incapsula_Resource? +6* +redtube.com.br08@Rredtube.com.br/images/ +/¤08@R redtube.com/_Incapsula_Resource? +"08@Rredtube.com/_thumbs/ +0 08@R"redtube.com/account_auto_complete? +& 08@Rredtube.com/addfavorite/ +$ 08@Rredtube.com/addfriend/ +( 08@Rredtube.com/advancedsearch +' 08@Rredtube.com/ajax_register +€08@Rredtube.com/bid/ +$ 08@Rredtube.com/blockuser/ +# 08@Rredtube.com/comments/ + 08@Rredtube.com/embed/ +" 08@Rredtube.com/gallery/ +%€08@Rredtube.com/htmllogin? +$ÿ/08@Rredtube.com/htmllogin +B* +redtube.com.br* +redtube.com08@Rredtube.com/images/ +-08@Rredtube.com/js/autocomplete.js? +*08@Rredtube.com/js/community.js? +$"08@Rredtube.com/js/jquery/ +$08@Rredtube.com/js/lib.js? +(08@Rredtube.com/js/redtube.js? +3 08@R%redtube.com/language-star-suggestion/ + 08@Rredtube.com/logout +(08@Rredtube.com/media/avatars/ +" 08@Rredtube.com/message/ +1 08@R#redtube.com/notificationcontractors +( 08@Rredtube.com/notifications/ + 08@Rredtube.com/panel/ +#€08@Rredtube.com/profile/ï + 08@Rredtube.com/rate +& 08@Rredtube.com/recommended/ +" 08@Rredtube.com/register +( 08@Rredtube.com/relatedvideos/ +( 08@Rredtube.com/searchsuggest? +# 08@Rredtube.com/settings/ +) 08@Rredtube.com/starsuggestion/ +$ 08@Rredtube.com/subscribe/ +$ 08@Rredtube.com/tags-stars +! 08@Rredtube.com/upload/ +' 08@Rredtube.com/videodetails/ +$ 08@Rredtube.com/videoview/ +" 08@Rredtube.com/watched/ +)08@Rredtube.com^*/media/videos/ +–Å* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rredtubefiles.com^ +Á* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rrncdn3.com^ +Fÿ/* +pornhub.com08@R(s.ytimg.com/yts/jsbin/*/www-widgetapi.js +“* +redtube.com.br* +youporngay.com* +pornhub.com* +redtube.com* +youporn.com* + tube8.com* + +tube8.es* + +tube8.fr08@Rs7.addthis.com^ +# 08@Rservices.pornhub.com^ +>„* + tube8.com* + +tube8.es* + +tube8.fr08@R +t8cdn.com^ +M* + tube8.com* + +tube8.es* + +tube8.fr08@Rt8cdn.com^*/html5Uploader/ +F* +redtube.com.br* +redtube.com08@Rthumbs-cdn.redtube.com^ +-¤08@Rtube8.com/_Incapsula_Resource? + 08@Rtube8.com/ajax- + 08@Rtube8.com/ajax/ + 08@Rtube8.com/ajax2/ +€08@Rtube8.com/embed/ +$ÿ/08@Rtube8.com/favicon.ico +08@Rtube8.com/images/ +1 * + tube8.com08@Rtube8.com/videoplayer/ +,¤08@Rtube8.es/_Incapsula_Resource? +,¤08@Rtube8.fr/_Incapsula_Resource? +-08@Rupload.pornhub.com/temp/images/ +"08@Rupload.tube8.com^ +R* +pornhub.com* +redtube.com* +youporn.com* + tube8.com08@R +uvcdn.com^ +]* +pornhub.com* +redtube.com* +youporn.com* + tube8.com08@Rwidget.uservoice.com^ +/¤08@R youporn.com/_Incapsula_Resource? + 08@Ryouporn.com/ajax/ +- 08@Ryouporn.com/api/videos/related/ +2 08@R$youporn.com/beingwatchedrightnow.php +"08@Ryouporn.com/bundles/ +! 08@Ryouporn.com/change/ +# 08@Ryouporn.com/esi_home/ +, 08@Ryouporn.com/mycollections.json +( 08@Ryouporn.com/notifications/ +/ÿ/08@R youporn.com/recommendedtoyou.php +. 08@R youporn.com/search/autocomplete/ +$ 08@Ryouporn.com/searchapi/ +( 08@Ryouporn.com/subscriptions/ + 08@Ryouporn.com/watch/ +) 08@Ryouporn.com/watch_postroll/ +2¤08@R#youporngay.com/_Incapsula_Resource? +0 08@R"youporngay.com/api/videos/related/ +5 08@R'youporngay.com/beingwatchedrightnow.php +%08@Ryouporngay.com/bundles/ +& 08@Ryouporngay.com/elements/ +1 08@R#youporngay.com/recommendedtoyou.php +1 08@R#youporngay.com/search/autocomplete/ +X* +youporngay.com* + youpornru.com* +youporn.com08@Rypncdn.com/cb/assets/js/ +L…* +youporngay.com* + youpornru.com* +youporn.com08@Rypncdn.com^ +Lÿ/* +hentaienespañol.net* +hellojav.com* +palaotog.net08@R.jpg# +«ÿ/* +youfreeporntube.com* +youngmodelsclub.net* +indiangilma.com* + pornbraze.com* +you-fap.com* + +lfporn.com* + +thisav.com* + javcen.me* + javpub.me08@R.png# +/ÿ/08@R 209.58.131.22^*/advertisement.js +%ÿ/08@R25643e662a2.com/ad*.jsë +0ÿ/08@R!ad.thisav.com/player/swfobject.js +<* +urlgalleries.net* + xxxstreams.eu08@R ad8k.com^ +=* +imagefap.com* + +8muses.com08@Rads.exoclick.com^ +*€08@Radultadworld.com/adhandler/ +)* +bemywife.cc08@Rbemywife.cc^ +8ÿ/08@R)cntrafficpro.com/scripts/advertisement.js +,ÿ/08@Rdesihoes.com/advertisement.js + 08@Rdrtst.com^*/ads.js +'08@Reasylist.club/adconfig.js +(08@Reasylist.club/popunder2.js +9€* +palimas.com08@Rero-advertising.com/banads/ +'ÿ/08@Rexoclick.com/ad_track.js +&ÿ/08@Rexoclick.com/invideo.js +5* +gaybeeg.info08@Rexoclick.com/splash.php ++ÿ/08@Rfuqer.com^*/advertisement.js +!08@Rfux.com/assets/ads- +Z* +gaybeeg.info08@R<gaybeeg.info/wp-content/plugins/blockalyzer-adblock-counter/ +1ÿ/* +hinduladies.com08@Rgoogle.com/ads/ ++ÿ/08@Rhclips.com/js/advertising.js +0ÿ/08@R!hentaimoe.com/js/advertisement.js +/ÿ/08@R imgadult.com/js/advertisement.js +!* +jamo.tv08@Rjamo.tv^ +!* +jav4.me08@Rjav4.me^ +'* + +javfee.com08@Rjavfee.com^ +.€* +jav4.me08@Rjavfor.me/ads-1.html +08@Rjavhub.net^ +"ÿ/08@Rjavpee.com/eroex.js +)* +jkhentai.tv08@Rjkhentai.tv^ +$ÿ/08@Rjporn4u.com/js/ads.js +-ÿ/* +jav4.me08@Rjuicyads.com/jac.js +'€08@Rmongoporn.com^*/adframe/ +(ÿ/08@Rn4mo.org/advertisement.js +)ÿ/08@Rn4mo.org/wp-content/*/ads/ +$ÿ/08@Rnoracam.com/js/ads.js +08@Rnotonlyporn.net^ + ÿ/08@Rooporn.com/ads.js +-ÿ/08@Rphncdn.com/js/advertisement.js +Bÿ/* +keezmovies.com08@R!phncdn.com/v2/js/adblockdetect.js +"ÿ/08@Rphncdn.com^*/ads.js ++ÿ/* +jav4.me08@Rpopads.net/pop.js +%ÿ/08@Rporndoo.com/showads.js +$ÿ/08@Rpornfun.com/js/ads.js +Dÿ/* +submityourflicks.com08@Rpornomovies.com/js/1/ads-1.js +08@Rpornve.com^ +&08@Rpornxs.com/js/ads/ads.js +)ÿ/* +jav4.me08@Rpuhtml.com^*.js +#ÿ/08@Rsexix.net/adframe.js +%ÿ/08@Rsexvidx.tv/js/eroex.js +(ÿ/08@Rsexwebvideo.com/js/ads.js +808@R*submityourflicks.com/player/player-ads.swf +K* +dirtstyle.tv08@R-syndication.exoclick.com/ads.php?type=728x90& +J* + tube8.com* + +tube8.es* + +tube8.fr08@Rt8cdn.com/assets/pc/js/ +S* + tube8.com* + +tube8.es* + +tube8.fr08@R t8cdn.com/assets_dev/js/algolia/ +Fÿ/* +tubemonsoon.com08@R$tmoncdn.com/scripts/advertisement.js +5* +palimas.com08@Rtrafficshop.com/show.php +A* +palimas.com08@R$trafficshop.com/show_std_auction.php +,ÿ/08@Rtube8.com/js/advertisement.js +2ÿ/08@R#voyeurperversion.com/inc/showads.js +1ÿ/08@R"watchingmysistergoblack.com/pop.js + 08@Rx18.eu/ads/ +1ÿ/* +xhamster.com08@Rxhcdn.com^*/ads.js +2ÿ/08@R#xibitnet.com/check/advertisement.js +3ÿ/08@R$xibitnet.com/check/advertisements.js +ÿ/08@Rads.b10f.jp/flv/ \ No newline at end of file diff --git a/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/LICENSE.txt b/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..8cb58d9e53eb7f78480b1fb394c0976a39e7bfdf --- /dev/null +++ b/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/LICENSE.txt @@ -0,0 +1,383 @@ +EasyList Repository Licences + + Unless otherwise noted, the contents of the EasyList repository + (https://github.com/easylist) is dual licensed under the GNU General + Public License version 3 of the License, or (at your option) any later + version, and Creative Commons Attribution-ShareAlike 3.0 Unported, or + (at your option) any later version. You may use and/or modify the files + as permitted by either licence; if required, "The EasyList authors + (https://easylist.to/)" should be attributed as the source of the + material. All relevant licence files are included in the repository. + + Please be aware that files hosted externally and referenced in the + repository, including but not limited to subscriptions other than + EasyList, EasyPrivacy, EasyList Germany and EasyList Italy, may be + available under other conditions; permission must be granted by the + respective copyright holders to authorise the use of their material. + + +Creative Commons Attribution-ShareAlike 3.0 Unported + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO + WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS + LIABILITY FOR DAMAGES RESULTING FROM ITS USE. + +License + + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS + CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS + PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK + OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS + PROHIBITED. + + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND + AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS + LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE + RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS + AND CONDITIONS. + + 1. Definitions + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may + be recast, transformed, or adapted including in any form + recognizably derived from the original, except that a work that + constitutes a Collection will not be considered an Adaptation for + the purpose of this License. For the avoidance of doubt, where the + Work is a musical work, performance or phonogram, the + synchronization of the Work in timed-relation with a moving image + ("synching") will be considered an Adaptation for the purpose of + this License. + b. "Collection" means a collection of literary or artistic works, such + as encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works + listed in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, + in which the Work is included in its entirety in unmodified form + along with one or more other contributions, each constituting + separate and independent works in themselves, which together are + assembled into a collective whole. A work that constitutes a + Collection will not be considered an Adaptation (as defined below) + for the purposes of this License. + c. "Creative Commons Compatible License" means a license that is + listed at https://creativecommons.org/compatiblelicenses that has + been approved by Creative Commons as being essentially equivalent + to this License, including, at a minimum, because that license: (i) + contains terms that have the same purpose, meaning and effect as + the License Elements of this License; and, (ii) explicitly permits + the relicensing of adaptations of works made available under that + license under this License or a Creative Commons jurisdiction + license with the same License Elements as this License. + d. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + e. "License Elements" means the following high-level license + attributes as selected by Licensor and indicated in the title of + this License: Attribution, ShareAlike. + f. "Licensor" means the individual, individuals, entity or entities + that offer(s) the Work under the terms of this License. + g. "Original Author" means, in the case of a literary or artistic + work, the individual, individuals, entity or entities who created + the Work or if no individual or entity can be identified, the + publisher; and in addition (i) in the case of a performance the + actors, singers, musicians, dancers, and other persons who act, + sing, deliver, declaim, play in, interpret or otherwise perform + literary or artistic works or expressions of folklore; (ii) in the + case of a phonogram the producer being the person or legal entity + who first fixes the sounds of a performance or other sounds; and, + (iii) in the case of broadcasts, the organization that transmits + the broadcast. + h. "Work" means the literary and/or artistic work offered under the + terms of this License including without limitation any production + in the literary, scientific and artistic domain, whatever may be + the mode or form of its expression including digital form, such as + a book, pamphlet and other writing; a lecture, address, sermon or + other work of the same nature; a dramatic or dramatico-musical + work; a choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which + are assimilated works expressed by a process analogous to + cinematography; a work of drawing, painting, architecture, + sculpture, engraving or lithography; a photographic work to which + are assimilated works expressed by a process analogous to + photography; a work of applied art; an illustration, map, plan, + sketch or three-dimensional work relative to geography, topography, + architecture or science; a performance; a broadcast; a phonogram; a + compilation of data to the extent it is protected as a + copyrightable work; or a work performed by a variety or circus + performer to the extent it is not otherwise considered a literary + or artistic work. + i. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License + with respect to the Work, or who has received express permission + from the Licensor to exercise rights under this License despite a + previous violation. + j. "Publicly Perform" means to perform public recitations of the Work + and to communicate to the public those public recitations, by any + means or process, including by wire or wireless means or public + digital performances; to make available to the public Works in such + a way that members of the public may access these Works from a + place and at a place individually chosen by them; to perform the + Work to the public by any means or process and the communication to + the public of the performances of the Work, including by public + digital performance; to broadcast and rebroadcast the Work by any + means including signs, sounds or images. + k. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage + of a protected performance or phonogram in digital form or other + electronic medium. + + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, + limit, or restrict any uses free from copyright or rights arising from + limitations or exceptions that are provided for in connection with the + copyright protection under copyright law or other applicable laws. + + 3. License Grant. Subject to the terms and conditions of this License, + Licensor hereby grants You a worldwide, royalty-free, non-exclusive, + perpetual (for the duration of the applicable copyright) license to + exercise the rights in the Work as stated below: + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such + Adaptation, including any translation in any medium, takes + reasonable steps to clearly label, demarcate or otherwise identify + that changes were made to the original Work. For example, a + translation could be marked "The original work was translated from + English to Spanish," or a modification could indicate "The original + work has been modified."; + c. to Distribute and Publicly Perform the Work including as + incorporated in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + i. Non-waivable Compulsory License Schemes. In those + jurisdictions in which the right to collect royalties through + any statutory or compulsory licensing scheme cannot be waived, + the Licensor reserves the exclusive right to collect such + royalties for any exercise by You of the rights granted under + this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives + the exclusive right to collect such royalties for any exercise + by You of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that + the Licensor is a member of a collecting society that + administers voluntary licensing schemes, via that society, + from any exercise by You of the rights granted under this + License. + + The above rights may be exercised in all media and formats whether now + known or hereafter devised. The above rights include the right to make + such modifications as are technically necessary to exercise the rights + in other media and formats. Subject to Section 8(f), all rights not + expressly granted by Licensor are hereby reserved. + + 4. Restrictions. The license granted in Section 3 above is expressly + made subject to and limited by the following restrictions: + a. You may Distribute or Publicly Perform the Work only under the + terms of this License. You must include a copy of, or the Uniform + Resource Identifier (URI) for, this License with every copy of the + Work You Distribute or Publicly Perform. You may not offer or + impose any terms on the Work that restrict the terms of this + License or the ability of the recipient of the Work to exercise the + rights granted to that recipient under the terms of the License. + You may not sublicense the Work. You must keep intact all notices + that refer to this License and to the disclaimer of warranties with + every copy of the Work You Distribute or Publicly Perform. When You + Distribute or Publicly Perform the Work, You may not impose any + effective technological measures on the Work that restrict the + ability of a recipient of the Work from You to exercise the rights + granted to that recipient under the terms of the License. This + Section 4(a) applies to the Work as incorporated in a Collection, + but this does not require the Collection apart from the Work itself + to be made subject to the terms of this License. If You create a + Collection, upon notice from any Licensor You must, to the extent + practicable, remove from the Collection any credit as required by + Section 4(c), as requested. If You create an Adaptation, upon + notice from any Licensor You must, to the extent practicable, + remove from the Adaptation any credit as required by Section 4(c), + as requested. + b. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License + with the same License Elements as this License; (iii) a Creative + Commons jurisdiction license (either this or a later license + version) that contains the same License Elements as this License + (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons + Compatible License. If you license the Adaptation under one of the + licenses mentioned in (iv), you must comply with the terms of that + license. If you license the Adaptation under the terms of any of + the licenses mentioned in (i), (ii) or (iii) (the "Applicable + License"), you must comply with the terms of the Applicable License + generally and the following provisions: (I) You must include a copy + of, or the URI for, the Applicable License with every copy of each + Adaptation You Distribute or Publicly Perform; (II) You may not + offer or impose any terms on the Adaptation that restrict the terms + of the Applicable License or the ability of the recipient of the + Adaptation to exercise the rights granted to that recipient under + the terms of the Applicable License; (III) You must keep intact all + notices that refer to the Applicable License and to the disclaimer + of warranties with every copy of the Work as included in the + Adaptation You Distribute or Publicly Perform; (IV) when You + Distribute or Publicly Perform the Adaptation, You may not impose + any effective technological measures on the Adaptation that + restrict the ability of a recipient of the Adaptation from You to + exercise the rights granted to that recipient under the terms of + the Applicable License. This Section 4(b) applies to the Adaptation + as incorporated in a Collection, but this does not require the + Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + c. If You Distribute, or Publicly Perform the Work or any Adaptations + or Collections, You must, unless a request has been made pursuant + to Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) + the name of the Original Author (or pseudonym, if applicable) if + supplied, and/or if the Original Author and/or Licensor designate + another party or parties (e.g., a sponsor institute, publishing + entity, journal) for attribution ("Attribution Parties") in + Licensor's copyright notice, terms of service or by other + reasonable means, the name of such party or parties; (ii) the title + of the Work if supplied; (iii) to the extent reasonably + practicable, the URI, if any, that Licensor specifies to be + associated with the Work, unless such URI does not refer to the + copyright notice or licensing information for the Work; and (iv) , + consistent with Ssection 3(b), in the case of an Adaptation, a + credit identifying the use of the Work in the Adaptation (e.g., + "French translation of the Work by Original Author," or "Screenplay + based on original Work by Original Author"). The credit required by + this Section 4(c) may be implemented in any reasonable manner; + provided, however, that in the case of a Adaptation or Collection, + at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then + as part of these credits and in a manner at least as prominent as + the credits for the other contributing authors. For the avoidance + of doubt, You may only use the credit required by this Section for + the purpose of attribution in the manner set out above and, by + exercising Your rights under this License, You may not implicitly + or explicitly assert or imply any connection with, sponsorship or + endorsement by the Original Author, Licensor and/or Attribution + Parties, as appropriate, of You or Your use of the Work, without + the separate, express prior written permission of the Original + Author, Licensor and/or Attribution Parties. + d. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute + or Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify + or take other derogatory action in relation to the Work which would + be prejudicial to the Original Author's honor or reputation. + Licensor agrees that in those jurisdictions (e.g. Japan), in which + any exercise of the right granted in Section 3(b) of this License + (the right to make Adaptations) would be deemed to be a distortion, + mutilation, modification or other derogatory action prejudicial to + the Original Author's honor and reputation, the Licensor will waive + or not assert, as appropriate, this Section, to the fullest extent + permitted by the applicable national law, to enable You to + reasonably exercise Your right under Section 3(b) of this License + (right to make Adaptations) but not otherwise. + + 5. Representations, Warranties and Disclaimer + + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR + OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY + KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, + INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, + FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF + LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF + ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW + THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO + YOU. + + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE + LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR + ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES + ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR + HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + 7. Termination + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or + Collections from You under this License, however, will not have + their licenses terminated provided such individuals or entities + remain in full compliance with those licenses. Sections 1, 2, 5, 6, + 7, and 8 will survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here + is perpetual (for the duration of the applicable copyright in the + Work). Notwithstanding the above, Licensor reserves the right to + release the Work under different license terms or to stop + distributing the Work at any time; provided, however that any such + election will not serve to withdraw this License (or any other + license that has been, or is required to be, granted under the + terms of this License), and this License will continue in full + force and effect unless terminated as stated above. + + 8. Miscellaneous + a. Each time You Distribute or Publicly Perform the Work or a + Collection, the Licensor offers to the recipient a license to the + Work on the same terms and conditions as the license granted to You + under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, + Licensor offers to the recipient a license to the original Work on + the same terms and conditions as the license granted to You under + this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability + of the remainder of the terms of this License, and without further + action by the parties to this agreement, such provision shall be + reformed to the minimum extent necessary to make such provision + valid and enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in + writing and signed by the party to be charged with such waiver or + consent. + e. This License constitutes the entire agreement between the parties + with respect to the Work licensed here. There are no + understandings, agreements or representations with respect to the + Work not specified here. Licensor shall not be bound by any + additional provisions that may appear in any communication from + You. This License may not be modified without the mutual written + agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in + this License were drafted utilizing the terminology of the Berne + Convention for the Protection of Literary and Artistic Works (as + amended on September 28, 1979), the Rome Convention of 1961, the + WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms + Treaty of 1996 and the Universal Copyright Convention (as revised + on July 24, 1971). These rights and subject matter take effect in + the relevant jurisdiction in which the License terms are sought to + be enforced according to the corresponding provisions of the + implementation of those treaty provisions in the applicable + national law. If the standard suite of rights granted under + applicable copyright law includes additional rights not granted + under this License, such additional rights are deemed to be + included in the License; this License is not intended to restrict + the license of any rights under applicable law. + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no + warranty whatsoever in connection with the Work. Creative Commons + will not be liable to You or any party on any legal theory for any + damages whatsoever, including without limitation any general, + special, incidental or consequential damages arising in connection + to this license. Notwithstanding the foregoing two (2) sentences, if + Creative Commons has expressly identified itself as the Licensor + hereunder, it shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of + doubt, this trademark restriction does not form part of the License. + + Creative Commons may be contacted at https://creativecommons.org/. diff --git a/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/_metadata/verified_contents.json b/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/_metadata/verified_contents.json new file mode 100644 index 0000000000000000000000000000000000000000..074cb9a73044c706f265dcb3545acbd5b7c87a56 --- /dev/null +++ b/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/_metadata/verified_contents.json @@ -0,0 +1 @@ +[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJGaWx0ZXJpbmcgUnVsZXMiLCJyb290X2hhc2giOiIwczR4dkRlcTh4X2JKWWVvYXVSeVlaZmJobk5Vc3Fmd3lJbS1xN3FlZ3lRIn0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJyb290X2hhc2giOiIyaWswNmk0TFlCdVNHNWphRGFIS253NE9pdnVSRzZsQ0JKMVk0TGtzRFJJIn0seyJwYXRoIjoibWFuaWZlc3QuanNvbiIsInJvb3RfaGFzaCI6IkwwTjVNNUx1RklsLVpMTXVOZUlZTXZBWTBGLUV4WkM5MXB2d1FTd0pHLXMifV0sImZvcm1hdCI6InRyZWVoYXNoIiwiaGFzaF9ibG9ja19zaXplIjo0MDk2fV0sIml0ZW1faWQiOiJnY21qa21nZGxnbmtrY29jbW9laW1pbmFpam1tam5paSIsIml0ZW1fdmVyc2lvbiI6IjkuMSIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"2ERrR5-2ouV1vQpcZIlcmUWilnZ5II8ryi7fEKCH_Hl2OVvXhYyH4MA5aRFLiW96HaMrvoL782BcQKZeU_smHEcLmr8l-cYPpZP1HJOjejaV_p8jZsjB053wQcA8sCtEXiaDaLPE1BSh2Q_L3z3BawT4EnsYmZXL6wF_HfQWH1GsMStxLiATNtIjrbdZG7lxfRjU8u-NQ9oRieQ2eyGIGlwrjE3jcgtrZBVhdG3Mejm-Qr-ndTxQOs_89hcPv2j-SUHIWUZiiBJHq_SJlN-3Gw2hgYg6dgJEr_CC70C0RIVtikQcB8ZNJFVDfICMfCcPf4OAsTuMFE7tR8naQUu0yg"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"hfgJOZSk7O3Smz2rPpOJbvFytwJPFXXH7VLvJi71S1fQrHe2avyZGoFPOrQVt9jZkQPIVo8zBW7gxNl4_Re1V5SFbFLsOe49AdnX9UB_dIBP_vNIVn4ImqI7cuSHj_07IwvNOTOdavFpVkNrttN8qFtzbaRX1jE-6K2h7vp-a1-eCdIaLCRsgp8qHcePZpTfcoV_KU-CJ2cSEd8AzZvHDJXG-FI3ulg0VU1t51whNPCqZdWb6CO4hfubEupbXnKBhHOdn_yg8SrQuDtbI51fLVI76GVCRPsI4Gl2k791MJ1IgPSS33sY4xI0_fMLfK24EDSgeI01rVCvzMWT_d62QA"}]}}] \ No newline at end of file diff --git a/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/manifest.fingerprint b/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/manifest.fingerprint new file mode 100644 index 0000000000000000000000000000000000000000..3377d3abf60c7562c54399443f9a39a162b378ed --- /dev/null +++ b/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/manifest.fingerprint @@ -0,0 +1 @@ +1.22c7dfe769f240e50080a6aad4e3412dbb5603194c5237847147f223fd230be9 \ No newline at end of file diff --git a/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/manifest.json b/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..78e3d29aa4f0362de5ed0bf2aea5b5114402b100 --- /dev/null +++ b/~/.config/google-chrome/Subresource Filter/Unindexed Rules/9.1/manifest.json @@ -0,0 +1,6 @@ +{ + "manifest_version": 2, + "name": "Subresource Filtering Rules", + "ruleset_format": 1, + "version": "9.1" +} diff --git a/~/.config/google-chrome/chrome_debug.log b/~/.config/google-chrome/chrome_debug.log new file mode 100644 index 0000000000000000000000000000000000000000..a2cbcbe9e7f59baf000aaf08f54b7a745e10ebad --- /dev/null +++ b/~/.config/google-chrome/chrome_debug.log @@ -0,0 +1,1219 @@ +[18234:18234:0219/155310.819585:ERROR:sandbox_linux.cc(364)] InitializeSandbox() called with multiple threads in process gpu-process. +[18189:18189:0219/155310.883927:WARNING:password_store_factory.cc(261)] Using basic (unencrypted) store for password storage. See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_password_storage.md for more information about password storage options. +[18189:18189:0219/155310.929522:ERROR:x11_input_method_context_impl_gtk.cc(144)] Not implemented reached in virtual void libgtkui::X11InputMethodContextImplGtk::SetSurroundingText(const base::string16 &, const gfx::Range &) +[18189:18189:0219/155311.391517:INFO:CONSOLE(1)] "WOPI host URL not specified. Fall back to chrome-extension://ipbiihkmbodokjpigdgnmggjklnmgohc/wopi/", source: https://app.vereign.com/vcl/js/client (1) +[18189:18189:0219/155311.775348:INFO:CONSOLE(27239)] "Download the Vue Devtools extension for a better development experience: +https://github.com/vuejs/vue-devtools", source: chrome-extension://ipbiihkmbodokjpigdgnmggjklnmgohc/js/vendor.js?83a5f0afca915abd571d (27239) +[18189:18189:0219/155312.921089:INFO:CONSOLE(1)] "WOPI host URL not specified. Fall back to chrome-extension://ipbiihkmbodokjpigdgnmggjklnmgohc/wopi/", source: https://borisdimitrov.dev.vereign.com/vcl/js/client (1) +[18189:18189:0219/155314.246960:INFO:CONSOLE(8)] "Library loaded at: 2019-02-19T13:53:14.245Z", source: https://borisdimitrov.dev.vereign.com/vcl/js/iframe (8) +[18189:18189:0219/155317.474820:INFO:CONSOLE(8)] "SW registered", source: https://www.google.com/_/chrome/newtab?ie=UTF-8 (8) +[18189:18189:0219/155317.936400:WARNING:CONSOLE(337)] "chrome.loadTimes() is deprecated, instead use standardized API: nextHopProtocol in Navigation Timing 2. https://www.chromestatus.com/features/5637885046816768.", source: https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.ttz5sCw0Xf8.O/m=gapi_iframes,googleapis_client,plusone/rt=j/sv=1/d=1/ed=1/rs=AHpOoo_oOi9ksQWyFl0XwzC8sAKr1N_gBw/cb=gapi.loaded_0 (337) +[18189:18189:0219/155317.936731:WARNING:CONSOLE(337)] "chrome.loadTimes() is deprecated, instead use standardized API: nextHopProtocol in Navigation Timing 2. https://www.chromestatus.com/features/5637885046816768.", source: https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.ttz5sCw0Xf8.O/m=gapi_iframes,googleapis_client,plusone/rt=j/sv=1/d=1/ed=1/rs=AHpOoo_oOi9ksQWyFl0XwzC8sAKr1N_gBw/cb=gapi.loaded_0 (337) +[18189:18189:0219/155317.936749:WARNING:CONSOLE(337)] "chrome.loadTimes() is deprecated, instead use standardized API: nextHopProtocol in Navigation Timing 2. https://www.chromestatus.com/features/5637885046816768.", source: https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.ttz5sCw0Xf8.O/m=gapi_iframes,googleapis_client,plusone/rt=j/sv=1/d=1/ed=1/rs=AHpOoo_oOi9ksQWyFl0XwzC8sAKr1N_gBw/cb=gapi.loaded_0 (337) +[18189:18189:0219/155317.936766:WARNING:CONSOLE(337)] "chrome.loadTimes() is deprecated, instead use standardized API: nextHopProtocol in Navigation Timing 2. https://www.chromestatus.com/features/5637885046816768.", source: https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.ttz5sCw0Xf8.O/m=gapi_iframes,googleapis_client,plusone/rt=j/sv=1/d=1/ed=1/rs=AHpOoo_oOi9ksQWyFl0XwzC8sAKr1N_gBw/cb=gapi.loaded_0 (337) +[18189:18189:0219/155327.842761:INFO:CONSOLE(0)] "[DOM] Input elements should have autocomplete attributes (suggested: "current-password"): (More info: https://goo.gl/9p2vKq) %o", source: https://accounts.google.com/ServiceLogin?continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&service=mail&sacu=1&rip=1 (0) +[18189:18189:0219/155331.251772:INFO:CONSOLE(8)] "SW registered", source: https://www.google.com/_/chrome/newtab?ie=UTF-8 (8) +[18234:18234:0219/155336.663214:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155337.670245:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155337.680051:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155342.193533:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155342.679628:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155343.685891:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155343.696769:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155348.192062:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155349.199045:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155349.212690:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155404.224911:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155405.230913:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155405.245827:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155411.743006:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155412.229481:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155413.233410:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155413.245190:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155423.758357:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155424.763908:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155424.777708:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155433.282670:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155433.294572:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155435.785438:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155437.275293:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155437.277980:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155438.290523:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155438.777609:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155439.783850:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155439.793775:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155440.282468:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155441.288161:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155441.294070:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155445.796191:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155446.800627:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155446.810425:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155449.304055:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155450.308592:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155450.310508:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155452.812335:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155453.816161:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155453.827058:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155503.322343:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155503.326165:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155504.336215:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155507.832484:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155508.844884:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155509.330893:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155510.335574:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155510.342429:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155516.845379:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155517.851887:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155517.858824:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155528.376212:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155529.382244:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155529.392139:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155529.880329:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155530.881978:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155532.374580:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155533.386888:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155534.875106:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155535.892375:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155537.383192:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155537.392194:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155538.396621:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155539.886202:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155539.892181:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155540.901766:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155542.405234:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155543.406538:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155550.908563:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155551.913919:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155551.924779:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155559.431777:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155602.436615:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155603.441991:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155603.457984:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155609.955250:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155610.959609:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155610.973416:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155612.461013:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155613.462527:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155615.952476:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155615.957226:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155616.967275:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155619.459206:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155620.464670:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155620.473484:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155626.976344:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155627.981369:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155627.990247:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155631.489428:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155632.494829:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155632.506854:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155644.018452:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155645.020641:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155645.507396:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155646.512306:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155646.521976:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155647.012784:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155648.018545:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155648.022409:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155653.529200:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155654.536569:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155654.538446:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155658.041255:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155659.045779:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155659.055746:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155703.038479:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155704.055844:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155717.583080:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155717.587990:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155722.092449:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155722.104254:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155723.581051:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155723.588063:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155724.595787:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155724.604370:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155726.086885:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155727.102484:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155727.104470:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155727.584245:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155728.589732:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155728.604403:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155739.116695:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155740.121931:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155740.136831:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155743.626571:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155744.631669:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155744.636340:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155751.144873:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155752.147014:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155752.634269:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155752.635963:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155753.651102:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155753.652976:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155756.157291:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155756.170134:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155757.644728:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155757.653176:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155758.658374:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155804.169640:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155804.186450:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155804.669911:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155805.671463:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155806.158892:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155807.163951:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155807.168882:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155807.663748:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155808.669141:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155808.686084:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155824.208029:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155825.209387:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155827.702211:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155828.707019:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155828.718018:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155833.217130:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155834.220706:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155834.234550:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155834.721938:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155835.727279:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155835.734154:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155836.226890:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155837.232180:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155837.235092:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155839.738033:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155839.751030:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155842.239415:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155846.736265:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155847.743555:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155847.751345:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155848.240763:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155849.244564:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155849.250214:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155849.745439:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155850.750435:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155850.767228:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155857.265123:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155858.266413:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155903.264660:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155903.266753:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155904.278212:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155904.765270:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155905.771299:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155905.783176:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155906.268703:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155907.272497:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155907.283016:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155907.773184:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155908.780215:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155908.783280:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155909.278070:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155910.282583:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155910.300277:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155910.781077:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155911.785366:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155911.799905:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155912.285415:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155913.290557:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155913.300294:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155913.792039:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155914.794998:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155914.799779:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155925.314703:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155926.319030:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155926.332657:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155928.824687:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155928.832599:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155937.339078:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155938.340500:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155943.838223:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155944.843480:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155944.848256:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155953.357032:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155954.361938:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/155954.364748:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160004.391773:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160005.393832:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160009.887115:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160010.892773:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160010.897497:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160013.396809:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160014.404121:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160014.413978:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160018.912717:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160019.917631:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160019.930539:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160026.433498:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160027.434654:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160027.922110:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160028.926629:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160028.930566:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160031.432624:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160032.438938:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160032.446782:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160032.938695:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160033.942292:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160033.946943:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160040.457290:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160041.458740:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160049.961039:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160049.962744:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160050.969013:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160050.979076:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160054.473519:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160055.479370:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160055.495259:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160055.978388:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160056.984768:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160056.995785:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160059.489408:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160113.516346:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160114.517447:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160116.008499:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160116.011368:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160117.024406:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160119.530627:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160119.544352:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160121.021025:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160121.027956:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160122.036785:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160122.044735:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160123.527197:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160124.541342:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160124.545128:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160126.029507:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160127.043005:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160127.530417:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160128.535084:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160128.544920:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160157.097430:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160158.099420:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160202.103324:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160203.107720:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160203.109287:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160203.126865:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160204.608738:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160205.610990:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160206.098707:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160206.109516:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160207.115577:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160207.600426:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160207.609777:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160208.617250:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160219.126991:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160220.131946:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160220.142856:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160222.635896:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160223.640331:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160223.641865:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160223.658510:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160226.145855:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160227.151602:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160227.158632:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160228.636001:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160228.641765:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160229.654017:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160230.142823:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160231.157178:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160232.645511:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160232.658122:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160233.663244:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160234.149521:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160234.158143:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160235.165979:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160248.684972:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160249.690096:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160249.708200:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160255.200188:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160256.202313:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160302.203634:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160303.208654:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160303.223558:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160316.742379:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160318.233126:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160318.239950:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160319.246786:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160320.739331:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160321.752938:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160334.264218:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160335.270837:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160335.272619:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160335.771905:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160336.775319:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160336.788922:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160341.283125:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160342.289618:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160342.305440:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160345.794454:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160346.797646:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160347.284675:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160347.288502:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160348.299101:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160349.788146:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160350.801828:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160352.293849:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160353.306612:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160354.797185:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160354.805726:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160355.812635:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160356.298773:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160357.304032:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160357.304566:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160357.322269:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160413.345810:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160414.348243:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160418.842596:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160419.847623:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160419.854683:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160422.349474:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160423.355809:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160423.370405:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160425.861772:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160426.866980:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160426.870819:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160429.371371:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160430.372303:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160431.863412:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160431.870297:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160432.878399:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160434.369327:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160435.384177:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160435.871854:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160436.874375:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160436.886905:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160437.376595:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160438.381999:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160438.386980:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160438.881773:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160439.886900:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160439.904039:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160454.418216:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160454.904611:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160455.908557:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160455.919075:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160456.408493:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160457.414469:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160457.419400:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160457.913351:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160458.918939:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160458.935687:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160504.425371:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160505.430019:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160505.435983:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160514.952725:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160515.958163:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160515.968966:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160516.457990:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160517.463343:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160517.468135:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160519.964901:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160521.457441:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160521.468446:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160522.470989:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160522.956290:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160523.962021:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160523.968561:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160524.463323:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160525.467811:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160525.484750:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160529.977833:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160530.984133:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160531.001212:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160540.503467:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160541.505156:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160554.019198:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160555.023900:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160555.033667:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160555.523591:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160556.529523:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160556.533466:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160602.035557:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160603.042820:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160603.049823:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160605.547539:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160605.550236:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160606.046075:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160607.049634:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160613.549650:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160614.556036:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160614.567437:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160619.064092:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160620.069032:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160620.082974:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160620.572594:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160621.575895:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160622.062555:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160623.068449:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160623.082367:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160623.572398:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160624.581361:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160624.582097:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160624.599750:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160627.084291:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160628.089686:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160628.098820:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160629.579431:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160629.582232:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160630.592640:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160630.599062:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160632.084248:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160633.095099:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160635.585936:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160636.593408:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160636.599421:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160637.092781:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160638.098252:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160638.115085:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160638.596288:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160639.601255:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160639.615215:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160649.120605:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160650.123310:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160651.625742:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160652.628040:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160653.116254:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160654.132663:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160654.618252:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160655.622892:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160655.631355:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160704.140244:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160705.146009:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160705.147731:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160715.670277:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160715.681100:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160716.170539:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160717.172384:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160717.658649:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160718.663282:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160718.679824:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160721.168327:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160722.173418:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160722.180185:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160733.699857:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160734.185339:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160735.192021:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160735.195938:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160739.701176:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160740.706546:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160740.713386:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160742.209355:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160742.213267:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160743.225094:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160745.716761:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160746.720613:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160746.729270:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160747.219965:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160748.225225:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160748.229212:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160752.736789:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160752.745839:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160754.223820:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160754.228768:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160755.238173:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160756.729409:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160757.744640:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160803.241147:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160803.245031:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160804.256788:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160804.261736:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160805.746696:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160806.761638:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160806.778672:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160812.274481:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160812.278316:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160813.763661:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160814.776453:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160817.267696:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160818.272081:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160818.277979:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160827.795598:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160828.799908:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160828.810687:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160829.299592:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160830.304677:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160830.310751:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160832.807596:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160833.814124:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160833.826994:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160834.313188:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160835.314007:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160836.803788:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160836.810384:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160837.822129:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160837.827096:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160838.319787:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160839.323158:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160839.326824:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160843.830125:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160845.317683:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160845.327184:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160846.336055:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160846.822263:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160846.827095:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160847.837514:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160849.340674:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160850.343111:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160852.846893:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160853.850057:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160853.859706:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160857.356771:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160858.358908:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160902.351765:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160903.358009:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160903.359996:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160903.857761:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160904.863582:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160904.876343:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160907.368356:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160908.372707:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160908.375729:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160910.877731:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160911.883085:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160911.892907:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160916.389975:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160927.903398:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160928.908523:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160928.925503:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160936.424819:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160937.431934:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160937.441819:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160940.936610:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160941.939297:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160954.459756:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160955.465531:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160955.474514:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160955.964753:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160956.969841:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160956.973701:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/160959.472817:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161002.470144:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161003.475786:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161003.490817:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161009.990403:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161010.995586:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161011.007440:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161011.495890:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161012.497785:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161013.989287:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161015.003041:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161016.494891:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161016.506845:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161017.509383:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161033.031476:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161034.038064:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161034.038764:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161034.055547:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161039.547010:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161040.547991:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161045.045089:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161046.049839:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161046.055572:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161046.550225:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161047.555515:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161047.572292:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161055.071984:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161056.076849:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161056.088819:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161108.100511:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161109.105455:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161109.590193:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161110.604782:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161111.092457:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161112.097040:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161112.104052:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161116.603500:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161117.608648:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161117.621332:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161131.141050:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161132.142842:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161137.636561:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161138.641728:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161138.653598:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161143.149740:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161144.152352:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161144.169950:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161144.655447:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161145.660322:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161145.670243:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161151.170463:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161152.174913:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161152.185870:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161152.675374:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161153.683561:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161153.685592:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161155.170617:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161156.183912:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161158.675566:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161159.681433:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161159.685300:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161208.201848:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161209.207404:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161209.219312:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161211.709006:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161214.199775:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161215.203837:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161215.218489:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161226.732378:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161227.737499:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161227.751303:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161232.245042:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161234.735834:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161235.743973:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161235.750674:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161252.282207:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161252.283961:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161252.781388:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161253.784109:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161254.271380:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161255.274722:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161255.283359:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161259.788477:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161300.792677:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161300.800324:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161307.306237:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161308.310090:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161308.794582:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161308.800137:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161309.812849:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161309.816670:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161311.300823:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161312.314850:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161321.817553:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161322.824341:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161322.832256:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161342.368064:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161343.372132:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161343.381645:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161344.872811:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161345.875834:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161346.363314:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161346.365386:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161347.377726:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161349.869160:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161349.881170:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161350.885175:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161406.410324:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161407.902732:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161408.919044:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161408.930973:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161410.407081:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161410.414073:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161411.421185:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161411.907005:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161412.912297:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161412.914249:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161414.414860:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161415.419710:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161415.430618:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161415.919533:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161416.924587:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161416.930275:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161430.456360:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161430.942698:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161431.947389:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161431.963287:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161432.445375:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161432.445702:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161433.453915:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161433.462776:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161435.957987:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161436.964123:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161436.980094:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161446.486030:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161447.491648:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161447.495542:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161448.978781:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161449.992882:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161451.485426:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161452.499187:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161452.511930:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161452.999647:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161454.004906:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161454.011891:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161455.493428:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161455.495237:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161456.507023:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161502.018442:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161502.505266:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161503.510764:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161503.528811:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161524.055895:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161525.549219:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161526.560463:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161528.051878:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161528.061194:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161529.065196:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161530.557753:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161530.560736:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161531.574585:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161533.061242:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161534.064994:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161534.076810:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161540.586190:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161541.589705:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161541.593196:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161544.094463:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161544.579410:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161545.585545:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161545.593246:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161604.126092:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161605.131135:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161605.143064:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161607.633774:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161608.635240:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161610.126756:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161611.141082:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161611.627181:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161612.629809:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161612.642270:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161613.131616:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161614.135556:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161614.142335:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161624.661725:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161625.667421:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161625.675390:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161633.179624:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161634.181983:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161636.673257:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161637.678628:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161637.691521:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161646.195577:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161647.201083:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161647.207752:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161656.724577:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161657.725870:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161704.238112:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161705.240687:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161705.728455:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161705.740522:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161706.744425:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161729.277627:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161730.283374:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161730.289115:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161742.808385:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161743.815149:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161743.821983:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161744.314992:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161745.316712:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161745.801868:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161746.806818:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161746.821634:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161750.311258:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161751.318302:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161751.321290:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161758.829399:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161759.836009:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161759.837741:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161802.347730:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161803.353102:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161803.355067:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161804.841084:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161805.854322:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161807.342587:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161807.353979:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161808.359967:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161813.871233:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161820.372314:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161821.377953:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161821.387721:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161821.877162:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161822.880803:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161822.887333:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161823.381857:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161824.387136:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161824.403849:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161827.893044:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161828.895441:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161831.401138:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161832.403537:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161845.921151:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161846.928538:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161846.936332:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161851.440530:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161851.453186:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161852.927867:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161852.935578:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161853.941772:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161854.429500:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161855.435464:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161855.452512:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161902.451775:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161903.457372:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161903.469253:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161903.957088:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161904.960508:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161904.969142:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161908.467977:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161909.473463:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161909.485342:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161911.974069:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161914.467041:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161915.472790:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161915.484674:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161916.970739:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161917.976594:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161917.984547:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161920.480732:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161921.486145:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161921.501755:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161921.986320:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161922.990861:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161923.001763:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161923.490280:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161924.494988:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161924.501719:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161924.993769:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161925.999123:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161926.000977:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161928.502266:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161929.509780:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161929.517825:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161930.997605:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161931.001313:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161932.010895:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161933.501534:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161934.515948:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161937.008425:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161938.013857:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161938.017870:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161938.512657:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161939.518583:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161939.534606:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161955.053152:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161956.057733:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/161956.066671:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162000.565613:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162020.098634:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162021.104026:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162021.116025:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162032.626463:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162033.627409:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162036.118356:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162037.124851:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162037.131845:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162051.654239:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162052.655681:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162055.160825:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162056.164527:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162056.651132:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162057.666348:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162058.152888:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162059.155584:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162059.163897:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162106.179019:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162107.181861:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162110.673411:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162111.680462:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162111.697190:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162116.189638:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162117.194905:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162117.196727:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162124.711903:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162125.714293:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162133.218844:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162134.223555:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162134.229484:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162134.722033:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162135.729267:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162135.746238:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162142.241631:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162143.247074:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162143.262135:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162149.758531:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162154.253747:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162155.258435:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162155.262352:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162202.284767:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162203.286301:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162214.796704:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162215.802855:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162215.810831:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162232.336384:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162233.337923:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162233.822805:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162234.827510:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162234.843338:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162258.377190:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162259.382369:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162259.393238:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162308.399986:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162309.405550:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162309.409421:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162312.910291:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162313.911402:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162322.416286:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162323.421749:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162323.425586:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162331.941217:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162332.946583:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162332.958344:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162336.451605:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162337.457584:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162337.474467:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162339.961313:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162340.964293:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162341.450065:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162342.455010:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162342.457826:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162342.954562:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162343.959017:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162343.974779:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162355.487958:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162356.493470:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162356.507323:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162402.016963:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162402.503765:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162403.509583:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162403.523549:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162406.011815:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162407.013884:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162412.511080:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162413.517140:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162413.522927:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162414.016683:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162415.021141:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162420.535095:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162421.540482:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162421.556349:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162422.039195:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162423.040929:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162424.531607:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162424.539623:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162425.546556:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162432.044434:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162433.049610:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162433.055722:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162456.604427:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162457.610156:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162457.621137:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162459.094724:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162459.104342:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162504.116573:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162505.605407:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162506.621304:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162507.106801:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162508.113712:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162508.120511:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162512.622638:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162513.627207:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162513.636890:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162514.126501:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162515.131216:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162515.137153:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162515.630696:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162516.633850:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162516.637511:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162519.139946:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162520.143303:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162520.153939:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162524.654241:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162525.655182:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162526.142668:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162527.148407:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162527.153298:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162544.685662:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162545.690266:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162604.223830:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162604.235739:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162604.723671:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162605.726182:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162612.226595:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162613.230584:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162613.235310:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162620.749857:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162621.755437:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162621.768218:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162622.254118:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162623.257638:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162623.268207:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162626.764260:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162627.766626:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162631.259676:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162632.262823:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162632.267336:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162632.764542:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162633.770335:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162633.784104:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162649.303909:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162650.307482:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162650.317101:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162657.823908:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162657.833672:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162658.323191:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162659.326317:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162659.812438:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162700.815755:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162700.833538:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162703.321701:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162704.324813:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162704.333248:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162704.824779:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162705.830294:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162705.833273:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162706.330398:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162707.335103:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162707.349689:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162720.861373:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162722.352457:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162723.366783:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162724.857602:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162724.865392:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162725.872625:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162732.373665:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162733.379383:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162733.382273:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162733.876626:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162734.881973:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162734.898713:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162735.381856:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162736.385553:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162736.398197:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162750.917483:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162753.409467:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162754.413900:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162754.430735:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162756.920182:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162757.924729:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162757.930736:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162758.424868:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162759.430408:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162759.447145:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162759.929687:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162759.930042:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162800.935278:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162800.947286:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162803.436357:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162804.929504:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162805.942667:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162807.435642:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162808.447192:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162809.936648:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162809.947512:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162810.953501:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162811.441147:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162811.446922:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162812.458447:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162812.463262:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162816.966075:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162816.980005:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162818.467583:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162819.470524:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162827.973465:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162828.977024:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162828.979636:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162842.510714:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162843.513076:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162845.002947:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162845.012353:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162846.020342:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162848.509992:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162849.514270:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162849.528959:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162850.015596:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162851.019807:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162851.028591:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162902.046641:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162903.051771:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162903.061743:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162905.556489:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162906.557694:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162908.055088:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162908.061851:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162909.064886:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162909.551694:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162910.560366:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162910.578184:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162915.070100:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162916.077345:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162916.094233:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162916.577095:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162917.580992:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162917.594615:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162920.087115:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162920.094017:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162920.584310:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162921.590451:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162922.076849:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162923.081629:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162923.094319:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162931.601120:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162932.603722:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162932.610314:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162941.125195:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/162942.126849:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163004.154089:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163005.160877:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163005.175772:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163012.676845:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163013.682213:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163013.692026:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163021.198035:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163022.199145:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163024.693222:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163025.698578:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163025.708627:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163028.201713:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163029.206999:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163029.207528:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163029.225267:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163029.707064:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163030.712612:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163030.724648:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163031.212227:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163032.217020:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163032.224965:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163032.717445:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163033.722540:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163033.724537:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163034.221595:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163035.222824:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163036.714755:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163036.724828:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163037.729150:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163038.216677:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163038.224729:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163039.232890:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163039.721038:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163039.724840:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163040.734031:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163041.221861:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163042.226059:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163042.240729:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163042.726897:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163043.731226:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163043.740993:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163044.231452:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163045.237763:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163045.240720:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163053.758235:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163054.759398:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163055.246960:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163056.251903:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163056.256706:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163058.754824:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163059.759835:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163059.773496:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163103.265051:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163103.272918:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163104.278832:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163104.290512:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163105.770578:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163105.773194:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163106.783975:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163106.789892:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163108.274595:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163109.286268:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163109.289959:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163113.794237:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163116.283675:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163117.290071:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163117.306072:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163131.821338:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163132.825444:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163132.839119:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163135.331680:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163136.336997:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163136.339003:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163137.824907:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163138.836304:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163140.326359:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163140.338239:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18234:18234:0219/163141.341857:ERROR:gl_surface_presentation_helper.cc(237)] GetVSyncParametersIfAvailable() failed! +[18189:18189:0219/164241.753816:WARNING:pref_notifier_impl.cc(23)] Pref observer found at shutdown. +[18189:18189:0219/164241.753848:WARNING:pref_notifier_impl.cc(23)] Pref observer found at shutdown. diff --git a/~/.config/google-chrome/chrome_shutdown_ms.txt b/~/.config/google-chrome/chrome_shutdown_ms.txt new file mode 100644 index 0000000000000000000000000000000000000000..4d1db44540e9f6a3788ee5c52ed8acdeb2430213 Binary files /dev/null and b/~/.config/google-chrome/chrome_shutdown_ms.txt differ diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_metadata/verified_contents.json b/~/.config/google-chrome/pnacl/0.57.44.2492/_metadata/verified_contents.json new file mode 100644 index 0000000000000000000000000000000000000000..6cceecc69d9652161bd1adb823cc9e6e1e6e39da --- /dev/null +++ b/~/.config/google-chrome/pnacl/0.57.44.2492/_metadata/verified_contents.json @@ -0,0 +1 @@ +[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMveDg2XzY0L3BuYWNsX3B1YmxpY19wbmFjbF9qc29uIiwicm9vdF9oYXNoIjoiVkNUSHNJVHNUSXVncWNhV2ctWHVpTU1sdWloV1FSTE1sQnpTTGprdGhETSJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy94ODZfNjQvcG5hY2xfcHVibGljX3g4Nl82NF9jcnRiZWdpbl9mb3JfZWhfbyIsInJvb3RfaGFzaCI6ImxINWt2a1BvSVZZczZKVHhyOHc5Q2MxXzloVEJCX3lVSlF6VDZseVVNd0kifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMveDg2XzY0L3BuYWNsX3B1YmxpY194ODZfNjRfY3J0YmVnaW5fbyIsInJvb3RfaGFzaCI6IkVuLVFQTW1HUm1xbG9Ud1gzOTAzckpsMkw0R25sQmdET1FhZlNKaHJ4Nk0ifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMveDg2XzY0L3BuYWNsX3B1YmxpY194ODZfNjRfY3J0ZW5kX28iLCJyb290X2hhc2giOiJkT2lJVzRmdEdGNW9FY0k1UXYyYjBmdXNrUlYyaUVtdmxhbmV6MlpFc3VvIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL3g4Nl82NC9wbmFjbF9wdWJsaWNfeDg2XzY0X2xkX25leGUiLCJyb290X2hhc2giOiIzNEU5QU9EMmpqLWNoMzZQZ0NVV0YtMUpYWVhVdlNGY1I4bks1aWppcWNjIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL3g4Nl82NC9wbmFjbF9wdWJsaWNfeDg2XzY0X2xpYmNydF9wbGF0Zm9ybV9hIiwicm9vdF9oYXNoIjoidDl3ejk2R29ZTWxzcFVEV1lMZm1ZdWMwY1BLMzFjVHB3V2VPTXpVbV9XTSJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy94ODZfNjQvcG5hY2xfcHVibGljX3g4Nl82NF9saWJnY2NfYSIsInJvb3RfaGFzaCI6IkFPSEhuTzR2THpQRU91aGQtX1Y5b1VrZnozR1hNYUN6a0hYNmQyTUY0ZGcifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMveDg2XzY0L3BuYWNsX3B1YmxpY194ODZfNjRfbGlicG5hY2xfaXJ0X3NoaW1fYSIsInJvb3RfaGFzaCI6InR3UWkzVktQUHoxYWhOWHNiS3l2eW9HVWxlSEd5dVhKZWctckZSNEl2TWcifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMveDg2XzY0L3BuYWNsX3B1YmxpY194ODZfNjRfbGlicG5hY2xfaXJ0X3NoaW1fZHVtbXlfYSIsInJvb3RfaGFzaCI6ImxGc2NpaFpteV9CZWk0bEJ0dzJkQkV1cS0xbXdCdmNvLUpsUWN0NThURUEifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMveDg2XzY0L3BuYWNsX3B1YmxpY194ODZfNjRfcG5hY2xfbGxjX25leGUiLCJyb290X2hhc2giOiJ3cmJxdENEUWl5bUZNV0FIblhseUJkR2JjcGlLOWZycVRaRTFaMTA4dmhFIn0seyJwYXRoIjoiX3BsYXRmb3JtX3NwZWNpZmljL3g4Nl82NC9wbmFjbF9wdWJsaWNfeDg2XzY0X3BuYWNsX3N6X25leGUiLCJyb290X2hhc2giOiJ3T1Q4NjZVRGl3eEFrM1FndzVnOGhUdHN4R2dRM0hUX01QMXlMV09CTERFIn0seyJwYXRoIjoibWFuaWZlc3QuanNvbiIsInJvb3RfaGFzaCI6IjhVNUZIT0l4VFNrSWU0clFNSm9jaTQ2QjJFY1hYdlJpY2VEclNiVDRUY1UifV0sImZvcm1hdCI6InRyZWVoYXNoIiwiaGFzaF9ibG9ja19zaXplIjo0MDk2fV0sIml0ZW1faWQiOiJobmltcG5laG9vZGhlZWRnaGRlZWlqa2xrZWFhY2JkYyIsIml0ZW1fdmVyc2lvbiI6IjAuNTcuNDQuMjQ5MiIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"XQg4k8Rpeiy4iZq9YKYZ9HaiCBxvP_MXb6OzowvEK9yjuQvR-WV7aiseeHrOw2IzprzMQEhySWhmQYibUnfLt1pgX22GMXD2_7APGIerkh4kTNMjJL7bLlmyOEuJCnDkZGjOGj6DvxLm1ojIk52agAYzcEMbxiWNz9hWIsvFRyE"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"CRpk6CWOsCI5IP3qW_V3qgyr1ISh3fEN7zBlXYrIT3NaUT1I4FVYDs1YvDic-6J79XU1QxgSSfUIKIB1epvnRYph9QsxuKFC7SbdPaDPypvV8uVvW1nyw4_jtt1YWVtvwUBJFwgVRZ4p52Eya-I_br1zAOhgL5JXdlAQZwmms_YAu2RgFl53VMRIwwgcYJ-8btOIww2QnELzwNqhIfswjpqxpDZsj4kfnDHYgB0UlVw1kyTaxrSGXYaGxMfQe-imkl00q8p3_8kWx5vuNVWJDBxFB1JQBU3bIEvq3RD2l22FGezgfiNRwbGB-dUMMP_tQkxTYGOotk6jJ7YUpfDzBA"}]}}] \ No newline at end of file diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_pnacl_json b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_pnacl_json new file mode 100644 index 0000000000000000000000000000000000000000..aaa3cc788748167c2ff00938ec17b2e78940a7fb --- /dev/null +++ b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_pnacl_json @@ -0,0 +1,13 @@ +{ + "COMMENT": [ + "This file serves as a template for the resource info description used by ", + "the NaCl Chrome plugin. It is kept in the NaCl repository to prevent ", + "hard-coding of NaCl-specific information inside the Chrome repository." + ], + "abi-version": 1, + "pnacl-arch": "x86-64", + "pnacl-ld-name": "ld.nexe", + "pnacl-llc-name": "pnacl-llc.nexe", + "pnacl-sz-name": "pnacl-sz.nexe", + "pnacl-version": "5dfe030a71ca66e72c5719ef5034c2ed24706c43" +} \ No newline at end of file diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_crtbegin_for_eh_o b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_crtbegin_for_eh_o new file mode 100644 index 0000000000000000000000000000000000000000..f9710fca785391ee6514be020370884fb7abcd99 Binary files /dev/null and b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_crtbegin_for_eh_o differ diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_crtbegin_o b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_crtbegin_o new file mode 100644 index 0000000000000000000000000000000000000000..2c5b8fca98b52ed97caf8c8a4efcf49d59c80101 Binary files /dev/null and b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_crtbegin_o differ diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_crtend_o b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_crtend_o new file mode 100644 index 0000000000000000000000000000000000000000..aa2aba0a6d8c3cba630fd22bf33dbe7eee3f5385 Binary files /dev/null and b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_crtend_o differ diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_ld_nexe b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_ld_nexe new file mode 100644 index 0000000000000000000000000000000000000000..ee1205fb3875ac021d905177e098969303575bd7 Binary files /dev/null and b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_ld_nexe differ diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libcrt_platform_a b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libcrt_platform_a new file mode 100644 index 0000000000000000000000000000000000000000..6dfcb7dd11707e6e1cc5f8ad80f32d42b1ca5e89 Binary files /dev/null and b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libcrt_platform_a differ diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libgcc_a b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libgcc_a new file mode 100644 index 0000000000000000000000000000000000000000..4583fa2d50e49d586fc1642fa02af8d0c312a3fa Binary files /dev/null and b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libgcc_a differ diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libpnacl_irt_shim_a b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libpnacl_irt_shim_a new file mode 100644 index 0000000000000000000000000000000000000000..5acd579d3596de5970bb4a0cd04b87fde7cb6ff9 Binary files /dev/null and b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libpnacl_irt_shim_a differ diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libpnacl_irt_shim_dummy_a b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libpnacl_irt_shim_dummy_a new file mode 100644 index 0000000000000000000000000000000000000000..36de9a5826c5a545057e0aa57b87e4b8ea76e9dd Binary files /dev/null and b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_libpnacl_irt_shim_dummy_a differ diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_pnacl_llc_nexe b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_pnacl_llc_nexe new file mode 100644 index 0000000000000000000000000000000000000000..ff38ee4eef7e9b23c0a8d6349b5011867409d168 Binary files /dev/null and b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_pnacl_llc_nexe differ diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_pnacl_sz_nexe b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_pnacl_sz_nexe new file mode 100644 index 0000000000000000000000000000000000000000..5e698abfb1f3d85f42ba74217587ec7f557d7980 Binary files /dev/null and b/~/.config/google-chrome/pnacl/0.57.44.2492/_platform_specific/x86_64/pnacl_public_x86_64_pnacl_sz_nexe differ diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/manifest.fingerprint b/~/.config/google-chrome/pnacl/0.57.44.2492/manifest.fingerprint new file mode 100644 index 0000000000000000000000000000000000000000..a64ddd5d9718f1f9df6ff539fb27d2315d0acbbc --- /dev/null +++ b/~/.config/google-chrome/pnacl/0.57.44.2492/manifest.fingerprint @@ -0,0 +1 @@ +1.6f6bc93dcd62dc251850d2ff458fda96083ceb7fbe8eeb11248b8485ef2aea23 \ No newline at end of file diff --git a/~/.config/google-chrome/pnacl/0.57.44.2492/manifest.json b/~/.config/google-chrome/pnacl/0.57.44.2492/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..78b37700ad1da6ea13ba564c987135cebefe513a --- /dev/null +++ b/~/.config/google-chrome/pnacl/0.57.44.2492/manifest.json @@ -0,0 +1,23 @@ +{ +"update_url": "https://clients2.google.com/service/update2/crx", + + "description": "Portable Native Client Translator Multi-CRX", + "name": "PNaCl Translator Multi-CRX", + "manifest_version": 2, + "minimum_chrome_version": "30.0.0.0", + "version": "0.57.44.2492", + "platforms": [ + { + "nacl_arch": "x86-32", + "sub_package_path": "_platform_specific/x86_32/" + }, + { + "nacl_arch": "x86-64", + "sub_package_path": "_platform_specific/x86_64/" + }, + { + "nacl_arch": "arm", + "sub_package_path": "_platform_specific/arm/" + } + ] +}