Repository: mozilla/advocacy.mozilla.org Branch: master Commit: 995854531662 Files: 381 Total size: 1.9 MB Directory structure: gitextract_tis2lvjc/ ├── .babelrc ├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .gitignore ├── LICENSE ├── Procfile ├── README.md ├── app.js ├── app.json ├── buyers-guide-locales/ │ ├── en-US/ │ │ ├── categories.properties │ │ ├── category.properties │ │ ├── home.properties │ │ ├── products.properties │ │ ├── review.properties │ │ ├── share.properties │ │ └── why-we-made-this.properties │ └── es/ │ ├── categories.properties │ ├── category.properties │ ├── home.properties │ ├── products.properties │ ├── review.properties │ ├── share.properties │ └── why-we-made-this.properties ├── common/ │ ├── scripts/ │ │ ├── fc-checkcomment.js │ │ ├── feed.js │ │ ├── ga.js │ │ ├── html5.js │ │ ├── jquery.js │ │ ├── shortcodes.js │ │ └── ui.js │ └── styles/ │ ├── ie7.css │ ├── print.css │ └── style.css ├── intl-config.js ├── less/ │ ├── components/ │ │ ├── apply.less │ │ ├── codemoji-banner.less │ │ ├── content-container.less │ │ ├── fellows-header.less │ │ ├── footer.less │ │ ├── header.less │ │ ├── hero-unit.less │ │ ├── index.less │ │ ├── mozilla-accordion.less │ │ ├── net-neutrality/ │ │ │ ├── call-button.less │ │ │ ├── call-tool.less │ │ │ ├── footer.less │ │ │ ├── header.less │ │ │ ├── index.less │ │ │ ├── nav.less │ │ │ ├── signup-form.less │ │ │ └── social.less │ │ └── rc-collapse.less │ ├── fragments/ │ │ ├── donate-modal.less │ │ └── index.less │ ├── index.less │ ├── pages/ │ │ ├── buyers-guide/ │ │ │ ├── category.less │ │ │ ├── home.less │ │ │ ├── index.less │ │ │ ├── item.less │ │ │ ├── shared.less │ │ │ └── why.less │ │ ├── encrypt/ │ │ │ ├── base.less │ │ │ ├── codemoji-page.less │ │ │ ├── components.less │ │ │ ├── hybrid-test.less │ │ │ ├── index.less │ │ │ ├── layout.less │ │ │ └── snippet-signup.less │ │ ├── encrypt-hard-drive.less │ │ ├── net-neutrality/ │ │ │ ├── call-now.less │ │ │ ├── call-page.less │ │ │ ├── comment.less │ │ │ ├── impact.less │ │ │ ├── index.less │ │ │ ├── resources.less │ │ │ ├── share.less │ │ │ ├── shared.less │ │ │ └── signup.less │ │ ├── open-web-fellows/ │ │ │ ├── fellows.less │ │ │ ├── home.less │ │ │ ├── index.less │ │ │ ├── info.less │ │ │ ├── overview.less │ │ │ └── shared.less │ │ ├── safety/ │ │ │ ├── index.less │ │ │ ├── safety.less │ │ │ └── shared.less │ │ └── stay-secure.less │ └── shared.less ├── locales/ │ ├── bg/ │ │ ├── encrypt.properties │ │ └── home.properties │ ├── cak/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── cs/ │ │ ├── .keep │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── de/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── el/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── copyright-petition.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ ├── messages.properties │ │ └── post-crimes.properties │ ├── en-GB/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── en-US/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── es/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── fr/ │ │ ├── .keep │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── hu/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── id/ │ │ ├── .keep │ │ ├── encrypt.properties │ │ └── home.properties │ ├── index.js │ ├── it/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── mr/ │ │ └── .keep │ ├── nl/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── nn-NO/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── pl/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── copyright-email1.properties │ │ ├── copyright-petition.properties │ │ ├── copyright-snippet.properties │ │ ├── copyright-social.properties │ │ ├── encrypt.properties │ │ ├── fellows.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ ├── post-crimes.properties │ │ └── snippet.properties │ ├── pt-BR/ │ │ ├── categories.properties │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── ru/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── sk/ │ │ ├── combined-maker-party-activities.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ └── maker-party-activities.properties │ ├── sl/ │ │ ├── .keep │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ ├── messages.properties │ │ └── post-crimes.properties │ ├── sq/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── sv-SE/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ ├── te/ │ │ ├── combined-maker-party-activities.properties │ │ ├── contribute-to-the-commons.properties │ │ ├── encrypt.properties │ │ ├── home.properties │ │ ├── maker-party-activities.properties │ │ ├── meme_around.properties │ │ └── post-crimes.properties │ └── uk/ │ ├── combined-maker-party-activities.properties │ ├── contribute-to-the-commons.properties │ ├── encrypt.properties │ ├── home.properties │ ├── maker-party-activities.properties │ ├── meme_around.properties │ └── post-crimes.properties ├── package.json ├── public/ │ └── assets/ │ ├── buyers-guide/ │ │ └── coral-talk.css │ └── fonts/ │ └── otf/ │ ├── ZillaSlab-Light.otf │ └── ZillaSlab-SemiBold.otf ├── routes/ │ ├── call.js │ ├── index.js │ ├── sheets.js │ └── signup.js ├── sample.env ├── scripts/ │ ├── csp-directives.js │ ├── properties2json.js │ └── writeLocales.js ├── src/ │ ├── client.js │ ├── components/ │ │ ├── buyers-guide/ │ │ │ ├── breadcrumb.js │ │ │ ├── footer.js │ │ │ ├── header.js │ │ │ ├── menu.js │ │ │ └── signup-form.js │ │ ├── codemoji-banner.js │ │ ├── content-container.js │ │ ├── cta.js │ │ ├── encrypt-footer.js │ │ ├── encrypt-header.js │ │ ├── encrypt-logo.js │ │ ├── encrypt-modal.js │ │ ├── encrypt-share-this-now.js │ │ ├── encrypt-signup.js │ │ ├── encrypt-video-playlist.js │ │ ├── encrypt-video-thumbnail.js │ │ ├── encrypt-video.js │ │ ├── fellows-header.js │ │ ├── footer-icon.js │ │ ├── footer.js │ │ ├── header.js │ │ ├── hero-unit.js │ │ ├── imagetag.js │ │ ├── modal.js │ │ ├── mozilla-accordion.js │ │ ├── net-neutrality/ │ │ │ ├── call-button.js │ │ │ ├── call-tool.js │ │ │ ├── fcc-form.js │ │ │ ├── footer.js │ │ │ ├── header.js │ │ │ ├── nav.js │ │ │ ├── petition-form.js │ │ │ ├── signup-form-call.js │ │ │ ├── signup-form.js │ │ │ ├── social.js │ │ │ └── sticky-container.js │ │ ├── open-web-fellows/ │ │ │ └── apply.js │ │ ├── optimizely.js │ │ ├── optimizelysubdomain.js │ │ ├── pontoon.js │ │ ├── safety/ │ │ │ ├── display-item.js │ │ │ ├── footer.js │ │ │ ├── gallery-data.js │ │ │ ├── gallery-item-header.js │ │ │ ├── gallery-item.js │ │ │ ├── header.js │ │ │ ├── mobile-header.js │ │ │ ├── next-video.js │ │ │ ├── play-button.js │ │ │ ├── poster-image.js │ │ │ ├── safety-gallery.js │ │ │ ├── signup-cta.js │ │ │ └── signup-form.js │ │ ├── signup-form/ │ │ │ ├── footer.js │ │ │ ├── form-body.js │ │ │ ├── header.js │ │ │ ├── logo.js │ │ │ ├── signup-form-container.js │ │ │ ├── signup-form-sticky.js │ │ │ └── sticky-container.js │ │ └── sticky-container.js │ ├── data/ │ │ ├── buyers-guide-categories.js │ │ ├── buyers-guide-products.js │ │ └── encryptVideos.js │ ├── lib/ │ │ ├── get-messages.js │ │ ├── location-parser.js │ │ ├── react-server-route.js │ │ ├── session-storage.js │ │ └── submit.js │ ├── mixins/ │ │ └── signup.js │ ├── pages/ │ │ ├── buyers-guide/ │ │ │ ├── category.js │ │ │ ├── home.js │ │ │ ├── item.js │ │ │ └── why-we-made.js │ │ ├── encrypt/ │ │ │ ├── codemoji-b.js │ │ │ ├── codemoji.js │ │ │ ├── direct.js │ │ │ ├── hybrid-2-a.js │ │ │ ├── hybrid-2-b.js │ │ │ ├── hybrid-2-c.js │ │ │ ├── hybrid.js │ │ │ ├── index.js │ │ │ ├── pageType.js │ │ │ ├── signup-a.js │ │ │ ├── signup-b.js │ │ │ ├── signup-blank.js │ │ │ ├── signup-c.js │ │ │ ├── signup-complete.js │ │ │ ├── signup.js │ │ │ └── social.js │ │ ├── encrypt-hard-drive/ │ │ │ ├── encrypt-hard-drive-thank-you.js │ │ │ └── encrypt-hard-drive.js │ │ ├── home.js │ │ ├── maker-party/ │ │ │ └── activities/ │ │ │ ├── activity-template.js │ │ │ ├── combined-maker-party-activities.js │ │ │ ├── contribute-to-the-commons.js │ │ │ ├── index.js │ │ │ ├── meme-around.js │ │ │ ├── mixin.js │ │ │ └── post-crimes.js │ │ ├── net-neutrality/ │ │ │ ├── call-now.js │ │ │ ├── call-page.js │ │ │ ├── petition.js │ │ │ └── share.js │ │ ├── open-web-fellows/ │ │ │ ├── fellows2015.js │ │ │ ├── fellows2016.js │ │ │ ├── fellows2017.js │ │ │ ├── info.js │ │ │ └── overview.js │ │ ├── safety/ │ │ │ └── safety.js │ │ ├── stay-secure-thank-you.js │ │ └── stay-secure.js │ └── routes.js └── webpack.config.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .babelrc ================================================ { "presets": ["es2015", "react"] } ================================================ FILE: .editorconfig ================================================ root = true # Unix-style newlines with a newline ending every file [*] end_of_line = lf insert_final_newline = true # Matches multiple files with brace expansion notation # Set default charset [*.{js,jsx,html,sass}] charset = utf-8 indent_style = space indent_size = 2 trim_trailing_whitespace = true ================================================ FILE: .eslintignore ================================================ node_modules/* public/* assets/* common ================================================ FILE: .eslintrc ================================================ { "rules": { "indent": [1, 2], "no-extra-boolean-cast": [1], "no-empty": [1], "no-lonely-if": [2], "no-inner-declarations": [2, "both"], "space-after-keywords": [2], "space-before-keywords": [2, "always"], "space-before-blocks": [2], "space-before-function-paren": [2, "never"], "no-console": [0], "comma-dangle": [1], "eol-last": [2], "no-unused-vars": [1, {"vars": "all", "args": "none"}], "linebreak-style": [2, "unix"], "semi": [1, "always"], "eqeqeq": [2], "no-else-return": [2], "dot-notation": [2], "no-eq-null": [2], "no-return-assign": [2], "radix": [2], "handle-callback-err": [2] }, "env": { "es6": true, "browser": true, "commonjs": true, "node": true }, "extends": "eslint:recommended", "ecmaFeatures": { "jsx": true, "experimentalObjectRestSpread": true, "modules": true }, "plugins": [ "react" ] } ================================================ FILE: .gitignore ================================================ .DS_Store node_modules npm-debug.log* .env dist/* public/build/* public/encrypt/* public/index.css public/locales.json public/buyers-guide-locales.json *~ package-lock.json ================================================ FILE: LICENSE ================================================ Mozilla Public License, version 2.0 1. Definitions 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution. 1.3. "Contribution" means Covered Software of a particular Contributor. 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. 1.5. "Incompatible With Secondary Licenses" means a. that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or b. that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. 1.6. "Executable Form" means any form of the work other than Source Code Form. 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. 1.8. "License" means this document. 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. 1.10. "Modifications" means any of the following: a. any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or b. any new file in Source Code Form that contains any Covered Software. 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. 1.13. "Source Code Form" means the form of the work preferred for making modifications. 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. License Grants and Conditions 2.1. Grants Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: a. under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and b. under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. 2.2. Effective Date The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. 2.3. Limitations on Grant Scope The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: a. for any code that a Contributor has removed from Covered Software; or b. for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or c. under Patent Claims infringed by Covered Software in the absence of its Contributions. This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). 2.4. Subsequent Licenses No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). 2.5. Representation Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. 2.6. Fair Use This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. 2.7. Conditions Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. 3. Responsibilities 3.1. Distribution of Source Form All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form. 3.2. Distribution of Executable Form If You distribute Covered Software in Executable Form then: a. such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and b. You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License. 3.3. Distribution of a Larger Work You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). 3.4. Notices You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. 3.5. Application of Additional Terms You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. 4. Inability to Comply Due to Statute or Regulation If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. 5. Termination 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. 6. Disclaimer of Warranty Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. 7. Limitation of Liability Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. 8. Litigation Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. 9. Miscellaneous This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. 10. Versions of the License 10.1. New Versions Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. 10.2. Effect of New Versions You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. 10.3. Modified Versions If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. Exhibit A - Source Code Form License Notice This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. You may add additional accurate notices of copyright ownership. Exhibit B - "Incompatible With Secondary Licenses" Notice This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0. ================================================ FILE: Procfile ================================================ web: node app.js ================================================ FILE: README.md ================================================ # Overview This is the repository for [https://advocacy.mozilla.org](https://advocacy.mozilla.org) As of April 2016, there are three parts to the site. [Homepage](https://advocacy.mozilla.org) and [Open Web Fellows](https://advocacy.mozilla.org/open-web-fellows/) are an index.html file statically generated by a server at build time. This single index page then renders the requested page on the client side. [Encrypt Campaign](https://advocacy.mozilla.org/encrypt/) doesn't use an html file and nothing is built on the server, instead the server generates the pages as requested and passed to the client. The result page is cached on the server in memory after the first request, so the next request is not generated again. # Getting Started Clone a copy of the repository using something like [git](http://git-scm.com/). To get a local version of the site running, you'll need [node](http://nodejs.org/) 8 or higher installed on your local machine. ## Build To start local development, install and run the following commands: ``` bash $ cp sample.env .env $ npm install $ npm start ``` ## Develop Workflow After successfully building and running the server, go to [localhost:8080/](http://localhost:8080/) You can now start changing files in the `/src` directory, such that saving your changes and refreshing the browser will show your changes. Files outside of /src require npm start to be rerun ## Sitemap ``` / -> /src/pages/home.js /encrypt/ -> /src/pages/encrypt/index.js /open-web-fellows/ -> /src/pages/open-web-fellows/overview.js /open-web-fellows/info/ -> /src/pages/open-web-fellows/info.js /open-web-fellows/fellows/ -> /src/pages/open-web-fellows/fellows.js ``` ## Source Structure Running `npm start` is the entry point to build our code and run our server. All our npm scripts and npm dependencies are stored in package.json. Our client side code is written in react and lives in `/src`. Our files are organized into two directories, `/src/components/` and `/src/pages/`. Components are shared UI elements, like header and footer used to build pages. We have an npm script that uses [babel](https://babeljs.io/) to compile the contents of `/src` from [es6](https://en.wikipedia.org/wiki/ECMAScript#6th_Edition) to `/dist` as [es5](https://en.wikipedia.org/wiki/ECMAScript#5th_Edition). These are built to run on the server and client. We use [webpack](https://webpack.github.io/) to package our client side files into `/public`, which is handled in `webpack.config.js` We use [react-router](https://github.com/reactjs/react-router) to handle the site structure, which live in `/src/avocacy-main.js` and `/src/encrypt-main.js`. We use [node](http://nodejs.org/) version 8 or higher to run our server, which is handled in `app.js`. "Encrypt" pages are handled a bit differently from the rest. The standard routes, and source, use `/src/advocacy-main.js` for pretty much all the generating and packaging of files, routes, and source. Encrypt uses `/src/encrypt-app.js` to package client side files, and uses `/src/encrypt-main.js` and `/src/lib/react-server-rooute.js` to handle server side rendering. ================================================ FILE: app.js ================================================ var Habitat = require('habitat'); Habitat.load(); var express = require('express'), path = require('path'), url = require('url'), compression = require('compression'), helmet = require('helmet'), frameguard = helmet.frameguard, reactRouted = require('./dist/lib/react-server-route.js'), locationParser = require('./dist/lib/location-parser.js'), bodyParser = require('body-parser'); env = new Habitat(), routes = require('./routes'), app = express(); const CSP_DIRECTIVES = require('./scripts/csp-directives.js'); app.set('trust proxy', true); app.use(bodyParser.json()); app.use(compression()); app.use(helmet()); app.use(frameguard({ action: "allow-from", domain: "https://pontoon.mozilla.org" })); app.use(helmet.csp(CSP_DIRECTIVES)); app.use(helmet.hsts({ maxAge: 90 * 24 * 60 * 60 * 1000 // 90 days })); // Redirect to SSL if set app.use(function(req, resp, next){ if (!req.secure && env.get('FORCE_SSL')){ if (req.method === "GET") { resp.redirect(301, `https://${req.headers.host}${req.originalUrl}`); } else{ resp.status(403).send("Please use HTTPS when submitting data to this server."); } } else{ next(); } }); app.post('/api/signup/basket', routes.signup); app.post('/api/petition/sheets', routes.petitionSheets); app.post('/api/fcc-comment/sheets', routes.fccCommentSheets); app.post('/api/call', routes.call); app.use(reactRouted); app.use(express.static(__dirname + '/public', {maxAge: 3600000})); /** * We need to make sure that resources are presented to the * user in the appropriate locale, so any requests without * a locale should first be locale-enriched based on the * request headers we receive from the client. */ function routeBasedOnLocale(req, res, next) { var location = url.parse(req.url).pathname; var search = url.parse(req.url).search || ""; // Get a valid locale from the path and header var parsed = locationParser(req.headers["accept-language"], location); var parsedLocale = parsed.locale; var parsedRedirect = parsed.redirect; // See if we should redirect. if (parsedRedirect) { let newUrl = "/" + parsedLocale + parsedRedirect + search; if (newUrl === req.url) { console.warn("Received meaningless redirect: new URL is identical to original URL. Skipping to next()"); next(); } else { res.redirect(301, newUrl); } } else { next(); } } app.use(routeBasedOnLocale); /** * A general purpose last-ditch error handler: * just present the user with the error so * that they can report it to us. */ function errorHandler(err, req, res, next) { res.send(err); } app.use(errorHandler); app.listen(env.get('PORT'), function () { console.log('Server listening ( http://localhost:%d )', env.get('PORT')); }); ================================================ FILE: app.json ================================================ { "name": "advocacy.mozilla.org", "scripts": {}, "env": { "AWS_ACCESS_KEY_ID": { "required": true }, "AWS_SECRET_ACCESS_KEY": { "required": true }, "HATCHET_APP_NAME": { "required": true }, "HATCHET_QUEUE_REGION": { "required": true }, "HATCHET_QUEUE_URL": { "required": true } }, "addons": [] } ================================================ FILE: buyers-guide-locales/en-US/categories.properties ================================================ cat_title_toys=Toys cat_title_toys_home=Browse Toys cat_desc_toys=Toys, duckies, dolls & more cat_title_gameconsoles=Game Consoles cat_title_gameconsoles_home=Browse Game Consoles cat_desc_gameconsoles=Get your game on cat_title_homehubs=Home Hubs cat_title_homehubs_home=Browse Home Hubs cat_desc_homehubs=You always wanted a butler cat_title_smarthomeaccessories=Smart Home Accessories cat_title_smarthomeaccessories_home=Browse Smart Home Accessories cat_desc_smarthomeaccessories=Home is where the tech is cat_title_gadgetsgizmos=Gadgets & Gizmos cat_title_gadgetsgizmos_home=Browse Gadgets & Gizmos cat_desc_gadgetsgizmos=Things you didn’t know you need cat_title_healthexcercise=Health & Exercise cat_title_healthexcercise_home=Browse Health & Exercise cat_desc_healthexcercise=Taking care of me ================================================ FILE: buyers-guide-locales/en-US/category.properties ================================================ info_provided=The information provided here is pulled directly from the product website. categories=CATEGORIES ================================================ FILE: buyers-guide-locales/en-US/home.properties ================================================ most_wonderful=The Most Wonderful Time Of The Year, But Wait sign_up_title=Staying safe online is hard. We’re here to help. sign_up_paragraph=Give us your email and we’ll give you lots of great tips, info and more to help you stay safe online. email_placeholder=Enter your email address # In this context, “mozilla” must be kept as-is, without a capital M. {linkPrivacyNotice} will be replaced with the translation of link_privacy_notice. privacy_policy=I’m okay with mozilla handling my info as explained in {linkPrivacyNotice} link_privacy_notice=this Privacy Notice subscribe_button=SUBSCRIBE maybe_later=Maybe later thank_you_sign_up=Thank you, you’re almost signed up! double_check_sign_up=To close the deal, go check your email, find the confirmation email we just sent you and follow the directions. next_time=Next time then! next_time_paragraph=Would you consider sharing this page for now? no_thanks=No thanks # Error messages required_error=Oops! You forgot to click this little box. required_error_generic=This field is required. email_invalid=Huh, weird. You sure that email address is right? try_later=Something went wrong, please try again later. home_label=Home copy_link=COPY LINK link_copied=Link copied! # Homepage title privacy_not_included=privacy not included # Feel free to move   around to make the title look correct on small viewports privacy_not_included_formatted=privacy not included hero_unit_paragraph=A Guide to Make Shopping for Connected Gifts Safer, Easier, and Way More Fun thats_why=THE HOLIDAYS, it’s the most wonderful time of the year. Unless you buy a gift that spies on your kid or gets your friend hacked. Wish lists this year will have more connected devices than ever. How do you know if that gift comes with privacy included? We did the research to help you decide. Because Santa should be the only one watching you this holiday season. info_blob=Mozilla cares about protecting your online privacy and security. Consumer Reports sets the standard for consumer reviews and protection. That’s why we are using the new Digital Standard developed by Consumer Reports and its partners to help us evaluate the products in this buyer’s guide. Learn more about the Digital Standard. see_the_guide=See the Guide swipe_or_scroll=Swipe or scroll to begin experience_again=Return to the top best_to_you_and_yours=Best wishes to you and yours share_this_page=SHARE THIS PAGE donate_cta=Mozilla is a non-profit fighting for the good of the internet. Become a supporter today. donate_now=DONATE NOW # Used in https://s3.amazonaws.com/redpen-prod/red-pen-b180f28e-6e27-49ff-93f6-e4388c3d6d67.jpg bg_logo_tagline=A HOLIDAY BUYER’S GUIDE FROM mozilla # Footer bg_footer_methodology=Methodology bg_footer_share=Share this page bg_footer_contact_us=Contact Us bg_footer_follow=Follow bg_footer_legal=Legal bg_footer_privacy=Privacy bg_footer_donate=Donate mozilla_blerb2=Mozilla is a global non-profit dedicated to putting you in control of your online experience and shaping the future of the Web for the public good. Visit us at mozilla.org # Donation Ask Modal donate_modal_title=We all love the web.
Join Mozilla in defending it. # Please keep the element inside the Mozilla word donate_modal_intro=The future of the Internet is at stake, with new threats to our online privacy and security almost every day. M ozilla fights to save a healthy Internet, with grassroots advocacy work and software that enables the open web. donate_modal_ask=As a non-profit we rely on your support, so please donate today. ================================================ FILE: buyers-guide-locales/en-US/products.properties ================================================ product_1_title=Dyson Pure Hot+Cool Link product_1_blurb=For when your air isn’t quite good enough, there’s this air purifier/heater/cooler from Dyson. It’s not just air purification, it’s “Intelligent Air Purification” according to the maker. That means it comes with an app that lets you monitor your air quality and react accordingly. It’s 2017 and “scheduled purification” is now a thing. product_1_worst_case=It could show when you are home and what is happening in your home based on the air quality readings (for example, if you are smoking). product_2_title=Ring Doorbell 2 product_2_blurb=Door knockers are cool, but so old-fashioned. Door bells are neat, but so analog. Welcome to the future. Calling this a doorbell is a bit misleading. It’s a door video, two-way audio, motion sensor, infrared night vision gizmo that lets you see, hear, and speak to people at your door from your phone or computer. But is it creepy? You decide. product_2_worst_case=It could be used to spy on your comings and goings. product_3_title=Sengled Snap product_3_blurb=Look up. It’s a light bulb. It’s a video camera. It’s… both? Yes, there is a Wi-Fi enabled, motion detecting, night vision, weatherproof light bulb with a built-in HD video camera. Controlled by an app, it sees all, live streams it to your phone, and stores it in the cloud. No word yet on how many people it takes to screw it in. product_3_worst_case=It could be used to spy on you when you’re naked or doing other such things. product_4_title=August Smart Door Lock product_4_blurb=Sometime soon, that “Oh crap!” feeling of getting locked out of your house will be as foreign to kids as rotary phones are now thanks to the “smart lock.” Install it on a deadbolt and you can lock and unlock your door with your phone, give people keyless access to your home, and even track who is coming and going while you are away. Apparently it still works with old school keys, for that “Oh crap!” moment when you lose your phone. product_4_worst_case=It could unlock the door unexpectedly or get hacked and open your door to a stranger. product_5_title=Eero product_5_blurb=Mesh used to mean those hair nets people wore in your elementary school cafeteria. These days, mesh is all the rage when it comes to Wi-Fi technology to cover your entire home, from your backyard to your basement bathroom. This Wi-Fi router system says it uses TrueMesh™ technology, which sure sounds fancy. They do nail their slogan: “Happy Wi-Fi, happy life.” product_5_worst_case=As with any Wi-Fi router, it could know everything you are doing on the internet. product_6_title=Chamberlain MyQ Smart Garage Hub product_6_blurb=Garage doors refuse to be left out of the Internet of Things revolution. Good for them! This attachment for most garage doors made circa 1993 lets you open and close them with your smartphone — from anywhere. So the next time you go on vacation and wonder, “Huh?, did I close the garage door?”, this gadget has you, and your garage, covered. product_6_worst_case=It could know when you are home and it could open your garage door for random strangers if hacked. product_7_title=iDevices Switch product_7_blurb=Remember the clapper? That wonderful device from last century that turned your lights on and off with clap of your hands. It’s almost 2018 and the clapper is all grown up into a “connected smart plug.” Plug the outlet into your wall and you can control it with your voice, set up custom on/off schedules on a phone app from anywhere, even monitor your energy use. All that’s missing is the catchy jingle — Clap on, clap off… product_7_blurb_evergreen=Remember the clapper? That wonderful device from last century that turned your lights on and off with clap of your hands. It’s 2018 and the clapper is all grown up into a “connected smart plug.” Plug the outlet into your wall and you can control it with your voice, set up custom on/off schedules on a phone app from anywhere, even monitor your energy use. All that’s missing is the catchy jingle — Clap on, clap off… product_7_worst_case=It could turn things on and off when you don’t want it to. And learn things about your household based on whatever is plugged into the device. product_8_title=Aumi Smart Nightlight product_8_blurb=This little nightlight of mine, I’m gonna let it shine… just as soon as I pull out my phone and use the app to turn it on. That’s the tune you’ll be singing with this Bluetooth enabled, motion activated nightlight. It even lets you choose from 16 million different color options to find just the right color to keep those scary nighttime monsters at bay. product_8_worst_case=It could know when you put your kids to bed and how often they get up at night. product_9_title=Parrot Pot product_9_blurb=Meet the smart flowerpot. Yup, a smart flowerpot. Because even people with green thumbs need to go on vacation. It comes with a self-watering system and built-in sensors the company says monitor things like fertilizer, moisture, light, and temperature levels. The robots really are going to replace us all. product_9_worst_case=It could know when you’ll be out of town. product_10_title=Tile Mate product_10_blurb=This little nub attaches like a key ring and keeps track of anything: your pets, wallet, keys, bags, other people’s bags. The app lets you track your things and rings where they are if you lose something. It’s small enough to fit in the case grandma keeps her reading glasses in, so she will never lose them again! Only where did she put her phone? product_10_worst_case=It could track you everywhere you go. product_11_title=Amazon Echo/Show product_11_blurb=Show, don’t tell, the saying goes. Amazon took that to heart. Take the helpful home secretary that is Alexa and add video — now this home hub can show you things while it talks to you. Show shows the lyrics to the song you’re listening to, weather forecasts, your security cams and baby monitor. It can also hear you at any time, from any direction. OK, that’s where things start to get weird. product_11_worst_case=It could be used to spy on you when you’re naked or doing other such things. product_12_title=B&O PLAY Beoplay M5 product_12_blurb=Are you an audiophile? Do you want a high-end wireless speaker? Do you have $600 to drop on one speaker? If so, this is for you. Seems like a lot of cash for a speaker to stream Spotify on. But it does come with a “pearl-blasted” aluminum disc the maker says is “beautiful to behold” and “mesmerizing to touch.” For $600 it better grant someone a wish when they rub its pearl-blasted aluminum top. product_12_worst_case=It could let people guess who is at home based on what music is playing. product_13_title=Nanoleaf Aurora product_13_blurb=You’re a rock star! Why not light up your bedroom like a one? Now you can with this “smart lighting product.” Hang these Wi-Fi connected triangular light panels together in whatever designs you dream up. Then download the app and customize the light’s movement, color, and schedule. If you want to add a little more bowchickawowow to your room, get the module that let’s the lights beat in rhythm to your music. You are a rock star after all. product_13_worst_case=It could know when you are sleeping and when you are awake… and when you are having a big party with all your friends. product_14_title=Samsung SmartThings Home Monitoring Kit product_14_blurb=This is billed as “everything you need to monitor your home from anywhere using your smartphone”. Here’s a story about that: Someone once tried putting cameras in their home. Mostly they wound up goofing off, looking at the camera on their phone while standing in front of their security camera. But then one night, they woke up and opened the app and for a split-second wondered how freaked out they would be if they saw a man in a clown suit on the infrared night camera. He slowly opens the door to their house, walks in front of the camera and disappears in a fisheye haste toward the hallway. They’re in their bed and hear footsteps on the stairs, which they then hear two seconds later louder in their phone and their heart starts pounding and… it turns out, security cameras in the home aren’t for everyone. product_14_worst_case=It could know your daily routine and that data could be used against you. product_15_title=Target Threshold Smart Table Lamp product_15_blurb=Could light switches soon go the way of the dinosaur? Seems that’s the trend with smart lights these days. Turn this collection of lights from Target on or off with a touch or tap in the Target Connected app. The app also lets you set a timer and adjust the warmth of the light — but only on iOS Apple devices. Sorry Android users, you’re stuck with the light switch. product_15_worst_case=It could know when you are sleeping and when you are awake. product_16_title=Sonos Play:1 product_16_blurb=Described as both mini and mighty, this speaker is Wi-Fi, not Bluetooth which means a phone call won’t stop the jams, if that’s a thing you worry about. It’s also billed as “humidity resistant” which the makers claim makes it good for the bathroom. Controlled with an app, it lets you play different songs in different rooms (if you have more than one speaker), so you can listen to something loud in the bathroom and something quiet in the bedroom. product_16_worst_case=It could share data with others that you are depressed because of your sad playlist. product_17_title=Philips Hue White & Color Ambiance Starter Kit product_17_blurb=Lights that dance with your music, jump with your movies, or pound with your video games — maybe this isn’t tech that will save the world. But lights that can gradually get brighter in the morning to help you wake up or glow softly for reading do sound like a better way to light up your life. Toss in the ability to set timers and control with your voice when paired with a home hub and things could be looking a little brighter. product_17_worst_case=It could infer activity in your home. product_18_title=Nest Thermostat product_18_blurb=Learning is fun! Owning a thermostat that learns all about how warm and cool you like your house is maybe fun too? According to the makers, use this thermostat for a week and it’ll adapt to you. The app lets you control the temperature in your home from anywhere and sends alerts when things don’t look quite right. Best of all, that learning can help save energy and money. The big question is, can it learn whose side to pick when you like it hot and your partner likes it cold? product_18_worst_case=It could determine your comings and goings and turn your thermostat off when it’s really cold and you’re not home. product_19_title=Nest Protect product_19_blurb=Is there anything worse than the random chirp of a smoke alarm? You can’t tell which alarm is chirping. You don’t know if it’s smoke or a low battery. It’s so frustrating. Maybe there’s a better option? This smoke and carbon monoxide detector tells you what it’s sensing and in which room. It tests itself so you don’t have to remember to and lights up in the middle of the night when you walk under it. Best of all, you can silence it right from your phone. No need to haul that ladder around the house at 2am. product_19_worst_case=It could ignore a fire. product_20_title=Nest Cam Outdoor Security Camera product_20_blurb=Russian dashcams changed the viral video world. Perhaps your front door cam can too. This weatherproof, always-on, HD video cam records everything, for better or worse. It has a built-in camera and mic too, so you can talk back to the delivery guy or the neighborhood kid selling candy bars for school. View, share, and get alerts all from an app on your phone — gives a whole new meaning to the idea of “neighborhood watch.” product_20_worst_case=It could be used to spy on you when you’re naked or doing other such things. product_21_title=Nest Cam Indoor Security Camera product_21_blurb=Cameras are everywhere these days. If you want to jump on the bandwagon and put security cameras up in your house, here’s one that alerts you when it detects motion or loud noises, says it can tell a person from a thing, and lets you talk back to them. Which is either handy when it comes to chasing away the bad guys, or tons of fun when it comes to scaring the pants off your buddy who’s looking after your cat. product_21_worst_case=It could be used to spy on you when you’re naked or doing other such things. product_22_title=Meural Canvas product_22_blurb=Ever buy a painting, hang it up, then get bored with it after a while? Yeah, me neither. For some people though, that happens. And for those people, there’s this digital art canvas. It’s a fancy Wi-Fi connected art frame with a built-in HD screen that changes art with a swipe of your hand. Upload your own artwork or download some from thousands of artists, who make 60% of what Meural earns on their art. Neat. product_22_worst_case=It could use the ambient light sensors to know the comings & goings in your household. product_23_title=Roomba 980 product_23_blurb=Let’s face it, vacuuming sucks. Then along came the robot vacuum and you could sit back and watch while it did all the work, sometimes taking your cat along for the ride. Now this Wi-Fi connected robot vacuum lets you push a button and vacuum your house from the other side of the world. Or schedule your robot to vacuum when you’re at work. The only downside? Who will be around to capture the next viral cat-riding-a robot-vacuum video. product_23_worst_case=The roomba creates maps of your home. Those could be used for future advertising purposes. Or someone could gain access to those maps for more nefarious purposes. product_24_title=Hiku product_24_blurb=In any home, few things are more important than the humble grocery list. Now there’s a “smart shopping button” for when pen and paper feel so out-dated. Speak your deepest grocery store desires to it and they automatically appear in a shared shopping list app on your phone. It also scans barcodes and connects to online grocery stores. The most useful feature might be the ability to organize your list to match the way you walk the aisles in your grocery store. Now that’s progress! product_24_worst_case=It could use your shopping list to learn your eating habits and other private habits. product_25_title=Google Home product_25_blurb=“Help Is Here,” they say on their website, and you think, “I need help!” This home hub is the brain and right hand enabler of your connected life. Have it turn up the lights, turn down the music, and turn off the news. Have it read your daily schedule to you while calling Mom. Have it translate and answer and explain. Have it become your brain. OK Google. product_25_worst_case=It could listen to you and know everything happening in your home. product_26_title=Flic product_26_blurb=Ever wanted a handy button on your desk you could push and have, say, a butler bring you a Diet Coke? This product is a little like that. It’s a little silicone button — about the size of a peppermint patty — and it pairs up with all sorts of apps on your phone. Set it up and then push the button to call an Uber, order a pizza, play music, even let your family know you’ve fallen and you can’t get up. product_26_worst_case=You can connect your Flic button to anything — your lights, your calendar, 911. Someone else could gain access to all of that. product_27_title=Automatic Pro product_27_blurb=Drive an old car? Love that you don’t have a car payment but hate that you don’t have modern “smart car” features? Here’s an option for you. This little adapter plugs into your car’s standard diagnostic port and — boom — your car is connected. Your car gets real-time location tracking, emergency service if you’re in a wreck, and the ability to connect to a whole host of 3rd party apps. Sounds like the perfect gift for parents of teenage drivers. product_27_worst_case=It could know where you work, where you live, and the most common routes you drive every day. It could be used to track you when you are driving. product_28_title=Wink Hubs product_28_blurb=The Jetsons was your all-time favorite cartoon. You’ve wanted a smart home for years. Now you’ve got your lights, your thermostat, your door locks, your security cameras all connected to your phone. Life is good, until you realize you need 8 apps to operate your home. Bummer. That’s where this hub comes in. It lets you bring all those smart devices you connected into one app. Now when can we buy Rosie the robot maid? product_28_worst_case=It could let others know the patterns of activity in your home. product_29_title=Ecobee4 Thermostat product_29_blurb=Looking for a gift for that hard to shop for person in your life? How about this smart thermostat that can also read the news to you while ordering your groceries? Seriously. This thermostat does smart thermostats things like adjusting the temperature from your phone, using room sensors to manage hot and cold spots, and saving energy with smart algorithms. It also has Amazon Alexa built in for playing music, asking questions, and more. product_29_worst_case=It could let others know the patterns of activity in your home and when people are home. It can listen to things going on in your home. product_30_title=Ozobot Evo product_30_blurb=This little bitty bot hopes to teach you a thing or two. You can control this two inch tall robot with an app on your phone or tablet. Let it play by itself or program it yourself to control its lights, sounds, and how close it will get to other things. Hey, learning to code is awesome. Playing battle bots with your friend is pretty cool too. product_30_worst_case=It could expose your kid to messages sent from random people via the community message boards. product_30_child_rules=Yes. The messages that users under 13 select from a pre-determined list of messages to send to other users. For example, a child may select the message “Hello!” to send to another user. A user under 13 will not be able to type a message to send to other users. product_31_title=Beasts of Balance product_31_blurb=This app-connected game looks like Jenga met Bandu on a trip to the zoo. There are plastic animals and shapes you stack on a tower without everything toppling over. All while connected through an app to your phone, tablet, or TV that’s telling a story and giving your challenges along the way. If you’re looking to add a little whimsy to your play, this looks up to the challenge. product_31_worst_case=It could know how obsessed you are with making new animals, you crazy mad scientist you. product_31_child_rules=Yes. Child lock. product_32_title=Toymail Talkie product_32_blurb=Walkie-talkies used to be the coolest things. You’d run around outside with your friends, chatting with each other from one street over. It’s the digital age now. Even walkie-talkies have gotten a furry, Wi-Fi, app-filled upgrade. These cute little animals — dinosaurs, unicorns, bunnies, bats, and more — disguise a Wi-Fi enabled box parents can set up to allow their kids to talk to approved friends and family via an app. Kids can chat toy to toy too, just like the old walkie-talkie days… sorta. Over and out. product_32_worst_case=It could allow hackers to start talking to or leaving messages for your kids. product_33_title=Sphero SPRK+ product_33_blurb=You know what’s cool? Learning to code and build cool things. You know what this little round robot lets you do? Learn to code and build cool things! Take your creativity and turn your robot into a maze runner or swimmer or whatever else you can imagine. It works with the SPRK Lightning Lab app and honestly, it sounds super fun. product_33_worst_case=Your little robot could be programmed to get crushed somehow. product_34_title=Osmo product_34_blurb=Screen play time is so 2D. Especially for young kids who need to be developing those fine motor skills. This game system is designed to be hands on iPad play. There’s IRL things like blocks, triangles, pizza, matchbox cars, numbers, and drawing pads that link up to the iPad for “hands-on” screen time. Or, you know, you could play with those things the old-fashion way. product_34_worst_case=Someone could turn on your iPad/iPhone camera and watch you without you knowing. product_35_title=Smart Letters product_35_blurb=Kids love screens. Parents hate the guilt of letting their kids have too much screen time. Here’s a compromise. Wooden “smart” letters kids can play with in the real world, that interact with 3 different apps in the virtual one. 26 wooden letters, 8 languages, and a whole lot less guilt over screen time. product_35_worst_case=Nothing! product_36_title=Edwin the Duck product_36_blurb=Yes, there is connected rubber duckie. Yes, it’s adorable. Yes, you can use an app to download lullabies and sleeping sounds to it for your baby. It also has a nightlight, is waterproof, and has an auto-off timer. Appropriate for ages 0-101. product_36_worst_case=It could know how often you bathe your kids and when you put them to bed. product_37_title=Dash the Robot product_37_blurb=Meet Dash. A cute little kid-friendly robot with a giant eyeball as her main feature. Dash connects to a variety of apps via Bluetooth to let kids play, sing, dance, and learn to code with their new robot friend. Now, you just have to get used to a giant eyeball roaming your home. product_37_worst_case=It could record things happening in your home. product_38_title=BB-8 by Sphero product_38_blurb=“This is the droid you are looking for,” says the website. Impossible to argue with that. Who doesn’t want a little BB-8 droid they can control with their phone via Bluetooth? Or send the little guy out to patrol on his own. It also comes with something called “holographic simulation” which seems very important in helping the Resistance. Hopefully there is no Dark Side here. product_38_worst_case=Your little robot could record things happening in your home. product_39_title=AirJamz Air Guitar product_39_blurb=Admit it. There’s nothing better than nailing that air guitar solo. In your mind, you’re as cool as Jimi Hendrix and just as talented. If you love air guitar (and let’s be honest, who doesn’t?) this product seems life changing. It’s a little pick that connects to your phone via Bluetooth and lets you jam to your favorite iTunes songs. They call it a “karaoke-like experience”. It seems even cooler than that. Too bad it only works on iOS devices. product_39_worst_case=Nothing. Have a great time jamming! product_40_title=Hello Barbie product_40_blurb=Two years ago Hello Barbie became the poster child for the dangers of connected toys for kids. It listened to and recorded kids using a microphone, sent that data to live on the company’s servers, those recordings were shared with third parties, and the Wi-Fi and app Hello Barbie used could easily be hacked, potentially letting strangers listen to your children. Hello Barbie is still around with some updates to the privacy and data storage policies. It’s up to you to decide if that’s good enough to feel safe giving this toy to your kids. product_40_worst_case=It could record and say weird and creepy things to your children. product_41_title=Microsoft Xbox One product_41_blurb=Xbox brings you into the world of Halo, Forza, Gears of War and lots more. There’s the standard Xbox One S and the new and improved One X for this holiday season. Shoot, jump, play, watch, listen, just remember to unplug after a while. Yes Master Chief! product_41_worst_case=It could be used to make assumptions about you based on what games, TV shows, and other apps you use and when. It could let others know when you are home playing your Xbox. product_42_title=Sony Playstation 4 product_42_blurb=We’re guessing Santa gets asked for gaming consoles more than just about any other gift. The PS4 — whether it be the Slim or the beefed up Pro — brings you into the world of Uncharted, Horizon Zero Dawn, The Last of Us, Bloodborne and more. Play online with your friends or alone on your couch. Use it as your Blu-ray player, your Netflix box, and your Spotify hub. It’s all way too much fun. Just make sure you read up on that thing called two-factor authentication. product_42_worst_case=It could be used to make assumptions about you based on what games, TV shows, and other apps you use and when. It could let others know when you are home playing your PS4. product_43_title=Nintendo Switch product_43_blurb=Super Mario. The Legend of Zelda. Need we say more? Two of the greatest video game superstars of all time live here on the Nintendo Switch — a handy little console that lets you play at home on your TV or toss it in your bag to play anywhere. Good guy Nintendo also puts a lot of emphasis on easy to use parental controls. Dear Santa, we’ve been really good this year! product_43_worst_case=It could be used to make assumptions about you based on what games, TV shows, and other apps you use and when. product_44_title=Quell product_44_blurb=Pain sucks. Opioid addiction sucks. Wearing something on your leg that zaps your sensory nerves, to make your brain close its pain sensory gates throughout your whole body…sounds like a pretty cool option to fight chronic pain. It’s sort of like turning on some soothing “white noise” for your brain’s pain center. You control the frequency and intensity of zaps with an app on your phone. product_44_worst_case=It could know when you are doing pain therapy. It could also start zapping you in unexpected ways. product_45_title=Hatch Baby Rest product_45_blurb=Night lights used to be about keeping us safe from the scary monsters under the bed. Meet the “smart night light” that says it can help keep your toddler out of your bed. This Bluetooth night light connects to an app which lets you program when it turns on and off, what color it glows, and even plays soothing sounds to help the little one fall asleep. Hopefully it still protects from those monsters under the bed too. product_45_worst_case=It could know when and how often you are putting your baby to sleep and judge you, silently. product_46_title=Fitbit Surge product_46_blurb=If you want to hit your personal best and kick life’s butt, you’ve already wasted too much time reading this sentence. Your metabolic rate has dropped 2% lower than a sprinting cheetah. Just kidding. This GPS tracking, heart rate monitoring, stairs climbed, calories burned, watch pairs wirelessly with your phone and computer to tell you if you are, indeed, kicking life’s butt. product_46_worst_case=It could let others know where you are and how terrible you are at exercising. product_47_title=MocaCuff product_47_blurb=This little blood pressure cuff doesn’t just tell you your blood pressure, it syncs with an app that lets you track and share your blood pressure data. And because sharing is caring, this device says it uses a “HIPAA-compliant messaging platform” to let you share blood pressure data with your doctor or your family. You’ve got a big heart, keep it healthy. product_47_worst_case=It could allow other people to get a hold of your health information and profile you based on how healthy or unhealthy you are. product_48_title=Spire product_48_blurb=Take a deep breath. Feeling better? Mindfulness is all the rage these days, as a way to help fight all the rage and anxiety we feel these days. Clip this little gadget on your clothes and it monitors your breathing. It knows when you’re calm, when you’re tense, and when you’re focused. If your breathing gets off track it’ll shoot a notification to your phone. Notifications to tell you you’re anxious… hmmm. product_48_worst_case=It could know how stressed out you are and use that against you. product_49_title=Oral-B Genius Pro 8000 product_49_blurb=Is Bluetooth the future of protecting your white teeth? That’s the hope with this app connected toothbrush that “coaches” you up in your toothbrushing. Giving you real-time feedback if you’re brushing all the right zones, with all the right pressure. No word yet on how many dentists out of five agree if this smart toothbrush is a smart buy. product_49_worst_case=It could know your kids do a terrible job of brushing their teeth when they are at the other parent’s house. product_50_title=Kinsa Smart Ear Thermometer product_50_blurb=Getting sick is the worst! You feel terrible, you’re barely coherent, and unless Mom is around to take care of you, you have to figure it all out yourself. If you’re the Mom (or Dad) taking care of the sick one, that’s no fun either. This “smart” thermometer is here to help. It’ll tell you your temperature in one second. Using Bluetooth, it connects to an app that can play Mom for you — it tells you ways to soothe your symptoms, when to know if you should call the doc, and when to take your meds. If only it could make chicken soup too. product_50_worst_case=It could know when you and your children are sick. product_51_title=Adidas miCoach Smart Soccer Ball product_51_blurb=Once upon a time a soccer ball was just a soccer ball. That time has passed. Meet the smart soccer ball. Lovingly named miCoach. This Bluetooth connected ball works with an app on your phone to tell you the “power, spin, strike and trajectory” of your kicks. All to help you reach your GOOOOOOAALLLL of being a better soccer player. product_51_worst_case=It could know how mad you are based on how hard you’re kicking the ball. It could also tell the world you’re a terrible soccer player. product_52_title=PetCube Play product_52_blurb=If someone asks, “What’s the worst things in the world?” and you answer, “Being away from my pets” this gadget is for you. Hang the 2-way interactive, wide-angle, night vision, motion-detection camera up in your home at Fido’s eye level and now you can see and talk with your best friend when you’re not home. It even has a built-in laser pointer toy. If you want to upgrade, there’s a version that flings treats at your furry friend when you tell it to through the app. Woof and Meow! product_52_worst_case=It could be used to spy on you when you’re naked or doing other such things. It could also spy on your pet and nobody wants that. product_53_title=Drop Kitchen Scale product_53_blurb=Not all scales are evil (Looking at you bathroom scales. You lie!) This handy dandy sounding little kitchen scale connects to a handy dandy sounding recipe app over Wi-Fi to help you make great food. Want to double that chocolate chip cookie recipe but forgot everything you learned in middle school about fractions, this has you covered. Too bad it only works with iOS devices (sorry Android users). product_53_worst_case=It could know what and how much you are eating. product_54_title=Weber iGrill 2 product_54_blurb=Are you a forgetful griller? Do you throw some meat on the grill, wander back to the game and forget about it until it’s burnt to a crisp? Here’s the gadget for you! An app connected four-probe (4 probes!) grill thermometer that claims to monitor your food on the grill from “beginning to end” and will notify you when it’s the “perfect temperature.” iPhone iGrilling FTW! product_54_worst_case=It could know when you are grilling and having a party. ================================================ FILE: buyers-guide-locales/en-US/review.properties ================================================ review_yes=yes review_no=no review_n_a=N/A review_none=none review_unknown=unknown review_marketing=marketing review_advertising=advertising review_online_tracking=online tracking product_info=This product connects to the internet. It or its app could be sending data continuously which will be kept by the company indefinitely. safety_review=Safety Review review_can_it_spy=Can it spy on me? review_app_and_device=*Includes both the device and the device’s app review_spy_camera=Camera review_spy_microphone=Microphone review_spy_location=Tracks location review_know_about_me=What does it know about me? review_account_required=Does the app require me to create an account? review_privacy_controls=Does it have privacy controls? review_delete_data=Can I delete my data by contacting the company? review_share_data=Does the company share data with a third party for unexpected reasons? review_never_sharing=never review_sharing_advertising=online profiling for advertising review_sharing_for_profit=sold for profit review_child_privacy=Does the company say they obey child-related privacy rules? review_privacy_policy=Privacy policy: review_view_privacy_policy=View the privacy policy here. review_what_could_happen=What could happen if something went wrong? review_partners_link=Read more from our partners at Gizmodo and Univision review_got_feedback_title=Got questions? Have your own review? review_got_feedback_tagline=Here’s the place for that. review_related_products=Related products ================================================ FILE: buyers-guide-locales/en-US/share.properties ================================================ bg_sharing_facebook_title_1=Privacy Not Included: A Holiday Buyer’s Guide by Mozilla bg_sharing_facebook_body_1=This holiday season, learn which gadgets come with privacy included, using Mozilla’s buyer’s guide for connected gifts. bg_sharing_facebook_title_evergreen1=Privacy Not Included: An IoT Buyer’s Guide by Mozilla bg_sharing_facebook_body_evergreen1=This year, learn what tech comes with privacy included, using Mozilla’s buyer’s guide for connected gadgets. bg_sharing_facebook_title_2=Check out Mozilla’s Holiday Buyer’s Guide # Feel free to keep, remove or replace the emoji. bg_sharing_facebook_body_2=Don’t buy a gift that spies 👀, or gets your friend hacked this holiday season! Use Mozilla’s Privacy Not Included buyer’s guide. bg_sharing_facebook_title_evergreen2=Check out *Privacy Not Included, Mozilla’s IoT Buyer’s Guide. # Feel free to keep, remove or replace the emoji. bg_sharing_facebook_body_evergreen2=Don’t buy tech that spies 👀, or gets your friend hacked! Read *Privacy Not Included, a buyer’s guide from Mozilla. # This string will be used as a tweet, keep the translation under 270 characters (including the variable). bg_sharing_twitter_1=Don’t buy a gift that spies👀 this holiday season. Privacy Not Included, a tech buyer’s guide by @Mozilla #PrivacyNI {twitterLink} # This string will be used as a tweet, keep the translation under 270 characters (including the variable). bg_sharing_twitter_2=Don’t buy a gift that hacks your friend 😩. Use @Mozilla’s Privacy Not Included buyer’s guide #PrivacyNI {twitterLink} # This string will be used as a tweet, keep the translation under 270 characters (including the variable). bg_sharing_twitter_evergreen1=Don’t buy gadgets that spy 👀. *Privacy Not Included, a buyer’s guide by @Mozilla #PrivacyNotIncluded {twitterLink} # This string will be used as a tweet, keep the translation under 270 characters (including the variable). bg_sharing_twitter_evergreen2=Don’t buy #IoT that spies 😩. *Privacy Not Included, a buyer’s guide by @Mozilla #PrivacyNotIncluded {twitterLink} # Do not use HTML elements bg_sharing_email_subject_1=Check out Privacy Not Included, a Holiday buyer’s guide by Mozilla # Do not use HTML elements bg_sharing_email_body_1=This holiday season, don’t buy a gift that spies! I just found out which gadgets come with privacy included, using Mozilla’s Privacy Not Included buyer’s guide! Check it out here {link} # Do not use HTML elements bg_sharing_email_subject_2=This is the only gift guide you need. # Do not use HTML elements bg_sharing_email_body_2=Be in the know this holiday season: don’t buy a gift that hacks your friend. Use Mozilla’s Privacy Not Included gift guide {link} # Do not use HTML elements bg_sharing_email_subject_evergreen1=Check out “*Privacy Not Included”, an IoT buyer’s guide by Mozilla # Do not use HTML elements bg_sharing_email_body_evergreen1=This year, don’t buy a gift that spies! I just learned which gadgets come with privacy included, using Mozilla’s “*Privacy Not Included” buyer’s guide! Check it out here {link} # Do not use HTML elements bg_sharing_email_subject_evergreen2=This is the only IoT guide you need. # Do not use HTML elements bg_sharing_email_body_evergreen2=Be in the know this year: don’t buy tech that leaks your data. Read *Privacy Not Included, a buyer’s guide from Mozilla. {link} ================================================ FILE: buyers-guide-locales/en-US/why-we-made-this.properties ================================================ wwmt_main_title=Why We Made This Guide wwmt_button_text=SEE THE GUIDE wwmt_title_1=Privacy. Security. Safety. wwmt_1=When we started tackling these issues earlier this year, the realization hit: we’re fighting for better online privacy and security all wrong. We’ve been spending our time telling people to install VPNs and use TOR and be worried about the future of IoT. Then we did a survey and found most people don’t know what these things are. wwmt_title_2=Step back. Try again. wwmt_2=New hypothesis: A better way to help people be safe online is for us all to demand the makers of our connected products build security, privacy, and safety up front. Consider car safety: cars didn’t become safer because drivers were expected to install their own seat belts. Cars became safer because manufacturers installed seat belts and policies required passengers wear them. wwmt_3=Which brings us to why we made this buyer’s guide for connected products. People will be buying the latest connected toys and devices for their family and friends this holiday shopping season. What better time to ask them to stop and consider some of the pros and cons of these gifts? wwmt_evergreen3=Which brings us to why we made this buyer’s guide for connected products. People will be buying the latest connected toys and devices this year. What better time to ask them to stop and consider some of the pros and cons of these devices? wwmt_question=You’ll see in our product reviews we asked the questions: wwmt_question_1=Can it spy on me? wwmt_question_2=What does it know about me? wwmt_question_3=What could happen if something goes wrong? wwmt_4=We worked with Janice Y. Tsai, a privacy researcher here at Mozilla to answer those questions for each product. She’s a skilled scientific researcher, trained in privacy research. Basically, she’s one of the few people on the planet who can read a product’s privacy policy and actually understand what it means. wwmt_5=There was another question we wanted to ask, “Can I control it?” We looked into this question and discovered these were things we, for the most part, couldn’t answer unless we purchased the product. And even then, finding the answers to some of those questions would involve some pretty high-level technical skills (think sniffing data on a network, not something the average user can do). wwmt_6=Stop and think about that. To understand if a connected device you purchase is safe — can it spy on you, what does it know about you, can you control it — requires top privacy research skills as well as some high-level technical skills. wwmt_title_3=As the saying goes, that ain’t right. wwmt_7=It’s a big task, helping consumers understand the risks of what they buy because of the growing dangers of online privacy and security. Much bigger than Mozilla alone can tackle. While we have technical skills and expertise around privacy here at Mozilla, there are other areas we don’t have expertise. Which is why we reached out to work closely with some trusted partners. wwmt_8=Consumer Reports sets the standard for trusted consumer review and protection. We worked with them to use their open-source Digital Standard to help guide us on our product reviews. wwmt_9=Univision and Gizmodo are media outlets with trusted journalists who know how to dig deep into a story and have the ability to ask tough questions. We joined with them in a paid partnership to help their expert journalists tell stories to consumers about these issues. wwmt_10=And we reached out to influencers, people with a reach to the parents who will be doing a lot of the shopping this holiday season. Parents who might have questions about how safe connected toys are for their kids. We worked with these influencers through a paid partnership to help reach this audience and raise awareness. wwmt_evergreen10=And we reached out to influencers, people with a reach to the people who are interested in connected devices, like parents who might have questions about how safe connected toys are for their kids. We worked with these influencers through a paid partnership to help reach this audience and raise awareness. wwmt_11=Because right now, raising awareness is important. Soon, demanding change will be even more important. Stay tuned for that. wwmt_thank_you=Thank you, wwmt_signature=The Team at Mozilla wwmt_post_scriptum=PS. We live in a world troubled by fake news and misinformation. A note that while Mozilla helped define general areas for these journalists and influencers to dig into, we were careful not to exert any editorial control over their work. The opinions they express and positions they take are wholly their own — and that’s how we want it. ================================================ FILE: buyers-guide-locales/es/categories.properties ================================================ cat_title_toys=Juguetes cat_title_toys_home=Buscar juguetes cat_desc_toys=Juguetes, patitos, muñecas y más cat_title_gameconsoles=Consolas de videojuegos cat_title_gameconsoles_home=Buscar consolas de videojuegos cat_desc_gameconsoles=Consigue tu juego cat_title_homehubs=Equipos de entretenimiento centralizado cat_title_homehubs_home=Buscar equipos de entretenimiento centralizado cat_desc_homehubs=Siempre quisiste tener un mayordomo cat_title_smarthomeaccessories=Accesorios inteligentes para el hogar cat_title_smarthomeaccessories_home=Buscar accesorios inteligentes para el hogar cat_desc_smarthomeaccessories=La tecnología se encuentra en casa cat_title_gadgetsgizmos=Dispositivos cat_title_gadgetsgizmos_home=Buscar dispositivos cat_desc_gadgetsgizmos=Cosas que no sabías que necesitabas cat_title_healthexcercise=Artículos de salud y ejercicio cat_title_healthexcercise_home=Buscar artículos de salud y ejercicio cat_desc_healthexcercise=Cuidándome ================================================ FILE: buyers-guide-locales/es/category.properties ================================================ info_provided=La información que proporcionamos aquí se obtiene directamente del sitio web del producto. categories=CATEGORÍAS ================================================ FILE: buyers-guide-locales/es/home.properties ================================================ most_wonderful=El momento más maravilloso del año, pero espera sign_up_title=Mantenerse seguro en línea no es fácil. Estamos aquí para ayudar. sign_up_paragraph=Escribe tu correo electrónico y te daremos muchos consejos, información y más para ayudarte a preservar tu seguridad en línea. email_placeholder=Ingresa tu dirección de correo electrónico # In this context, “mozilla” must be kept as-is, without a capital M. {linkPrivacyNotice} will be replaced with the translation of link_privacy_notice. privacy_policy=Aceto que Mozilla maneje mi información como se explica en {linkPrivacyNotice} link_privacy_notice=este Aviso de privacidad subscribe_button=SUSCRÍBETE maybe_later=Quizás más tarde thank_you_sign_up=¡Gracias, ya casi estás registrado! double_check_sign_up=Para finalizar, revisa tu correo electrónico, busca el correo electrónico de confirmación que te acabamos de enviar y sigue las instrucciones. next_time=¡Será la próxima vez! next_time_paragraph=¿Compartirías la página en este momento? no_thanks=No, gracias # Error messages required_error=¡Vaya! Olvidaste hacer clic en este pequeño cuadro. required_error_generic=El campo es obligatorio. email_invalid=¡Vaya, qué extraño! ¿Estás seguro de que la dirección de correo electrónico es correcta? try_later=Se produjo un error. Inténtalo de nuevo más tarde. home_label=Inicio copy_link=COPIAR ENLACE link_copied=¡Se copió el enlace! # Homepage title privacy_not_included=Privacidad no incluida # Feel free to move   around to make the title look correct on small viewports privacy_not_included_formatted=privacidad no incluida hero_unit_paragraph=Guía para comprar regalos conectados con más seguridad, facilidad y diversión thats_why=LOS DÍAS FESTIVOS son la época más maravillosa del año. A menos que compres un regalo que espíe a tu hijo o que piratee a tu amigo. Las listas de deseos de este año tendrán más dispositivos conectados que nunca. ¿Cómo sabes si ese regalo viene con privacidad incluida? Hicimos la investigación para ayudarte a decidir, porque Papá Noel debería ser el único que te esté mirando en estas fiestas. info_blob=A Mozilla le interesa proteger tu privacidad y seguridad en línea. Consumer Reports establece la norma para las revisiones y la protección del consumidor. Es por eso que estamos utilizando la nueva norma digital desarrollada por Consumer Reports y sus socios para poder evaluar los productos que se encuentran en esta guía para el comprador. Obtén más información sobre la norma digital . see_the_guide=Consulta la guía swipe_or_scroll=Deslízate o desplázate para comenzar experience_again=Volver arriba best_to_you_and_yours=Los mejores deseos para ti y los tuyos share_this_page=COMPARTE LA PÁGINA donate_cta=Mozilla es una organización sin fines de lucro que lucha por el bien de Internet. Conviértete en un seguidor hoy mismo. donate_now=DONA AHORA # Used in https://s3.amazonaws.com/redpen-prod/red-pen-b180f28e-6e27-49ff-93f6-e4388c3d6d67.jpg bg_logo_tagline=GUÍA PARA EL COMPRADOR EN DÍAS FESTIVOS DE mozilla # Footer bg_footer_methodology=Metodología bg_footer_share=Comparte la página bg_footer_contact_us=Contacto bg_footer_follow=Seguir bg_footer_legal=Legal bg_footer_privacy=Política de privacidad bg_footer_donate=Donar mozilla_blerb2=Mozilla es una comunidad global sin ánimo de lucro dedicada a ponerte al mando de tu experiencia en línea y a dar forma al futuro de la web para el bien común. Visítanos en mozilla.org # Donation Ask Modal donate_modal_title=Nos encanta la web.
Únete a Mozilla para defenderla. # Please keep the element inside the Mozilla word donate_modal_intro=Con ataques a nuestra privacidad y seguridad en línea casi a diario, el futuro de Internet está en juego. M ozilla lucha por que Internet siga siendo saludable, apostando por trabajos y software que permitan que la web siga estando abierta a todo el mundo. donate_modal_ask=Al ser una organización sin ánimo de lucro, contamos con tu apoyo. Dona hoy. ================================================ FILE: buyers-guide-locales/es/products.properties ================================================ product_1_title=Purificador de aire, calefactor y ventilador Dyson Pure Hot+Cool Link product_1_blurb=Cuando el aire no es lo suficientemente bueno, puedes utilizar el purificador de aire, calefactor y ventilador de Dyson. Según el fabricante, no ofrece solo purificación del aire, sino que ofrece una “purificación inteligente del aire”. Esto significa que incluye una aplicación que te permite controlar la calidad del aire para tomar las medidas necesarias. Estamos en 2017, y la “purificación programada” es una realidad. product_1_worst_case=Podría mostrar cuándo estás en casa y lo que sucede en tu hogar en función de las lecturas de la calidad del aire (por ejemplo, si estás fumando). product_2_title=Timbre Ring Doorbell 2 product_2_blurb=Las aldabas son bellas, pero anticuadas. Los timbres son buenos, pero demasiado analógicos. Te damos la bienvenida al futuro. Llamar a este producto timbre no es del todo correcto. Es un dispositivo para la puerta con vídeo, audio bidireccional, sensor de movimiento y visión nocturna infrarroja que te permite ver a las personas que están frente a tu puerta, escucharlas y hablar con ellas desde tu teléfono o tu computadora. Pero, ¿es espeluznante? Tú decides. product_2_worst_case=Podría utilizarse para espiar cuándo entras y sales. product_3_title=Bombilla con cámara integrada Sengled Snap product_3_blurb=Alza la vista. Es una bombilla. Es una cámara de vídeo. ¿Es… las dos cosas? Sí, es una bombilla apta para exteriores con acceso a Wi-Fi, detección de movimiento, visión nocturna y una cámara de vídeo HD integrada. Se controla mediante una aplicación, y este dispositivo ve todo, lo transmite a tu teléfono en vivo y lo almacena en la nube. Todavía no se sabe cuántas personas se necesitan para colocarlo. product_3_worst_case=Podría utilizarse para espiarte cuando estás desnudo o en situaciones similares. product_4_title=Cerrojo inteligente para puertas August product_4_blurb=Pronto, esa sensación de rabia al quedarse fuera de casa sin las llaves les resultará tan ajena a los niños como hoy resultan ajenos los teléfonos de marcación por disco gracias a la “cerradura inteligente”. Instálala en un cerrojo , y podrás abrir y cerrar tu puerta con llave desde tu teléfono, podrás concederles a las personas acceso a tu casa sin necesidad de usar una llave, e incluso podrás hacer un seguimiento de quién entra y sale mientras no estás. Aparentemente, también funciona con llaves tradicionales para esos horribles momentos en los que pierdes tu teléfono. product_4_worst_case=Podría abrir la puerta inesperadamente, o podría piratearse para abrirle la puerta a un extraño. product_5_title=Enrutador Eero product_5_blurb=Antes, “red” se refería a las redecillas que usaban las personas que trabajaban en la cafetería de la secundaria. En la actualidad, la palabra “red” hace furor en el área de la tecnología Wi-Fi para abarcar todo tu hogar, desde el jardín trasero hasta el baño del sótano. Este sistema enrutador de Wi-Fi indica que utiliza tecnología TrueMesh™, lo cual puede sonar exagerado. Realmente eligieron un lema apropiado: “Happy Wi-Fi, happy life" (Wi-Fi contento, vida feliz). product_5_worst_case=Al igual que cualquier otro enrutador de Wi-Fi, podría saber todo lo que haces en Internet. product_6_title=Dispositivo para garajes Chamberlain MyQ Smart Garage Hub product_6_blurb=Las puertas de los garajes se niegan a quedarse fuera de la revolución de la Internet de las cosas. ¡Felicidades! Este accesorio te permite, estés donde estés, abrir y cerrar con tu smartphone la mayoría de puertas de garajes fabricados allá por el año 93. Por lo tanto, la próxima vez que salgas de vacaciones y te preguntes “¿Cerré la puerta del garaje?”, este dispositivo os ayudará a ti y a tu garaje. product_6_worst_case=Podría saber cuándo estás en casa y podría abrir la puerta de tu garaje para extraños si lo piratean. product_7_title=Interruptor iDevices product_7_blurb=¿Recuerdas aquel maravilloso dispositivo del siglo pasado que te permitía encender y apagar las luces con aplausos? Ya casi estamos en 2018, y este dispositivo se ha convertido en una “clavija conectada inteligente”. Conecta el enchufe a la pared y puedes controlarlo con tu voz, programar intervalos de encendido y apagado en una aplicación telefónica donde sea que estés, e incluso supervisar el uso de energía. Todo lo que le falta es el sonido pegadizo: Un aplauso que enciende y un aplauso que apaga… product_7_worst_case=Podría encender y apagar las luces cuando no lo deseas. Además, puede obtener información sobre tu hogar en función de lo que se conecte al dispositivo. product_8_title=Luz nocturna inteligente Aumi product_8_blurb=Mi pequeña luz nocturna, brillarás como ninguna… ni bien saque mi teléfono y use la aplicación para encenderla. Esa es la rima que podrás hacer con esta luz nocturna con Bluetooth que se activa por movimiento. Incluso te permite elegir entre 16 millones de opciones de color diferentes para encontrar el color adecuado para mantener a raya a esos temibles monstruos nocturnos. product_8_worst_case=Podría saber cuándo acuestas a tus hijos y cuán a menudo se levantan por la noche. product_9_title=Maceta Parrot Pot product_9_blurb=Te presentamos la maceta inteligente. Sí, una maceta inteligente. Porque incluso las personas que aman la jardinería necesitan irse de vacaciones. Incluye un sistema de autoriego y sensores integrados que, según la empresa, controlan cosas como el fertilizante, la humedad, la luz y los niveles de temperatura. Los robots realmente nos van a reemplazar a todos. product_9_worst_case=Podría saber cuándo estarás fuera de la ciudad. product_10_title=Llavero Tile Mate product_10_blurb=Este pequeño dispositivo se adhiere como un llavero y hace un seguimiento de todo: mascotas, billeteras, llaves, bolsos, bolsos de otras personas, etc. La aplicación te permite rastrear tus cosas y te indican donde están si pierdes algo. Es lo suficientemente pequeño como para caber en el estuche en el que la abuela guarda sus lentes de lectura para que nunca más los pierda. Solo que… ¿dónde puso su teléfono? product_10_worst_case=Podría seguirte a donde quiera que vayas. product_11_title=Amazon Echo/Show product_11_blurb="Una imagen vale más que mil palabras", dice el refrán. Amazon se lo tomó en serio. Coge a Alexa, una asistente virtual muy útil y agrégale vídeo.: ahora este equipo centralizado puede mostrarte cosas mientras habla contigo. Show muestra la letra de la canción que estás escuchando, el pronóstico del tiempo, tus cámaras de seguridad y el monitor para bebés. También puede escucharte en cualquier momento, desde cualquier dirección. Y ahí es donde las cosas empiezan a ponerse raras. product_11_worst_case=Podría utilizarse para espiarte cuando estás desnudo o en situaciones similares. product_12_title=Altavoz B&O PLAY Beoplay M5 product_12_blurb=¿Eres un aficionado a la música? ¿Quieres un altavoz inalámbrico de alta gama? ¿Tienes 600 $ para gastar en un altavoz? Si es así, esto es para ti. Parece mucho dinero para un altavoz que transmite Spotify. Pero incluye un disco de aluminio “con baño de perlas” que, según el fabricante, es “hermoso de contemplar” y “fascinante al tacto”. Por 600 $, más le vale conceder un deseo cuando se frote la parte superior de aluminio bañada con perlas. product_12_worst_case=Podría permitir que las personas sepan quién está en casa por la música que se está reproduciendo. product_13_title=Nanoleaf Aurora product_13_blurb=¡Eres una estrella de rock! ¿Por qué no iluminas tu habitación como una? Ahora puedes hacerlo con este “producto de iluminación inteligente”. Cuelga estos paneles de luz triangulares conectados por Wi-Fi en cualquier diseño que imagines. Luego, descarga la aplicación y personaliza el movimiento, el color y el horario de la luz. Si quieres agregar un poco más de "bowchickawowow" a tu habitación, obtén el módulo que permite que las luces parpadeen al ritmo de la música. Después de todo, eres una estrella de rock. product_13_worst_case=Podría saber cuándo estás durmiendo y cuándo estás despierto… y cuándo harás una gran fiesta con todos tus amigos. product_14_title=Kit de monitoreo para el hogar Samsung SmartThings product_14_blurb=Se presenta como “todo lo que necesitas para controlar tu hogar desde cualquier lugar con tu smartphone”. Existe una historia al respecto: Una vez, una persona intentó poner cámaras en su casa. Al final, terminaron perdiendo el tiempo, mirando a la cámara en su teléfono mientras estaban parados frente a la cámara de seguridad. Sin embargo, una noche, se despertaron y abrieron la aplicación y, por una fracción de segundo, se preguntaron cuán asustados estarían si vieran a un hombre con un traje de payaso en la cámara nocturna infrarroja. Abre lentamente la puerta de su casa, camina frente a la cámara y, en el ojo de pez, se ve que desaparece rápidamente en el pasillo. Están en su cama y oyen pasos en las escaleras, que, dos segundos más tarde, escuchan en su teléfono con mayor volumen. Su corazón comienza a latir con fuerza y… resulta que las cámaras de seguridad en el hogar no son para todos. product_14_worst_case=Podría conocer tu rutina diaria, y esa información podría utilizarse en tu contra. product_15_title=Velador inteligente Target Threshold product_15_blurb=¿Podrían los interruptores de luz estar a punto de seguir el camino de los dinosaurios? Parece que esa es la tendencia con las luces inteligentes en estos días. Activa o desactiva esta colección de luces de Target con un toque en la aplicación Target Connected. La aplicación también te permite configurar un temporizador y ajustar la calidez de la luz, pero solo está disponible en los dispositivos de Apple con iOS. Lamentablemente, los usuarios de Android deberán seguir utilizando el interruptor de la luz. product_15_worst_case=Podría saber cuándo estás durmiendo y cuándo estás despierto. product_16_title=Altavoz Sonos Play:1 product_16_blurb=Descrito como pequeño y poderoso, este altavoz funciona con Wi-Fi (no Bluetooth), lo que significa que una llamada telefónica no detendrá las sesiones de música, si eso es lo que te preocupa. También se presenta como “resistente a la humedad”, lo cual, según los fabricantes, permite que se pueda utilizar en el baño. Se controla con una aplicación, y te permite reproducir diferentes canciones en distintas habitaciones (si tienes más de un altavoz), de modo que puedas escuchar algo fuerte en el baño y algo tranquilo en el dormitorio. product_16_worst_case=Podría compartir información con otras personas acerca de que estás deprimido por tu triste lista de reproducción. product_17_title=Kit básico de luces ambientales blancas y de color Philips Hue product_17_blurb=Luces que bailan con tu música, saltan con tus películas o palpitan con tus videojuegos: quizás no se trate de tecnología que salvará al mundo. Sin embargo, las luces que pueden iluminarse gradualmente por la mañana para ayudarte a levantarte o brillar suavemente para leer parecen ser una mejor manera de iluminar tu vida. Combina la capacidad de configurar temporizadores y el control con la voz cuando se conectan con un equipo centralizado, y las cosas se pueden ver un poco más brillantes. product_17_worst_case=Podría deducir que hay actividad en tu hogar. product_18_title=Termostato Nest product_18_blurb=¡Aprender es divertido! ¿Tener un termostato que aprenda cuán cálido y fresco te gusta que esté tu hogar también podría ser divertido? Según los fabricantes, utiliza este termostato durante una semana y se adaptará a ti. La aplicación te permite controlar la temperatura de tu hogar desde cualquier lugar y envía alertas cuando las cosas no se ven del todo bien. Lo mejor de todo es que el aprendizaje puede permitirte ahorrar energía y dinero. La gran pregunta es, ¿puede decidir de qué lado estar cuando a ti te gusta el calor y a tu pareja le gusta el frío? product_18_worst_case=Podría determinar cuándo entras y sales de tu hogar, y podría desactivar el termostato cuando hace mucho frío y no estás en casa. product_19_title=Detector Nest Protect product_19_blurb=¿Existe algo peor que el chirrido casual de un detector de humo? Es imposible determinar qué alarma está sonando. No sabes si hay humo o si se trata de una alerta de batería baja. Es muy frustrante. ¿Existe una mejor opción? Este detector de humo y monóxido de carbono te indica qué detecta y en qué habitación. Se autocontrola para que no tengas que acordarte de hacerlo y se ilumina a mitad de la noche si caminas debajo de él. Lo mejor de todo es que puedes silenciarlo directamente desde tu teléfono. No necesitas arrastrar la escalera por la casa a las 2 a. m. product_19_worst_case=Podría ignorar un incendio. product_20_title=Cámara de seguridad para exteriores Nest Cam product_20_blurb=Las cámaras rusas para automóviles cambiaron el mundo viral de los videos. Quizás la cámara de tu puerta de entrada también pueda hacerlo. Esta cámara de video HD apta para exteriores que está siempre encendida graba todo, para bien o para mal. También incluye una cámara y un micrófono incorporados para que puedas hablar con el chico del reparto o los niños del vecindario que venden barras de chocolate para la escuela. Visualiza, comparte y obtén alertas desde una aplicación en tu teléfono: esto transforma completamente la idea de “vigilancia vecinal". product_20_worst_case=Podría utilizarse para espiarte cuando estás desnudo o en situaciones similares. product_21_title=Cámara de seguridad para interiores Nest Cam product_21_blurb=En la actualidad, hay cámaras por todos lados. Si quieres subirte al tren y colocar cámaras de seguridad en tu casa, te ofrecemos una que te alerta cuando detecta movimiento o ruidos fuertes, puede diferenciar a una persona de un objeto, y te permite hablarles. Esto es útil para espantar a los malos o divertido para matar del susto a tu amigo mientras busca a tu gato. product_21_worst_case=Podría utilizarse para espiarte cuando estás desnudo o en situaciones similares. product_22_title=Lienzo Meural product_22_blurb=¿Alguna vez compraste una pintura, la colgaste y luego te aburriste de ella? Claro, yo tampoco. Sin embargo, a algunas personas sí les sucede. Y para esas personas, existe este lienzo de arte digital. Es un elegante marco de arte con conexión a Wi-Fi y una pantalla HD incorporada donde puedes cambiar la imagen con solo deslizar tu mano. Carga tus propias obras de arte o descarga algunas de los miles de artistas que conforman el 60 % de lo que gana Meural por su arte. Genial. product_22_worst_case=Podría utilizar los sensores de luz ambiental para controlar cuándo entran y salen de tu casa. product_23_title=Robot aspirador Roomba 980 product_23_blurb=Admitámoslo, pasar la aspiradora es horrible. Luego, llegó el robot aspirador para que pudieras relajarte y observar cómo hacía todo el trabajo, incluso sacar a pasear a tu gato. Ahora, este robot aspirador con Wi-Fi te permite presionar un botón y aspirar tu casa desde el otro lado del mundo. O bien, puedes programar el robot para que aspire tu casa mientras estás trabajando. ¿Sabes cuál es el único inconveniente? Quién estará allí para capturar el próximo video viral de un gato conduciendo un robot aspirador. product_23_worst_case=El robot aspirador Roomba crea mapas de tu casa que pueden utilizarse con fines publicitarios en el futuro. O bien, alguien podría tener acceso a esos mapas con fines más viles. product_24_title=Hiku product_24_blurb=En todas las casas, pocas cosas son más importantes que la humilde lista de la compra. Ahora, existe un “botón de compra inteligente” para un momento en el que el papel y el bolígrafo parecen tan obsoletos. Indícale lo que más deseas del supermercado y los artículos se mostrarán automáticamente en una aplicación de listas de compras compartidas en tu teléfono. También escanea códigos de barras y se conecta con supermercados en línea. La función más útil podría ser la capacidad de organizar tu lista para que coincida con la forma en que caminas por los pasillos del supermercado. ¡Eso sí que es un avance! product_24_worst_case=Podría utilizar tu lista de compras para obtener información acerca de tu alimentación y demás hábitos privados. product_25_title=Google Home product_25_blurb=“La ayuda está aquí”, indican en el sitio web, y tú piensas, “¡Necesito ayuda!”. Este equipo centralizado es el cerebro y la mano derecha que facilita tu vida conectada. Haz que encienda las luces, apague la música y ponga las noticias. Haz que lea tu agenda diaria mientras llamas a tu mamá. Haz que traduzca, responda y explique. Haz que se convierta en tu cerebro. Está bien, Google. product_25_worst_case=Podría escucharte y saber todo lo que sucede en tu casa. product_26_title=Flic product_26_blurb=¿Alguna vez quisiste tener un botón a mano en tu escritorio que pudieras presionar para que, por ejemplo, un mayordomo te trajera una gaseosa dietética? Este producto es algo así. Es un pequeño botón de silicona (aproximadamente del tamaño de una tortita de menta) que se conecta con todo tipo de aplicaciones en tu teléfono. Configúralo y luego presiona el botón para llamar a Uber, pedir una pizza, reproducir música, e incluso informar a tu familia que te caíste y no puedes levantarte. product_26_worst_case=Puedes conectar el botón Flic con todo lo que quieras: las luces, tu calendario, el 911. Otra persona podría tener acceso a toda esa información. product_27_title=Automatic Pro product_27_blurb=¿Conduces un automóvil antiguo? ¿Adoras no tener que pagar la cuota del automóvil, pero detestas no tener las funciones modernas de un “automóvil inteligente”? Tenemos una opción para ti. Este pequeño adaptador se enchufa en el puerto de diagnóstico estándar de tu automóvil y ¡listo!, tu automóvil está conectado. Tu automóvil obtiene seguimiento de la ubicación en tiempo real, servicio de emergencia en caso de choque y la capacidad de conectarse con una amplia serie de aplicaciones de terceros. Aparentemente, es el regalo perfecto para los padres de conductores adolescentes. product_27_worst_case=Podría saber dónde trabajas, dónde vives y las rutas que tomas habitualmente todos los días. Podría utilizarse para rastrearte mientras conduces. product_28_title=Equipos centralizados Wink product_28_blurb=Los Supersónicos fue tu caricatura favorita. Quisiste tener una casa inteligente durante años. Ahora, cuentas con luces, termostatos, cerrojos y cámaras de seguridad que puedes conectar a tu teléfono. La vida es buena hasta que te das cuenta de que necesitas 8 aplicaciones para manejar tu hogar. ¡Vaya desastre! Aquí es donde entra este equipo centralizado. Te permite reunir todos los dispositivos inteligentes que conectaste en una sola aplicación. Entonces… ¿cuándo podremos comprar a Robotina, la sirvienta robótica? product_28_worst_case=Podría permitir que otras personas conozcan las actividades de tu hogar. product_29_title=Termostato Ecobee4 product_29_blurb=¿Buscas un regalo para esa persona con la que es tan difícil acertar? ¿Qué te parece este termostato inteligente que también puede leer las noticias mientras realizas tu pedido al supermercado? En serio. Este termostato realiza actividades inteligentes, como ajustar la temperatura desde tu teléfono, utilizar los sensores de la habitación para regular los puntos de calor y de frío, y ahorrar energía gracias a algoritmos inteligentes. También incluye a Amazon Alexa para reproducir música, realizar preguntas y más. product_29_worst_case=Podría permitir que otras personas conozcan las actividades en tu hogar y cuándo las personas están en casa. Puede escuchar lo que sucede en tu casa. product_30_title=Ozobot Evo product_30_blurb=Este pequeño bot espera poder enseñarte algunas cosas. Puedes controlar este robot de dos pulgadas de alto con una aplicación en tu teléfono o tableta. Deja que juegue por sí solo o prográmalo para controlar sus luces, sus sonidos y la distancia que mantendrá de los demás objetos. ¡Oye! Aprender a codificar es increíble. También lo es jugar a batallas de bots con tu amigo. product_30_worst_case=Podría exponer a tu hijo a mensajes enviados por personas al azar a través de los tableros de mensajes de la comunidad. product_30_child_rules=Sí. Los mensajes que los usuarios menores de 13 años seleccionan de una lista predeterminada de mensajes para enviárselos a otros usuarios. Por ejemplo, un niño puede seleccionar el mensaje “¡Hola!” para enviárselo a otro usuario. Los usuarios menores de 13 años no pueden escribir un mensaje para enviárselo a otros usuarios. product_31_title=Beasts of Balance product_31_blurb=En este juego con conexión a una aplicación, es como si el Jenga se hubiera encontrado con Bandu en una excursión al zoológico. Contiene animales y figuras de plástico que debes apilar en una torre sin que nada se caiga. Todo esto se lleva a cabo mientras el juego está conectado a través de una aplicación con tu teléfono, tableta o televisor donde se cuenta una historia y obtienes desafíos a lo largo del camino. Si quieres agregar un poco de fantasía a tu juego, esto parece hacerle honor al desafío. product_31_worst_case=Podría saber cuán obsesionado estás con la creación de nuevos animales, tú que eres un científico loco. product_31_child_rules=Sí. Bloqueo para niños. product_32_title=Muñeco sonoro Talkie de Toymail product_32_blurb=Los radiotransmisores portátiles solían ser lo mejor del mundo. Podías correr afuera con tus amigos y hablar con ellos al otro lado de la calle. Esta es una era digital. Incluso los radiotransmisores portátiles se han actualizado y ahora incluyen también Wi-Fi y muchas más aplicaciones. Estos adorables y pequeños animales (dinosaurios, unicornios, conejitos, murciélagos, etc.) ocultan un compartimiento con Wi-Fi que los padres pueden configurar para que sus hijos hablen con amigos aprobados y familiares a través de una aplicación. Los niños también pueden hablar de un juguete a otro, como con los antiguos radiotransmisores portátiles… o parecido. Corto y cambio. product_32_worst_case=Podría permitir que los piratas informáticos comiencen a hablar con tus hijos o les dejen mensajes. product_33_title=Sphero SPRK+ product_33_blurb=¿Sabes qué es genial? Aprender a programar y construir cosas alucinantes. ¿Sabes qué te permite hacer este pequeño robot esférico? ¡Aprender a codificar y construir cosas excelentes! Sé creativo y convierte a tu robot en corredor de laberintos, nadador o todo lo que puedas imaginar. Funciona con la aplicación SPRK Lightning Lab y, sinceramente, parece ser muy divertido. product_33_worst_case=Tu pequeño robot podría programarse para colisionar de alguna forma. product_34_title=Osmo product_34_blurb=Los juegos de pantalla son demasiado bidimensionales. Especialmente para los niños pequeños que necesitan desarrollar sus habilidades motrices. Este sistema de videojuegos está diseñado para jugar y participar activamente con tu iPad. Incluye objetos de la vida real, como bloques, triángulos, pizzas, automóviles de juguete, números y cuadernos de dibujo que se combinan con el iPad para lograr un juego de pantalla “práctico”. O bien, como ya sabes, puedes jugar con esos objetos como lo hacían antes. product_34_worst_case=Alguien podría activar la cámara del iPad o el iPhone y observarte sin que lo sepas. product_35_title=Alfamonstruo (Smart Letters) product_35_blurb=A los niños les encantan las pantallas. Los padres odian sentirse culpables por permitir que sus hijos pasen demasiado tiempo frente a la pantalla. Llegamos a un acuerdo. Letras “inteligentes” de madera con las cuales los niños pueden jugar en la vida real que interactúan con 3 aplicaciones distintas en el mundo virtual. 26 letras de madera, 8 idiomas y mucho menos por lo que sentirse culpable. product_35_worst_case=¡Nada! product_36_title=Edwin, el pato product_36_blurb=Sí, es un patito de plástico que se conecta. Sí, es adorable. Sí, puedes utilizar una aplicación para descargar canciones de cuna y melodías para dormir para tu bebé. También incluye una luz nocturna, es resistente al agua y contiene un temporizador de apagado automático. Apto para niños de 0 a 101 días. product_36_worst_case=Podría saber con qué frecuencia bañas a tus hijos y cuándo los acuestas. product_37_title=Dash, el robot product_37_blurb=Conoce a Dash. Un pequeño y adorable robot para niños con un gran ojo como función principal. Dash se conecta con diversas aplicaciones por Bluetooth para que los niños puedan jugar, cantar, bailar y aprender a programar con su nuevo amigo robot. Ahora, solo debes acostumbrarte a tener un gran ojo deambulando por tu casa. product_37_worst_case=Podría grabar lo que sucede en tu casa. product_38_title=BB-8 de Sphero product_38_blurb=“Este es el robot que buscas”, se lee en el sitio web. Imposible discutirlo. ¿Quién no quiere un pequeño robot BB-8 que se puede controlar con el teléfono por Bluetooth? También puedes enviar al pequeñín para que patrulle por su propia cuenta. Además, incluye algo llamado “simulación holográfica”, que parece ser muy importante para ayudar a la Resistencia. Esperamos que no haya un Lado oscuro. product_38_worst_case=Tu pequeño robot podría grabar lo que sucede en tu casa. product_39_title=AirJamz Air Guitar product_39_blurb=Admítelo. No hay nada mejor que tocar un solo de guitarra invisible. En tu imaginación, eres igual de genial que Jimi Hendrix y tienes el mismo talento. Si te gusta tocar la guitarra invisible (y, seamos honestos, ¿a quién no?), este producto te cambiará la vida. Es una pequeña púa que se conecta con tu teléfono por Bluetooth y te permite tocar tus canciones favoritas de iTunes. Lo llaman una “experiencia similar al karaoke”. Al parecer, es mejor que eso. Lástima que solo funcione en dispositivos con iOS. product_39_worst_case=Nada. ¡Diviértete tocando la guitarra! product_40_title=Hello Barbie product_40_blurb=Hace dos años, Hello Barbie se convirtió en el símbolo de los peligros de los juguetes conectados para niños. Escuchaba y grababa a los niños con un micrófono, enviaba los datos a los servidores de la empresa, las grabaciones se compartían con terceros, y la conexión Wi-Fi y la aplicación que utilizaba Hello Barbie podían piratearse con facilidad, lo cual podía permitir que personas extrañas oyeran a los niños. Hello Barbie sigue en circulación con algunas actualizaciones en las políticas de privacidad y almacenamiento de datos. Tú decides si eso es suficiente para sentir seguridad al darles este juguete a tus hijos. product_40_worst_case=Podría grabar y decir cosas extrañas y desubicadas frente a los niños. product_41_title=Microsoft Xbox One product_41_blurb=Xbox te introduce al mundo de Halo, Forza, Gears of War y mucho más. Ofrecemos la Xbox One S estándar, y la nueva y mejorada One X para esta temporada de fiestas. Dispara, salta, juega, observa, escucha… solo recuerda desconectarla cada tanto. ¡Sí, Sargento! product_41_worst_case=Podría utilizarse para sacar conjeturas sobre ti en función de los juegos, programas de televisión y demás aplicaciones que usas, y cuándo lo haces. Podría permitir que otras personas sepan cuándo estás en casa jugando con tu Xbox. product_42_title=Sony Playstation 4 product_42_blurb=Suponemos que a Papá Noel le piden más consolas de videojuegos que cualquier otro regalo. La PS4 (ya sea la versión Slim o la mejorada Pro) te introduce al mundo de Uncharted, Horizon Zero Dawn, The Last of Us, Bloodborne y mucho más. Juega en línea con tus amigos o solo en tu sofá. Úsala como reproductor de Blu-ray, para ver Netflix o como tu centro de Spotify. Es muchísimo más divertido. Solo asegúrate de leer sobre eso que llaman "autenticación de dos factores". product_42_worst_case=Podría utilizarse para sacar conjeturas sobre ti en función de los juegos, programas de televisión y demás aplicaciones que usas, y cuándo lo haces. Podría permitir que otras personas sepan cuándo estás en casa jugando con tu PS4. product_43_title=Nintendo Switch product_43_blurb=Super Mario. The Legend of Zelda. ¿Es necesario decir más? Dos de los mejores videojuegos superestrellas de todos los tiempos conviven aquí en Nintendo Switch, una pequeña y práctica consola que te permite jugar en casa con tu televisor o guardarla en tu bolso para jugar donde sea que vayas. Nuestro amigo Nintendo también hace mucho hincapié en los filtros para menores fáciles de usar. Querido Papá Noel: ¡Nos hemos portado muy bien este año! product_43_worst_case=Podría utilizarse para sacar conjeturas sobre ti en función de los juegos, programas de televisión y demás aplicaciones que usas, y cuándo lo haces. product_44_title=Quell product_44_blurb=Es horrible sentir dolor. La adicción a los opioides es horrible. Usar algo en tu pierna que aplique descargas en los nervios sensitivos para que tu cerebro bloquee la sensación de dolor en todo tu cuerpo… parece ser una opción bastante buena para combatir los dolores crónicos. Es algo así como activar un “sonido de fondo” tranquilizador para el centro de dolor de tu cerebro. Tú controlas la frecuencia y la intensidad de las descargas con una aplicación en tu teléfono. product_44_worst_case=Podría saber cuándo estás haciendo un tratamiento para el dolor. También podría comenzar a aplicar descargas de forma inesperada. product_45_title=Luz nocturna Hatch Baby Rest product_45_blurb=Las luces nocturnas solían utilizarse para protegernos de los temibles monstruos de debajo de la cama. Te presentamos la “luz nocturna inteligente” que, según dicen, puede ayudarte a mantener a tu pequeño fuera de tu cama. Esta luz nocturna con Bluetooth se conecta a una aplicación que te permite programar el encendido y el apagado, el color de la luz que emite, e incluso reproduce suaves sonidos que ayudan al pequeño a dormirse. Esperemos que también nos siga protegiendo contra los monstruos de debajo de la cama. product_45_worst_case=Podría saber cuándo y con qué frecuencia acuestas a tu pequeño, y juzgarte en silencio. product_46_title=Reloj Fitbit Surge product_46_blurb=Si quieres batir tu mejor récord personal y ganarle a la vida, ya has perdido demasiado tiempo leyendo esta oración. Tu índice metabólico ha bajado un 2 % más que el de un guepardo que corre a toda velocidad. Es broma. Este reloj con GPS y control de la frecuencia cardíaca, las escaleras subidas y las calorías quemadas se conecta de modo inalámbrico con tu teléfono y tu computadora para indicarte si estás, de hecho, ganándole a la vida. product_46_worst_case=Podría permitir que otras personas sepan dónde estás y cuán horrible eres para hacer ejercicio. product_47_title=MocaCuff product_47_blurb=Este pequeño brazalete no solo indica la presión arterial, sino que se sincroniza con una aplicación que te permite hacer un seguimiento de los datos de tu presión arterial y compartirlos. Y, debido a que compartir es cuidar, el dispositivo dice usar una “plataforma de mensajes que cumple con la ley HIPAA” para que puedas compartir los datos de tu presión arterial con tu médico o tus familiares. Tienes un gran corazón; cuídalo. product_47_worst_case=Podría permitir que otras personas adquieran información sobre tu salud y tu perfil en función de cuán sano o poco sano estás. product_48_title=Spire product_48_blurb=Respira profundo. ¿Te sientes mejor? La concentración hace furor en la actualidad como una forma de ayuda para combatir toda la ira y la ansiedad que sentimos. Sujeta este pequeño dispositivo en tu ropa y supervisará tu respiración. Sabe cuándo estás tranquilo, cuándo estás tenso y cuándo estás concentrado. Si tu respiración se altera, enviará una notificación a tu teléfono. Notificaciones para indicar tu ansiedad… mmm. product_48_worst_case=Podría saber cuán estresado estás y usarlo en tu contra. product_49_title=Cepillo de dientes Oral-B Genius Pro 8000 product_49_blurb=¿El Bluetooth es el futuro de la protección de los dientes blancos? Eso es lo que se espera con este cepillo de dientes conectado a una aplicación que te “entrena” para lavarte los dientes. Te brinda comentarios en tiempo real acerca de si estás cepillando todas las zonas correctas con la presión adecuada. Todavía no se sabe cuántos dentistas, en un grupo de cinco, estarán de acuerdo en que este cepillo de dientes inteligente es una compra inteligente. product_49_worst_case=Podría saber que los niños se cepillan muy mal los dientes cuando están en la casa de otro de los padres. product_50_title=Termómetro inteligente para el oído Kinsa product_50_blurb=¡Enfermarse es lo peor! Te sientes muy mal, apenas eres coherente y, a menos que mamá esté cerca para cuidarte, debes arreglártelas solo. Si eres una mamá (o un papá) que cuida de alguien enfermo, tampoco es divertido. Este termómetro “inteligente” está aquí para ayudarte. Te indicará la temperatura en un segundo. A través de Bluetooth, se conecta con una aplicación que puede jugar a la mamá por ti: te indica formas de aliviar los síntomas, cuándo saber si debes llamar al médico y cuándo tomar los medicamentos. ¡Si solo también pudiera preparar caldo de pollo! product_50_worst_case=Podría saber cuándo tú y tus hijos están enfermos. product_51_title=Balón de fútbol inteligente Adidas miCoach product_51_blurb=Cuenta la historia que un balón de fútbol era solo un balón de fútbol. El tiempo pasó. Conoce al balón de fútbol inteligente. Cariñosamente llamado miCoach. Este balón que se conecta por Bluetooth funciona con una aplicación en tu teléfono para indicarte “la potencia, el efecto, el golpe y la trayectoria” de tus puntapiés. Todo eso para ayudarte a alcanzar tu META de ser un mejor jugador de fútbol. product_51_worst_case=Podría saber qué tan enojado estás en función de cuán fuerte pateas el balón. También podría contarle al mundo que eres muy mal jugador de fútbol. product_52_title=PetCube Play product_52_blurb=Si alguien pregunta “¿Qué es lo peor del mundo?” y tú respondes “Estar lejos de mis mascotas”, este dispositivo es para ti. Cuelga la cámara bidireccional, interactiva, gran angular con visión nocturna y detección de movimiento en tu casa a la altura de los ojos de tu mascota, y podrás ver a tu mejor amigo y hablarle cuando no estés en casa. Incluso tiene un puntero láser incorporado. Si quieres actualizarla, hay una versión que le lanza premios a tu amigo peludo cuando se lo indicas a través de la aplicación. ¡Guau y miau! product_52_worst_case=Podría utilizarse para espiarte cuando estás desnudo o en situaciones similares. También podría espiar a tu mascota, y nadie quiere eso. product_53_title=Balanza para cocina Drop product_53_blurb=No todas las balanzas son malas (Miras la balanza del baño. ¡Mentirosa!). Esta balanza para cocina práctica, genial y sonora se conecta a una aplicación de recetas práctica, genial y sonora por Wi-Fi para ayudarte a preparar riquísimas comidas. Si quieres duplicar la receta de las galletas con chispas de chocolate, pero olvidaste todo lo que aprendiste sobre fracciones en la secundaria, este producto es para ti. Lástima que solo funciona en dispositivos con iOS (lo sentimos, usuarios de Android). product_53_worst_case=Podría saber qué comes y en qué cantidades. product_54_title=Weber iGrill 2 product_54_blurb=¿Eres un asador olvidadizo? ¿Tiras un poco de carne a la parrilla, regresas al juego y te olvidas hasta que se quema? ¡Este dispositivo es para ti! Un termómetro para parrilla de cuatro sondas (¡4 sondas!) conectado a una aplicación que se jacta de controlar los alimentos en la parrilla de “principio a fin”, y que notificará cuando tengan la “temperatura perfecta”. ¡iPhone iGrilling por la victoria! product_54_worst_case=Podría saber cuándo estás asando a la parrilla y dando una fiesta. ================================================ FILE: buyers-guide-locales/es/review.properties ================================================ review_yes=sí review_no=no review_n_a=N/A review_none=ninguna review_unknown=desconocida review_marketing=mercadeo review_advertising=publicidad review_online_tracking=seguimiento en línea product_info=Este producto se conecta a Internet. El producto o su aplicación podría enviar datos de forma continua que la empresa conservará de manera indefinida. safety_review=Reseña de seguridad review_can_it_spy=¿Puede espiarme? review_app_and_device=*Incluye el dispositivo y su aplicación review_spy_camera=Cámara review_spy_microphone=Micrófono review_spy_location=Rastrea la ubicación review_know_about_me=¿Qué sabe acerca de mí? review_account_required=¿La aplicación requiere que cree una cuenta? review_privacy_controls=¿Incluye controles de privacidad? review_delete_data=¿Puedo comunicarme con la empresa para eliminar mis datos? review_share_data=¿La empresa comparte los datos con terceros por motivos imprevistos? review_never_sharing=nunca review_sharing_advertising=perfiles en línea para publicidad review_sharing_for_profit=venta con fines de lucro review_child_privacy=¿La empresa indica que cumple con normas de privacidad relacionadas con los menores? review_privacy_policy=Política de privacidad: review_view_privacy_policy=Consulta la política de privacidad aquí. review_what_could_happen=¿Qué podría suceder si se produce un error? review_partners_link=Obtén más información de nuestros socios en Gizmodo y Univision review_got_feedback_title=¿Tienes alguna consulta? ¿Quieres dejar tu propia reseña? review_got_feedback_tagline=Puedes hacerlo aquí. review_related_products=Productos relacionados ================================================ FILE: buyers-guide-locales/es/share.properties ================================================ bg_sharing_facebook_title_1=Privacidad no incluida: Guía para el comprador en temporada de fiestas de Mozilla bg_sharing_facebook_body_1=En esta temporada de fiestas, obtén información sobre qué dispositivos incluyen privacidad gracias a la guía para el comprador de regalos conectados de Mozilla. bg_sharing_facebook_title_evergreen1=Privacidad no incluida: una guía de compras de Mozilla para el Internet de las cosas bg_sharing_facebook_body_evergreen1=Este año, podrás saber qué tecnologías vienen con privacidad incluida con la guía de Mozilla para compradores de dispositivos conectados. bg_sharing_facebook_title_2=Consulta la Guía para el comprador en temporada de fiestas de Mozilla # Feel free to keep, remove or replace the emoji. bg_sharing_facebook_body_2=¡En esta temporada de fiestas, no compres un regalo que espíe 👀 ni permita que pirateen a tu amigo! Utiliza la guía sobre privacidad no incluida para el comprador de Mozilla. bg_sharing_facebook_title_evergreen2=Comprueba *Privacidad no incluida, la guía de Mozilla para compradores de IdC. # Feel free to keep, remove or replace the emoji. bg_sharing_facebook_body_evergreen2=¡No compres tecnología que espía 👀 o hackea a tus amigos! Lee *Privacidad no incluida, una guía de Mozilla para compradores. # This string will be used as a tweet, keep the translation under 270 characters (including the variable). bg_sharing_twitter_1=En estas fiestas, no compres algo que espíe 👀. "Privacidad no incluida": guía para el comprador, @Mozilla #PrivacyNI {twitterLink} # This string will be used as a tweet, keep the translation under 270 characters (including the variable). bg_sharing_twitter_2=No compres algo que piratee a tu amigo 😩. Utiliza la guía sobre Privacidad no incluida de @Mozilla #PrivacyNI {twitterLink} # This string will be used as a tweet, keep the translation under 270 characters (including the variable). bg_sharing_twitter_evergreen1=No compres objetos que te espían 👀. *Privacidad no incluida, una guía para compras de @Mozilla #PrivacidadNoIncluida {twitterLink} # This string will be used as a tweet, keep the translation under 270 characters (including the variable). bg_sharing_twitter_evergreen2=No compres objetos del Internet de las Cosas que te espían 😩. *Privacidad no incluida, una guía para compras de @Mozilla #PrivacidadNoIncluida {twitterLink} # Do not use HTML elements bg_sharing_email_subject_1=Consulta "Privacidad no incluida", una guía para el comprador en temporada de fiestas de Mozilla # Do not use HTML elements bg_sharing_email_body_1=¡En estas fiestas, no compres un regalo que espíe! ¡Pude averiguar qué dispositivos incluyen privacidad gracias a la guía sobre privacidad no incluida para el comprador de Mozilla! Consúltala aquí {link} # Do not use HTML elements bg_sharing_email_subject_2=Esta es la única guía de regalos que necesitas. # Do not use HTML elements bg_sharing_email_body_2=Mantente informado en estas fiestas: no compres un regalo que piratee a tu amigo. Utiliza la guía de regalos con Privacidad no incluida de Mozilla {link} # Do not use HTML elements bg_sharing_email_subject_evergreen1=Comprueba “*Privacidad no incluida”, la guía de Mozilla para compradores de IdC # Do not use HTML elements bg_sharing_email_body_evergreen1=Este año, ¡no compres un regalo que te espía! Acabo de descubrir los dispositivos que vienen con privacidad incluida, ¡gracias a la guía para compras de Mozilla, *Privacidad no incluida! Descúbrela aquí {link} # Do not use HTML elements bg_sharing_email_subject_evergreen2=Esta es la única guía de IdC que necesitas. # Do not use HTML elements bg_sharing_email_body_evergreen2=Compra con cabeza este año: no compres tecnologías que venden tus datos. Lee *Privacidad no incluida, la guía para compras de Mozilla. {link} ================================================ FILE: buyers-guide-locales/es/why-we-made-this.properties ================================================ wwmt_main_title=Por qué creamos esta guía wwmt_button_text=CONSULTA LA GUÍA wwmt_title_1=Privacidad. Protección. Seguridad wwmt_1=Cuando comenzamos a abordar estas cuestiones a principio de año, nos dimos cuenta de lo siguiente: estamos luchando por una mejor privacidad y seguridad en línea de forma incorrecta. Hemos estado dedicando nuestro tiempo a indicarles a las personas que instalen VPN y usen TOR, y que se preocupen por el futuro de la IoT. Luego, hicimos una encuesta y descubrimos que la mayoría de las personas no saben qué es eso. wwmt_title_2=Un paso hacia atrás y a intentarlo nuevamente wwmt_2=Nueva hipótesis: Una mejor forma de ayudar a las personas a preservar su seguridad en línea es que todos les exijamos a los fabricantes de productos conectados que creen protección, privacidad y seguridad por adelantado. Tengamos en cuenta la seguridad de los automóviles: los automóviles no fueron más seguros debido a que se esperaba que los conductores instalaran sus propios cinturones de seguridad. Los automóviles fueron más seguros porque los fabricantes instalaron los cinturones de seguridad, y las políticas exigían que los pasajeros debían usarlos. wwmt_3=Esto nos lleva al motivo por el cual creamos esta guía de productos conectados para el comprador. En esta temporada de compras para las fiestas, las personas comprarán los juguetes y dispositivos conectados más recientes para sus familiares y amigos. ¿Qué mejor momento que este para pedirles que se detengan y piensen en las ventajas y desventajas de estos regalos? wwmt_evergreen3=Lo que nos lleva a por qué hemos creado esta guía para productos conectados. Este año, la gente comprará lo último en juguetes y dispositivos conectados: ¿qué mejor momento que ahora para pedirles que se paren a pensar en los pros y contras de esos dispositivos? wwmt_question=Verás que en la sección de reseñas de los productos, realizamos las siguientes preguntas: wwmt_question_1=¿Puede espiarme? wwmt_question_2=¿Qué sabe acerca de mí? wwmt_question_3=¿Qué podría suceder si se produce un error? wwmt_4=Trabajamos con Janice Y. Tsai, una investigadora de privacidad que forma parte de Mozilla, a fin de responder esas preguntas para cada uno de los productos. Es una investigadora científica especializada, capacitada en la investigación de la privacidad. Básicamente, es una de las pocas personas del mundo que puede leer la política de privacidad de un producto y realmente comprender lo que dice. wwmt_5=Hay otra pregunta que queríamos hacer: “¿Se puede controlar?”. Analizamos esta pregunta y descubrimos que se trataba de algo que, en su mayoría, no podíamos responder a menos que compráramos el producto. Incluso en esa situación, encontrar las respuestas a algunas de esas preguntas requeriría algunos conocimientos técnicos de un nivel bastante alto (como espiar los datos en una red, que no es algo que puede hacer el usuario promedio). wwmt_6=Detente a pensar en ello. Para comprender si un dispositivo conectado que compraste es seguro (si puede espiarte, qué sabe acerca de ti, si se puede controlar), debes tener los mejores conocimientos sobre investigación de la privacidad, así como algunos conocimientos técnicos de alto nivel. wwmt_title_3=Como dice el refrán, eso no está bien wwmt_7=Ayudar a los consumidores a comprender los riesgos de lo que compran es una tarea importante debido al aumento en los peligros de la privacidad y la seguridad en línea. Mucho más importante de lo que puede enfrentar Mozilla por sí solo. Aunque en Mozilla tenemos conocimientos técnicos y experiencia en la privacidad, existen otras áreas en las que no somos expertos. Es por eso que comenzamos a trabajar en equipo con algunos socios de confianza. wwmt_8=Consumer Reports establece la norma para las reseñas y la protección de confianza para los consumidores. Trabajamos con ellos para utilizar su norma digital de código abierto como guía en nuestras reseñas de productos. wwmt_9=Univision y Gizmodo son medios de difusión que cuentan con periodistas de confianza que saben cómo profundizar en una historia y tienen la capacidad de realizar preguntas difíciles. Nos unimos a ellos en una asociación paga para ayudar a los periodistas expertos a contarles historias a los consumidores acerca de estas cuestiones. wwmt_10=Y recurrimos a personas de influencia con la capacidad de llegar a los padres, quienes realizarán la mayoría de las compras en estas fiestas. Padres que podrían preguntarse cuán seguros son los juguetes conectados para sus hijos. Trabajamos con estas personas de influencia en una asociación paga para poder llegar a este público y concienciarlo. wwmt_evergreen10=Y le preguntamos a los más influyentes, a aquellos que consiguen llegar a la gente con interés en dispositivos conectados; por ejemplo, unos padres que se pregunten si los juguetes de sus hijos está conectados de forma segura. Hemos trabajado junto con ellos para poder llegar a más gente y así crear conciencia. wwmt_11=Esto se debe a que, en este momento, concienciar es muy importante. Pronto, la exigencia de los cambios será aun más importante. Mantente informado al respecto. wwmt_thank_you=Gracias. wwmt_signature=El equipo de Mozilla wwmt_post_scriptum=P.D.: Vivimos en un mundo aquejado de noticias e información falsas. Queremos aclarar que, cuando Mozilla ayudó a definir las áreas generales en las que profundizaron los periodistas y las personas de influencia, tuvimos cuidado de no ejercer ningún tipo de control editorial sobre su trabajo. Sus opiniones y posturas son totalmente suyas, y así es como queremos que sea. ================================================ FILE: common/scripts/fc-checkcomment.js ================================================ /********* * This checks that a commenter has filled required fields. * It also checks that the provided e-mail is well formed. * Requires jQuery. */ function fc_checkform(req) { author = document.getElementById("author"); email = document.getElementById("email"); comment = document.getElementById("comment"); if (jQuery("#errors").length > 0) { jQuery("#errors").remove(); } jQuery("#author, #email, #comment").removeClass("err"); if (req == 'req') { if ((author.value == "") && (email.value == "")) { author.focus(); jQuery("#author, #email").addClass("err"); jQuery("#comment-form ol").before("
"); jQuery("#errors").html("

" + objectL10n.nonameemail + "

"); return false; } if ((author.value == "") && (email.value != "")) { author.focus(); jQuery("#author").addClass("err"); jQuery("#email").removeClass("err"); jQuery("#comment-form ol").before("
"); jQuery("#errors").html("

" + objectL10n.noname + "

"); return false; } if ((author.value != "") && (email.value == "")) { email.focus(); jQuery("#email").addClass("err"); jQuery("#author").removeClass("err"); jQuery("#comment-form ol").before("
"); jQuery("#errors").html("

" + objectL10n.noemail + "

"); return false; } } // check email format var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i if ((email.value != "") && (filter.test(email.value))) { jQuery("#email").removeClass("err"); } else { jQuery("#email").addClass("err").focus(); jQuery("#comment-form ol").before("
"); jQuery("#errors").html("

" + objectL10n.bademail + "

"); return false; } if ( comment.value == "" ) { comment.focus(); jQuery("#comment").addClass("err"); jQuery("#comment-form ol").before("
"); jQuery("#errors").html("

" + objectL10n.nocomment + "

"); return false; } else { jQuery("#comment").removeClass("err"); } /* if everything checks out, return true */ return true; } ================================================ FILE: common/scripts/feed.js ================================================ var monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; var feed = new google.feeds.Feed('https://blog.mozilla.org/netpolicy/feed/'); feed.load(function (data) { // Parse data depending on the specified response format, default is JSON. $.each(data.feed.entries, function(index, item) { var d = new Date(item['publishedDate']); // getYear() will return 115 for 2015, so we need to - by 100 to get 15 var date = monthNames[d.getMonth()] + ' ' + d.getDate() + ', ' + (d.getYear() - 100); $("ul#rss-feed").append('
  • '+item['title']+' '+ date +'
  • '); }); }); ================================================ FILE: common/scripts/ga.js ================================================ (function(i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function() { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); ga('create', 'UA-49796218-9', 'auto'); ga('send', 'pageview'); ================================================ FILE: common/scripts/html5.js ================================================ // html5shiv MIT @rem remysharp.com/html5-enabling-script // iepp v1.6.2 MIT @jon_neal iecss.com/print-protector /*@cc_on(function(a,b){function r(a){var b=-1;while(++b";return a.childNodes.length!==1}())){a.iepp=a.iepp||{};var c=a.iepp,d=c.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",e=d.split("|"),f=e.length,g=new RegExp("(^|\\s)("+d+")","gi"),h=new RegExp("<(/*)("+d+")","gi"),i=/^\s*[\{\}]\s*$/,j=new RegExp("(^|[^\\n]*?\\s)("+d+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),k=b.createDocumentFragment(),l=b.documentElement,m=l.firstChild,n=b.createElement("body"),o=b.createElement("style"),p=/print|all/,q;c.getCSS=function(a,b){if(a+""===undefined)return"";var d=-1,e=a.length,f,g=[];while(++da?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.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},m.extend=m.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||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},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=r(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(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[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=r(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&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=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="
    ",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="",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;++db;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.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="",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);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(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&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.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?m.extend(a,d):d}},e={};return d.pipe=d.then,m.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&&m.isFunction(a.promise)?e:0,g=1===f?a:m.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]&&m.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;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;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},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
    a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:k.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("