Etikettövrigt
Läst 2200 ggr
Magi-cat
2018-06-18, 15:46

Sekretessfel?

Så här står det ibland när jag idag försöker gå in på ifokus:

Anslutningen är inte privat

En angripare kan försöka stjäla dina uppgifter från ifokus.se (t.ex. lösenord, meddelanden eller kreditkortsuppgifter). Läs mer;%0A%20%20color%3A%20rgb(100,%20100,%20100);%0A%20%20word-wrap%3A%20break-word;%0A%7D%0A%0A%23details-button%20%7B%0A%20%20background%3A%20inherit;%0A%20%20border%3A%200;%0A%20%20float%3A%20none;%0A%20%20margin%3A%200;%0A%20%20padding%3A%2010px%200;%0A%20%20text-transform%3A%20uppercase;%0A%7D%0A%0A.hidden%20%7B%0A%20%20display%3A%20none;%0A%7D%0A%0Ahtml%20%7B%0A%20%20-webkit-text-size-adjust%3A%20100%25;%0A%20%20font-size%3A%20125%25;%0A%7D%0A%0A.icon%20%7B%0A%20%20background-repeat%3A%20no-repeat;%0A%20%20background-size%3A%20100%25;%0A%7D%3C/style%3E%0A%20%20%3Cstyle%3E/%20Copyright%202014%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A%20%20%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A%20%20%20found%20in%20the%20LICENSE%20file.%20/%0A%0Abutton%20%7B%0A%20%20border%3A%200;%0A%20%20border-radius%3A%202px;%0A%20%20box-sizing%3A%20border-box;%0A%20%20color%3A%20%23fff;%0A%20%20cursor%3A%20pointer;%0A%20%20float%3A%20right;%0A%20%20font-size%3A%20.875em;%0A%20%20margin%3A%200;%0A%20%20padding%3A%2010px%2024px;%0A%20%20transition%3A%20box-shadow%20200ms%20cubic-bezier(0.4,%200,%200.2,%201);%0A%20%20user-select%3A%20none;%0A%7D%0A%0A%5Bdir='rtl'%5D%20button%20%7B%0A%20%20float%3A%20left;%0A%7D%0A%0A.bad-clock%20button,%0A.captive-portal%20button,%0A.main-frame-blocked%20button,%0A.neterror%20button,%0A.offline%20button,%0A.pdf%20button,%0A.ssl%20button%20%7B%0A%20%20background%3A%20rgb(66,%20133,%20244);%0A%7D%0A%0Abutton%3Aactive%20%7B%0A%20%20background%3A%20rgb(50,%20102,%20213);%0A%20%20outline%3A%200;%0A%7D%0A%0Abutton%3Ahover%20%7B%0A%20%20box-shadow%3A%200%201px%203px%20rgba(0,%200,%200,%20.50);%0A%7D%0A%0A%23debugging%20%7B%0A%20%20display%3A%20inline;%0A%20%20overflow%3A%20auto;%0A%7D%0A%0A.debugging-content%20%7B%0A%20%20line-height%3A%201em;%0A%20%20margin-bottom%3A%200;%0A%20%20margin-top%3A%201em;%0A%7D%0A%0A.debugging-content-fixed-width%20%7B%0A%20%20display%3A%20block;%0A%20%20font-family%3A%20monospace;%0A%20%20font-size%3A%201.2em;%0A%20%20margin-top%3A%200.5em;%0A%7D%0A%0A.debugging-title%20%7B%0A%20%20font-weight%3A%20bold;%0A%7D%0A%0A%23details%20%7B%0A%20%20color%3A%20%23696969;%0A%20%20margin%3A%200%200%2050px;%0A%7D%0A%0A%23details%20p%3Anot(%3Afirst-of-type)%20%7B%0A%20%20margin-top%3A%2020px;%0A%7D%0A%0A%23details-button%3Ahover%20%7B%0A%20%20box-shadow%3A%20inherit;%0A%20%20text-decoration%3A%20underline;%0A%7D%0A%0A.error-code%20%7B%0A%20%20color%3A%20%23646464;%0A%20%20font-size%3A%20.86667em;%0A%20%20text-transform%3A%20uppercase;%0A%7D%0A%0A%23error-debugging-info%20%7B%0A%20%20font-size%3A%200.8em;%0A%7D%0A%0Ah1%20%7B%0A%20%20color%3A%20%23333;%0A%20%20font-size%3A%201.6em;%0A%20%20font-weight%3A%20normal;%0A%20%20line-height%3A%201.25em;%0A%20%20margin-bottom%3A%2016px;%0A%7D%0A%0Ah2%20%7B%0A%20%20font-size%3A%201.2em;%0A%20%20font-weight%3A%20normal;%0A%7D%0A%0A.icon%20%7B%0A%20%20height%3A%2072px;%0A%20%20margin%3A%200%200%2040px;%0A%20%20width%3A%2072px;%0A%7D%0A%0Ainput%5Btype=checkbox%5D%20%7B%0A%20%20opacity%3A%200;%0A%7D%0A%0Ainput%5Btype=checkbox%5D%3Afocus%20~%20.checkbox%20%7B%0A%20%20outline%3A%20-webkit-focus-ring-color%20auto%205px;%0A%7D%0A%0A.interstitial-wrapper%20%7B%0A%20%20box-sizing%3A%20border-box;%0A%20%20font-size%3A%201em;%0A%20%20line-height%3A%201.6em;%0A%20%20margin%3A%2014vh%20auto%200;%0A%20%20max-width%3A%20600px;%0A%20%20width%3A%20100%25;%0A%7D%0A%0A%23main-message%20%3E%20p%20%7B%0A%20%20display%3A%20inline;%0A%7D%0A%0A%23extended-reporting-opt-in%20%7B%0A%20%20font-size%3A%20.875em;%0A%20%20margin-top%3A%2039px;%0A%7D%0A%0A%23extended-reporting-opt-in%20label%20%7B%0A%20%20position%3A%20relative;%0A%20%20display%3A%20flex;%0A%20%20align-items%3A%20flex-start;%0A%7D%0A%0A.nav-wrapper%20%7B%0A%20%20margin-top%3A%2051px;%0A%7D%0A%0A.nav-wrapper%3A%3Aafter%20%7B%0A%20%20clear%3A%20both;%0A%20%20content%3A%20'';%0A%20%20display%3A%20table;%0A%20%20width%3A%20100%25;%0A%7D%0A%0A.small-link%20%7B%0A%20%20color%3A%20%23696969;%0A%20%20font-size%3A%20.875em;%0A%7D%0A%0A.checkboxes%20%7B%0A%20%20flex%3A%200%200%2024px;%0A%7D%0A%0A.checkbox%20%7B%0A%20%20background%3A%20transparent;%0A%20%20border%3A%201px%20solid%20white;%0A%20%20border-radius%3A%202px;%0A%20%20display%3A%20block;%0A%20%20height%3A%2014px;%0A%20%20left%3A%200;%0A%20%20position%3A%20absolute;%0A%20%20right%3A%200;%0A%20%20top%3A%203px;%0A%20%20width%3A%2014px;%0A%7D%0A%0A.checkbox%3A%3Abefore%20%7B%0A%20%20background%3A%20transparent;%0A%20%20border%3A%202px%20solid%20white;%0A%20%20border-right-width%3A%200;%0A%20%20border-top-width%3A%200;%0A%20%20content%3A%20'';%0A%20%20height%3A%204px;%0A%20%20left%3A%202px;%0A%20%20opacity%3A%200;%0A%20%20position%3A%20absolute;%0A%20%20top%3A%203px;%0A%20%20transform%3A%20rotate(-45deg);%0A%20%20width%3A%209px;%0A%7D%0A%0Ainput%5Btype=checkbox%5D%3Achecked%20~%20.checkbox%3A%3Abefore%20%7B%0A%20%20opacity%3A%201;%0A%7D%0A%0A@media%20(max-width%3A%20700px)%20%7B%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20padding%3A%200%2010%25;%0A%20%20%7D%0A%0A%20%20%23error-debugging-info%20%7B%0A%20%20%20%20overflow%3A%20auto;%0A%20%20%7D%0A%7D%0A%0A@media%20(max-height%3A%20600px)%20%7B%0A%20%20.error-code%20%7B%0A%20%20%20%20margin-top%3A%2010px;%0A%20%20%7D%0A%7D%0A%0A@media%20(max-width%3A%20420px)%20%7B%0A%20%20button,%0A%20%20%5Bdir='rtl'%5D%20button,%0A%20%20.small-link%20%7B%0A%20%20%20%20float%3A%20none;%0A%20%20%20%20font-size%3A%20.825em;%0A%20%20%20%20font-weight%3A%20400;%0A%20%20%20%20margin%3A%200;%0A%20%20%20%20text-transform%3A%20uppercase;%0A%20%20%20%20width%3A%20100%25;%0A%20%20%7D%0A%0A%20%20%23details%20%7B%0A%20%20%20%20margin%3A%2020px%200%2020px%200;%0A%20%20%7D%0A%0A%20%20%23details%20p%3Anot(%3Afirst-of-type)%20%7B%0A%20%20%20%20margin-top%3A%2010px;%0A%20%20%7D%0A%0A%20%20%23details-button%20%7B%0A%20%20%20%20display%3A%20block;%0A%20%20%20%20margin-top%3A%2020px;%0A%20%20%20%20text-align%3A%20center;%0A%20%20%20%20width%3A%20100%25;%0A%20%20%7D%0A%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20padding%3A%200%205%25;%0A%20%20%7D%0A%0A%20%20%23extended-reporting-opt-in%20%7B%0A%20%20%20%20margin-top%3A%2024px;%0A%20%20%7D%0A%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20margin-top%3A%2030px;%0A%20%20%7D%0A%7D%0A%0A/%0A%20%20Mobile%20specific%20styling.%0A%20%20Navigation%20buttons%20are%20anchored%20to%20the%20bottom%20of%20the%20screen.%0A%20%20Details%20message%20replaces%20the%20top%20content%20in%20its%20own%20scrollable%20area.%0A%20/%0A%0A@media%20(max-width%3A%20420px)%20%7B%0A%20%20%23details-button%20%7B%0A%20%20%20%20border%3A%200;%0A%20%20%20%20margin%3A%208px%200%200;%0A%20%20%7D%0A%0A%20%20.secondary-button%20%7B%0A%20%20%20%20-webkit-margin-end%3A%200;%0A%20%20%20%20margin-top%3A%2016px;%0A%20%20%7D%0A%7D%0A%0A/%20Fixed%20nav.%20/%0A@media%20(min-width%3A%20240px)%20and%20(max-width%3A%20420px)%20and%0A%20%20%20%20%20%20%20(min-height%3A%20401px),%0A%20%20%20%20%20%20%20(min-width%3A%20421px)%20and%20(min-height%3A%20240px)%20and%0A%20%20%20%20%20%20%20(max-height%3A%20560px)%20%7B%0A%20%20body%20.nav-wrapper%20%7B%0A%20%20%20%20background%3A%20%23f7f7f7;%0A%20%20%20%20bottom%3A%200;%0A%20%20%20%20box-shadow%3A%200%20-22px%2040px%20rgb(247,%20247,%20247);%0A%20%20%20%20left%3A%200;%0A%20%20%20%20margin%3A%200%20auto;%0A%20%20%20%20max-width%3A%20736px;%0A%20%20%20%20padding-left%3A%2024px;%0A%20%20%20%20padding-right%3A%2024px;%0A%20%20%20%20position%3A%20fixed;%0A%20%20%20%20right%3A%200;%0A%20%20%20%20width%3A%20100%25;%0A%20%20%20%20z-index%3A%202;%0A%20%20%7D%0A%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20max-width%3A%20736px;%0A%20%20%7D%0A%0A%20%20%23details,%0A%20%20%23main-content%20%7B%0A%20%20%20%20padding-bottom%3A%2040px;%0A%20%20%7D%0A%0A%20%20%23details%20%7B%0A%20%20%20%20padding-top%3A%205.5vh;%0A%20%20%7D%0A%0A%20%20%23details-button%3Ahover%20%7B%0A%20%20%20%20box-shadow%3A%20none;%0A%20%20%7D%0A%7D%0A%0A@media%20(max-width%3A%20420px)%20and%20(orientation%3A%20portrait),%0A%20%20%20%20%20%20%20(max-height%3A%20560px)%20%7B%0A%20%20body%20%7B%0A%20%20%20%20margin%3A%200%20auto;%0A%20%20%7D%0A%0A%20%20button,%0A%20%20%5Bdir='rtl'%5D%20button,%0A%20%20button.small-link%20%7B%0A%20%20%20%20font-family%3A%20Roboto-Regular,Helvetica;%0A%20%20%20%20font-size%3A%20.933em;%0A%20%20%20%20font-weight%3A%20600;%0A%20%20%20%20margin%3A%206px%200;%0A%20%20%20%20text-transform%3A%20uppercase;%0A%20%20%20%20transform%3A%20translatez(0);%0A%20%20%7D%0A%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20box-sizing%3A%20border-box;%0A%20%20%20%20padding-bottom%3A%208px;%0A%20%20%20%20width%3A%20100%25;%0A%20%20%7D%0A%0A%20%20.error-code%20%7B%0A%20%20%20%20margin-top%3A%200;%0A%20%20%7D%0A%0A%20%20%23details%20%7B%0A%20%20%20%20box-sizing%3A%20border-box;%0A%20%20%20%20height%3A%20auto;%0A%20%20%20%20margin%3A%200;%0A%20%20%20%20opacity%3A%201;%0A%20%20%20%20transition%3A%20opacity%20250ms%20cubic-bezier(0.4,%200,%200.2,%201);%0A%20%20%7D%0A%0A%20%20%23details.hidden,%0A%20%20%23main-content.hidden%20%7B%0A%20%20%20%20display%3A%20block;%0A%20%20%20%20height%3A%200;%0A%20%20%20%20opacity%3A%200;%0A%20%20%20%20overflow%3A%20hidden;%0A%20%20%20%20padding-bottom%3A%200;%0A%20%20%20%20transition%3A%20none;%0A%20%20%7D%0A%0A%20%20%23details-button%20%7B%0A%20%20%20%20padding-bottom%3A%2016px;%0A%20%20%20%20padding-top%3A%2016px;%0A%20%20%7D%0A%0A%20%20h1%20%7B%0A%20%20%20%20font-size%3A%201.5em;%0A%20%20%20%20margin-bottom%3A%208px;%0A%20%20%7D%0A%0A%20%20.icon%20%7B%0A%20%20%20%20margin-bottom%3A%205.69vh;%0A%20%20%7D%0A%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20box-sizing%3A%20border-box;%0A%20%20%20%20margin%3A%207vh%20auto%2012px;%0A%20%20%20%20padding%3A%200%2024px;%0A%20%20%20%20position%3A%20relative;%0A%20%20%7D%0A%0A%20%20.interstitial-wrapper%20p%20%7B%0A%20%20%20%20font-size%3A%20.95em;%0A%20%20%20%20line-height%3A%201.61em;%0A%20%20%20%20margin-top%3A%208px;%0A%20%20%7D%0A%0A%20%20%23main-content%20%7B%0A%20%20%20%20margin%3A%200;%0A%20%20%20%20transition%3A%20opacity%20100ms%20cubic-bezier(0.4,%200,%200.2,%201);%0A%20%20%7D%0A%0A%20%20.small-link%20%7B%0A%20%20%20%20border%3A%200;%0A%20%20%7D%0A%0A%20%20.suggested-left%20%3E%20%23control-buttons,%0A%20%20.suggested-right%20%3E%20%23control-buttons%20%7B%0A%20%20%20%20float%3A%20none;%0A%20%20%20%20margin%3A%200;%0A%20%20%7D%0A%7D%0A%0A@media%20(min-width%3A%20421px)%20and%20(min-height%3A%20500px)%20and%20(max-height%3A%20560px)%20%7B%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20margin-top%3A%2010vh;%0A%20%20%7D%0A%7D%0A%0A@media%20(min-height%3A%20400px)%20and%20(orientation%3Aportrait)%20%7B%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20margin-bottom%3A%20145px;%0A%20%20%7D%0A%7D%0A%0A@media%20(min-height%3A%20299px)%20%7B%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20padding-bottom%3A%2016px;%0A%20%20%7D%0A%7D%0A%0A@media%20(min-height%3A%20500px)%20and%20(max-height%3A%20650px)%20and%20(max-width%3A%20414px)%20and%0A%20%20%20%20%20%20%20(orientation%3A%20portrait)%20%7B%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20margin-top%3A%207vh;%0A%20%20%7D%0A%7D%0A%0A@media%20(min-height%3A%20650px)%20and%20(max-width%3A%20414px)%20and%20(orientation%3A%20portrait)%20%7B%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20margin-top%3A%2010vh;%0A%20%20%7D%0A%7D%0A%0A/%20Small%20mobile%20screens.%20No%20fixed%20nav.%20/%0A@media%20(max-height%3A%20400px)%20and%20(orientation%3A%20portrait),%0A%20%20%20%20%20%20%20(max-height%3A%20239px)%20and%20(orientation%3A%20landscape),%0A%20%20%20%20%20%20%20(max-width%3A%20419px)%20and%20(max-height%3A%20399px)%20%7B%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20display%3A%20flex;%0A%20%20%20%20flex-direction%3A%20column;%0A%20%20%20%20margin-bottom%3A%200;%0A%20%20%7D%0A%0A%20%20%23details%20%7B%0A%20%20%20%20flex%3A%201%201%20auto;%0A%20%20%20%20order%3A%200;%0A%20%20%7D%0A%0A%20%20%23main-content%20%7B%0A%20%20%20%20flex%3A%201%201%20auto;%0A%20%20%20%20order%3A%200;%0A%20%20%7D%0A%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20flex%3A%200%201%20auto;%0A%20%20%20%20margin-top%3A%208px;%0A%20%20%20%20order%3A%201;%0A%20%20%20%20padding-left%3A%200;%0A%20%20%20%20padding-right%3A%200;%0A%20%20%20%20position%3A%20relative;%0A%20%20%20%20width%3A%20100%25;%0A%20%20%7D%0A%7D%0A%0A@media%20(max-width%3A%20239px)%20and%20(orientation%3A%20portrait)%20%7B%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20padding-left%3A%200;%0A%20%20%20%20padding-right%3A%200;%0A%20%20%7D%0A%7D%0A%3C/style%3E%0A%20%20%3Cstyle%3E/%20Copyright%202017%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A%20%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A%20%20found%20in%20the%20LICENSE%20file.%20/%0A%0A.bad-clock%20.icon%20%7B%0A%20%20background-image%3A%20-webkit-image-set(%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,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)%201x,%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,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)%202x);%0A%7D%0A%3C/style%3E%0A%20%20%3Cstyle%3E/%20Copyright%202017%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A%20%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A%20%20found%20in%20the%20LICENSE%20file.%20/%0A%0A.captive-portal%20.icon%20%7B%0A%20%20background-image%3A%20-webkit-image-set(%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAQAAAD/5HvMAAAEyElEQVR4Xu3afWhVZRwH8LvdmjVSjKyQbKazia1k1sL6YzXoZdy28/J8f5XRC7hwEVk0hZQCXY2SipCgYgappXMQ5Ya9ELZqoEM3VHqxBkapm21jOBWmbLfudk+0Peeu2+mc3zk9514WbN9/zz18ds75Pc/vPM+JTP9NZzrT+b9Fn2nGxHrainb8ggEaRgLn0IOjaMFroloU/Ssg1yxBLZpxBD00QufpODrRiFX6IiUKXY8XcRAJsryC3nRL7EpsQJ/r0V3iSS0/MKU4D6uoQwLY/P1q4i0aYX9xVqyPRH1jbr8UtfSbE8CDqIK60wBjOEb7aDf24CBO/gN12LjJF4dM+dPAoNgMdNkUxLENQltAFViJdbTWfFTcaRbiMXyCpE1CM4vR5uAzdwB/hcxCDI5jXqGFeAadNJoGH0ErVhg3YPs46Ad9JldNS3GCAbDPkFGG/eJGWktn3PA4IUB3oxPzGY4AXSBLCSTLgfZxx2MLV1Q5tFHeWxWQDNalHulWeo4q9GW4VVShng5J0KgZ8+bkYpcEqIJk6H2y0CiW4H58gGMYQhyn8DlqUUltZIk1XF01kKUW5yhm3gVB3Q76MDaRyXBQR1aIIJnyi6jNZUgs8uTQfUiGDJIxZ9OPfxEwhAO0F70To5NR5skxrsUgWaGDZLQCHBHVxnKxWjwuivRS7McK7na1kpUZkEwUzXbFiZfZcVk8pE6xZ3u34AV5TFJUsV2ObBHU0+Q5wu0eJ21krw+eD4lzBvOYf7wLeyI5DEfLx2l1DPqoSXK8SItis/gm41mlago/9P2UApklZE0pkHhdAv6YIiB8NwEQL9HvUwCkzZHz15g5Gw8jmR0QtsizvOoACUjAIdlOZQUkHpCgDqd1gwRslhX3djZAmDsBwpATJPtDUZPqGFuyUWU453IWu7fFHZOvhjiQ+aqiDheQ/bJjXpf2oP+caRA+cgPJpkxckeZfiIHMgmirC8gee4rz0qF6KV3IJEi86R8kg0oazQ6Iv2Uyoiajt4x/qJ1BfcCe6JQZC/BQ82XvDLYHJPUEK3tmYHTmlotpbzCSwsDomDpc+mD6VgHETB3M5Or2c5xUBvGTq7P98DjBEjqrBOLbD2eDZj7o+aJdhnhooJxUbd/r1cJ+yl1mJMMBGWUSP6zlezT5SIirGNKacEB4bwKEXcxrEN7gThUGSCtILaZXMC+KiGN+5kHYITndkSj7Ko3GTIPMEvtJFKt9LDYgiZtVQTLnqUPUOJcV8KWE95df4m85ps0+CQ/ig68xN72lscF4yveCFTa5g9AXnDR5lczC1Jr+4UhuCsAv6YlH3EDURFbgPCG3Y2altmPG9FIJ8LnoOYLbXNDzgi+Myvkqii9sIuocAHZZuN9tAKi6hnaiBwka9f942y2rzFcut4tZOO+3r5J6xcVmYEeKc9xlPuC3FhDHynBA6LQ5GGA2ftnNl82RqDrIDgb1ZU4AnxzUTc7raDeWhwPCUW0BA/C7gYeP9cWqILSUX8YAgmxxIoF3tYL/DkK9Y/znwm8CI4lvRLV+dVAQThOpOPht8p+ogZ4W9/jijFFD5eXhWPgPCXjMh/pSVYD6pxaywPGOKOIBWfkYhXYKozgvy5/rYBva8avzcx19sSrgT2jJnjJMVMiUAAAAAElFTkSuQmCC)%201x,%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,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)%202x);%0A%7D%0A%3C/style%3E%0A%20%20%3Cstyle%3E/%20Copyright%202017%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A%20%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A%20%20found%20in%20the%20LICENSE%20file.%20/%0A%0Abody.safe-browsing%20%7B%0A%20%20background-color%3A%20rgb(206,%2052,%2038);%0A%20%20color%3A%20white;%0A%7D%0A%0A.safe-browsing%20%3A-webkit-any(%0A%20%20%20%20a,%20%23details,%20%23details-button,%20h1,%20h2,%20p,%20.small-link)%20%7B%0A%20%20color%3A%20white;%0A%7D%0A%0A.safe-browsing%20button%20%7B%0A%20%20background-color%3A%20rgba(255,%20255,%20255,%20.15);%0A%7D%0A%0A.safe-browsing%20button%3Aactive%20%7B%0A%20%20background-color%3A%20rgba(255,%20255,%20255,%20.25);%0A%7D%0A%0A.safe-browsing%20button%3Ahover%20%7B%0A%20%20box-shadow%3A%200%202px%203px%20rgba(0,%200,%200,%20.5);%0A%7D%0A%0A.safe-browsing%20.error-code%20%7B%0A%20%20display%3A%20none;%0A%7D%0A%0A.safe-browsing%20.icon%20%7B%0A%20%20background-image%3A%20-webkit-image-set(%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAA+VBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3////9/f36+vr8/Pz7+/v7+/v7+/v7+/v////r6+vn5+fk5OT5+fn19fX4+Pju7u7v7+/o6Ojx8fH09PTy8vLz8/Pj4+P39/fm5ubp6eni4uL8/Pzw8PDt7e329vbs7Ozg4ODh4eHe3t7l5eX6+vrd3d3q6urf39/c3NzbRDf7+/vb29vW1tbZ2dk+D9arAAAALXRSTlMA/eIxBfACHj3YwhYJDyfOtfr2WHObgEqpjellgY6c6mZLV3L2qKjOZemN+rUv7NpAAAACcUlEQVR4Xu2U53baQBQGAxiMaQZT3Wt6rnql9uKW9v4Pk5XEspG4WFmJ/GMeYM635cy7/8yePXv23N7uxnNwdHSwE1ENoLYLTz4NkM7vQHQFhKv4nlQCCIlUbFEOXHJxPVVYUY3nKSSpKFmIJbqANRdxPIcnTHRyGEPUAga0onuy4CMb1ZM5Bh/HmYiiGwhwE81TvIYA18VIokvY4DKKp1SBDSqlCKIyIJT5PU1AafL3FVC4q1uDLdS4+4rCXd06bKXO21fKdxcNKFzVzUFQ9KoDJRehr0z0tBgBpcrfVyZavAxM7uo2ABHNO8s2NTW4+8pEs4HUMxS+6rYAEZFBYl+Y8FQ3C5hoIImGMNVVvLp4X1FRZ2n0BU035X+u7jmgomWv/zzWR23lB7ich/b1DBeRQVNNty1FHYLDWVh1TwEXic4gs6105UfPdMrd1/HCffrnqTayrYkqP3qmSom7r9q84xyMDLIUx7Mylfn7OvIGmbYyUYmGbmry99UWnYOZ7sFc5OHb1b2HLbS9QV1vED3dPX9fQXFuWiEeF9kzpfMcfaUZkbyn9+bQTfXwvm4W0iA3RNdQUyIV1lekkDOhSx3sdGh17+At0ctA0plDpr/gLqSvSI+kXt8mAj9DVl20r3hGBM0iOwKmBtZXHOPX79fFXCJ/Ure79Gxr40Owuu9hK8LPp1mnR7JmWuv7ZsM+oH3FGZObFoWx3iY/Ul1J2LVn0b7i6B2RZM1WumwL833MoH3FMQ1hPHIGsadnvk94X3EsctPE4xK8p89FvK84ExIRuoUa6Pt98fU1DJUMosj+3/S15OtrGOsB9LnYqm+e5w+es4JAhYQDdgAAAABJRU5ErkJggg==)%201x,%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAMAAADQmBKKAAABPlBMVEUAAAD////////////////////////////////6+vr7+/v7+/v7+/v9/f36+vr7+/v7+/v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3////////////8/Pz////5+fn////////6+vr////////8/Pz7+/v7+/v////k5OTh4eHf39/e3t7g4OD6+vrbRDf5+fnv7+/x8fH09PTY2Njc3Nz39/fq6ur4+Pjz8/Pn5+f7+/vZ2dnW1tbt7e3U1NTV1dXl5eXr6+v19fXy8vLs7Oz29vba2trb29vo6Ojm5ubu7u7d3d38/Pzp6enj4+Pi4uLw8PD///+BQ30nAAAAQHRSTlMAHhYFDzEJAifiwvb98M76PdjqtoGpZll0c46qj1icTJ1KS42A6WWb2WdadYK1cvCb/cJXV+KA9qioPc5l6Y36uRjySgAABXVJREFUeF7s1kuKwlAUBNDS+JtqggkkmODIH4gPRIgD11P730BDI6HV260Z1Wu4ZxUH/4tzzjnnnHPOOeecq2tEJdlsEsRkT+4RkeGRPA4Rj4YkG0RjfCLJ0xixCPwWEIkd73aIwuTMu/MEMTiwc4AeBhd2LgPolfyhhFzLBy3Eplc+uE6hteWTLaRGCz5ZjKBU8UUFodmNL24z6KQ0pJCpaaohksxpmifQKGhjIXurSbbZhr9qRG81yTYbaJJtNuefcsFbTbLNZnwjE7zVINtsybdK4VttreytHdlml/zIUvTWjmyzFT9USd7akW02pUm22TV7WOveKttswV4K1Vtlm12xp5XmrbLNBvYWhG+15YK3qjab0STb7Fcv5tmcOBKE4Q2Xc7KrTJW3yhs/2RsuZwvBjsQShPd0JxCyJVmA5v//getpgYextLSYKdHf+PbUO93No36Ht77eqHCvNnvASaBLp4rooClvpYGurpx92Sx6Kw3Uv873ZbOHvA7Qtd12m7ZZ6a00UN+225a7F5tt8XpA7Y61rJi1ViPeSgPZ7XZnuVh4zdsseisNhAEtzgOvaZt9yGsCdSwLeJKk16DNSm+lgSCghQAax9NGbfaI1wQSD7YIgnE8H0a3iY4a8FYSyMKAxgJoMqBs1txbaSDs6AR5Zv6Asllzb6WBIKAkiefzCQA5A8Jmjb2VBtoMKHXcUSM2e8x3ADoPAAh4Jr7v5G7IVKLjhr21DHS+DshP0xyAel3CZk29lQa6ebAUeLxe74KwWTNvpYGSFVDqOK4LPFF0QdisibfSQBsdjQFNo9EoI2zWxFtpINiJw+Fs5hcBTaeDwaibETar76000GZAnggIeLqSyNxmD/luQOM4LngceDBP8ACQSnTY+L111geRtqxlMfLDAsiFkV8H1GWSyNBmW7xO+eiJyo7O87B4MCaA1Ixazd9bUwgIgFYd7a8Dwo4GIqYQgc02f291kEcd+YJHVmZusye8djkAlKxHHnjEiEUIVOTDFKKTPdxbXdnRjghI7GjgUSqTNmvurTRRkMQAtBp53IkjJuNRiY72cW8NiwdLHdyJgmcdkGTKTGz2Gd+xPOhoGVAUjZgCo8zas33cW3lviFqWhyF2ND7YbaZM2qy5t9JEs8ITPexoJlFksUzTZo+5Tk3FiIWh7KAKpEzarLm30v/2ckczlYXdsGU6NvuY6wFdJjn+y4OXKR3EytP/WMNbNYD6Y9Ag8WCs/F4yo51t9oBrAoGJzJV/+WokJDow9NbaF7QJAKkNpMyb9KPfjL2VBrLtznLpQ0DlYNTKdrHZp1wfqA0iEjhMYsislN9I9LSmtz7RBxLmGCSxW9k9pYye1LPZR9wACNQagIbutgaSfvTI3Fvp+xDwgDd6ZERAVM9mT7kB0HIZJIn4Ekp7W+KRRKfG3kqfYyAg4HHy6ZZwpB+daHgrVfG///3z5u1l38aODsbFrcH1opJ7VPgRabNnfPeaI8+13REdPV4FBA4CRkQyZWekt2rU8M3lVREQns9AG4XmgxLRjc0+v0d4q1ZNVjznNw8WgsTiviaRXmh5K/19jzsaL+biwVwhsbeXdLUfffa+nrfSX9P4rYjnRcdFBWGSQ+KUf3/ybp7vuX6lFp7woaN9eDBxiUEIwCDH/wfCWzUrXwTrgLCj14rGuhTSxx8Q3qpZLnSQ4MlXHS2He8u+xvqJ8FbdCmEFTXxcQdFAJkPP2qfVNvsLNy1vjg9WBKQsQMKPfiW8Vbt6SkdLFkb50VeEt2rX1MGA4MHUlhkRfvTFh4S3alcEHaSczmr20R+Et+rXCDu63DJsux/9+R7hrQZE0NFEHlVh/UV4q0F1B6zSEdlWF/lSsdn/AccLgKctjBheAAAAAElFTkSuQmCC)%202x);%0A%7D%0A%0A@media%20(min-width%3A%20240px)%20and%20(max-width%3A%20420px)%20and%0A%20%20%20%20%20%20%20(min-height%3A%20401px),%0A%20%20%20%20%20%20%20(min-width%3A%20421px)%20and%20(min-height%3A%20240px)%20and%0A%20%20%20%20%20%20%20(max-height%3A%20560px)%20%7B%0A%20%20body.safe-browsing%20.nav-wrapper%20%7B%0A%20%20%20%20background%3A%20rgb(206,%2052,%2038);%0A%20%20%20%20box-shadow%3A%200%20-22px%2040px%20rgb(206,%2052,%2038);%0A%20%20%7D%0A%7D%3C/style%3E%0A%20%20%3Cstyle%3E/%20Copyright%202017%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A%20%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A%20%20found%20in%20the%20LICENSE%20file.%20/%0A%0A.ssl%20.icon%20%7B%0A%20%20background-image%3A%20-webkit-image-set(%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAABAlBMVEUAAADcRTfcRDfdRET/gIDcRjr/ZmbjVTncRDfcRTfcRDfdRDzgSTncRDjeSDvcRTjbRDfbRDjeRzvcRjfbRjjcRTjcRTjcRTfdRTfcRDjdRTjcRTjbRDjbRTjbRTjbRTfcRjjdRDrcRjfbRTjZQzfcRDjZRDfZRzbWQzXXRDXXQzbXQzbWQjXYSDvWQjbbRDfOQDPSQTTUQjXCPDDNPzPJPjLGPTHVQjXMPzPRQTTWQjXLPzPDPDHYQzbAOzDTQTXHPTLIPjK8Oi++Oy/FPTHEPTHPQDTQQDTUQTXBPDDKPjK/OzC9Oi/////PQDPRQDS3OS66OS7TQTTEPDHXQjbMPjMBhLaWAAAAL3RSTlMA4tgPAhYFCcL98B4x9ie1+s49WICbqXNKZY3pjuqcgVdLZnL2qKg9zmXpjfontV8LANsAAAJrSURBVHhe7ZTnduIwFAY3ARIgBAg9vW1v173ROylby/u/yso2Fx3MNaxs9h/zAHM+Sfa8+M/s2LFjx+3tdjwH+/sHWxHVAerb8KSyANnUFkRXwLiK78llgJHJxRalwSMd11OGOeV4nsM9FO0dxhJdw4LrOJ6jYy46PoohqgEHatE9JViiFNWTPIElTpIRRXcQ4C6aJ3EJAS4TkUQXsMJFFE++CCsU8xFEBSAoiHsaQNIQ7yuQCFe3DiHUhftKIlzdKoRSFe0r8sXDAkSoumkIigYaIOkIfeWi56EESFm8r1w0fFIl4epWgBA9qOMpmirCfeWijtoa9WSx6taAELFBRl/vilS3BJRIbRk9/VFTsLrifUXRuNfXLU0y/7m6p0CKxqN+v6lJU/k3eJxu7Os5LWKDHi1tYstKG1zON1X3DGiRMR80Mx3fdCbc1+bQe3o2SJrYXcV0fFMxL9xXiz0987BBtux65qaCeF8lHCR3FabBTQ3xvk4M1yN5B/Mw2+urew8hTP1BM38Qnu5evK8gMw+7IcfH9E3ZlEBfMSO//Kf35+Cm6ua+rhbSYDeEa9CUyW3qK1HIjj5DBz8dWd0bWCd6Ult/uMPEr+BmbV/JHrVG/a9MsEybV5fsK50R3frmBFXtCtVXmt73H4PhQ4t9k9rkJ55tYXwZrO4rCEUfPHfUEcuaZC/umw97TfaVpslu2tCb2lRWnBlKFtf+huwrjaa6Pxv7RfgW7nubJPtKI/X0puQO4k/Pfe/ovtLY7KbxVwve0/sE3VeaLosIbkEDvt8Hoq/hKGwQYvoq5OMnoq/hLAbgc/FVn33PX7pAfE5QHR6fAAAAAElFTkSuQmCC)%201x,%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,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)%202x);%0A%7D%0A%0A.ssl-opt-in%20.checkbox%20%7B%0A%20%20border-color%3A%20%23696969;%0A%7D%0A%0A.ssl-opt-in%20.checkbox%3A%3Abefore%20%7B%0A%20%20border-color%3A%20%23696969;%0A%7D%0A%3C/style%3E%0A%20%20%3Cscript%3E//%20Copyright%20(c)%202012%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A//%20//%20Copyright%20(c)%202013%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A/%0A%20%20@fileoverview%20Assertion%20support.%0A%20/%0A%0A/%0A%20%20Verify%20%7Ccondition%7C%20is%20truthy%20and%20return%20%7Ccondition%7C%20if%20so.%0A%20%20@template%20T%0A%20%20@param%20%7BT%7D%20condition%20A%20condition%20to%20check%20for%20truthiness.%20%20Note%20that%20this%0A%20%20%20%20%20%20may%20be%20used%20to%20test%20whether%20a%20value%20is%20defined%20or%20not,%20and%20we%20don't%20want%0A%20%20%20%20%20%20to%20force%20a%20cast%20to%20Boolean.%0A%20%20@param%20%7Bstring=%7D%20optmessage%20A%20message%20to%20show%20on%20failure.%0A%20%20@return%20%7BT%7D%20A%20non-null%20%7Ccondition%7C.%0A%20/%0Afunction%20assert(condition,%20optmessage)%20%7B%0A%20%20if%20(!condition)%20%7B%0A%20%20%20%20var%20message%20=%20'Assertion%20failed';%0A%20%20%20%20if%20(optmessage)%0A%20%20%20%20%20%20message%20=%20message%20+%20'%3A%20'%20+%20optmessage;%0A%20%20%20%20var%20error%20=%20new%20Error(message);%0A%20%20%20%20var%20global%20=%20function()%20%7B%0A%20%20%20%20%20%20return%20this;%0A%20%20%20%20%7D();%0A%20%20%20%20if%20(global.traceAssertionsForTesting)%0A%20%20%20%20%20%20console.warn(error.stack);%0A%20%20%20%20throw%20error;%0A%20%20%7D%0A%20%20return%20condition;%0A%7D%0A%0A/%0A%20%20Call%20this%20from%20places%20in%20the%20code%20that%20should%20never%20be%20reached.%0A%20%0A%20%20For%20example,%20handling%20all%20the%20values%20of%20enum%20with%20a%20switch()%20like%20this%3A%0A%20%0A%20%20%20%20function%20getValueFromEnum(enum)%20%7B%0A%20%20%20%20%20%20switch%20(enum)%20%7B%0A%20%20%20%20%20%20%20%20case%20ENUMFIRSTOFTWO%3A%0A%20%20%20%20%20%20%20%20%20%20return%20first%0A%20%20%20%20%20%20%20%20case%20ENUMLASTOFTWO%3A%0A%20%20%20%20%20%20%20%20%20%20return%20last;%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20assertNotReached();%0A%20%20%20%20%20%20return%20document;%0A%20%20%20%20%7D%0A%20%0A%20%20This%20code%20should%20only%20be%20hit%20in%20the%20case%20of%20serious%20programmer%20error%20or%0A%20%20unexpected%20input.%0A%20%0A%20%20@param%20%7Bstring=%7D%20optmessage%20A%20message%20to%20show%20when%20this%20is%20hit.%0A%20/%0Afunction%20assertNotReached(optmessage)%20%7B%0A%20%20assert(false,%20optmessage%20%7C%7C%20'Unreachable%20code%20hit');%0A%7D%0A%0A/%0A%20%20@param%20%7B%7D%20value%20The%20value%20to%20check.%0A%20%20@param%20%7Bfunction(new%3A%20T,%20…)%7D%20type%20A%20user-defined%20constructor.%0A%20%20@param%20%7Bstring=%7D%20optmessage%20A%20message%20to%20show%20when%20this%20is%20hit.%0A%20%20@return%20%7BT%7D%0A%20%20@template%20T%0A%20/%0Afunction%20assertInstanceof(value,%20type,%20optmessage)%20%7B%0A%20%20//%20We%20don't%20use%20assert%20immediately%20here%20so%20that%20we%20avoid%20constructing%20an%20error%0A%20%20//%20message%20if%20we%20don't%20have%20to.%0A%20%20if%20(!(value%20instanceof%20type))%20%7B%0A%20%20%20%20assertNotReached(%0A%20%20%20%20%20%20%20%20optmessage%20%7C%7C%0A%20%20%20%20%20%20%20%20'Value%20'%20+%20value%20+%20'%20is%20not%20a%5Bn%5D%20'%20+%20(type.name%20%7C%7C%20typeof%20type));%0A%20%20%7D%0A%20%20return%20value;%0A%7D%0A%0A%0A/%0A%20%20Alias%20for%20document.getElementById.%20Found%20elements%20must%20be%20HTMLElements.%0A%20%20@param%20%7Bstring%7D%20id%20The%20ID%20of%20the%20element%20to%20find.%0A%20%20@return%20%7BHTMLElement%7D%20The%20found%20element%20or%20null%20if%20not%20found.%0A%20/%0Afunction%20$(id)%20%7B%0A%20%20//%20Disable%20getElementById%20restriction%20here,%20since%20we%20are%20instructing%20other%0A%20%20//%20places%20to%20re-use%20the%20$()%20that%20is%20defined%20here.%0A%20%20//%20eslint-disable-next-line%20no-restricted-properties%0A%20%20var%20el%20=%20document.getElementById(id);%0A%20%20return%20el%20%3F%20assertInstanceof(el,%20HTMLElement)%20%3A%20null;%0A%7D%0A%0A//%20TODO(devlin)%3A%20This%20should%20return%20SVGElement,%20but%20closure%20compiler%20is%20missing%0A//%20those%20externs.%0A/%0A%20%20Alias%20for%20document.getElementById.%20Found%20elements%20must%20be%20SVGElements.%0A%20%20@param%20%7Bstring%7D%20id%20The%20ID%20of%20the%20element%20to%20find.%0A%20%20@return%20%7BElement%7D%20The%20found%20element%20or%20null%20if%20not%20found.%0A%20/%0Afunction%20getSVGElement(id)%20%7B%0A%20%20//%20Disable%20getElementById%20restriction%20here,%20since%20it%20is%20not%20suitable%20for%20SVG%0A%20%20//%20elements.%0A%20%20//%20eslint-disable-next-line%20no-restricted-properties%0A%20%20var%20el%20=%20document.getElementById(id);%0A%20%20return%20el%20%3F%20assertInstanceof(el,%20Element)%20%3A%20null;%0A%7D%0A%0A/%0A%20%20Add%20an%20accessible%20message%20to%20the%20page%20that%20will%20be%20announced%20to%0A%20%20users%20who%20have%20spoken%20feedback%20on,%20but%20will%20be%20invisible%20to%20all%0A%20%20other%20users.%20It's%20removed%20right%20away%20so%20it%20doesn't%20clutter%20the%20DOM.%0A%20%20@param%20%7Bstring%7D%20msg%20The%20text%20to%20be%20pronounced.%0A%20/%0Afunction%20announceAccessibleMessage(msg)%20%7B%0A%20%20var%20element%20=%20document.createElement('div');%0A%20%20element.setAttribute('aria-live',%20'polite');%0A%20%20element.style.position%20=%20'fixed';%0A%20%20element.style.left%20=%20'-9999px';%0A%20%20element.style.height%20=%20'0px';%0A%20%20element.innerText%20=%20msg;%0A%20%20document.body.appendChild(element);%0A%20%20window.setTimeout(function()%20%7B%0A%20%20%20%20document.body.removeChild(element);%0A%20%20%7D,%200);%0A%7D%0A%0A/%0A%20%20Generates%20a%20CSS%20url%20string.%0A%20%20@param%20%7Bstring%7D%20s%20The%20URL%20to%20generate%20the%20CSS%20url%20for.%0A%20%20@return%20%7Bstring%7D%20The%20CSS%20url%20string.%0A%20/%0Afunction%20getUrlForCss(s)%20%7B%0A%20%20//%20http%3A//www.w3.org/TR/css3-values/%23uris%0A%20%20//%20Parentheses,%20commas,%20whitespace%20characters,%20single%20quotes%20(')%20and%20double%0A%20%20//%20quotes%20(%22)%20appearing%20in%20a%20URI%20must%20be%20escaped%20with%20a%20backslash%0A%20%20var%20s2%20=%20s.replace(/(%5C(%7C%5C)%7C%5C,%7C%5Cs%7C%5C'%7C%5C%22%7C%5C%5C)/g,%20'%5C%5C$1');%0A%20%20//%20WebKit%20has%20a%20bug%20when%20it%20comes%20to%20URLs%20that%20end%20with%20%5C%0A%20%20//%20https%3A//bugs.webkit.org/showbug.cgi%3Fid=28885%0A%20%20if%20(/%5C%5C%5C%5C$/.test(s2))%20%7B%0A%20%20%20%20//%20Add%20a%20space%20to%20work%20around%20the%20WebKit%20bug.%0A%20%20%20%20s2%20+=%20'%20';%0A%20%20%7D%0A%20%20return%20'url(%22'%20+%20s2%20+%20'%22)';%0A%7D%0A%0A/%0A%20%20Parses%20query%20parameters%20from%20Location.%0A%20%20@param%20%7BLocation%7D%20location%20The%20URL%20to%20generate%20the%20CSS%20url%20for.%0A%20%20@return%20%7BObject%7D%20Dictionary%20containing%20name%20value%20pairs%20for%20URL%0A%20/%0Afunction%20parseQueryParams(location)%20%7B%0A%20%20var%20params%20=%20%7B%7D;%0A%20%20var%20query%20=%20unescape(location.search.substring(1));%0A%20%20var%20vars%20=%20query.split('&');%0A%20%20for%20(var%20i%20=%200;%20i%20%3C%20vars.length;%20i++)%20%7B%0A%20%20%20%20var%20pair%20=%20vars%5Bi%5D.split('=');%0A%20%20%20%20params%5Bpair%5B0%5D%5D%20=%20pair%5B1%5D;%0A%20%20%7D%0A%20%20return%20params;%0A%7D%0A%0A/%0A%20%20Creates%20a%20new%20URL%20by%20appending%20or%20replacing%20the%20given%20query%20key%20and%20value.%0A%20%20Not%20supporting%20URL%20with%20username%20and%20password.%0A%20%20@param%20%7BLocation%7D%20location%20The%20original%20URL.%0A%20%20@param%20%7Bstring%7D%20key%20The%20query%20parameter%20name.%0A%20%20@param%20%7Bstring%7D%20value%20The%20query%20parameter%20value.%0A%20%20@return%20%7Bstring%7D%20The%20constructed%20new%20URL.%0A%20/%0Afunction%20setQueryParam(location,%20key,%20value)%20%7B%0A%20%20var%20query%20=%20parseQueryParams(location);%0A%20%20query%5BencodeURIComponent(key)%5D%20=%20encodeURIComponent(value);%0A%0A%20%20var%20newQuery%20=%20'';%0A%20%20for%20(var%20q%20in%20query)%20%7B%0A%20%20%20%20newQuery%20+=%20(newQuery%20%3F%20'&'%20%3A%20'%3F')%20+%20q%20+%20'='%20+%20query%5Bq%5D;%0A%20%20%7D%0A%0A%20%20return%20location.origin%20+%20location.pathname%20+%20newQuery%20+%20location.hash;%0A%7D%0A%0A/%0A%20%20@param%20%7BNode%7D%20el%20A%20node%20to%20search%20for%20ancestors%20with%20%7CclassName%7C.%0A%20%20@param%20%7Bstring%7D%20className%20A%20class%20to%20search%20for.%0A%20%20@return%20%7BElement%7D%20A%20node%20with%20class%20of%20%7CclassName%7C%20or%20null%20if%20none%20is%20found.%0A%20/%0Afunction%20findAncestorByClass(el,%20className)%20%7B%0A%20%20return%20/%20@type%20%7BElement%7D%20/%20(findAncestor(el,%20function(el)%20%7B%0A%20%20%20%20return%20el.classList%20&&%20el.classList.contains(className);%0A%20%20%7D));%0A%7D%0A%0A/%0A%20%20Return%20the%20first%20ancestor%20for%20which%20the%20%7B@code%20predicate%7D%20returns%20true.%0A%20%20@param%20%7BNode%7D%20node%20The%20node%20to%20check.%0A%20%20@param%20%7Bfunction(Node)%3Aboolean%7D%20predicate%20The%20function%20that%20tests%20the%0A%20%20%20%20%20%20nodes.%0A%20%20@return%20%7BNode%7D%20The%20found%20ancestor%20or%20null%20if%20not%20found.%0A%20/%0Afunction%20findAncestor(node,%20predicate)%20%7B%0A%20%20var%20last%20=%20false;%0A%20%20while%20(node%20!=%20null%20&&%20!(last%20=%20predicate(node)))%20%7B%0A%20%20%20%20node%20=%20node.parentNode;%0A%20%20%7D%0A%20%20return%20last%20%3F%20node%20%3A%20null;%0A%7D%0A%0Afunction%20swapDomNodes(a,%20b)%20%7B%0A%20%20var%20afterA%20=%20a.nextSibling;%0A%20%20if%20(afterA%20==%20b)%20%7B%0A%20%20%20%20swapDomNodes(b,%20a);%0A%20%20%20%20return;%0A%20%20%7D%0A%20%20var%20aParent%20=%20a.parentNode;%0A%20%20b.parentNode.replaceChild(a,%20b);%0A%20%20aParent.insertBefore(b,%20afterA);%0A%7D%0A%0A/%0A%20%20Disables%20text%20selection%20and%20dragging,%20with%20optional%20whitelist%20callbacks.%0A%20%20@param%20%7Bfunction(Event)%3Aboolean=%7D%20optallowSelectStart%20Unless%20this%20function%0A%20%20%20%20%20is%20defined%20and%20returns%20true,%20the%20onselectionstart%20event%20will%20be%0A%20%20%20%20%20surpressed.%0A%20%20@param%20%7Bfunction(Event)%3Aboolean=%7D%20optallowDragStart%20Unless%20this%20function%0A%20%20%20%20%20is%20defined%20and%20returns%20true,%20the%20ondragstart%20event%20will%20be%20surpressed.%0A%20/%0Afunction%20disableTextSelectAndDrag(optallowSelectStart,%20optallowDragStart)%20%7B%0A%20%20//%20Disable%20text%20selection.%0A%20%20document.onselectstart%20=%20function(e)%20%7B%0A%20%20%20%20if%20(!(optallowSelectStart%20&&%20optallowSelectStart.call(this,%20e)))%0A%20%20%20%20%20%20e.preventDefault();%0A%20%20%7D;%0A%0A%20%20//%20Disable%20dragging.%0A%20%20document.ondragstart%20=%20function(e)%20%7B%0A%20%20%20%20if%20(!(optallowDragStart%20&&%20optallowDragStart.call(this,%20e)))%0A%20%20%20%20%20%20e.preventDefault();%0A%20%20%7D;%0A%7D%0A%0A/%0A%20%20Check%20the%20directionality%20of%20the%20page.%0A%20%20@return%20%7Bboolean%7D%20True%20if%20Chrome%20is%20running%20an%20RTL%20UI.%0A%20/%0Afunction%20isRTL()%20%7B%0A%20%20return%20document.documentElement.dir%20==%20'rtl';%0A%7D%0A%0A/%0A%20%20Get%20an%20element%20that's%20known%20to%20exist%20by%20its%20ID.%20We%20use%20this%20instead%20of%20just%0A%20%20calling%20getElementById%20and%20not%20checking%20the%20result%20because%20this%20lets%20us%0A%20%20satisfy%20the%20JSCompiler%20type%20system.%0A%20%20@param%20%7Bstring%7D%20id%20The%20identifier%20name.%0A%20%20@return%20%7B!HTMLElement%7D%20the%20Element.%0A%20/%0Afunction%20getRequiredElement(id)%20%7B%0A%20%20return%20assertInstanceof(%0A%20%20%20%20%20%20$(id),%20HTMLElement,%20'Missing%20required%20element%3A%20'%20+%20id);%0A%7D%0A%0A/%0A%20%20Query%20an%20element%20that's%20known%20to%20exist%20by%20a%20selector.%20We%20use%20this%20instead%20of%0A%20%20just%20calling%20querySelector%20and%20not%20checking%20the%20result%20because%20this%20lets%20us%0A%20%20satisfy%20the%20JSCompiler%20type%20system.%0A%20%20@param%20%7Bstring%7D%20selectors%20CSS%20selectors%20to%20query%20the%20element.%0A%20%20@param%20%7B(!Document%7C!DocumentFragment%7C!Element)=%7D%20optcontext%20An%20optional%0A%20%20%20%20%20%20context%20object%20for%20querySelector.%0A%20%20@return%20%7B!HTMLElement%7D%20the%20Element.%0A%20/%0Afunction%20queryRequiredElement(selectors,%20optcontext)%20%7B%0A%20%20var%20element%20=%20(optcontext%20%7C%7C%20document).querySelector(selectors);%0A%20%20return%20assertInstanceof(%0A%20%20%20%20%20%20element,%20HTMLElement,%20'Missing%20required%20element%3A%20'%20+%20selectors);%0A%7D%0A%0A//%20Handle%20click%20on%20a%20link.%20If%20the%20link%20points%20to%20a%20chrome%3A%20or%20file%3A%20url,%20then%0A//%20call%20into%20the%20browser%20to%20do%20the%20navigation.%0A%5B'click',%20'auxclick'%5D.forEach(function(eventName)%20%7B%0A%20%20document.addEventListener(eventName,%20function(e)%20%7B%0A%20%20%20%20if%20(e.button%20%3E%201)%0A%20%20%20%20%20%20return;%20%20//%20Ignore%20buttons%20other%20than%20left%20and%20middle.%0A%20%20%20%20if%20(e.defaultPrevented)%0A%20%20%20%20%20%20return;%0A%0A%20%20%20%20var%20eventPath%20=%20e.path;%0A%20%20%20%20var%20anchor%20=%20null;%0A%20%20%20%20if%20(eventPath)%20%7B%0A%20%20%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20eventPath.length;%20i++)%20%7B%0A%20%20%20%20%20%20%20%20var%20element%20=%20eventPath%5Bi%5D;%0A%20%20%20%20%20%20%20%20if%20(element.tagName%20===%20'A'%20&&%20element.href)%20%7B%0A%20%20%20%20%20%20%20%20%20%20anchor%20=%20element;%0A%20%20%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20//%20Fallback%20if%20Event.path%20is%20not%20available.%0A%20%20%20%20var%20el%20=%20e.target;%0A%20%20%20%20if%20(!anchor%20&&%20el.nodeType%20==%20Node.ELEMENTNODE%20&&%0A%20%20%20%20%20%20%20%20el.webkitMatchesSelector('A,%20A%20'))%20%7B%0A%20%20%20%20%20%20while%20(el.tagName%20!=%20'A')%20%7B%0A%20%20%20%20%20%20%20%20el%20=%20el.parentElement;%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20anchor%20=%20el;%0A%20%20%20%20%7D%0A%0A%20%20%20%20if%20(!anchor)%0A%20%20%20%20%20%20return;%0A%0A%20%20%20%20anchor%20=%20/%20@type%20%7B!HTMLAnchorElement%7D%20/%20(anchor);%0A%20%20%20%20if%20((anchor.protocol%20==%20'file%3A'%20%7C%7C%20anchor.protocol%20==%20'about%3A')%20&&%0A%20%20%20%20%20%20%20%20(e.button%20==%200%20%7C%7C%20e.button%20==%201))%20%7B%0A%20%20%20%20%20%20chrome.send('navigateToUrl',%20%5B%0A%20%20%20%20%20%20%20%20anchor.href,%20anchor.target,%20e.button,%20e.altKey,%20e.ctrlKey,%20e.metaKey,%0A%20%20%20%20%20%20%20%20e.shiftKey%0A%20%20%20%20%20%20%5D);%0A%20%20%20%20%20%20e.preventDefault();%0A%20%20%20%20%7D%0A%20%20%7D);%0A%7D);%0A%0A/%0A%20%20Creates%20a%20new%20URL%20which%20is%20the%20old%20URL%20with%20a%20GET%20param%20of%20key=value.%0A%20%20@param%20%7Bstring%7D%20url%20The%20base%20URL.%20There%20is%20not%20sanity%20checking%20on%20the%20URL%20so%0A%20%20%20%20%20%20it%20must%20be%20passed%20in%20a%20proper%20format.%0A%20%20@param%20%7Bstring%7D%20key%20The%20key%20of%20the%20param.%0A%20%20@param%20%7Bstring%7D%20value%20The%20value%20of%20the%20param.%0A%20%20@return%20%7Bstring%7D%20The%20new%20URL.%0A%20/%0Afunction%20appendParam(url,%20key,%20value)%20%7B%0A%20%20var%20param%20=%20encodeURIComponent(key)%20+%20'='%20+%20encodeURIComponent(value);%0A%0A%20%20if%20(url.indexOf('%3F')%20==%20-1)%0A%20%20%20%20return%20url%20+%20'%3F'%20+%20param;%0A%20%20return%20url%20+%20'&'%20+%20param;%0A%7D%0A%0A/%0A%20%20Creates%20an%20element%20of%20a%20specified%20type%20with%20a%20specified%20class%20name.%0A%20%20@param%20%7Bstring%7D%20type%20The%20node%20type.%0A%20%20@param%20%7Bstring%7D%20className%20The%20class%20name%20to%20use.%0A%20%20@return%20%7BElement%7D%20The%20created%20element.%0A%20/%0Afunction%20createElementWithClassName(type,%20className)%20%7B%0A%20%20var%20elm%20=%20document.createElement(type);%0A%20%20elm.className%20=%20className;%0A%20%20return%20elm;%0A%7D%0A%0A/%0A%20%20transitionend%20does%20not%20always%20fire%20(e.g.%20when%20animation%20is%20aborted%0A%20%20or%20when%20no%20paint%20happens%20during%20the%20animation).%20This%20function%20sets%20up%0A%20%20a%20timer%20and%20emulate%20the%20event%20if%20it%20is%20not%20fired%20when%20the%20timer%20expires.%0A%20%20@param%20%7B!HTMLElement%7D%20el%20The%20element%20to%20watch%20for%20transitionend.%0A%20%20@param%20%7Bnumber=%7D%20opttimeOut%20The%20maximum%20wait%20time%20in%20milliseconds%20for%20the%0A%20%20%20%20%20%20transitionend%20to%20happen.%20If%20not%20specified,%20it%20is%20fetched%20from%20%7Cel%7C%0A%20%20%20%20%20%20using%20the%20transitionDuration%20style%20value.%0A%20/%0Afunction%20ensureTransitionEndEvent(el,%20opttimeOut)%20%7B%0A%20%20if%20(opttimeOut%20===%20undefined)%20%7B%0A%20%20%20%20var%20style%20=%20getComputedStyle(el);%0A%20%20%20%20opttimeOut%20=%20parseFloat(style.transitionDuration)%20%201000;%0A%0A%20%20%20%20//%20Give%20an%20additional%2050ms%20buffer%20for%20the%20animation%20to%20complete.%0A%20%20%20%20opttimeOut%20+=%2050;%0A%20%20%7D%0A%0A%20%20var%20fired%20=%20false;%0A%20%20el.addEventListener('transitionend',%20function%20f(e)%20%7B%0A%20%20%20%20el.removeEventListener('transitionend',%20f);%0A%20%20%20%20fired%20=%20true;%0A%20%20%7D);%0A%20%20window.setTimeout(function()%20%7B%0A%20%20%20%20if%20(!fired)%0A%20%20%20%20%20%20cr.dispatchSimpleEvent(el,%20'transitionend',%20true);%0A%20%20%7D,%20opttimeOut);%0A%7D%0A%0A/%0A%20%20Alias%20for%20document.scrollTop%20getter.%0A%20%20@param%20%7B!HTMLDocument%7D%20doc%20The%20document%20node%20where%20information%20will%20be%0A%20%20%20%20%20%20queried%20from.%0A%20%20@return%20%7Bnumber%7D%20The%20Y%20document%20scroll%20offset.%0A%20/%0Afunction%20scrollTopForDocument(doc)%20%7B%0A%20%20return%20doc.documentElement.scrollTop%20%7C%7C%20doc.body.scrollTop;%0A%7D%0A%0A/%0A%20%20Alias%20for%20document.scrollTop%20setter.%0A%20%20@param%20%7B!HTMLDocument%7D%20doc%20The%20document%20node%20where%20information%20will%20be%0A%20%20%20%20%20%20queried%20from.%0A%20%20@param%20%7Bnumber%7D%20value%20The%20target%20Y%20scroll%20offset.%0A%20/%0Afunction%20setScrollTopForDocument(doc,%20value)%20%7B%0A%20%20doc.documentElement.scrollTop%20=%20doc.body.scrollTop%20=%20value;%0A%7D%0A%0A/%0A%20%20Alias%20for%20document.scrollLeft%20getter.%0A%20%20@param%20%7B!HTMLDocument%7D%20doc%20The%20document%20node%20where%20information%20will%20be%0A%20%20%20%20%20%20queried%20from.%0A%20%20@return%20%7Bnumber%7D%20The%20X%20document%20scroll%20offset.%0A%20/%0Afunction%20scrollLeftForDocument(doc)%20%7B%0A%20%20return%20doc.documentElement.scrollLeft%20%7C%7C%20doc.body.scrollLeft;%0A%7D%0A%0A/%0A%20%20Alias%20for%20document.scrollLeft%20setter.%0A%20%20@param%20%7B!HTMLDocument%7D%20doc%20The%20document%20node%20where%20information%20will%20be%0A%20%20%20%20%20%20queried%20from.%0A%20%20@param%20%7Bnumber%7D%20value%20The%20target%20X%20scroll%20offset.%0A%20/%0Afunction%20setScrollLeftForDocument(doc,%20value)%20%7B%0A%20%20doc.documentElement.scrollLeft%20=%20doc.body.scrollLeft%20=%20value;%0A%7D%0A%0A/%0A%20%20Replaces%20'&',%20'%3C',%20'%3E',%20'%22',%20and%20'''%20characters%20with%20their%20HTML%20encoding.%0A%20%20@param%20%7Bstring%7D%20original%20The%20original%20string.%0A%20%20@return%20%7Bstring%7D%20The%20string%20with%20all%20the%20characters%20mentioned%20above%20replaced.%0A%20/%0Afunction%20HTMLEscape(original)%20%7B%0A%20%20return%20original.replace(/&/g,%20'&')%0A%20%20%20%20%20%20.replace(/%3C/g,%20'<')%0A%20%20%20%20%20%20.replace(/%3E/g,%20'>')%0A%20%20%20%20%20%20.replace(/%22/g,%20'"')%0A%20%20%20%20%20%20.replace(/'/g,%20'&%2339;');%0A%7D%0A%0A/%0A%20%20Shortens%20the%20provided%20string%20(if%20necessary)%20to%20a%20string%20of%20length%20at%20most%0A%20%20%7CmaxLength%7C.%0A%20%20@param%20%7Bstring%7D%20original%20The%20original%20string.%0A%20%20@param%20%7Bnumber%7D%20maxLength%20The%20maximum%20length%20allowed%20for%20the%20string.%0A%20%20@return%20%7Bstring%7D%20The%20original%20string%20if%20its%20length%20does%20not%20exceed%0A%20%20%20%20%20%20%7CmaxLength%7C.%20Otherwise%20the%20first%20%7CmaxLength%7C%20-%201%20characters%20with%20'…'%0A%20%20%20%20%20%20appended.%0A%20/%0Afunction%20elide(original,%20maxLength)%20%7B%0A%20%20if%20(original.length%20%3C=%20maxLength)%0A%20%20%20%20return%20original;%0A%20%20return%20original.substring(0,%20maxLength%20-%201)%20+%20'%5Cu2026';%0A%7D%0A%0A/%0A%20%20Quote%20a%20string%20so%20it%20can%20be%20used%20in%20a%20regular%20expression.%0A%20%20@param%20%7Bstring%7D%20str%20The%20source%20string.%0A%20%20@return%20%7Bstring%7D%20The%20escaped%20string.%0A%20/%0Afunction%20quoteString(str)%20%7B%0A%20%20return%20str.replace(/(%5B%5C%5C%5C.%5C+%5C%5C%3F%5C%5B%5C%5E%5C%5D%5C$%5C(%5C)%5C%7B%5C%7D%5C=%5C!%5C%3C%5C%3E%5C%7C%5C%3A%5D)/g,%20'%5C%5C$1');%0A%7D%0A%0A/%0A%20%20Calls%20%7Ccallback%7C%20and%20stops%20listening%20the%20first%20time%20any%20event%20in%20%7CeventNames%7C%0A%20%20is%20triggered%20on%20%7Ctarget%7C.%0A%20%20@param%20%7B!EventTarget%7D%20target%0A%20%20@param%20%7B!Array%3Cstring%3E%7Cstring%7D%20eventNames%20Array%20or%20space-delimited%20string%20of%0A%20%20%20%20%20%20event%20names%20to%20listen%20to%20(e.g.%20'click%20mousedown').%0A%20%20@param%20%7Bfunction(!Event)%7D%20callback%20Called%20at%20most%20once.%20The%0A%20%20%20%20%20%20optional%20return%20value%20is%20passed%20on%20by%20the%20listener.%0A%20/%0Afunction%20listenOnce(target,%20eventNames,%20callback)%20%7B%0A%20%20if%20(!Array.isArray(eventNames))%0A%20%20%20%20eventNames%20=%20eventNames.split(/%20+/);%0A%0A%20%20var%20removeAllAndCallCallback%20=%20function(event)%20%7B%0A%20%20%20%20eventNames.forEach(function(eventName)%20%7B%0A%20%20%20%20%20%20target.removeEventListener(eventName,%20removeAllAndCallCallback,%20false);%0A%20%20%20%20%7D);%0A%20%20%20%20return%20callback(event);%0A%20%20%7D;%0A%0A%20%20eventNames.forEach(function(eventName)%20%7B%0A%20%20%20%20target.addEventListener(eventName,%20removeAllAndCallCallback,%20false);%0A%20%20%7D);%0A%7D%0A%0A//%20%20%20/%20isios%20/%0A%0A/%0A%20%20@param%20%7B!Event%7D%20e%0A%20%20@return%20%7Bboolean%7D%20Whether%20a%20modifier%20key%20was%20down%20when%20processing%20%7Ce%7C.%0A%20/%0Afunction%20hasKeyModifiers(e)%20%7B%0A%20%20return%20!!(e.altKey%20%7C%7C%20e.ctrlKey%20%7C%7C%20e.metaKey%20%7C%7C%20e.shiftKey);%0A%7D%0A%3C/script%3E%0A%20%20%3Cscript%3E//%20Copyright%202014%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0Avar%20CAPTIVEPORTALCMDOPENLOGINPAGE%20=%20'openLoginPage';%0A%3C/script%3E%0A%20%20%3Cscript%3E//%20Copyright%202014%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0Afunction%20setupSSLDebuggingInfo()%20%7B%0A%20%20if%20(loadTimeData.getString('type')%20!=%20'SSL')%0A%20%20%20%20return;%0A%0A%20%20//%20The%20titles%20are%20not%20internationalized%20because%20this%20is%20debugging%20information%0A%20%20//%20for%20bug%20reports,%20help%20center%20posts,%20etc.%0A%20%20appendDebuggingField('Subject',%20loadTimeData.getString('subject'));%0A%20%20appendDebuggingField('Issuer',%20loadTimeData.getString('issuer'));%0A%20%20appendDebuggingField('Expires%20on',%20loadTimeData.getString('expirationDate'));%0A%20%20appendDebuggingField('Current%20date',%20loadTimeData.getString('currentDate'));%0A%20%20appendDebuggingField('PEM%20encoded%20chain',%20loadTimeData.getString('pem'),%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20true);%0A%0A%20%20$('error-code').addEventListener('click',%20toggleDebuggingInfo);%0A%7D%0A%3C/script%3E%0A%20%20%3Cscript%3E//%20Copyright%202015%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A'use%20strict';%0A%0A//%20Other%20constants%20defined%20in%20securityinterstitialpage.h.%0Avar%20SBBOXCHECKED%20=%20'boxchecked';%0Avar%20SBDISPLAYCHECKBOX%20=%20'displaycheckbox';%0A%0A//%20This%20sets%20up%20the%20Extended%20Safe%20Browsing%20Reporting%20opt-in,%20either%20for%0A//%20reporting%20malware%20or%20invalid%20certificate%20chains.%20Does%20nothing%20if%20the%0A//%20interstitial%20type%20is%20not%20SAFEBROWSING%20or%20SSL%20or%20CAPTIVEPORTAL.%0Afunction%20setupExtendedReportingCheckbox()%20%7B%0A%20%20var%20interstitialType%20=%20loadTimeData.getString('type');%0A%20%20if%20(interstitialType%20!=%20'SAFEBROWSING'%20&&%20interstitialType%20!=%20'SSL'%20&&%0A%20%20%20%20%20%20interstitialType%20!=%20'CAPTIVEPORTAL')%20%7B%0A%20%20%20%20return;%0A%20%20%7D%0A%0A%20%20if%20(!loadTimeData.getBoolean(SBDISPLAYCHECKBOX))%20%7B%0A%20%20%20%20return;%0A%20%20%7D%0A%0A%20%20$('opt-in-label').innerHTML%20=%20loadTimeData.getString('optInLink');%0A%20%20$('opt-in-checkbox').checked%20=%20loadTimeData.getBoolean(SBBOXCHECKED);%0A%20%20$('extended-reporting-opt-in').classList.remove('hidden');%0A%0A%20%20var%20className%20=%20interstitialType%20==%20'SAFEBROWSING'%20%3F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'safe-browsing-opt-in'%20%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'ssl-opt-in';%0A%20%20$('extended-reporting-opt-in').classList.add(className);%0A%0A%20%20$('body').classList.add('extended-reporting-has-checkbox');%0A%0A%20%20if%20($('whitepaper-link'))%20%7B%0A%20%20%20%20$('whitepaper-link').addEventListener('click',%20function(event)%20%7B%0A%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDOPENWHITEPAPER);%0A%20%20%20%20%7D);%0A%20%20%7D%0A%0A%20%20$('opt-in-checkbox').addEventListener('click',%20function()%20%7B%0A%20%20%20%20sendCommand($('opt-in-checkbox').checked%20%3F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20SecurityInterstitialCommandId.CMDDOREPORT%20%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20SecurityInterstitialCommandId.CMDDONTREPORT);%0A%20%20%7D);%0A%7D%0A%3C/script%3E%0A%20%20%3Cscript%3E//%20Copyright%202015%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0Avar%20mobileNav%20=%20false;%0A%0A/%0A%20%20For%20small%20screen%20mobile%20the%20navigation%20buttons%20are%20moved%0A%20%20below%20the%20advanced%20text.%0A%20/%0Afunction%20onResize()%20%7B%0A%20%20var%20helpOuterBox%20=%20document.querySelector('%23details');%0A%20%20var%20mainContent%20=%20document.querySelector('%23main-content');%0A%20%20var%20mediaQuery%20=%20'(min-width%3A%20240px)%20and%20(max-width%3A%20420px)%20and%20'%20+%0A%20%20%20%20%20%20'(min-height%3A%20401px),%20'%20+%0A%20%20%20%20%20%20'(max-height%3A%20560px)%20and%20(min-height%3A%20240px)%20and%20'%20+%0A%20%20%20%20%20%20'(min-width%3A%20421px)';%0A%0A%20%20var%20detailsHidden%20=%20helpOuterBox.classList.contains(HIDDENCLASS);%0A%20%20var%20runnerContainer%20=%20document.querySelector('.runner-container');%0A%0A%20%20//%20Check%20for%20change%20in%20nav%20status.%0A%20%20if%20(mobileNav%20!=%20window.matchMedia(mediaQuery).matches)%20%7B%0A%20%20%20%20mobileNav%20=%20!mobileNav;%0A%0A%20%20%20%20//%20Handle%20showing%20the%20top%20content%20/%20details%20sections%20according%20to%20state.%0A%20%20%20%20if%20(mobileNav)%20%7B%0A%20%20%20%20%20%20mainContent.classList.toggle(HIDDENCLASS,%20!detailsHidden);%0A%20%20%20%20%20%20helpOuterBox.classList.toggle(HIDDENCLASS,%20detailsHidden);%0A%20%20%20%20%20%20if%20(runnerContainer)%20%7B%0A%20%20%20%20%20%20%20%20runnerContainer.classList.toggle(HIDDENCLASS,%20!detailsHidden);%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%20else%20if%20(!detailsHidden)%20%7B%0A%20%20%20%20%20%20//%20Non%20mobile%20nav%20with%20visible%20details.%0A%20%20%20%20%20%20mainContent.classList.remove(HIDDENCLASS);%0A%20%20%20%20%20%20helpOuterBox.classList.remove(HIDDENCLASS);%0A%20%20%20%20%20%20if%20(runnerContainer)%20%7B%0A%20%20%20%20%20%20%20%20runnerContainer.classList.remove(HIDDENCLASS);%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afunction%20setupMobileNav()%20%7B%0A%20%20window.addEventListener('resize',%20onResize);%0A%20%20onResize();%0A%7D%0A%0Adocument.addEventListener('DOMContentLoaded',%20setupMobileNav);%0A%3C/script%3E%0A%20%20%3Cscript%3E//%20Copyright%202017%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A//%20This%20is%20the%20shared%20code%20for%20security%20interstitials.%20It%20is%20used%20for%20both%20SSL%0A//%20interstitials%20and%20Safe%20Browsing%20interstitials.%0A%0A//%20Should%20match%20securityinterstitials%3A%3ASecurityInterstitialCommand%0A/%20@enum%7C%20%7Bstring%7D%20/%0Avar%20SecurityInterstitialCommandId%20=%20%7B%0A%20%20CMDDONTPROCEED%3A%200,%0A%20%20CMDPROCEED%3A%201,%0A%20%20//%20Ways%20for%20user%20to%20get%20more%20information%0A%20%20CMDSHOWMORESECTION%3A%202,%0A%20%20CMDOPENHELPCENTER%3A%203,%0A%20%20CMDOPENDIAGNOSTIC%3A%204,%0A%20%20//%20Primary%20button%20actions%0A%20%20CMDRELOAD%3A%205,%0A%20%20CMDOPENDATESETTINGS%3A%206,%0A%20%20CMDOPENLOGIN%3A%207,%0A%20%20//%20Safe%20Browsing%20Extended%20Reporting%0A%20%20CMDDOREPORT%3A%208,%0A%20%20CMDDONTREPORT%3A%209,%0A%20%20CMDOPENREPORTINGPRIVACY%3A%2010,%0A%20%20CMDOPENWHITEPAPER%3A%2011,%0A%20%20//%20Report%20a%20phishing%20error.%0A%20%20CMDREPORTPHISHINGERROR%3A%2012%0A%7D;%0A%0Avar%20HIDDENCLASS%20=%20'hidden';%0A%0A/%0A%20%20A%20convenience%20method%20for%20sending%20commands%20to%20the%20parent%20page.%0A%20%20@param%20%7Bstring%7D%20cmd%20%20The%20command%20to%20send.%0A%20/%0Afunction%20sendCommand(cmd)%20%7B%0A%20%20if%20(window.certificateErrorPageController)%20%7B%0A%20%20%20%20switch%20(cmd)%20%7B%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDDONTPROCEED%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.dontProceed();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDPROCEED%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.proceed();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDSHOWMORESECTION%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.showMoreSection();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDOPENHELPCENTER%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.openHelpCenter();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDOPENDIAGNOSTIC%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.openDiagnostic();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDRELOAD%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.reload();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDOPENDATESETTINGS%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.openDateSettings();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDOPENLOGIN%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.openLogin();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDDOREPORT%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.doReport();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDDONTREPORT%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.dontReport();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDOPENREPORTINGPRIVACY%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.openReportingPrivacy();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDOPENWHITEPAPER%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.openWhitepaper();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20case%20SecurityInterstitialCommandId.CMDREPORTPHISHINGERROR%3A%0A%20%20%20%20%20%20%20%20certificateErrorPageController.reportPhishingError();%0A%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%7D%0A%20%20%20%20return;%0A%20%20%7D%0A//%20%0A%20%20window.domAutomationController.send(cmd);%0A//%20%0A//%20%0A%7D%0A%0A/%0A%20%20Call%20this%20to%20stop%20clicks%20on%20%3Ca%20href=%22%23%22%3E%20links%20from%20scrolling%20to%20the%20top%20of%0A%20%20the%20page%20(and%20possibly%20showing%20a%20%23%20in%20the%20link).%0A%20/%0Afunction%20preventDefaultOnPoundLinkClicks()%20%7B%0A%20%20document.addEventListener('click',%20function(e)%20%7B%0A%20%20%20%20var%20anchor%20=%20findAncestor(/%20@type%20%7BNode%7D%20/%20(e.target),%20function(el)%20%7B%0A%20%20%20%20%20%20return%20el.tagName%20==%20'A';%0A%20%20%20%20%7D);%0A%20%20%20%20//%20Use%20getAttribute()%20to%20prevent%20URL%20normalization.%0A%20%20%20%20if%20(anchor%20&&%20anchor.getAttribute('href')%20==%20'%23')%0A%20%20%20%20%20%20e.preventDefault();%0A%20%20%7D);%0A%7D%0A%3C/script%3E%0A%20%20%3Cscript%3E//%20Copyright%202014%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A//%20This%20is%20the%20shared%20code%20for%20the%20new%20(Chrome%2037)%20security%20interstitials.%20It%20is%0A//%20used%20for%20both%20SSL%20interstitials%20and%20Safe%20Browsing%20interstitials.%0A%0Avar%20expandedDetails%20=%20false;%0Avar%20keyPressState%20=%200;%0A%0A/%0A%20%20This%20allows%20errors%20to%20be%20skippped%20by%20typing%20a%20secret%20phrase%20into%20the%20page.%0A%20%20@param%20%7Bstring%7D%20e%20The%20key%20that%20was%20just%20pressed.%0A%20/%0Afunction%20handleKeypress(e)%20%7B%0A%20%20//%20HTTPS%20errors%20are%20serious%20and%20should%20not%20be%20ignored.%20For%20testing%20purposes,%0A%20%20//%20other%20approaches%20are%20both%20safer%20and%20have%20fewer%20side-effects.%0A%20%20//%20See%20https%3A//goo.gl/ZcZixP%20for%20more%20details.%0A%20%20var%20BYPASSSEQUENCE%20=%20window.atob('dGhpc2lzdW5zYWZl');%0A%20%20if%20(BYPASSSEQUENCE.charCodeAt(keyPressState)%20==%20e.keyCode)%20%7B%0A%20%20%20%20keyPressState++;%0A%20%20%20%20if%20(keyPressState%20==%20BYPASSSEQUENCE.length)%20%7B%0A%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDPROCEED);%0A%20%20%20%20%20%20keyPressState%20=%200;%0A%20%20%20%20%7D%0A%20%20%7D%20else%20%7B%0A%20%20%20%20keyPressState%20=%200;%0A%20%20%7D%0A%7D%0A%0A/%0A%20%20This%20appends%20a%20piece%20of%20debugging%20information%20to%20the%20end%20of%20the%20warning.%0A%20%20When%20complete,%20the%20caller%20must%20also%20make%20the%20debugging%20div%0A%20%20(error-debugging-info)%20visible.%0A%20%20@param%20%7Bstring%7D%20title%20%20The%20name%20of%20this%20debugging%20field.%0A%20%20@param%20%7Bstring%7D%20value%20%20The%20value%20of%20the%20debugging%20field.%0A%20%20@param%20%7Bboolean=%7D%20fixedWidth%20If%20true,%20the%20value%20field%20is%20displayed%20fixed%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20width.%0A%20/%0Afunction%20appendDebuggingField(title,%20value,%20fixedWidth)%20%7B%0A%20%20//%20The%20values%20input%20here%20are%20not%20trusted.%20Never%20use%20innerHTML%20on%20these%0A%20%20//%20values!%0A%20%20var%20spanTitle%20=%20document.createElement('span');%0A%20%20spanTitle.classList.add('debugging-title');%0A%20%20spanTitle.innerText%20=%20title%20+%20'%3A%20';%0A%0A%20%20var%20spanValue%20=%20document.createElement('span');%0A%20%20spanValue.classList.add('debugging-content');%0A%20%20if%20(fixedWidth)%20%7B%0A%20%20%20%20spanValue.classList.add('debugging-content-fixed-width');%0A%20%20%7D%0A%20%20spanValue.innerText%20=%20value;%0A%0A%20%20var%20pElem%20=%20document.createElement('p');%0A%20%20pElem.classList.add('debugging-content');%0A%20%20pElem.appendChild(spanTitle);%0A%20%20pElem.appendChild(spanValue);%0A%20%20$('error-debugging-info').appendChild(pElem);%0A%7D%0A%0Afunction%20toggleDebuggingInfo()%20%7B%0A%20%20$('error-debugging-info').classList.toggle(HIDDENCLASS);%0A%7D%0A%0Afunction%20setupEvents()%20%7B%0A%20%20var%20overridable%20=%20loadTimeData.getBoolean('overridable');%0A%20%20var%20interstitialType%20=%20loadTimeData.getString('type');%0A%20%20var%20ssl%20=%20interstitialType%20==%20'SSL';%0A%20%20var%20captivePortal%20=%20interstitialType%20==%20'CAPTIVEPORTAL';%0A%20%20var%20badClock%20=%20ssl%20&&%20loadTimeData.getBoolean('badclock');%0A%20%20var%20hidePrimaryButton%20=%20loadTimeData.getBoolean('hideprimarybutton');%0A%0A%20%20if%20(ssl)%20%7B%0A%20%20%20%20$('body').classList.add(badClock%20%3F%20'bad-clock'%20%3A%20'ssl');%0A%20%20%20%20$('error-code').textContent%20=%20loadTimeData.getString('errorCode');%0A%20%20%20%20$('error-code').classList.remove(HIDDENCLASS);%0A%20%20%7D%20else%20if%20(captivePortal)%20%7B%0A%20%20%20%20$('body').classList.add('captive-portal');%0A%20%20%7D%20else%20%7B%0A%20%20%20%20$('body').classList.add('safe-browsing');%0A%20%20%7D%0A%0A%20%20$('icon').classList.add('icon');%0A%0A%20%20if%20(hidePrimaryButton)%20%7B%0A%20%20%20%20$('primary-button').classList.add(HIDDENCLASS);%0A%20%20%7D%20else%20%7B%0A%20%20%20%20$('primary-button').addEventListener('click',%20function()%20%7B%0A%20%20%20%20%20%20switch%20(interstitialType)%20%7B%0A%20%20%20%20%20%20%20%20case%20'CAPTIVEPORTAL'%3A%0A%20%20%20%20%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDOPENLOGIN);%0A%20%20%20%20%20%20%20%20%20%20break;%0A%0A%20%20%20%20%20%20%20%20case%20'SSL'%3A%0A%20%20%20%20%20%20%20%20%20%20if%20(badClock)%0A%20%20%20%20%20%20%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDOPENDATESETTINGS);%0A%20%20%20%20%20%20%20%20%20%20else%20if%20(overridable)%0A%20%20%20%20%20%20%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDDONTPROCEED);%0A%20%20%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDRELOAD);%0A%20%20%20%20%20%20%20%20%20%20break;%0A%0A%20%20%20%20%20%20%20%20case%20'SAFEBROWSING'%3A%0A%20%20%20%20%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDDONTPROCEED);%0A%20%20%20%20%20%20%20%20%20%20break;%0A%0A%20%20%20%20%20%20%20%20default%3A%0A%20%20%20%20%20%20%20%20%20%20throw%20'Invalid%20interstitial%20type';%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D);%0A%20%20%7D%0A%0A%20%20if%20(overridable)%20%7B%0A%20%20%20%20//%20Captive%20portal%20page%20isn't%20overridable.%0A%20%20%20%20$('proceed-link').addEventListener('click',%20function(event)%20%7B%0A%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDPROCEED);%0A%20%20%20%20%7D);%0A%20%20%7D%20else%20if%20(!ssl)%20%7B%0A%20%20%20%20$('final-paragraph').classList.add(HIDDENCLASS);%0A%20%20%7D%0A%0A%20%20if%20(ssl%20&&%20overridable)%20%7B%0A%20%20%20%20$('proceed-link').classList.add('small-link');%0A%20%20%7D%0A%0A%20%20if%20($('diagnostic-link'))%20%7B%0A%20%20%20%20$('diagnostic-link').addEventListener('click',%20function(event)%20%7B%0A%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDOPENDIAGNOSTIC);%0A%20%20%20%20%7D);%0A%20%20%7D%0A%0A%20%20if%20($('learn-more-link'))%20%7B%0A%20%20%20%20$('learn-more-link').addEventListener('click',%20function(event)%20%7B%0A%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDOPENHELPCENTER);%0A%20%20%20%20%7D);%0A%20%20%7D%0A%0A%20%20if%20(captivePortal)%20%7B%0A%20%20%20%20//%20Captive%20portal%20page%20doesn't%20have%20details%20button.%0A%20%20%20%20$('details-button').classList.add('hidden');%0A%20%20%7D%20else%20%7B%0A%20%20%20%20$('details-button').addEventListener('click',%20function(event)%20%7B%0A%20%20%20%20%20%20var%20hiddenDetails%20=%20$('details').classList.toggle(HIDDENCLASS);%0A%0A%20%20%20%20%20%20if%20(mobileNav)%20%7B%0A%20%20%20%20%20%20%20%20//%20Details%20appear%20over%20the%20main%20content%20on%20small%20screens.%0A%20%20%20%20%20%20%20%20$('main-content').classList.toggle(HIDDENCLASS,%20!hiddenDetails);%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20$('main-content').classList.remove(HIDDENCLASS);%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20$('details-button').innerText%20=%20hiddenDetails%20%3F%0A%20%20%20%20%20%20%20%20%20%20loadTimeData.getString('openDetails')%20%3A%0A%20%20%20%20%20%20%20%20%20%20loadTimeData.getString('closeDetails');%0A%20%20%20%20%20%20if%20(!expandedDetails)%20%7B%0A%20%20%20%20%20%20%20%20//%20Record%20a%20histogram%20entry%20only%20the%20first%20time%20that%20details%20is%20opened.%0A%20%20%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDSHOWMORESECTION);%0A%20%20%20%20%20%20%20%20expandedDetails%20=%20true;%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D);%0A%20%20%7D%0A%0A%20%20if%20($('report-error-link'))%20%7B%0A%20%20%20%20$('report-error-link').addEventListener('click',%20function(event)%20%7B%0A%20%20%20%20%20%20sendCommand(SecurityInterstitialCommandId.CMDREPORTPHISHINGERROR);%0A%20%20%20%20%7D);%0A%20%20%7D%0A%0A%20%20preventDefaultOnPoundLinkClicks();%0A%20%20setupExtendedReportingCheckbox();%0A%20%20setupSSLDebuggingInfo();%0A%20%20document.addEventListener('keypress',%20handleKeypress);%0A%7D%0A%0Adocument.addEventListener('DOMContentLoaded',%20setupEvents);%0A%3C/script%3E%0A%3C/head%3E%0A%3Cbody%20id=%22body%22%3E%0A%20%20%3Cdiv%20class=%22interstitial-wrapper%22%3E%0A%20%20%20%20%3Cdiv%20id=%22main-content%22%3E%0A%20%20%20%20%20%20%3Cdiv%20class=%22icon%22%20id=%22icon%22%3E%3C/div%3E%0A%20%20%20%20%20%20%3Cdiv%20id=%22main-message%22%3E%0A%20%20%20%20%20%20%20%20%3Ch1%3EAnslutningen%20%C3%A4r%20inte%20privat%3C/h1%3E%0A%20%20%20%20%20%20%20%20%3Cp%3EEn%20angripare%20kan%20f%C3%B6rs%C3%B6ka%20stj%C3%A4la%20dina%20uppgifter%20fr%C3%A5n%20%3Cstrong%3Eifokus.se%3C/strong%3E%20(t.ex.%20l%C3%B6senord,%20meddelanden%20eller%20kreditkortsuppgifter).%20%3Ca%20href=%22%23%22%20id=%22learn-more-link%22%3EL%C3%A4s%20mer%3C/a%3E%3C/p%3E%0A%20%20%20%20%20%20%20%20%3Cdiv%20id=%22debugging%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22error-code%22%20class=%22error-code%22%3E%3C/div%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id=%22error-debugging-info%22%20class=%22hidden%22%3E%3C/div%3E%0A%20%20%20%20%20%20%20%20%3C/div%3E%0A%20%20%20%20%20%20%3C/div%3E%0A%20%20%20%20%20%20%3Cdiv%20id=%22extended-reporting-opt-in%22%20class=%22hidden%22%3E%0A%20%20%20%20%20%20%20%20%3Clabel%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=%22checkboxes%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type=%22checkbox%22%20id=%22opt-in-checkbox%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class=%22checkbox%22%3E%3C/span%3E%0A%20%20%20%20%20%20%20%20%20%20%3C/div%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cspan%20id=%22opt-in-label%22%3E%3C/span%3E%0A%20%20%20%20%20%20%20%20%3C/label%3E%0A%20%20%20%20%20%20%3C/div%3E%0A%20%20%20%20%3C/div%3E%0A%20%20%20%20%3Cdiv%20class=%22nav-wrapper%22%3E%0A%20%20%20%20%20%20%3Cbutton%20id=%22primary-button%22%3EH%C3%A4mta%20igen%3C/button%3E%0A%20%20%20%20%20%20%3Cbutton%20id=%22details-button%22%20class=%22small-link%22%3E%0A%20%20%20%20%20%20%20%20Avancerat%0A%20%20%20%20%20%20%3C/button%3E%0A%20%20%20%20%3C/div%3E%0A%20%20%20%20%3Cdiv%20id=%22details%22%20class=%22hidden%22%3E%0A%20%20%20%20%20%20%3Cp%3EP%C3%A5%20ifokus.se%20anv%C3%A4nds%20vanligtvis%20kryptering%20(SSL)%20f%C3%B6r%20att%20skydda%20din%20information.%20N%C3%A4r%20Chrome%20f%C3%B6rs%C3%B6kte%20ansluta%20till%20ifokus.se%20den%20h%C3%A4r%20g%C3%A5ngen%20skickade%20webbplatsen%20tillbaka%20ovanliga%20och%20felaktiga%20uppgifter.%20S%C3%A5dant%20kan%20h%C3%A4nda%20n%C3%A4r%20en%20angripare%20utger%20sig%20f%C3%B6r%20att%20vara%20ifokus.se%20eller%20n%C3%A4r%20anslutningen%20har%20avbrutits%20av%20en%20Wi-Fi-inloggningssk%C3%A4rm.%20Din%20information%20%C3%A4r%20fortfarande%20s%C3%A4ker%20eftersom%20Chrome%20avbr%C3%B6t%20anslutningen%20innan%20n%C3%A5gon%20data%20utbyttes.%3C/p%3E%0A%20%20%20%20%20%20%3Cp%20id=%22final-paragraph%22%3EDu%20kan%20inte%20bes%C3%B6ka%20ifokus.se%20just%20nu%20eftersom%20webbplatsen%20anv%C3%A4nder%20HSTS.%20N%C3%A4tverksfel%20och%20attacker%20%C3%A4r%20ofta%20tillf%C3%A4lliga,%20s%C3%A5%20sidan%20kommer%20f%C3%B6rmodligen%20att%20fungera%20senare.%3C/p%3E%0A%20%20%20%20%3C/div%3E%0A%20%20%3C/div%3E%0A%3C/body%3E%0A%3C/html%3E%0A%3Cstyle%3E/%20Copyright%202014%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A%20%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A%20%20found%20in%20the%20LICENSE%20file.%20/%0A%0A/%20This%20file%20is%20dynamically%20processed%20by%20a%20C++%20data%20source%20handler%20to%20fill%20in%0A%20%20some%20per-platform/locale%20styles%20that%20dramatically%20alter%20the%20page.%20This%20is%0A%20%20done%20to%20reduce%20flicker,%20as%20JS%20may%20not%20run%20before%20the%20page%20is%20rendered.%0A%20%0A%20%20There%20are%20two%20ways%20to%20include%20this%20stylesheet%3A%0A%20%201.%20via%20its%20chrome%3A//resources/%20URL%20in%20HTML,%20i.e.%3A%0A%20%0A%20%20%20%20%3Clink%20rel=%22stylesheet%22%20href=%22chrome%3A//resources/css/textdefaults.css%22%3E%0A%20%0A%20%202.%20via%20the%20webui%3A%3AAppendWebUICSSTextDefaults()%20method%20to%20directly%20append%20it%0A%20%20to%20an%20HTML%20string.%0A%20%20Otherwise%20its%20placeholders%20won't%20be%20expanded.%20/%0A%0Ahtml%20%7B%0A%20%20direction%3A%20ltr;%0A%7D%0A%0Abody%20%7B%0A%20%20font-family%3A%20'Segoe%20UI',%20Tahoma,%20sans-serif;%0A%20%20font-size%3A%2075%25;%0A%7D%0A%0Abutton%20%7B%0A%20%20font-family%3A%20'Segoe%20UI',%20Tahoma,%20sans-serif;%0A%7D%0A%3C/style%3E%3Cscript%3E//%20Copyright%20(c)%202012%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A/%0A%20%20@fileoverview%20This%20file%20defines%20a%20singleton%20which%20provides%20access%20to%20all%20data%0A%20%20that%20is%20available%20as%20soon%20as%20the%20page's%20resources%20are%20loaded%20(before%20DOM%0A%20%20content%20has%20finished%20loading).%20This%20data%20includes%20both%20localized%20strings%20and%0A%20%20any%20data%20that%20is%20important%20to%20have%20ready%20from%20a%20very%20early%20stage%20(e.g.%20things%0A%20%20that%20must%20be%20displayed%20right%20away).%0A%20%0A%20%20Note%20that%20loadTimeData%20is%20not%20guaranteed%20to%20be%20consistent%20between%20page%0A%20%20refreshes%20(https%3A//crbug.com/740629)%20and%20should%20not%20contain%20values%20that%20might%0A%20%20change%20if%20the%20page%20is%20re-opened%20later.%0A%20/%0A%0A/%0A%20%20@typedef%20%7B%7B%0A%20%20%20%20substitutions%3A%20(Array%3Cstring%3E%7Cundefined),%0A%20%20%20%20attrs%3A%20(Object%3Cfunction(Node,%20string)%3Aboolean%3E%7Cundefined),%0A%20%20%20%20tags%3A%20(Array%3Cstring%3E%7Cundefined),%0A%20%20%7D%7D%0A%20/%0Avar%20SanitizeInnerHtmlOpts;%0A%0A/%20@type%20%7B!LoadTimeData%7D%20/%20var%20loadTimeData;%0A%0A//%20Expose%20this%20type%20globally%20as%20a%20temporary%20work%20around%20until%0A//%20https%3A//github.com/google/closure-compiler/issues/544%20is%20fixed.%0A/%20@constructor%20/%0Afunction%20LoadTimeData()%7B%7D%0A%0A(function()%20%7B%0A%20%20'use%20strict';%0A%0A%20%20LoadTimeData.prototype%20=%20%7B%0A%20%20%20%20/%0A%20%20%20%20%20%20Sets%20the%20backing%20object.%0A%20%20%20%20%20%0A%20%20%20%20%20%20Note%20that%20there%20is%20no%20getter%20for%20%7Cdata%7C%20to%20discourage%20abuse%20of%20the%20form%3A%0A%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20var%20value%20=%20loadTimeData.data()%5B'key'%5D;%0A%20%20%20%20%20%0A%20%20%20%20%20%20@param%20%7BObject%7D%20value%20The%20de-serialized%20page%20data.%0A%20%20%20%20%20/%0A%20%20%20%20set%20data(value)%20%7B%0A%20%20%20%20%20%20expect(!this.data,%20'Re-setting%20data.');%0A%20%20%20%20%20%20this.data%20=%20value;%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20Returns%20a%20JsEvalContext%20for%20%7Cdata%7C.%0A%20%20%20%20%20%20@returns%20%7BJsEvalContext%7D%0A%20%20%20%20%20/%0A%20%20%20%20createJsEvalContext%3A%20function()%20%7B%0A%20%20%20%20%20%20return%20new%20JsEvalContext(this.data);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20id%20An%20ID%20of%20a%20value%20that%20might%20exist.%0A%20%20%20%20%20%20@return%20%7Bboolean%7D%20True%20if%20%7Cid%7C%20is%20a%20key%20in%20the%20dictionary.%0A%20%20%20%20%20/%0A%20%20%20%20valueExists%3A%20function(id)%20%7B%0A%20%20%20%20%20%20return%20id%20in%20this.data;%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20Fetches%20a%20value,%20expecting%20that%20it%20exists.%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20id%20The%20key%20that%20identifies%20the%20desired%20value.%0A%20%20%20%20%20%20@return%20%7B%7D%20The%20corresponding%20value.%0A%20%20%20%20%20/%0A%20%20%20%20getValue%3A%20function(id)%20%7B%0A%20%20%20%20%20%20expect(this.data,%20'No%20data.%20Did%20you%20remember%20to%20include%20strings.js%3F');%0A%20%20%20%20%20%20var%20value%20=%20this.data%5Bid%5D;%0A%20%20%20%20%20%20expect(typeof%20value%20!=%20'undefined',%20'Could%20not%20find%20value%20for%20'%20+%20id);%0A%20%20%20%20%20%20return%20value;%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20As%20above,%20but%20also%20makes%20sure%20that%20the%20value%20is%20a%20string.%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20id%20The%20key%20that%20identifies%20the%20desired%20string.%0A%20%20%20%20%20%20@return%20%7Bstring%7D%20The%20corresponding%20string%20value.%0A%20%20%20%20%20/%0A%20%20%20%20getString%3A%20function(id)%20%7B%0A%20%20%20%20%20%20var%20value%20=%20this.getValue(id);%0A%20%20%20%20%20%20expectIsType(id,%20value,%20'string');%0A%20%20%20%20%20%20return%20/%20@type%20%7Bstring%7D%20/%20(value);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20Returns%20a%20formatted%20localized%20string%20where%20$1%20to%20$9%20are%20replaced%20by%20the%0A%20%20%20%20%20%20second%20to%20the%20tenth%20argument.%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20id%20The%20ID%20of%20the%20string%20we%20want.%0A%20%20%20%20%20%20@param%20%7B…(string%7Cnumber)%7D%20varargs%20The%20extra%20values%20to%20include%20in%20the%0A%20%20%20%20%20%20%20%20%20%20formatted%20output.%0A%20%20%20%20%20%20@return%20%7Bstring%7D%20The%20formatted%20string.%0A%20%20%20%20%20/%0A%20%20%20%20getStringF%3A%20function(id,%20varargs)%20%7B%0A%20%20%20%20%20%20var%20value%20=%20this.getString(id);%0A%20%20%20%20%20%20if%20(!value)%0A%20%20%20%20%20%20%20%20return%20'';%0A%0A%20%20%20%20%20%20var%20args%20=%20Array.prototype.slice.call(arguments);%0A%20%20%20%20%20%20args%5B0%5D%20=%20value;%0A%20%20%20%20%20%20return%20this.substituteString.apply(this,%20args);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20Make%20a%20string%20safe%20for%20use%20with%20with%20Polymer%20bindings%20that%20are%0A%20%20%20%20%20%20inner-h-t-m-l%20(or%20other%20innerHTML%20use).%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20rawString%20The%20unsanitized%20string.%0A%20%20%20%20%20%20@param%20%7BSanitizeInnerHtmlOpts=%7D%20opts%20Optional%20additional%20allowed%20tags%20and%0A%20%20%20%20%20%20%20%20%20%20attributes.%0A%20%20%20%20%20%20@return%20%7Bstring%7D%0A%20%20%20%20%20/%0A%20%20%20%20sanitizeInnerHtml%3A%20function(rawString,%20opts)%20%7B%0A%20%20%20%20%20%20opts%20=%20opts%20%7C%7C%20%7B%7D;%0A%20%20%20%20%20%20return%20parseHtmlSubset('%3Cb%3E'%20+%20rawString%20+%20'%3C/b%3E',%20opts.tags,%20opts.attrs)%0A%20%20%20%20%20%20%20%20%20%20.firstChild.innerHTML;%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20Returns%20a%20formatted%20localized%20string%20where%20$1%20to%20$9%20are%20replaced%20by%20the%0A%20%20%20%20%20%20second%20to%20the%20tenth%20argument.%20Any%20standalone%20$%20signs%20must%20be%20escaped%20as%0A%20%20%20%20%20%20$$.%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20label%20The%20label%20to%20substitute%20through.%0A%20%20%20%20%20%20%20%20%20%20This%20is%20not%20an%20resource%20ID.%0A%20%20%20%20%20%20@param%20%7B…(string%7Cnumber)%7D%20varargs%20The%20extra%20values%20to%20include%20in%20the%0A%20%20%20%20%20%20%20%20%20%20formatted%20output.%0A%20%20%20%20%20%20@return%20%7Bstring%7D%20The%20formatted%20string.%0A%20%20%20%20%20/%0A%20%20%20%20substituteString%3A%20function(label,%20varargs)%20%7B%0A%20%20%20%20%20%20var%20varArgs%20=%20arguments;%0A%20%20%20%20%20%20return%20label.replace(/%5C$(.%7C$%7C%5Cn)/g,%20function(m)%20%7B%0A%20%20%20%20%20%20%20%20assert(m.match(/%5C$%5B$1-9%5D/),%20'Unescaped%20$%20found%20in%20localized%20string.');%0A%20%20%20%20%20%20%20%20return%20m%20==%20'$$'%20%3F%20'$'%20%3A%20varArgs%5Bm%5B1%5D%5D;%0A%20%20%20%20%20%20%7D);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20Returns%20a%20formatted%20string%20where%20$1%20to%20$9%20are%20replaced%20by%20the%20second%20to%0A%20%20%20%20%20%20tenth%20argument,%20split%20apart%20into%20a%20list%20of%20pieces%20describing%20how%20the%0A%20%20%20%20%20%20substitution%20was%20performed.%20Any%20standalone%20$%20signs%20must%20be%20escaped%20as%20$$.%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20label%20A%20localized%20string%20to%20substitute%20through.%0A%20%20%20%20%20%20%20%20%20%20This%20is%20not%20an%20resource%20ID.%0A%20%20%20%20%20%20@param%20%7B…(string%7Cnumber)%7D%20varargs%20The%20extra%20values%20to%20include%20in%20the%0A%20%20%20%20%20%20%20%20%20%20formatted%20output.%0A%20%20%20%20%20%20@return%20%7B!Array%3C!%7Bvalue%3A%20string,%20arg%3A%20(null%7Cstring)%7D%3E%7D%20The%20formatted%0A%20%20%20%20%20%20%20%20%20%20string%20pieces.%0A%20%20%20%20%20/%0A%20%20%20%20getSubstitutedStringPieces%3A%20function(label,%20varargs)%20%7B%0A%20%20%20%20%20%20var%20varArgs%20=%20arguments;%0A%20%20%20%20%20%20//%20Split%20the%20string%20by%20separately%20matching%20all%20occurrences%20of%20$1-9%20and%20of%0A%20%20%20%20%20%20//%20non%20$1-9%20pieces.%0A%20%20%20%20%20%20var%20pieces%20=%20(label.match(/(%5C$%5B1-9%5D)%7C((%5B%5E$%5D%7C%5C$(%5B%5E1-9%5D%7C$))+)/g)%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B%5D).map(function(p)%20%7B%0A%20%20%20%20%20%20%20%20//%20Pieces%20that%20are%20not%20$1-9%20should%20be%20returned%20after%20replacing%20$$%0A%20%20%20%20%20%20%20%20//%20with%20$.%0A%20%20%20%20%20%20%20%20if%20(!p.match(/%5E%5C$%5B1-9%5D$/))%20%7B%0A%20%20%20%20%20%20%20%20%20%20assert(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20(p.match(/%5C$/g)%20%7C%7C%20%5B%5D).length%20%25%202%20==%200,%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20'Unescaped%20$%20found%20in%20localized%20string.');%0A%20%20%20%20%20%20%20%20%20%20return%20%7Bvalue%3A%20p.replace(/%5C$%5C$/g,%20'$'),%20arg%3A%20null%7D;%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20//%20Otherwise,%20return%20the%20substitution%20value.%0A%20%20%20%20%20%20%20%20return%20%7Bvalue%3A%20varArgs%5Bp%5B1%5D%5D,%20arg%3A%20p%7D;%0A%20%20%20%20%20%20%7D);%0A%0A%20%20%20%20%20%20return%20pieces;%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20As%20above,%20but%20also%20makes%20sure%20that%20the%20value%20is%20a%20boolean.%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20id%20The%20key%20that%20identifies%20the%20desired%20boolean.%0A%20%20%20%20%20%20@return%20%7Bboolean%7D%20The%20corresponding%20boolean%20value.%0A%20%20%20%20%20/%0A%20%20%20%20getBoolean%3A%20function(id)%20%7B%0A%20%20%20%20%20%20var%20value%20=%20this.getValue(id);%0A%20%20%20%20%20%20expectIsType(id,%20value,%20'boolean');%0A%20%20%20%20%20%20return%20/%20@type%20%7Bboolean%7D%20/%20(value);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20As%20above,%20but%20also%20makes%20sure%20that%20the%20value%20is%20an%20integer.%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20id%20The%20key%20that%20identifies%20the%20desired%20number.%0A%20%20%20%20%20%20@return%20%7Bnumber%7D%20The%20corresponding%20number%20value.%0A%20%20%20%20%20/%0A%20%20%20%20getInteger%3A%20function(id)%20%7B%0A%20%20%20%20%20%20var%20value%20=%20this.getValue(id);%0A%20%20%20%20%20%20expectIsType(id,%20value,%20'number');%0A%20%20%20%20%20%20expect(value%20==%20Math.floor(value),%20'Number%20isn%5C't%20integer%3A%20'%20+%20value);%0A%20%20%20%20%20%20return%20/%20@type%20%7Bnumber%7D%20/%20(value);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20Override%20values%20in%20loadTimeData%20with%20the%20values%20found%20in%20%7Creplacements%7C.%0A%20%20%20%20%20%20@param%20%7BObject%7D%20replacements%20The%20dictionary%20object%20of%20keys%20to%20replace.%0A%20%20%20%20%20/%0A%20%20%20%20overrideValues%3A%20function(replacements)%20%7B%0A%20%20%20%20%20%20expect(%0A%20%20%20%20%20%20%20%20%20%20typeof%20replacements%20==%20'object',%0A%20%20%20%20%20%20%20%20%20%20'Replacements%20must%20be%20a%20dictionary%20object.');%0A%20%20%20%20%20%20for%20(var%20key%20in%20replacements)%20%7B%0A%20%20%20%20%20%20%20%20this.data%5Bkey%5D%20=%20replacements%5Bkey%5D;%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D;%0A%0A%20%20/%0A%20%20%20%20Checks%20condition,%20displays%20error%20message%20if%20expectation%20fails.%0A%20%20%20%20@param%20%7B%7D%20condition%20The%20condition%20to%20check%20for%20truthiness.%0A%20%20%20%20@param%20%7Bstring%7D%20message%20The%20message%20to%20display%20if%20the%20check%20fails.%0A%20%20%20/%0A%20%20function%20expect(condition,%20message)%20%7B%0A%20%20%20%20if%20(!condition)%20%7B%0A%20%20%20%20%20%20console.error(%0A%20%20%20%20%20%20%20%20%20%20'Unexpected%20condition%20on%20'%20+%20document.location.href%20+%20'%3A%20'%20+%20message);%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20/%0A%20%20%20%20Checks%20that%20the%20given%20value%20has%20the%20given%20type.%0A%20%20%20%20@param%20%7Bstring%7D%20id%20The%20id%20of%20the%20value%20(only%20used%20for%20error%20message).%0A%20%20%20%20@param%20%7B%7D%20value%20The%20value%20to%20check%20the%20type%20on.%0A%20%20%20%20@param%20%7Bstring%7D%20type%20The%20type%20we%20expect%20%7Cvalue%7C%20to%20be.%0A%20%20%20/%0A%20%20function%20expectIsType(id,%20value,%20type)%20%7B%0A%20%20%20%20expect(%0A%20%20%20%20%20%20%20%20typeof%20value%20==%20type,%20'%5B'%20+%20value%20+%20'%5D%20('%20+%20id%20+%20')%20is%20not%20a%20'%20+%20type);%0A%20%20%7D%0A%0A%20%20expect(!loadTimeData,%20'should%20only%20include%20this%20file%20once');%0A%20%20loadTimeData%20=%20new%20LoadTimeData;%0A%7D)();%0A%3C/script%3E%3Cscript%3EloadTimeData.data%20=%20%7B%22badclock%22%3Afalse,%22boxchecked%22%3Afalse,%22closeDetails%22%3A%22D%C3%B6lja%20avancerade%20uppgifter%22,%22currentDate%22%3A%2218%20juni%202018%22,%22displaycheckbox%22%3Atrue,%22errorCode%22%3A%22net%3A%3AERRCERTCOMMONNAMEINVALID%22,%22errorType%22%3A0,%22expirationDate%22%3A%2215%20sep.%202018%22,%22explanationParagraph%22%3A%22P%C3%A5%20ifokus.se%20anv%C3%A4nds%20vanligtvis%20kryptering%20(SSL)%20f%C3%B6r%20att%20skydda%20din%20information.%20N%C3%A4r%20Chrome%20f%C3%B6rs%C3%B6kte%20ansluta%20till%20ifokus.se%20den%20h%C3%A4r%20g%C3%A5ngen%20skickade%20webbplatsen%20tillbaka%20ovanliga%20och%20felaktiga%20uppgifter.%20S%C3%A5dant%20kan%20h%C3%A4nda%20n%C3%A4r%20en%20angripare%20utger%20sig%20f%C3%B6r%20att%20vara%20ifokus.se%20eller%20n%C3%A4r%20anslutningen%20har%20avbrutits%20av%20en%20Wi-Fi-inloggningssk%C3%A4rm.%20Din%20information%20%C3%A4r%20fortfarande%20s%C3%A4ker%20eftersom%20Chrome%20avbr%C3%B6t%20anslutningen%20innan%20n%C3%A5gon%20data%20utbyttes.%22,%22finalParagraph%22%3A%22Du%20kan%20inte%20bes%C3%B6ka%20ifokus.se%20just%20nu%20eftersom%20webbplatsen%20anv%C3%A4nder%20HSTS.%20N%C3%A4tverksfel%20och%20attacker%20%C3%A4r%20ofta%20tillf%C3%A4lliga,%20s%C3%A5%20sidan%20kommer%20f%C3%B6rmodligen%20att%20fungera%20senare.%22,%22fontfamily%22%3A%22'Segoe%20UI',%20Tahoma,%20sans-serif%22,%22fontsize%22%3A%2275%25%22,%22heading%22%3A%22Anslutningen%20%C3%A4r%20inte%20privat%22,%22hideprimarybutton%22%3Afalse,%22issuer%22%3A%22Let's%20Encrypt%20Authority%20X3%22,%22language%22%3A%22sv%22,%22openDetails%22%3A%22Avancerat%22,%22optInLink%22%3A%22Skicka%20automatiskt%20viss%20%5Cu003Ca%20href=%5C%22%23%5C%22%20id=%5C%22whitepaper-link%5C%22%3Einformation%20om%20systemet%20och%20inneh%C3%A5ll%20p%C3%A5%20sidan%5Cu003C/a%3E%20f%C3%B6r%20att%20hj%C3%A4lpa%20Google%20att%20identifiera%20skadliga%20appar%20och%20webbplatser.%20%5Cu003Ca%20id=%5C%22privacy-link%5C%22%20href=%5C%22%23%5C%22%20onclick=%5C%22sendCommand(10);%20return%20false;%5C%22%20onmousedown=%5C%22return%20false;%5C%22%3ESekretesspolicy%5Cu003C/a%3E%22,%22overridable%22%3Afalse,%22pem%22%3A%22-----BEGIN%20CERTIFICATE-----%5CnMIIGFzCCBP+gAwIBAgISA5EJvggi3QkAcZLM3aQMRDBTMA0GCSqGSIb3DQEBCwUA%5CnMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD%5CnExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODA2MTcxODU2MzdaFw0x%5CnODA5MTUxODU2MzdaMCExHzAdBgNVBAMMFiouaWZva3VzLmJpdHMybGlmZS5jb20w%5CnggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCn3IZ7adnurXs5rHN4MhPk%5Cn3wm9rIAzc8cyI/zZwyFDp0ccUG13haCq2QxjLDrRgzhtqoojJKWa9y2MAkam0KcD%5CnLuXzoHqUt0nw4KyAVYQ9oOPwVEwISy05a9lvkhCFU+ecjLCj8GEtProFsBan7+VY%5Cn29Tbuwy2MrvJWX/Z+IK/sB/+DHcWQYPOHqhSTy8JDrlRLuJji4YOUHta4Bisu1rU%5CnRtZzLP1MRi3qFRJAbcws94QaRLzmqDXKJC3auPBAx+nl1HmVl19h1rX6Y0C4dY6V%5Cn66yZ06Iw2lb13wQFdCC5WUHVQ+g/gPCkOe8VuLrr64R0dSvJ8tZ5HD6Xb7EmyfwH%5CnAgMBAAGjggMeMIIDGjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUH%5CnAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFKNycEdrWMWfeGTo%5CnscX57RKno6LrMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMG8GCCsG%5CnAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50LXgzLmxldHNl%5CnbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl%5CnbmNyeXB0Lm9yZy8wIQYDVR0RBBowGIIWKi5pZm9rdXMuYml0czJsaWZlLmNvbTCB%5Cn/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYB%5CnBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIGrBggrBgEFBQcCAjCB%5CnngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5IG9ubHkgYmUgcmVsaWVkIHVwb24gYnkg%5CnUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5IGluIGFjY29yZGFuY2Ugd2l0aCB0aGUg%5CnQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5kIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQu%5Cnb3JnL3JlcG9zaXRvcnkvMIIBBAYKKwYBBAHWeQIEAgSB9QSB8gDwAHYA23Sv7ssp%5Cn7LH+yj5xbSzluaq7NveEcYPHXZ1PN7Yfv2QAAAFkD1IemQAABAMARzBFAiEA6Y00%5CnhzxQHeEmxCpsQiTis162u+zcFmC0ookUntkTSmECIEqInmpXc762ExESEIHhDhqo%5Cnndvz1lm+t8xS8IZUn4OKAHYAKTxRllTIOWW6qlD8WAfUt2+/WHopctykwwz05UVH%5Cn9HgAAAFkD1IeqAAABAMARzBFAiBqUS+ClaztqBgEVyZpH6+XOjGrXx8OS74FF286%5CndL6G7AIhAJXjas0VxKly0K/aYeUfkzUWMR9iLkZnlW9rCJ4a/+RTMA0GCSqGSIb3%5CnDQEBCwUAA4IBAQCCh8iJOBoBKz2nMezASsOhwdx/zu8tMhUbtBN+2gQnyU3tNKEx%5CntpPZ/OsyvGbN3NY69cHNiS+aBDiSNtogT9/sM2cvgqjEZAOtgMcG/UNxWSjjF3rV%5CnFKNMLdWJhTZbJh+VUI5A/H8trH9pKEo18Xvg85sL6LXUPZZ0yaDH0L9KneTLPh87%5CnBUmXdSc6u6/JtjPHSSFmc2OBzXPFPsguXQbj/QzILjkK/CaC5RV7OKWgiNtOZ7u5%5Cneux4moAnvLBbMgqJf3MfGXKrgw4p3GW+vaL2gHIWXGm+u5MnA8KJIMGYaIF4MxtN%5CnIFJSTtgdRqnrpWcgLDHubKlFh53Zba1SHMVy%5Cn-----END%20CERTIFICATE-----%5Cn-----BEGIN%20CERTIFICATE-----%5CnMIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/%5CnMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT%5CnDkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow%5CnSjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT%5CnGkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC%5CnAQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF%5Cnq6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8%5CnSMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0%5CnZ8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA%5Cna6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj%5Cn/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T%5CnAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG%5CnCCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv%5CnbTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k%5Cnc3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw%5CnVAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC%5CnARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz%5CnMDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu%5CnY3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF%5CnAAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo%5CnuM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/%5CnwApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu%5CnX4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG%5CnPfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6%5CnKOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==%5Cn-----END%20CERTIFICATE-----%5Cn-----BEGIN%20CERTIFICATE-----%5CnMIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/%5CnMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT%5CnDkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow%5CnPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD%5CnEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB%5CnAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O%5Cnrz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq%5CnOLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b%5CnxiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw%5Cn7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD%5CnaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV%5CnHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG%5CnSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69%5CnikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr%5CnAvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz%5CnR8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5%5CnJDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo%5CnOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ%5Cn-----END%20CERTIFICATE-----%5Cn%22,%22primaryButtonText%22%3A%22H%C3%A4mta%20igen%22,%22primaryParagraph%22%3A%22En%20angripare%20kan%20f%C3%B6rs%C3%B6ka%20stj%C3%A4la%20dina%20uppgifter%20fr%C3%A5n%20%5Cu003Cstrong%3Eifokus.se%5Cu003C/strong%3E%20(t.ex.%20l%C3%B6senord,%20meddelanden%20eller%20kreditkortsuppgifter).%20%5Cu003Ca%20href=%5C%22%23%5C%22%20id=%5C%22learn-more-link%5C%22%3EL%C3%A4s%20mer%5Cu003C/a%3E%22,%22subject%22%3A%22.ifokus.bits2life.com%22,%22tabTitle%22%3A%22Sekretessfel%22,%22textdirection%22%3A%22ltr%22,%22type%22%3A%22SSL%22%7D;%3C/script%3E%3Cscript%3E//%20Copyright%20(c)%202012%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A//%20Note%3A%20vulcanize%20sometimes%20disables%20GRIT%20processing.%20If%20you're%20importing%20i18n%0A//%20stuff%20with%20%3Clink%20rel=%22import%22%3E,%20you%20should%20probably%20be%20using%0A//%20html/i18ntemplate.html%20instead%20of%20this%20file.%0A%0A//%20//%20Copyright%20(c)%202012%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A/%20@typedef%20%7BDocument%7CDocumentFragment%7CElement%7D%20/%0Avar%20ProcessingRoot;%0A%0A/%0A%20%20@fileoverview%20This%20is%20a%20simple%20template%20engine%20inspired%20by%20JsTemplates%0A%20%20optimized%20for%20i18n.%0A%20%0A%20%20It%20currently%20supports%20three%20handlers%3A%0A%20%0A%20%20%20%20%20i18n-content%20which%20sets%20the%20textContent%20of%20the%20element.%0A%20%0A%20%20%20%20%20%20%3Cspan%20i18n-content=%22myContent%22%3E%3C/span%3E%0A%20%0A%20%20%20%20%20i18n-options%20which%20generates%20%3Coption%3E%20elements%20for%20a%20%3Cselect%3E.%0A%20%0A%20%20%20%20%20%20%3Cselect%20i18n-options=%22myOptionList%22%3E%3C/select%3E%0A%20%0A%20%20%20%20%20i18n-values%20is%20a%20list%20of%20attribute-value%20or%20property-value%20pairs.%0A%20%20%20%20%20%20Properties%20are%20prefixed%20with%20a%20'.'%20and%20can%20contain%20nested%20properties.%0A%20%0A%20%20%20%20%20%20%3Cspan%20i18n-values=%22title%3AmyTitle;.style.fontSize%3AfontSize%22%3E%3C/span%3E%0A%20%0A%20%20This%20file%20is%20a%20copy%20of%20i18ntemplate.js,%20with%20minor%20tweaks%20to%20support%20using%0A%20%20loadtimedata.js.%20It%20should%20replace%20i18n_template.js%20eventually.%0A%20/%0A%0Avar%20i18nTemplate%20=%20(function()%20%7B%0A%20%20/%0A%20%20%20%20This%20provides%20the%20handlers%20for%20the%20templating%20engine.%20The%20key%20is%20used%20as%0A%20%20%20%20the%20attribute%20name%20and%20the%20value%20is%20the%20function%20that%20gets%20called%20for%20every%0A%20%20%20%20single%20node%20that%20has%20this%20attribute.%0A%20%20%20%20@type%20%7B!Object%7D%0A%20%20%20/%0A%20%20var%20handlers%20=%20%7B%0A%20%20%20%20/%0A%20%20%20%20%20%20This%20handler%20sets%20the%20textContent%20of%20the%20element.%0A%20%20%20%20%20%20@param%20%7B!HTMLElement%7D%20element%20The%20node%20to%20modify.%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20key%20The%20name%20of%20the%20value%20in%20%7Cdata%7C.%0A%20%20%20%20%20%20@param%20%7B!LoadTimeData%7D%20data%20The%20data%20source%20to%20draw%20from.%0A%20%20%20%20%20%20@param%20%7B!Set%3CProcessingRoot%3E%7D%20visited%0A%20%20%20%20%20/%0A%20%20%20%20'i18n-content'%3A%20function(element,%20key,%20data,%20visited)%20%7B%0A%20%20%20%20%20%20element.textContent%20=%20data.getString(key);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20This%20handler%20adds%20options%20to%20a%20%3Cselect%3E%20element.%0A%20%20%20%20%20%20@param%20%7B!HTMLElement%7D%20select%20The%20node%20to%20modify.%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20key%20The%20name%20of%20the%20value%20in%20%7Cdata%7C.%20It%20should%0A%20%20%20%20%20%20%20%20%20%20identify%20an%20array%20of%20values%20to%20initialize%20an%20%3Coption%3E.%20Each%20value,%0A%20%20%20%20%20%20%20%20%20%20if%20a%20pair,%20represents%20%5Bcontent,%20value%5D.%20Otherwise,%20it%20should%20be%20a%0A%20%20%20%20%20%20%20%20%20%20content%20string%20with%20no%20value.%0A%20%20%20%20%20%20@param%20%7B!LoadTimeData%7D%20data%20The%20data%20source%20to%20draw%20from.%0A%20%20%20%20%20%20@param%20%7B!Set%3CProcessingRoot%3E%7D%20visited%0A%20%20%20%20%20/%0A%20%20%20%20'i18n-options'%3A%20function(select,%20key,%20data,%20visited)%20%7B%0A%20%20%20%20%20%20var%20options%20=%20data.getValue(key);%0A%20%20%20%20%20%20options.forEach(function(optionData)%20%7B%0A%20%20%20%20%20%20%20%20var%20option%20=%20typeof%20optionData%20==%20'string'%20%3F%0A%20%20%20%20%20%20%20%20%20%20%20%20new%20Option(optionData)%20%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20new%20Option(optionData%5B1%5D,%20optionData%5B0%5D);%0A%20%20%20%20%20%20%20%20select.appendChild(option);%0A%20%20%20%20%20%20%7D);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/%0A%20%20%20%20%20%20This%20is%20used%20to%20set%20HTML%20attributes%20and%20DOM%20properties.%20The%20syntax%20is%3A%0A%20%20%20%20%20%20%20%20attributename%3Akey;%0A%20%20%20%20%20%20%20%20.domProperty%3Akey;%0A%20%20%20%20%20%20%20%20.nested.dom.property%3Akey%0A%20%20%20%20%20%20@param%20%7B!HTMLElement%7D%20element%20The%20node%20to%20modify.%0A%20%20%20%20%20%20@param%20%7Bstring%7D%20attributeAndKeys%20The%20path%20of%20the%20attribute%20to%20modify%0A%20%20%20%20%20%20%20%20%20%20followed%20by%20a%20colon,%20and%20the%20name%20of%20the%20value%20in%20%7Cdata%7C.%0A%20%20%20%20%20%20%20%20%20%20Multiple%20attribute/key%20pairs%20may%20be%20separated%20by%20semicolons.%0A%20%20%20%20%20%20@param%20%7B!LoadTimeData%7D%20data%20The%20data%20source%20to%20draw%20from.%0A%20%20%20%20%20%20@param%20%7B!Set%3CProcessingRoot%3E%7D%20visited%0A%20%20%20%20%20/%0A%20%20%20%20'i18n-values'%3A%20function(element,%20attributeAndKeys,%20data,%20visited)%20%7B%0A%20%20%20%20%20%20var%20parts%20=%20attributeAndKeys.replace(/%5Cs/g,%20'').split(/;/);%0A%20%20%20%20%20%20parts.forEach(function(part)%20%7B%0A%20%20%20%20%20%20%20%20if%20(!part)%0A%20%20%20%20%20%20%20%20%20%20return;%0A%0A%20%20%20%20%20%20%20%20var%20attributeAndKeyPair%20=%20part.match(/%5E(%5B%5E%3A%5D+)%3A(.+)$/);%0A%20%20%20%20%20%20%20%20if%20(!attributeAndKeyPair)%0A%20%20%20%20%20%20%20%20%20%20throw%20new%20Error('malformed%20i18n-values%3A%20'%20+%20attributeAndKeys);%0A%0A%20%20%20%20%20%20%20%20var%20propName%20=%20attributeAndKeyPair%5B1%5D;%0A%20%20%20%20%20%20%20%20var%20propExpr%20=%20attributeAndKeyPair%5B2%5D;%0A%0A%20%20%20%20%20%20%20%20var%20value%20=%20data.getValue(propExpr);%0A%0A%20%20%20%20%20%20%20%20//%20Allow%20a%20property%20of%20the%20form%20'.foo.bar'%20to%20assign%20a%20value%20into%0A%20%20%20%20%20%20%20%20//%20element.foo.bar.%0A%20%20%20%20%20%20%20%20if%20(propName%5B0%5D%20==%20'.')%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20path%20=%20propName.slice(1).split('.');%0A%20%20%20%20%20%20%20%20%20%20var%20targetObject%20=%20element;%0A%20%20%20%20%20%20%20%20%20%20while%20(targetObject%20&&%20path.length%20%3E%201)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20targetObject%20=%20targetObject%5Bpath.shift()%5D;%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20if%20(targetObject)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20targetObject%5Bpath%5D%20=%20value;%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20In%20case%20we%20set%20innerHTML%20(ignoring%20others)%20we%20need%20to%20recursively%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20check%20the%20content.%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(path%20==%20'innerHTML')%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20element.children.length;%20++i)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20processWithoutCycles(element.children%5Bi%5D,%20data,%20visited,%20false);%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20element.setAttribute(propName,%20/%20@type%20%7Bstring%7D%20/%20(value));%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D);%0A%20%20%20%20%7D%0A%20%20%7D;%0A%0A%20%20var%20prefixes%20=%20%5B''%5D;%0A%0A%20%20//%20Only%20look%20through%20shadow%20DOM%20when%20it's%20supported.%20As%20of%20April%202015,%20iOS%0A%20%20//%20Chrome%20doesn't%20support%20shadow%20DOM.%0A%20%20if%20(Element.prototype.createShadowRoot)%0A%20%20%20%20prefixes.push('%20/deep/%20');%0A%0A%20%20var%20attributeNames%20=%20Object.keys(handlers);%0A%20%20var%20selector%20=%20prefixes%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.map(function(prefix)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20prefix%20+%20'%5B'%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20attributeNames.join('%5D,%20'%20+%20prefix%20+%20'%5B')%20+%20'%5D';%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.join(',%20');%0A%0A%20%20/%0A%20%20%20%20Processes%20a%20DOM%20tree%20using%20a%20%7Cdata%7C%20source%20to%20populate%20template%20values.%0A%20%20%20%20@param%20%7B!ProcessingRoot%7D%20root%20The%20root%20of%20the%20DOM%20tree%20to%20process.%0A%20%20%20%20@param%20%7B!LoadTimeData%7D%20data%20The%20data%20to%20draw%20from.%0A%20%20%20/%0A%20%20function%20process(root,%20data)%20%7B%0A%20%20%20%20processWithoutCycles(root,%20data,%20new%20Set(),%20true);%0A%20%20%7D%0A%0A%20%20/%0A%20%20%20%20Internal%20process()%20method%20that%20stops%20cycles%20while%20processing.%0A%20%20%20%20@param%20%7B!ProcessingRoot%7D%20root%0A%20%20%20%20@param%20%7B!LoadTimeData%7D%20data%0A%20%20%20%20@param%20%7B!Set%3CProcessingRoot%3E%7D%20visited%20Already%20visited%20roots.%0A%20%20%20%20@param%20%7Bboolean%7D%20mark%20Whether%20nodes%20should%20be%20marked%20processed.%0A%20%20%20/%0A%20%20function%20processWithoutCycles(root,%20data,%20visited,%20mark)%20%7B%0A%20%20%20%20if%20(visited.has(root))%20%7B%0A%20%20%20%20%20%20//%20Found%20a%20cycle.%20Stop%20it.%0A%20%20%20%20%20%20return;%0A%20%20%20%20%7D%0A%0A%20%20%20%20//%20Mark%20the%20node%20as%20visited%20before%20recursing.%0A%20%20%20%20visited.add(root);%0A%0A%20%20%20%20var%20importLinks%20=%20root.querySelectorAll('link%5Brel=import%5D');%0A%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20importLinks.length;%20++i)%20%7B%0A%20%20%20%20%20%20var%20importLink%20=%20/%20@type%20%7B!HTMLLinkElement%7D%20/%20(importLinks%5Bi%5D);%0A%20%20%20%20%20%20if%20(!importLink.import)%20%7B%0A%20%20%20%20%20%20%20%20//%20Happens%20when%20a%20%3Clink%20rel=import%3E%20is%20inside%20a%20%3Ctemplate%3E.%0A%20%20%20%20%20%20%20%20//%20TODO(dbeam)%3A%20should%20we%20log%20an%20error%20if%20we%20detect%20that%20here%3F%0A%20%20%20%20%20%20%20%20continue;%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20processWithoutCycles(importLink.import,%20data,%20visited,%20mark);%0A%20%20%20%20%7D%0A%0A%20%20%20%20var%20templates%20=%20root.querySelectorAll('template');%0A%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20templates.length;%20++i)%20%7B%0A%20%20%20%20%20%20var%20template%20=%20/%20@type%20%7BHTMLTemplateElement%7D%20/%20(templates%5Bi%5D);%0A%20%20%20%20%20%20if%20(!template.content)%0A%20%20%20%20%20%20%20%20continue;%0A%20%20%20%20%20%20processWithoutCycles(template.content,%20data,%20visited,%20mark);%0A%20%20%20%20%7D%0A%0A%20%20%20%20var%20isElement%20=%20root%20instanceof%20Element;%0A%20%20%20%20if%20(isElement%20&&%20root.webkitMatchesSelector(selector))%0A%20%20%20%20%20%20processElement(/%20@type%20%7B!Element%7D%20/%20(root),%20data,%20visited);%0A%0A%20%20%20%20var%20elements%20=%20root.querySelectorAll(selector);%0A%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20elements.length;%20++i)%20%7B%0A%20%20%20%20%20%20processElement(elements%5Bi%5D,%20data,%20visited);%0A%20%20%20%20%7D%0A%0A%20%20%20%20if%20(mark)%20%7B%0A%20%20%20%20%20%20var%20processed%20=%20isElement%20%3F%20%5Broot%5D%20%3A%20root.children;%0A%20%20%20%20%20%20if%20(processed)%20%7B%0A%20%20%20%20%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20processed.length;%20++i)%20%7B%0A%20%20%20%20%20%20%20%20%20%20processed%5Bi%5D.setAttribute('i18n-processed',%20'');%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20/%0A%20%20%20%20Run%20through%20various%20%5Bi18n-%5D%20attributes%20and%20populate.%0A%20%20%20%20@param%20%7B!Element%7D%20element%0A%20%20%20%20@param%20%7B!LoadTimeData%7D%20data%0A%20%20%20%20@param%20%7B!Set%3CProcessingRoot%3E%7D%20visited%0A%20%20%20*/%0A%20%20function%20processElement(element,%20data,%20visited)%20%7B%0A%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20attributeNames.length;%20i++)%20%7B%0A%20%20%20%20%20%20var%20name%20=%20attributeNames%5Bi%5D;%0A%20%20%20%20%20%20var%20attribute%20=%20element.getAttribute(name);%0A%20%20%20%20%20%20if%20(attribute%20!=%20null)%0A%20%20%20%20%20%20%20%20handlers%5Bname%5D(element,%20attribute,%20data,%20visited);%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20return%20%7Bprocess%3A%20process%7D;%0A%7D());%0A%0A//%20//%20Copyright%202017%20The%20Chromium%20Authors.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0Ai18nTemplate.process(document,%20loadTimeData);%0A%0A%3C/script%3E#)

NET::ERR_CERT_COMMON_NAME_INVALID

Skicka automatiskt viss 

information om systemet och innehåll på sidan

 för att hjälpa Google att identifiera skadliga appar och webbplatser. 

Sekretesspolicy

💓

Pyttelite
2018-06-18, 16:06
#1

Brukar bero på att du har ett gammalt bokmärke med www med i adressen. https://support.ifokus.se/discussions/59df7e3a8e0e7450d9001f15-anslutningen-ar-inte-privat

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

Aleya
2018-06-18, 16:26
#2

har helt plötsligt fått som du dock så får jag det bara via telefon. Och jag måste skriva www innan ifokus

BlommaStjärnorMemento moriStjärnorBlomma

Medarbetare för Julen

strobii
2018-06-18, 16:59
#3

jag får det också, fast på datan. och jag använder inget gammalt bokmärke. lite omständigt att behöva skriva www nu, när man inte behöver göra det till nån annan hemsida -.-

Magi-cat
2018-06-18, 17:01
#4

Inget gammalt bokmärke och det har inte hänt förut!

💓

Pyttelite
2018-06-18, 17:03
#5

Du får problemet om det står www i adressen.

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

Magi-cat
2018-06-18, 17:03
#6

Varför uppstår det JUST NU?

💓

Pyttelite
2018-06-18, 17:06
#7

Det kan ligga kvar i cachen kolla länken.

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

strobii
2018-06-18, 17:54
#8

#5 jag har tvärtom, skriver jag bara in iFokus som jag alltid gjort får jag den där sekretessvarningen, om jag skriver www funkar det.

Pyttelite
2018-06-18, 17:58
#9

Vad har du för webbläsare?

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

Magi-cat
2018-06-18, 18:38
#10

Jag använder samma webläsare, gör på samma sätt som jag gjort i åratal. Samma händer som för #8. Något på ifokus måste ju ha förändrats!

Jag tänker främst på ev. nya tittare som kan bli avskräckta när de får en "sekretessvarning".

💓

Aleya
2018-06-18, 18:42
#11

Som #8 här med. Måste skriva www

BlommaStjärnorMemento moriStjärnorBlomma

Medarbetare för Julen

Pyttelite
2018-06-18, 18:43
#12

Felet är nog fortfarande detsamma som i länken och är säkert heller inte unikt för iFokus.

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

Magi-cat
2018-06-18, 18:50
#13

Helt plötsligt idag är vi flera som fått samma felmeddelande enbart när vi går in på iFokus (på samma sätt som vi gjort sedan länge) och felet är…?

💓

Pyttelite
2018-06-18, 18:54
#14

Läs länken det handla om protokollet i kombination med webbläsare - det kan bli fel ibland precis som med allt övrigt.

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

strobii
2018-06-18, 18:54
#15

jo grejen är att det är just unikt för iFokus, har inte det här problemet med nån annan hemsida. 
självklart verkar nått ha ändrats med iFokus, vilket borde lösas eftersom det som sagt avskräcker.

Aleya
2018-06-18, 18:54
#16

#12 får jag undra varför du stretar så emot? Låt grabbarna läsa och ge oss svar vad som kan ha hänt istället för att mena att det är fel på våra grejer. Det är ju osannolikt att vi tre ens har samma slags mobil eller dator. Kan ju vara fel i någon kod.

BlommaStjärnorMemento moriStjärnorBlomma

Medarbetare för Julen

Aleya
2018-06-18, 18:56
#17

Och nu när jag testar på datorn med att bara skriva iFokus.se så får jag samma felmeddelande. Jag har inte ens samma webbläsare som på mobilen.

BlommaStjärnorMemento moriStjärnorBlomma

Medarbetare för Julen

Pyttelite
2018-06-18, 18:56
#18

Läs länken du har svaret där och det blir olika resultat om du använder telefon med olika OS och det blir olika resultat om du använder olika os på datorn och det blir olika resultat om du använder olika webbläsare.

Det är inte jag som stretar emot det är ni som inte vill ta till er information.

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

Magi-cat
2018-06-18, 18:58
#19

Nu har jag hört flera som har problem med att komma in idag och som får detta meddelande. EnbartiFokus

Som sagt, är det nya läsare kanske de går vidare.

💓

Aleya
2018-06-18, 19:25
#20

#18 men som jag skrev är det ju konstigt att det helt plötsligt idag så måste man skriva www för att ens kunna komma in. Du behöver inte tycka samma. Men du kan ju lägga ner din tråkiga attityd mot främst TS.

BlommaStjärnorMemento moriStjärnorBlomma

Medarbetare för Julen

Pyttelite
2018-06-18, 22:29
#21

#20 Jag har ingen tråkig attityd. 

Jag refererar till lösning på likadana problem som varit uppe förr. Det är inte första gången det här problemet uppstått. 

Om ni inte gillar de tidigare diskussionerna eller lösningarna får det stå för er. 

Du får hemskt gärna tagga ner! Vilken hjälp har du själv kommit med?

 När man får problem är det väl enklast att läsa om liknande problem och hur man hanterat dom tycker inte du det? 

Jag var vänlig och gav er en länk till tidigare problem och ni bär er illa åt som tack för det.

Hur många andra har samma problem som ni har?  Är ni dom enda?

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

Pyttelite
2018-06-18, 22:48
#22

Här kan ni själva läsa beroende på vilken webbläsare som ni har vilka symboler ni kan se för säkert kommunikationsprotokoll. 

Grundorsaken har ni redan fått i den tidigare länk som Support iFokus-teamet redan svarat på.

https://sv.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

annia1
2018-06-19, 01:34
#23

Det finns normalt sett två anledningar till att det dyker upp att anslutningen inte är privat här på iFokus
Ena är det Pyttelite tagit upp att man har www i adressen.
Andra är att man har http istället för https. Det andra kan man tex råka ut för om man klickar på nån gammal länk i nåt inlägg eller nåns signatur.

Har man rätt adress så finns det andra orsaker som har med den egna mobilen/datorn/webbläsaren att göra. 

Söker man på nätet på det specifika som står i TS så handlar nästan alla träffar om chrome på ett eller annat sätt.
Här en länk till en sida på chrome där det finns en del gällande det felet. Man får klicka på det som där name invalid finns med. Finns flera felorsaker om tittar på träffarna på nätet.

Men en sak som nämns är antivirus. Det skulle inte vara första gången som antivirusprogram ställer till det och börjat läsa iFokus fel efter en uppdatering. Så om felet kvarstår så prova att inaktivera antivirusprogrammet och se om det gör nåt. 
Ett annat tips i den länken är att man ska prova att köra inkognito. Det för att utesluta fel med nåt tillägg i webbläsaren.

Jag har testat med det jag har. Vista med 10 olika webbläsare. Win 7 med 4 olika webbläsare och min mobil och jag får inte fel med mer än att jag skriver in fel enligt det jag skrev från början.
Så denna gång så är sannolikheten liten att felet ligger på iFokus.

Vill du diskutera politik och andra samhällsfrågor.
Kika då in på debatt

strobii
2018-06-19, 01:49
#24

att inaktivera sitt virusskydd är dock ingenting som rekommenderas :o

Aleya
2018-06-19, 04:45
#25

#21 gällande din attityd så kan jag ju säga att den hjälper inte i detta fallet. Men vill du veta något spännande: jag har rensat allt och ditt tips funkade inte. Så kan du nu sluta sitta och förstöra en diskussion som handlade om felsökning tills du kom och skulle börja leka duktig?

BlommaStjärnorMemento moriStjärnorBlomma

Medarbetare för Julen

Pyttelite
2018-06-19, 08:02
#26

#25 Jag är ledsen Aleya men det var inte mina tips det var supportgängets tips så i så fall är det dom som försöker visa sig duktiga inte jag. Din attityd stinker du får hänvisning till tidigare problemlösning av samma slag och du kan inte ens tacka. Om du havererat din dator är det ditt problem inte mitt.

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

Magi-cat
2018-06-19, 08:17
#27

Jag ångrar att jag tog upp problemet. /edit/

Idag har f.ö. inte det här problemet uppstått. Och jag har fortfarande inte vidtagit några åtgärder eller gjort någonting annorlunda.

👋

💓

Pyttelite
2018-06-19, 08:29
#28

Jag tog mig tid att leta upp om era problem funnits med tidigare. Jag länkade till den senaste tråden där problemet visats. Jag håller med dig Magi-cat jag kommer i framtiden vara mycket restriktiv med att försöka hjälpa någon. Ingen av er skulle burit sig åt på det viset ni gör mot mig om det direkt hade varit någon från support teamet som sagt samma sak. Jag tycker ni ska fundera över hur ni bemöter andra.

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

Magi-cat
2018-06-19, 08:43
#29

Jag ber om ursäkt om jag burit mig illa åt och/eller inte varit tillbörligt tacksam.

Det var inte min avsikt att ställa till problem, bara att fråga om ett.

💓

Pyttelite
2018-06-19, 09:02
#30

#29 Du fick också svar nen det kom från en som du inte ville ha svaret från. När jag ställde fler frågor för att hjälpa till ville ni inte svara. Jag tar emot ursäkten men kommer akta mig för att hjälpa i fortsättningen.

_Man motionerar inte för att bli yngre utan för att bli äldre.
_

Aleya
2018-06-19, 13:22
#31

#26 jag har aldrig påstått att varken min mobil eller dator är havererad. Det är din åsikt. Men jag känner att det är inte någon idé att diskutera med någon som uppenbarligen inte vill förstå vad man skriver eller hur teknik funkar. Så jag kommer invänta svar från någon av grabbarna i denna frågan. Vad ska jag tacka för? För att du sitter och hoppar på folk som har en ärlig fundering?

BlommaStjärnorMemento moriStjärnorBlomma

Medarbetare för Julen

annia1
2018-06-19, 13:34
#32

Ursäkta men har ni läst #23. Just det specifika felmeddelande som tas upp i TS finns flera olika anledningar till att det kan uppstå. Och jag skrev några saker som man kan prova för att utesluta några saker.

Enligt det Magi-Cat skriver i #27 så har det inte uppstått idag. Och med så är det med största sannolikhet att ni fått ytterligare uppdateringar till nåt i era datorer/mobiler som har rättat till problemet.

Hade nån av killarna svarat så hade de med största sannolikhet till en början sagt samma sak som Pyttelite eftersom det är ett av de två som brukar vara orsaken till att man får meddelande att sidan inte anses privat/säker.

Vill du diskutera politik och andra samhällsfrågor.
Kika då in på debatt

strobii
2018-06-19, 14:52
#33

för mig funkade det som vanligt imorse, men nu är det samma problem igen.

annia1
2018-06-20, 01:48
#34

strobii om det inte fanns så många olika anledningar när man söker på nätet så skulle det vara lättare att föreslå vad man ska titta på. När jag söker så på första sidan finns 3 you tube filmer och bara de 3 handlar om olika saker.

När problemet dyker upp.
Dyker det då under en tid upp varje gång man byter sajt eller tråd då går det att prova att inaktivera antiviruset för det syns ju då rätt omgående om det gör nån skillnad.  
På mina datorer har jag ju symbol för antiviruset nere i listen så jag kan högerklicka och välja pausa. Så det är enkelt/snabbt gjort. 

Om det dyker upp och sen tar tid emellan så beror det ju på hur lång tid emellan det är. Vet man att det kommer regelbundet så är det ju möjligt att man även där kan se skillnad om man pausar antiviruset. 

Men är det långt emellan eller oregelbundet så är det svårt att se om det funkar med att pausa.

Tittar jag på det som skrivits. Kommit - försvunnit - kommit tillbaka. Så min gissning är att det är en annons som ställer till det för antivirusprogrammet.

Om det skulle vara det så tycker man att iFokus skulle kunna fixa det, men nej det kan dom inte. För att dom ska den allra minsta chans att stoppa en annons så måste dom veta vilken och det är ju omöjligt eftersom ni får felmeddelande istället för en sida.

Så om/när ni får samma, prova att pausa antivirusprogrammet. Det är tyvärr med alla olika felkällor som finns det enda tips jag kan ge. Eller om ni har andra extra skyddsprogram, pausa dom. 

Är det så att det är antivirusprogrammet så borde andra personer på nätet råka ut för samma sak och då förhoppningsvis nån som kontaktar supporten på sitt antivirus så dom får veta att det är problem och dom kan vara orsaken.

I en av you tuben så finns det en inställning man kan prova ändra då i chrome. Man går in på inställningar-avancerat-privacy and security. Om man har markerat skydda dig från skadliga sidor. Ta bort den markeringen. Det kan kanske hjälpa, men det förutsätter att det är chrome. Vet inte om samma inställning finns i andra webbläsare.

Vill du diskutera politik och andra samhällsfrågor.
Kika då in på debatt

Upp till toppen